|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558 |
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# kNN Classification\n",
- "\n",
- "\n",
- "K最近邻(k-Nearest Neighbor,kNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:***如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别***。kNN方法虽然从原理上也依赖于[极限定理](https://baike.baidu.com/item/%E6%9E%81%E9%99%90%E5%AE%9A%E7%90%86/13672616),但在类别决策时,只与极少量的相邻样本有关。由于kNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,kNN方法较其他方法更为适合。\n",
- "\n",
- "kNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的`k`个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成正比(组合函数)。\n",
- "\n",
- "该算法存在的问题:\n",
- "1. 当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。在这种情况下可能会产生误判的结果。因此我们需要减少数量对运行结果的影响。可以采用权值的方法(和该样本距离小的邻居权值大)来改进。\n",
- "2. 计算量较大,因为对每一个待分类的数据都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。\n",
- "\n",
- "kNN可以说是一种最直接的用来分类未知数据的方法。基本通过下面这张图跟文字说明就可以明白kNN是干什么的\n",
- "\n",
- "\n",
- "简单来说,kNN可以看成:**有那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟训练数据里的每个点求距离,然后挑选这个训练数据最近的K个点,看看这几个点属于什么类型,然后用少数服从多数的原则,给新数据归类**。\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 1. 算法步骤:\n",
- "\n",
- "1. 准备数据,对数据进行预处理;\n",
- "2. 计算测试数据与各个训练数据之间的**距离**;\n",
- "3. 按照距离的递增关系进行排序;\n",
- "4. 选取距离最小的`k`个点;\n",
- "5. 确定前`k`个点所在类别的出现频率;\n",
- "6. 返回前`k`个点中出现频率最高的类别作为测试数据的预测分类。\n",
- "\n",
- "上述的处理过程,难点有哪些?"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 2. 生成数据"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "<Figure size 432x288 with 1 Axes>"
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- },
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "<Figure size 432x288 with 1 Axes>"
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- }
- ],
- "source": [
- "%matplotlib inline\n",
- "\n",
- "import numpy as np\n",
- "import matplotlib.pyplot as plt\n",
- "\n",
- "# data generation\n",
- "np.random.seed(314)\n",
- "\n",
- "data_size1 = 300\n",
- "x1 = np.random.randn(data_size1, 2) + np.array([4,4])\n",
- "y1 = [0 for _ in range(data_size1)]\n",
- "\n",
- "data_size2 = 400\n",
- "x2 = np.random.randn(data_size2, 2)*2 + np.array([10,10])\n",
- "y2 = [1 for _ in range(data_size2)]\n",
- "\n",
- "\n",
- "# all sample data\n",
- "x = np.concatenate((x1, x2), axis=0)\n",
- "y = np.concatenate((y1, y2), axis=0)\n",
- "\n",
- "data_size_all = data_size1 + data_size2\n",
- "shuffled_index = np.random.permutation(data_size_all)\n",
- "x = x[shuffled_index]\n",
- "y = y[shuffled_index]\n",
- "\n",
- "# split train & test\n",
- "split_index = int(data_size_all*0.7)\n",
- "x_train = x[:split_index]\n",
- "y_train = y[:split_index]\n",
- "x_test = x[split_index:]\n",
- "y_test = y[split_index:]\n",
- "\n",
- "\n",
- "# plot data\n",
- "plt.scatter(x_train[:,0], x_train[:,1], c=y_train, marker='.')\n",
- "plt.title(\"train data\")\n",
- "plt.show()\n",
- "plt.scatter(x_test[:,0], x_test[:,1], c=y_test, marker='.')\n",
- "plt.title(\"test data\")\n",
- "plt.show()\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 12,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "<Figure size 432x288 with 1 Axes>"
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- },
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "<Figure size 432x288 with 1 Axes>"
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- }
- ],
- "source": [
- "%matplotlib inline\n",
- "\n",
- "import numpy as np\n",
- "import matplotlib.pyplot as plt\n",
- "\n",
- "# data generation\n",
- "np.random.seed(314)\n",
- "data_size_1 = 300\n",
- "\n",
- "x1_1 = np.random.normal(loc=5.0, scale=1.0, size=data_size_1)\n",
- "x2_1 = np.random.normal(loc=4.0, scale=1.0, size=data_size_1)\n",
- "y_1 = [0 for _ in range(data_size_1)]\n",
- "\n",
- "data_size_2 = 400\n",
- "x1_2 = np.random.normal(loc=10.0, scale=2.0, size=data_size_2)\n",
- "x2_2 = np.random.normal(loc=8.0, scale=2.0, size=data_size_2)\n",
- "y_2 = [1 for _ in range(data_size_2)]\n",
- "\n",
- "x1 = np.concatenate((x1_1, x1_2), axis=0)\n",
- "x2 = np.concatenate((x2_1, x2_2), axis=0)\n",
- "x = np.hstack((x1.reshape(-1,1), x2.reshape(-1,1)))\n",
- "y = np.concatenate((y_1, y_2), axis=0)\n",
- "\n",
- "data_size_all = data_size_1+data_size_2\n",
- "shuffled_index = np.random.permutation(data_size_all)\n",
- "x = x[shuffled_index]\n",
- "y = y[shuffled_index]\n",
- "\n",
- "split_index = int(data_size_all*0.7)\n",
- "x_train = x[:split_index]\n",
- "y_train = y[:split_index]\n",
- "x_test = x[split_index:]\n",
- "y_test = y[split_index:]\n",
- "\n",
- "\n",
- "# visualize data\n",
- "plt.scatter(x_train[:,0], x_train[:,1], c=y_train, marker='.')\n",
- "plt.title(\"train data\")\n",
- "plt.show()\n",
- "plt.scatter(x_test[:,0], x_test[:,1], c=y_test, marker='.')\n",
- "plt.title(\"test data\")\n",
- "plt.show()\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 3. 最简单的程序实现"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 14,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1]\n"
- ]
- }
- ],
- "source": [
- "import numpy as np\n",
- "import operator\n",
- "\n",
- "def knn_distance(v1, v2):\n",
- " return np.sum(np.square(v1-v2))\n",
- "\n",
- "def knn_vote(ys):\n",
- " vote_dict = {}\n",
- " \n",
- " maxv = 0\n",
- " maxk = 0\n",
- " for y in ys:\n",
- " if y not in vote_dict.keys():\n",
- " vote_dict[y] = 1\n",
- " else:\n",
- " vote_dict[y] += 1\n",
- " if maxv < vote_dict[y]:\n",
- " maxv = vote_dict[y]\n",
- " maxk = y\n",
- " return maxk\n",
- "\n",
- " sorted_vote_dict = sorted(vote_dict.items(), \\\n",
- " #key=operator.itemgetter(1), \\\n",
- " key=lambda x:x[1], \\\n",
- " reverse=True)\n",
- " return sorted_vote_dict[0][0]\n",
- " \n",
- "def knn_predict(x, train_x, train_y, k=3):\n",
- " dist_arr = [knn_distance(x, train_x[j]) for j in range(len(train_x))]\n",
- " sorted_index = np.argsort(dist_arr)\n",
- " top_k_index = sorted_index[:k]\n",
- " ys=train_y[top_k_index]\n",
- " return knn_vote(ys)\n",
- " \n",
- "\n",
- "#a = knn_predict(x_train[0], x_train, y_train)\n",
- "\n",
- "y_train_est = [knn_predict(x_train[i], x_train, y_train) for i in range(len(x_train))]\n",
- "print(y_train_est)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Train Accuracy: 98.568507%\n"
- ]
- }
- ],
- "source": [
- "n_correct = 0\n",
- "for i in range(len(x_train)):\n",
- " if y_train_est[i] == y_train[i]:\n",
- " n_correct += 1\n",
- "accuracy = n_correct / len(x_train) * 100.0\n",
- "print(\"Train Accuracy: %f%%\" % accuracy)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Test Accuracy: 96.682464%\n"
- ]
- }
- ],
- "source": [
- "y_test_est = [knn_predict(x_test[i], x_train, y_train, 3) for i in range(len(x_test))]\n",
- "n_correct = 0\n",
- "for i in range(len(x_test)):\n",
- " if y_test_est[i] == y_test[i]:\n",
- " n_correct += 1\n",
- "accuracy = n_correct / len(x_test) * 100.0\n",
- "print(\"Test Accuracy: %f%%\" % accuracy)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 4. 通过类实现kNN程序"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {},
- "outputs": [],
- "source": [
- "import numpy as np\n",
- "import operator\n",
- "\n",
- "class KNN(object):\n",
- "\n",
- " def __init__(self, k=3):\n",
- " self.k = k\n",
- "\n",
- " def fit(self, x, y):\n",
- " self.x = x\n",
- " self.y = y\n",
- " return self\n",
- "\n",
- " def _square_distance(self, v1, v2):\n",
- " return np.sum(np.square(v1-v2))\n",
- "\n",
- " def _vote(self, ys):\n",
- " ys_unique = np.unique(ys)\n",
- " vote_dict = {}\n",
- " for y in ys:\n",
- " if y not in vote_dict.keys():\n",
- " vote_dict[y] = 1\n",
- " else:\n",
- " vote_dict[y] += 1\n",
- " sorted_vote_dict = sorted(vote_dict.items(), key=operator.itemgetter(1), reverse=True)\n",
- " return sorted_vote_dict[0][0]\n",
- "\n",
- " def predict(self, x):\n",
- " y_pred = []\n",
- " for i in range(len(x)):\n",
- " dist_arr = [self._square_distance(x[i], self.x[j]) for j in range(len(self.x))]\n",
- " sorted_index = np.argsort(dist_arr)\n",
- " top_k_index = sorted_index[:self.k]\n",
- " y_pred.append(self._vote(ys=self.y[top_k_index]))\n",
- " return np.array(y_pred)\n",
- "\n",
- " def score(self, y_true=None, y_pred=None):\n",
- " if y_true is None and y_pred is None:\n",
- " y_pred = self.predict(self.x)\n",
- " y_true = self.y\n",
- " score = 0.0\n",
- " for i in range(len(y_true)):\n",
- " if y_true[i] == y_pred[i]:\n",
- " score += 1\n",
- " score /= len(y_true)\n",
- " return score"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 13,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "train accuracy: 98.568507 %\n",
- "test accuracy: 96.682464 %\n"
- ]
- }
- ],
- "source": [
- "# data preprocessing\n",
- "#x_train = (x_train - np.min(x_train, axis=0)) / (np.max(x_train, axis=0) - np.min(x_train, axis=0))\n",
- "#x_test = (x_test - np.min(x_test, axis=0)) / (np.max(x_test, axis=0) - np.min(x_test, axis=0))\n",
- "\n",
- "# knn classifier\n",
- "clf = KNN(k=3)\n",
- "train_acc = clf.fit(x_train, y_train).score() * 100.0\n",
- "\n",
- "y_test_pred = clf.predict(x_test)\n",
- "test_acc = clf.score(y_test, y_test_pred) * 100.0\n",
- "\n",
- "print('train accuracy: %f %%' % train_acc)\n",
- "print('test accuracy: %f %%' % test_acc)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 5. sklearn program"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Feature dimensions: (1797, 64)\n",
- "Label dimensions: (1797,)\n"
- ]
- }
- ],
- "source": [
- "#% matplotlib inline\n",
- "\n",
- "import matplotlib.pyplot as plt\n",
- "from sklearn import datasets, neighbors, linear_model\n",
- "\n",
- "# load data\n",
- "digits = datasets.load_digits()\n",
- "X_digits = digits.data\n",
- "y_digits = digits.target\n",
- "\n",
- "print(\"Feature dimensions: \", X_digits.shape)\n",
- "print(\"Label dimensions: \", y_digits.shape)\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "<Figure size 432x288 with 10 Axes>"
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- }
- ],
- "source": [
- "# plot sample images\n",
- "nplot = 10\n",
- "fig, axes = plt.subplots(nrows=1, ncols=nplot)\n",
- "\n",
- "for i in range(nplot):\n",
- " img = X_digits[i].reshape(8, 8)\n",
- " axes[i].imshow(img)\n",
- " axes[i].set_title(y_digits[i])\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {},
- "outputs": [],
- "source": [
- "# split train / test data\n",
- "n_samples = len(X_digits)\n",
- "n_train = int(0.4 * n_samples)\n",
- "\n",
- "X_train = X_digits[:n_train]\n",
- "y_train = y_digits[:n_train]\n",
- "X_test = X_digits[n_train:]\n",
- "y_test = y_digits[n_train:]\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "KNN score: 0.953661\n",
- "LogisticRegression score: 0.927711\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "/home/bushuhui/anaconda3/envs/dl/lib/python3.7/site-packages/sklearn/linear_model/_logistic.py:765: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
- "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
- "\n",
- "Increase the number of iterations (max_iter) or scale the data as shown in:\n",
- " https://scikit-learn.org/stable/modules/preprocessing.html\n",
- "Please also refer to the documentation for alternative solver options:\n",
- " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n",
- " extra_warning_msg=_LOGISTIC_SOLVER_CONVERGENCE_MSG)\n"
- ]
- }
- ],
- "source": [
- "# do KNN classification\n",
- "knn = neighbors.KNeighborsClassifier()\n",
- "logistic = linear_model.LogisticRegression()\n",
- "\n",
- "print('KNN score: %f' % knn.fit(X_train, y_train).score(X_test, y_test))\n",
- "print('LogisticRegression score: %f' % logistic.fit(X_train, y_train).score(X_test, y_test))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 6. 深入思考\n",
- "\n",
- "* 如果输入的数据非常多,怎么快速进行距离计算?\n",
- " - [kd-tree](https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KDTree.html#sklearn.neighbors.KDTree) \n",
- " - Fast Library for Approximate Nearest Neighbors (FLANN)\n",
- " - [PyNNDescent for fast Approximate Nearest Neighbors](https://pynndescent.readthedocs.io/en/latest/)\n",
- "* 如何选择最好的`k`?\n",
- " - https://zhuanlan.zhihu.com/p/143092725\n",
- "* kNN存在的问题?"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## References\n",
- "* [Digits Classification Exercise](http://scikit-learn.org/stable/auto_examples/exercises/plot_digits_classification_exercise.html)\n",
- "* [knn算法的原理与实现](https://zhuanlan.zhihu.com/p/36549000)"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.7.9"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
- }
|