From f1c83c120b9d407fa55387ebe1711bf70ff7278a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Dec 2022 13:48:48 +0330 Subject: [PATCH 01/13] Bump numpy from 1.23.5 to 1.24.0 (#471) Bumps [numpy](https://github.com/numpy/numpy) from 1.23.5 to 1.24.0. - [Release notes](https://github.com/numpy/numpy/releases) - [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst) - [Commits](https://github.com/numpy/numpy/compare/v1.23.5...v1.24.0) --- updated-dependencies: - dependency-name: numpy dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- dev-requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-requirements.txt b/dev-requirements.txt index 5133d41a..c2fb30fb 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,5 +1,5 @@ art==5.8 -numpy==1.23.5 +numpy==1.24.0 codecov>=2.0.15 pytest>=4.3.1 pytest-cov>=2.6.1 From 85ae844bb42f10d7321d482fab40d32cdcd30529 Mon Sep 17 00:00:00 2001 From: Sadra Sabouri <43045767+sadrasabouri@users.noreply.github.com> Date: Tue, 20 Dec 2022 18:34:28 +0330 Subject: [PATCH 02/13] Minor Edits (#472) * fix : Codacy error (unused variable) fixed. * fix : docstring `Curve.__init__` fixed. * update : `README.md` updated. * update : document updated (`sample_weight`). * fix : minor edits in `README.md`. --- Document/Document.ipynb | 18 ++-- README.md | 179 ++++++++++++++++++++-------------------- pycm/pycm_curve.py | 4 +- 3 files changed, 100 insertions(+), 101 deletions(-) diff --git a/Document/Document.ipynb b/Document/Document.ipynb index 59f19ddd..b79cdba0 100644 --- a/Document/Document.ipynb +++ b/Document/Document.ipynb @@ -2107,7 +2107,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAATsAAAEWCAYAAAAZ7jAvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAGztJREFUeJzt3Xu4HFWd7vHvm4DhfpGoaEBwuMigozjkIIoiKDIBEZwBFEaQKPPwqDDICF5QDyp6joIzcVQQDA/KVcSoOJGLqIijOILsxHAJoOSgSIYoCWAwckvwPX9U7dj09O7uvdO9+1Lv53nqSVfV2qt+u0l+rFVr1SrZJiJi2E3pdQAREZMhyS4iKiHJLiIqIckuIiohyS4iKiHJLiIqIcmuIiRtKOk7klZKmrcO9bxV0vc6GVsvSLpG0jG9jiMmT5Jdn5H0j5JGJK2StKz8R/mqDlR9GPAcYCvbh0+0EtuX2t6/A/E8jaR9JFnSt+qOv7Q8/qM26/mYpEtalbN9gO0LJxhuDKAkuz4i6b3AvwP/lyIxPR/4InBIB6rfDviV7TUdqKtblgOvlLRVzbFjgF916gIq5O99FdnO1gcbsDmwCji8SZlpFMnw/nL7d2BaeW4fYClwMvAAsAx4e3nu48CTwOryGscCHwMuqal7e8DAeuX+bOAe4I/Ar4G31hy/oebnXgncDKws/3xlzbkfAZ8AflrW8z1g+hi/22j85wLHl8emlsdOA35UU/ZzwH3AI8AC4NXl8Vl1v+ctNXH8nzKOx4Ady2P/VJ4/B/hGTf1nANcB6vXfi2yd2/J/uP7xCmAD4IomZT4M7AnsBrwU2AP4SM35rSmS5gyKhHa2pC1tf5SitXi57U1sn98sEEkbA58HDrC9KUVCW9Sg3DOBq8qyWwFzgKvqWmb/CLwdeDbwDOCUZtcGLgLeVn7+O2AxRWKvdTPFd/BM4KvAPEkb2P5u3e/50pqfORo4DtgUuLeuvpOBl0iaLenVFN/dMS4zXwyHJLv+sRWwws27mW8FTrf9gO3lFC22o2vOry7Pr7Z9NUXr5oUTjOfPwIslbWh7me3FDcq8Abjb9sW219i+DLgLeGNNma/Y/pXtx4CvUySpMdn+L+CZkl5IkfQualDmEtsPltf8N4oWb6vf8wLbi8ufWV1X36PAURTJ+hLgn20vbVFfDJgku/7xIDBd0npNyjyPp7dK7i2Pra2jLlk+Cmwy3kBs/wl4C/BOYJmkqyTt0kY8ozHNqNn/3QTiuRg4AdiXBi1dSSdLurMcWf4DRWt2eos672t20vbPKbrtokjKMWSS7PrHz4DHgTc1KXM/xUDDqOfzP7t47foTsFHN/ta1J21fa/v1wHMpWmvntRHPaEz/PcGYRl0MvBu4umx1rVV2Mz8AvBnY0vYWFPcLNRr6GHU27ZJKOp6ihXg/8P6Jhx79KsmuT9heSXEj/mxJb5K0kaT1JR0g6cyy2GXARyQ9S9L0snzLaRZjWATsLen5kjYHTh09Iek5kg4u7909QdEdfqpBHVcDO5fTZdaT9BZgV+DKCcYEgO1fA6+huEdZb1NgDcXI7XqSTgM2qzn/e2D78Yy4StoZ+CRFV/Zo4P2Smna3Y/Ak2fUR23OA91IMOiyn6HqdAHy7LPJJYAS4FbgNWFgem8i1vg9cXta1gKcnqCkUN+3vBx6iSDzvblDHg8BBZdkHKVpEB9leMZGY6uq+wXajVuu1wDUU01HupWgN13ZRRydMPyhpYavrlLcNLgHOsH2L7buBDwEXS5q2Lr9D9BdlwCkiqiAtu4iohCS7iOgrkjaQ9HNJt0haLOnjDcpMk3S5pCWSbpK0fat6k+wiot88Aby2nBS+GzBL0p51ZY4FHra9I/BZiqdemkqyi4i+4sKqcnf9cqsfXDgEGF3I4RvA6ySJJppNYO0LkjKC0sTuu+/e6xD63j333NPrEPreww8/vML2syb68+P8d7qYYhR91Fzbc+vqm0oxS2BH4GzbN9XVMYNyFN72GkkrKZ9CGuuifZ/sormRkZFeh9D33vzmN/c6hL43b968+idhuulx2zObFbD9FLCbpC2AKyS92PbtNUUateKaJtx0YyOiIyS1tY2H7T9QrFAzq+7UUmDb8rrrUTwy+FCzupLsIqIjpkyZ0tbWSvmE0Bbl5w2B/SgeWaw1n2KtQygWpv1hq1Vq0o2NiI4Yb6utiecCF5b37aYAX7d9paTTgRHb84HzKZ5yWULRojuiVaVJdhGxzibSRR2L7VuBlzU4flrN58eBcb1eIMkuIjqigy27rkiyi4iOSLKLiEpIsouIoSeprZHWXkqyi4iOSMsuIiohyS4iKiHJLiIqIckuIoZeBigiojLSsouISkiyi4hKSLKLiKHXyYUAuiXJLiI6IskuIioho7ERUQlp2UXE0Ms9u4iojCS7iKiEJLuIqIQMUETE0Ms9u4iojCS7iKiEJLuIqIQku4iohCS7iBh6WbwzIiqj31t2XUvFklY1OLa3pIWS1kg6rFvXjojJNzr9pNXWRj3bSrpe0p2SFkt6T4My+0haKWlRuZ3Wqt7Jbtn9FpgNnDLJ142ILutgy24NcLLthZI2BRZI+r7tO+rK/cT2Qe1WOqnJzvZvACT9eTKvGxHd1clJxbaXAcvKz3+UdCcwA6hPduPS33cUI2JgdKobW1fn9sDLgJsanH6FpFskXSPpRa3q6ssBCknHAcf1Oo6IaN84RmOnSxqp2Z9re259IUmbAN8ETrL9SN3phcB2tldJOhD4NrBTs4v2ZbIrf/G5AJLc43Aiog3jaLWtsD2zRV3rUyS6S21/q/58bfKzfbWkL0qabnvFWHX2ZbKLiMHSyXt2Kio6H7jT9pwxymwN/N62Je1BcUvuwWb1djPZbSRpac3+HOAnwBXAlsAbJX3cdsu+dkT0vw6Oxu4FHA3cJmlReexDwPMBbJ8LHAa8S9Ia4DHgCNtNe4FdS3a2x+rAb9Ota0ZE73RwNPYGoGllts8CzhpPvenGRkRH5HGxiBh6WbwzIiojyS4iKiHJLiIqIckuIiohyS4ihl4W74yIykjLLiIqIckuIiohyS4ihl4mFUdEZSTZRUQlZDQ2IiohLbuIGHq5ZxcRlZFkFxGVkGQXEZWQAYqIGHq5ZxcRlZFkFxGVkGQXEZWQZBcRlZBkFxFDL4t3RkRlpGUXEZWQZBcRlZBkFxFDbxAmFff3HcWIGBijCa/V1kY920q6XtKdkhZLek+DMpL0eUlLJN0q6W9b1ZuWXUR0RAdHY9cAJ9teKGlTYIGk79u+o6bMAcBO5fZy4Jzyz7Hj61R0EVFd7bbq2mnZ2V5me2H5+Y/AncCMumKHABe5cCOwhaTnNqu371t2u+++OyMjI70Oo2/Nmzev1yH0vcMPP7zXIfS9Tvw9Gsc9u+mSav9Rz7U9d4w6twdeBtxUd2oGcF/N/tLy2LKxLtr3yS4iBsM4kt0K2zPbqG8T4JvASbYfqT/d4EfcrL6W3VhJZ0raTNL6kq6TtELSUa1+LiKqpVPd2LKu9SkS3aW2v9WgyFJg25r9bYD7m9XZzj27/cuselB5gZ2B97UVcURUwujjYu1sbdQl4HzgTttzxig2H3hbOSq7J7DS9phdWGivG7t++eeBwGW2H+r3+TQRMfk6mBf2Ao4GbpO0qDz2IeD5ALbPBa6myElLgEeBt7eqtJ1k9x1JdwGPAe+W9Czg8XGHHxFDrVPJzvYNNL4nV1vGwPHjqbdlm9L2B4FXADNtr6bIooeM5yIRMfw6ec+uG9oZoNiIIoOeUx56HtByJCUiqmXgkx3wFeBJ4JXl/lLgk12LKCIGTicnFXdLO8luB9tnAqsBbD9Gi/50RFRPp0Zju6WdAYonJW1IOWFP0g7AE12NKiIGTr/P0mgn2X0U+C6wraRLKYaFZ3czqIgYPAOf7Gx/X9JCYE+K7ut7bK/oemQRMTB6fT+uHe2Mxu4FPG77KmAL4EOStut6ZBExUIZhgOIc4FFJL6V4TOxe4KKuRhURA6ffByjaufKacrbyIcDnbX8O2LS7YUXEoOn3ll07AxR/lHQqcBSwt6Sp/OV52YiInieydrTTsnsLxVSTY23/jmKBvM90NaqIGDhD0bIDPmf7KUk7A7sAl3U3rIgYNMPQsvsxME3SDOA6iqVULuhmUBExePq9ZddOspPtR4F/AL5g+++BF3U3rIgYJJ1cvLNb2unGStIrgLcCx5bHpnYvpIgYRP3ejW0n2b0HOBW4wvZiSX8FXN/dsCJi0Ax8srP9Y4r7dqP79wAndjOoiBg8A5/symXY309xn26D0eO2X9vFuCJiwPR7smvnbuGlwF3AC4CPA78Bbu5iTBExYIZl8c6tbJ8PrLb9n7bfQbECSkTEWsMwGru6/HOZpDdQvIh2m+6FFBGDqN+7se0ku09K2hw4GfgCsBnwL12NKiIGzsAnO9tXlh9XAvt2N5yIGES9vh/XjjGTnaQvUL53ohHbmX4SEWsNbLIDRiYtiogYeL0cfGhHs2R3ObCp7eW1ByU9G3ikq1FFxMDp95Zds1T8eeDVDY6/Hvhsq4olrWpw7L2S7pB0q6Tr8i6LiOHQyXl2kr4s6QFJt49xfh9JKyUtKrfT2omxWbJ7le1v1R+0fSmwdzuVN/ALYKbtlwDfAM6cYD0R0Wc6OKn4AmBWizI/sb1buZ3eTqXNkl2zqCbUObd9fblcFMCNZL5exNDoVLIrn8d/qNPxNUtaD0jao/6gpP8FLG9QfryOBa5pdELScZJGJI0sX96JS0VEt40j2U0f/fddbsdN4HKvkHSLpGsktbW+ZrMBivcBX5d0AbCgPDYTeBtwxASCW0vSUWVdr2l03vZcYC7AzJkzx5z+EhH9YXTxzjatsD1zHS63ENjO9ipJBwLfBnZq9UNjRmf758AeFN3Z2eUm4OW2b5polJL2Az4MHGz7iYnWExH9ZbIWArD9iO1V5eergfUlTW/1c02foLD9APDRdY6uJOllwJeAWWXdETEkJmvqiaStgd/bdnmrbQrwYKufa+fZ2InaSNLSmv05wIHAJsC88ov5re2DuxhDREySTiU7SZcB+1Dc21tK0eBaH8D2ucBhwLskrQEeA46w3fJ2V9eSne1GXeQ53bpeRPRWp5Kd7SNbnD8LOGu89XazZRcRFTHoCwF8h+YLAaT7GRFrDfKzsf86aVFExMAb2Jad7f+czEAiYrANbLIbJWkn4FPArjz97WJ/1cW4ImKADMI9u3Y62V8BzgHWUKxUfBFwcTeDiojBMwxvF9vQ9nWAbN9r+2NA3hkbEU8zDG8Xe1zSFOBuSScA/w08u7thRcSgGYZu7EnARsCJwO7A0cAx3QwqIgZLJxfv7JZ23i52c/lxFfD27oYTEYOq31t27YzGXk+DycW2c98uItYa+GQHnFLzeQPgUIqR2YiItQY+2dleUHfop5Iy4Tgi1hrn4p090U439pk1u1MoBim27lpEETGQBr5lR7EkuylWKV4D/Jri/REREWsNQ7L7a9uP1x6QNK1L8UTEgOr3ZNdOJ/u/Ghz7WacDiYjBNrDz7Mp13mcAG5bvjhiNcjOKScYREcBgLATQrBv7dxRvFNsG+Df+kuweAT7U3bAiYtAM7Gis7QuBCyUdavubkxhTRAygfm/ZtZOKd5e0xeiOpC0lfbKLMUXEAOr3e3btJLsDbP9hdMf2wxSvRIyIAIZkIQBgqqRptp8AkLQhkKknEfE0/d6NbSfZXQJcJ+krFJOL30GxWnFExFoDO0AxyvaZkm4F9qMYkf2E7Wu7HllEDIxed1Hb0dZLsm1/F/gugKS9JJ1t+/iuRhYRA2Uokp2k3YAjgbdQPBv7rW4GFRGDZ2CTnaSdgSMoktyDwOUUL93Zd5Jii4gB0qlkJ+nLwEHAA7Zf3OC8gM9RzAp5FJhte2GrepvdUbwLeB3wRtuvsv0F4KmJBB8Rw6+DU08uAGY1OX8AsFO5HUfxqteWmiW7Q4HfAddLOk/S6/jLI2MREWuNLt7ZiVcp2v4x8FCTIocAF7lwI7CFpOe2qrfZ42JXAFdI2hh4E/AvwHMknQNcYft7LaOOrps3b16vQ+h7+Y4mxzi6sdMljdTsz7U9dxyXmgHcV7O/tDy2rNkPtTP15E/ApcCl5arFhwMfBJLsImKtcSS7FbZnrsulGhz7Hy8FqzeuWYC2H7L9pbxZLCLqTeLjYkuBbWv2twHub/VD/T3lOSIGwiQ/GzsfeJsKewIrbTftwkKb8+wiIlrp1ONiki4D9qG4t7cU+CiwPoDtc4GrKaadLKGYevL2dupNsouIjujUPDvbR7Y4b2DcT3Al2UVERwzsExQREe0amoUAIiJaSbKLiEpIsouIShj4xTsjIlrJPbuIqIwku4iohCS7iKiEJLuIqIQku4gYeqOLd/azJLuI6Ii07CKiEpLsIqISkuwiYuhlUnFEVEYGKCKiEtKyi4hKSLKLiKGXe3YRURlJdhFRCUl2EVEJGY2NiKGXe3YRURlJdhFRCUl2EVEJSXYRUQn9nuy6NnwiaVWDY++UdJukRZJukLRrt64fEZNndPHOdrY265sl6ZeSlkj6YIPzsyUtL3PJIkn/1KrOyW7ZfdX2uQCSDgbmALMmOYaI6IJOtewkTQXOBl4PLAVuljTf9h11RS+3fUK79U7qxBjbj9Tsbgx4Mq8fEd0zOv2k1daGPYAltu+x/STwNeCQdY1v0mcBSjpe0v8DzgROnOzrR0R3dDDZzQDuq9lfWh6rd6ikWyV9Q9K2rSqd9GRn+2zbOwAfAD7SqIyk4ySNSBpZvnz55AYYEePWbqIrk9300X/f5XZcfXUNLlHfC/wOsL3tlwA/AC5sFWMvR2O/BpzT6ITtucBcgJkzZ6arGzEAxvG42ArbM5ucXwrUttS2Ae6vLWD7wZrd84AzWsbXbnSdIGmnmt03AHdP5vUjons62I29GdhJ0gskPQM4Aphfd63n1uweDNzZqtJutuw2krS0Zn8OsJ2k/YDVwMPAMV28fkRMok6NxtpeI+kE4FpgKvBl24slnQ6M2J4PnFjO6FgDPATMblVv15Kd7f5eAiEiOqbTCwHYvhq4uu7YaTWfTwVOHU+deYIiIjqi35+gSLKLiI5IsouISsjinREx9LJ4Z0RURpJdRFRCkl1EVEKSXURUQpJdRAy90cU7+1mSXUR0RFp2EVEJSXYRUQlJdhEx9DKpOCIqIwMUEVEJadlFRCUk2UXE0Ms9u4iojCS7iKiEJLuIGHp5XCwiKiMtu4iohCS7iKiEJLuIqIQku4gYeplnFxGVkdHYiKiEtOwiohL6Pdn1d7szIgbC6D27drY265sl6ZeSlkj6YIPz0yRdXp6/SdL2repMsouIjuhUspM0FTgbOADYFThS0q51xY4FHra9I/BZ4IxW9SbZRURHTJkypa2tDXsAS2zfY/tJ4GvAIXVlDgEuLD9/A3idWmTSvr9nt2DBghWS7u11HDWmAyt6HUSfy3fUXD9+P9utyw8vWLDgWknT2yy+gaSRmv25tufW7M8A7qvZXwq8vK6OtWVsr5G0EtiKJt9r3yc728/qdQy1JI3YntnrOPpZvqPmhvH7sT2rg9U1aqF5AmWeJt3YiOg3S4Fta/a3Ae4fq4yk9YDNgYeaVZpkFxH95mZgJ0kvkPQM4Ahgfl2Z+cAx5efDgB/abtqy6/tubB+a27pI5eU7ai7fTxPlPbgTgGuBqcCXbS+WdDowYns+cD5wsaQlFC26I1rVqxbJMCJiKKQbGxGVkGQXEZWQZNeEpFUNju0taaGkNZIO60Vc/WSM7+i9ku6QdKuk6ySt0xyuQTbG9/NOSbdJWiTphgZPB0QXJNmN32+B2cBXexxHP/sFMNP2Syhmt5/Z43j6zVdt/43t3Si+mzm9DqgKkuzGyfZvbN8K/LnXsfQr29fbfrTcvZFinlSUbD9Ss7sxLSbDRmdk6kl027HANb0Oot9IOh54L/AM4LU9DqcS0rKLrpF0FDAT+EyvY+k3ts+2vQPwAeAjvY6nCpLsoisk7Qd8GDjY9hO9jqePfQ14U6+DqIIku+g4SS8DvkSR6B7odTz9RtJONbtvAO7uVSxVkicompD0Z57+APIc4CfAFcCWwOPA72y/qAfh9YUxvqMDgb8BlpXHfmv74MmOrR+M8f1sB+wHrAYeBk6wvbgH4VVKkl1EVEK6sRFRCUl2EVEJSXYRUQlJdhFRCUl2EVEJSXYDQtJT5SoZt0uaJ2mjdahrH0lXlp8PbvQS4pqyW0h69wSu8TFJp4xx7m3l77G4XB3llPL4BVlJJrolyW5wPGZ7N9svBp4E3ll7UoVx//e0Pd/2p5sU2QIYd7Ibi6QDgJOA/cv5iX8LrOxU/RFjSbIbTD8BdpS0vaQ7JX0RWAhsK2l/ST8r19ybJ2kTAEmzJN0l6QbgH0YrkjRb0lnl5+dIukLSLeX2SuDTwA5lq/IzZbn3Sbq5XK/u4zV1fVjSLyX9AHjhGLGfCpxi+34A24/bPq++kKTTymvcLmnu6AuQJZ1Ys1be18pjrynjWyTpF5I2HStOSRtLuqr8/W6X9JZ1+O8Qg8R2tgHYgFXln+sB/wG8C9ieYqmpPctz04EfAxuX+x8ATgM2oHih8E4U79v8OnBlWWY2cFb5+XLgpPLzVIrX020P3F4Tx/4UL4wRxf8srwT2BnYHbgM2AjYDllAktfrf4yFg8zF+xwuAw8rPz6w5fjHwxvLz/cC08vMW5Z/fAfYqP29SfkdjxXkocF5N3Q1jyTZ8W1p2g2NDSYuAEYoFRM8vj99r+8by857ArsBPy7LHUDyatAvwa9t3u/gXfskY13gtcA6A7adsN+pe7l9uv6BoTe5CkURfDVxh+1EX67XVv/puvPaVdJOk28q4Rh/JuxW4tFxRZU157KfAHEknUiTANU3ivA3YT9IZkl49xu8YQyjr2Q2Ox1ysbLtW2bP7U+0h4Pu2j6wrtxudWyBSwKdsf6nuGie1eY3FFK3AH455AWkD4IsUqx3fJ+ljFK1TKB6c3xs4GPjfkl5k+9OSrqJ4JvfGcsWVhnGW9e9elv2UpO/ZPr2NuGPApWU3XG4E9pK0I4CkjSTtDNwFvEDSDmW5I8f4+esousdImippM+CPwKY1Za4F3lFzL3CGpGdTdJ//XtKG5T2zN45xjU8BZ0rauvz5aWWLrNZoYltRXuewsuwUYFvb1wPvpxg82UTSDrZvs30GRct3l7HilPQ84FHblwD/SjFAEhWQlt0Qsb1c0mzgMknTysMfsf0rSccBV0laAdwAvLhBFe8B5ko6FngKeJftn0n6qaTbgWtsv0/SXwM/K1uWq4CjbC+UdDmwCLiXYhClUYxXS3oO8INy0MHAl+vK/EHSeRRdzt9QvCEeivuIl0janKLl9tmy7Cck7VvGfEcZ5xON4gR2BD6jYjWS1ZTJPYZfVj2JiEpINzYiKiHJLiIqIckuIiohyS4iKiHJLiIqIckuIiohyS4iKuH/AzGYSAq9I88AAAAAAElFTkSuQmCC\n", + "image/png": "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", "text/plain": [ "
" ] @@ -2139,7 +2139,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ "
" ] @@ -2171,7 +2171,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ "
" ] @@ -2203,7 +2203,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ "
" ] @@ -2235,7 +2235,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUcAAAEWCAYAAAD1m1U5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3XmcFMX9//HXexdFVBB0QU4BFTWeqEg8olEjCKJo4n2j8efXKyTxiJJ4BY1n4pWgEQ3etwkRBYN4YNR4sCiigAriwbKgnApy735+f1TP0js7Mzuws7vM7Of5ePSD6erq6upZ9rPVXdVdMjOcc85VV9TYFXDOuQ2RB0fnnEvBg6NzzqXgwdE551Lw4Oiccyl4cHTOuRQ8OOaApBaSnpf0naRn6lDOqZJeymXdGoOkFyWduZ77tpX0qaRNcl2v+iBpkKQ3Y+tLJW2b42OMl3RO9HmgpCdzWb5LrUkFR0mnSCqN/gPPiX6Jf5KDoo8Dtga2MrPj17cQM3vMzPrmoD7VSDpYkkn6V1L6HlH6+CzLuVbSo7XlM7P+ZvbQelb3CuABM1sRHXO8pBWSusTqcZikL9ez/HplZpub2cx6LH8UsKuk3evrGC5oMsFR0sXAHcANhEC2DXA3cHQOiu8KfGZma3JQVn2ZB+wvaatY2pnAZ7k6gIL1/j8lqXlUp+QA/ANwVV3qFjtGcS7KaWRPAOc2diUKnpkV/AJsASwFjs+QpzkheJZHyx1A82jbwUAZcAnwLTAHOCva9kdgFbA6OsYvgWuBR2NldwMMaBatDwJmAkuAL4BTY+lvxvbbH5gAfBf9u39s23jgOuCtqJyXgJI055ao/9+BC6O04ijtamB8LO+dwCzge2AicGCU3i/pPD+M1eNPUT2WA9tHaedE2+8Bno2VfzPwCqAU9TwImJGUNh64JjrH7aO0w4AvY3l+FOVbDEwBBsa2PRjVYQwhyB4Wpd0NvBidy1tA++hnvgj4BNgzVsYVwOdRHaYCP49tS/6ZWfQddIzKTizLAIvlOxuYFh1vLNA1tq1PVIfvgL8Brye+z2j7AcAXjf17VehLU2k57gdsAozMkOcPwL5AT2APoDdwZWx7e0KQ7UQIgMMktTGzawit0acsXFL9I1NFJG0G3AX0N7OWhAA4KUW+LYHRUd6tgNuA0Uktv1OAs4B2wMbApZmODTwMnBF9PpwQSMqT8kwgfAdbAo8Dz0jaxMz+k3See8T2OZ3QkmkJfJVU3iXA7tG9uQMJ392ZFv2WJ9kN+DRF+mzgPsIfnWokbQQ8T/jj0A74FfCYpB1j2U4hBPCWQOL+4AmEn28JsBJ4G3g/Wn+W8H0nfA4cSPj5/xF4VFKHFPWsYmbl0fe0uZltTvi/92RU52OA3wO/ANoCbxBag0gqAf4Zq9vnhGAYNw3oJqlVpjq4umkqwXErYL5lvuw9FRhqZt+a2TzCL8Hpse2ro+2rzWwMoTWwY4pyslFJuG/UwszmmNmUFHkGANPN7BEzW2NmTxBaE0fF8jxgZp+Z2XLgaUJQS8vM/gdsGQWOMwjBMjnPo2a2IDrmXwgt6trO80EzmxLtszqpvGXAaYRg8yjwKzMrS1NOa0LrLJUbgaMk7ZKUvi+wOXCTma0ys1eBF4CTY3meM7O3zKzSonuZwEgzmxitjwRWmNnDZlYBPAXsGTuHZ6JgV2lmTwHTCX88syLpcmAnQmsR4P+AG81sWvR/8gagp6SuwBHAVDN7Nvou7wDmJhWZ+I5aZ1sHt+6aSnBcAJRIapYhT0eqt3q+itKqykgKrssIv5TrxMx+AE4EzgPmSBotaacs6pOoU6fYevyXJtv6PAJcBBxCipa0pEskTYt63hcTWksltZQ5K9NGM3uPcBtBhCCeziJC6y5VGfMIl5hDkzZ1BGaZWWUsLfl7SlW/b2Kfl6dYr/ouJZ0haZKkxdF3siu1fyeJffsDvwaOif6IQbhHfWesvIWE76ZT4nwS+0ct7OT6J76jxdnUwa2fphIc3wZWAMdkyFNO+E+bsA01Lzmz9QOwaWy9fXyjmY01sz5AB0Jr8L4s6pOo0+z1rFPCI8AFwJioVVcluuy9nHDJ2cbMWhPueylR9TRlZny1k6QLCS3QcuB3GbJOBnbIsP1WQlDfO5ZWDnRJ6ghK/p7W+9VTUWvuPsIflK2i7+Rj1n4nmfbdEXgIOMHM4gFuFvB/ZtY6trSIWvZzgHjPvOLrkR8R7rl+v77n5WrXJIKjmX1H6HgYJukYSZtK2khSf0m3RNmeAK6MxtmVRPlrHbaSxiTgIEnbSNoCGJLYIGnraKzaZoR7XUuBihRljAF2iIYfNZN0IrAz4ZJxvZnZF8BPCfdYk7UE1hB6tptJuhqI39f6hnCvK+v/N5J2AK4nXFqfDvxOUrrL//eA1pI6pdpoZouBv1A9wL5L+GP0u+hnejDh1kOuxgJuRgiu8wAknUVoOWYU3Q98DrjSzN5M2vx3YEjiFoGkLSQlhoCNBnaR9IvoSmcwSX9cCT+/F9fzfFyWmkRwBDCz24CLCTe65xH+el8E/DvKcj1QSmi9fES4OX/9eh5rHOG+1WRCj288oBUROinKCZdTPyW05JLLWAAcGeVdQAgIR5rZ/PWpU1LZb5pZqlbxWMIv3WeES9MVVL+kSwxwXyDp/dqOE/1yPwrcbGYfmtl0QkfEI9GwneR6rSL0JJ+Wodg7if0xifYZCPQH5hN6oc8ws09qq182zGwqISC/TfjjsBuhd7s2exHu1d4WjatdKmlpVOZIQq/9k5K+J7RE+0fb5gPHAzcRfu49UhzvZODeOp6aq4VSdxo61zgkJXpv94zdo3MRSUcBp5vZCY1dl0LnwdE551JoMpfVzrn8Ialf9Iz9DElXpMlzgqSpkqZIejyWfqak6dFyZix9b0kfRWXeFXV2pa+DtxydcxuS6BHPzwhPCpURHkw4Obr/m8jTgzAs7FAzWySpnZl9Gz08UQr0InSkTQT2jvK8RxhW9Q6hw/MuM0vbseUtR+fchqY34THSmVGH25PUfAfC/wOGmdkiADP7Nko/HBhnZgujbeOAftETTa3M7O1o7OjDZB7aR6ZB0RuETSRr6TE8r3Td018Yk0++/Ppr5s9fUOu4zUy6qJmtyHI46XwqpxBGQiQMN7PhsfVOVB8lUQb8OKmYHQAkvUV4T8C10SOuqfbtFC1lKdLT2uCDY0uKOLbaeGq3ofv7m+MbuwpuHfT6ycF1LmMFxrFsllXee1mywsx6ZciSKlAnR95mhGFOBwOdgTck7Zph32zKrMabZM65OhMhmGSzZKGM6k8Fdabm02plhGfmV0cPNnxKCJbp9i2LPmcqsxoPjs65OhPQTMpqycIEoIek7pI2Bk4CRiXl+TfhUdLEm4x2IDy/PxboK6mNpDZAX2Csmc0BlkjaN+qlPoPwBFNaG/xltXMuPxRle9eylluTZrZG0kWEQFcMjDCzKZKGAqUW3oaeCIJTCU9MXRY9VYak6wgBFsKbtBZGn88nPIHVgvAkWMZHMD04OudyIpeXodFrAcckpV0d+2yEx4EvTrHvCGBEivRSsnguPsGDo3OuzoQoyu6SOW94cHTO5UShdWB4cHTO1ZlYh3uOecKDo3Ou7gTFflntnHPVJcY5FhIPjs65nPDLauecS8Fbjs45lyR0yBRW09GDo3OuzsLjg41di9zy4Oicywm/rHbOuRSKap/KO694cHTO1ZkPAnfOuTT8sto555JI3nJ0zrmUsnyRbd7w4OicqzN/fNA559Lwy2rnnEsiVHBDeQqtJeycayRFym7JhqR+kj6VNEPSFSm2D5I0T9KkaDknSj8kljZJ0gpJx0TbHpT0RWxbz0x18Jajc67OBBTnqOEoqRgYBvQhTKk6QdIoM5ualPUpM7sonmBmrwE9o3K2BGYAL8WyXGZmz2ZTD285Oudyoii6tK5tyUJvYIaZzTSzVcCTwNHrUaXjgBfNbNl67OvB0TlXd8rykjrLy+pOwKzYelmUluxYSZMlPSupS4rtJwFPJKX9KdrndknNM1XCg6NzLieKslyAEkmlseXcpKJShdDk2a6fB7qZ2e7Ay8BD1QqQOgC7Eea3ThgC7ATsA2wJXJ7pfPyeo3MuJ9bhluN8M+uVYXsZEG8JdgbK4xnMbEFs9T7g5qQyTgBGmtnq2D5zoo8rJT0AXJqpkt5ydM7VWeJlt9ksWZgA9JDUXdLGhMvjUdWOF1qGCQOBaUllnEzSJXViH0kCjgE+zlQJbzk653IiVy0tM1sj6SLCJXExMMLMpkgaCpSa2ShgsKSBwBpgITAosb+kboSW5+tJRT8mqS0hlk8CzstUDw+OzrmcyOUQcDMbA4xJSrs69nkI4R5iqn2/JEUHjpkdui518ODonMsJ+YsnnHOuOpHbluOGwIOjcy4nCq1314Ojcy4nCuyq2oOjc67uwvscCys6enB0zuVEYYVGD47OuRzxl90651wNQgXWdvTg6JyrMx/K45xzqfjUrM45l5r3VjvnXBK/rHbOuTR8ELhzzqVQYLHRg6NzLjd8KI9zziXJ5dSsGwoPjs65nCiw2OjB0TmXG4V2WV1or2Db4Ozc52Cu/eB1hk5+k8MvuTBlnr1/cSTXlL7K1RNe4ewH/tbANXTJprz0Gtf0/ClX7fYT/vPnYWnzTRw5mvM268JX73/YgLXbcEnZLfmi3lqOkpaa2eZJaecBFwIVwFLgXDObWl91aGwqKuLk267nzqNOYdHsOQx5YzSTR7/EnE+mV+Vpt113Dr/0Im497OcsW/wdLdtu1Yg1dpUVFTxx8ZX8+vnHadOpAzceeCS7D+hDxx/tUC3fiiVLee2eEXTfZ89GqumGJbyyLIflSf2AOwkTbN1vZjclbR8E3ArMjpL+Zmb3R9sqgI+i9K/NbGCU3h14kjBn9fvA6Wa2Kl0dGrrl+LiZ7WZmPYFbgNsa+PgNqluvnnw780vmf/k1FatXM+HZ59j9yL7V8vzkrFN4/d6HWLb4OwCWzFuQqijXQL4snUS7bbvRtntXmm28MfscN5DJL7xUI9+ooX+m72/Pp9kmzRuhlhsmZbnUWo5UDAwD+gM7AydL2jlF1qfMrGe03B9LXx5LHxhLvxm43cx6AIuAX2aqR4MGRzP7Pra6GWANefyG1qZjBxaVzalaXzx7Lm06dKiWp9323dm6x7Zc9vJIfvfaKHbuc3AD19LFLSqfS5vOHavWW3fqwKI5c6vl+XrSxyyaXc7u/Q9r6Opt0HI4b3VvYIaZzYxadk8CR9elbtFc1YcCz0ZJDxHmrk6rwe85SrpQ0ueEluPgNHnOlVQqqXRFPsfPFP8PzKqfT1GzZrTbrjt/6Xc8/xh0IacPu5UWW7RqoAq6Gqzm/7f4rHqVlZU8c8UfOfbGqxqyVhu8bFuN0TdZkvj9jpZzk4rrBMyKrZeRYqpV4FhJkyU9K6lLLH2TqNx3JCUC4FbAYjNbU0uZVRq8t9rMhgHDJJ0CXAmcmSLPcGA4QFsV5210XDR7Dm06r20ptu7UnsVzq7dCFs+ewxcT3qdyzRoWfDWLb6Z/TrvtuvtN/kbSplMHFpWVV60vnj2H1u23rlpfuWQp5VM/5bZ+JwDw/TfzuPv4s7ngmRF03WuPBq/vBkNal6lZ55tZr0ylpUhLjgPPA0+Y2cqoL+MhQssQYBszK5e0LfCqpI+A76kpY2xpzN7qJ6mlWZvvvpr4Ie22685WXbtQvNFG7HPc0UwePa5ankkvjGWHg/YHYLOt2tBu+22Z/+VXjVFdB3Tdew++/TzcJ16zahUTnh3F7gP6VG1vsUUr/vL1ZG6Y9jY3THub7r339MAYKVJ2SxbKgHhLsDNQHs9gZgvMbGW0eh+wd2xbefTvTGA8sCcwH2gtKdEgrFFmsgZtOUrqYWaJrtoBwPRM+fNdZUUFT11yFYOfe4yi4iL+9/BTzJn2GUddeSlfvf8hk8eMY+q48ez8s4O4pvRVKisr+dcfrueHhYsbu+pNVnGzZpz4l+u46+jTqKyoYP8zTqTjzjsy6ro/03Wv3dljQN/aC2milLsXOk4AekS9y7OBk4BTqh1L6mBmiRv6A4FpUXobYFnUoiwBDgBuMTOT9BpwHKFhdibwXMbzSb4HliuSKqkemW8DugKHAasJvUUXmdmUTOW0VbEdy6b1UkdXP/7+Q1ljV8Gtg14/OZjS9z+oU2TbpXlze6J9h9ozAnt8/dXEWi6rkXQEcAdhKM8IM/uTpKFAqZmNknQjISiuARYC55vZJ5L2B+4FKglXxneY2T+iMrdl7VCeD4DTYq3PGuqt5WhmPsDcuSZkHe451srMxgBjktKujn0eAgxJsd//gN3SlDmT0BOeFX980DmXE/n09Es2PDg653Iily3HDYEHR+dcnQlvOTrnXE0i26df8oYHR+dcDoiiApub1YOjc67OBKjAxqd4cHTO1Z28Q8Y551IqsNjowdE5lxvecnTOuRQKLDZ6cHTO1Z0Exd5b7ZxzNflltXPOpVBgsdGDo3Ou7grx8cFah21KukVSK0kbSXpF0nxJpzVE5ZxzeUJCRdkt+SKbMe19o1kDjyS8vnwH4LJ6rZVzLu8UFymrJV9kc1m9UfTvEYQJbRYW2o1X51zdFOJldTbB8XlJnwDLgQsktQVW1G+1nHP5ptAaTbVeVpvZFcB+QC8zWw0so44TbDvnCoxCyzGbJavipH6SPpU0Q9IVKbYPkjRP0qRoOSdK7ynpbUlTojmtT4zt86CkL2L79MxUh1pbjpI2BS4EtgHOBToCOwIvZHeazrmmIFctR0nFwDCgD6GfY4KkUWY2NSnrU2Z2UVLaMuAMM5suqSMwUdJYM0tM6XmZmT2bTT2y6ZB5AFgF7B+tlwHXZ1O4c67pyGHLsTcww8xmmtkqwoyBWV2tmtlniemfo/mrvwXars/5ZBMctzOzWwjTqWJmywn3X51zDghBr6hYWS1AiaTS2HJuUnGdgFmx9bIoLdmx0aXzs5K61KyTegMbA5/Hkv8U7XO7pOaZzimb4LhKUgvAogNuB6Sd69U51xQJKbsFmG9mvWLL8BqF1WRJ688D3cxsd+Bl4KFqBUgdgEeAs8ysMkoeAuwE7EOYu/ryTGeUTXC8BvgP0EXSY8ArwO+y2M8515QUKbuldmVAvCXYGSiPZzCzBWaWaKTdB+yd2CapFTAauNLM3ontM8eClYTbhRnnsK61Q8bMxkl6H9iXENF/bWbza9vPOdfE5G4ozwSgh6TuwGzgJOCU6odSBzObE60OBKZF6RsDI4GHzeyZVPsoNF+PAT7OVIlsHh88AFhhZqOB1sDvJXXN4gSdc01FNE1ClpfVGZnZGuAiYCwh6D1tZlMkDZU0MMo2OBqu8yEwGBgUpZ8AHAQMSjFk5zFJHwEfASXU0rGczSDwe4A9JO1BeGxwBPAw8NMs9nXONQmC4tzNsGVmY4AxSWlXxz4PIdxDTN7vUeDRNGUeui51yOZs1piZEbrS7zKzO4GW63IQ51xhkyi4F09k03JcImkIcBpwUDRAc6Na9nHONTVN7fFB4ETC0J1fmtlcwnijW+u1Vs65vNMkW47AnWZWIWkHwjihJ+q3Ws65vNMEW47/BZpL6kQY43gW8GB9Vso5l2eU5RjHPGo5ZhMcZWbLgF8AfzWznwO71G+1nHP5RsVFWS35IqvgKGk/4FTCqHOA4vqrknMu7yTedpurd5ZtALK55/hrwniikdFAzG2B1+q3Ws65fKP8aRRmJZvHB/9LuO+YWJ9JGJHunHNr5VGrMBvZvOy2LeFFE7sAmyTS13W0uXOugCm/hulkI5uG8GPAJ0B34I/Al4QHw51zbq0Cu+eYTXDcysz+Aaw2s9fN7GzCG3qccw6I4l6B9VZn0yGzOvp3jqQBhPeqda6/Kjnn8lKBXVZnExyvl7QFcAnwV6AV8Nt6rZVzLs/k1yVzNrLprU7MMvgdcEj9Vsc5l68Kbd7qtMFR0l+pOW9DFTPz4TzOuUA0qcvq0garhXMu7+VTZ0s2MgXHp4CWZjYvniipHfB9vdbKOZdf8myYTjYyhfq7gANTpPcBbq+f6jjn8lUu3+coqZ+kTyXNkHRFiu2DJM2LzRNzTmzbmZKmR8uZsfS9JX0UlXmXarlJmik4/sTM/pWcaGaPESawcc65tXI0CDyabWAY0B/YGThZ0s4psj5lZj2j5f5o3y0J00n/mDD16jWS2kT57wHOBXpES79M9cgUHDOdRWHdXHDO1U2iQyY373PsDcwws5lmtgp4kjCHVTYOB8aZ2UIzWwSMA/pJ6gC0MrO3ozmxHiZMz5pWpnuO30rqbWbvxRMl7QPMS7NPznXddUfuHvlwQx3O5cDTnXZo7Cq4dbBoycKclLMOQ3lKJMU7fIeb2fDYeidgVmy9jNASTHaspIOAz4DfmtmsNPt2ipayFOlpZQqOlwFPS3oQmBil9QLOIEyy7ZxzkXWamnW+mfXKXFgNycMKnweeMLOVks4DHgIOzbBvNmVWk/ZsohZj76jQQdEi4Mdm9m6mQp1zTUxuX3ZbBnSJrXcmPLZcxcwWmNnKaPU+YO9a9i2j+mPPNcpMlvEJGTP7lnBz0znnMsvdUJ4JQA9J3YHZhCvVU6ofSh3MbE60OhCYFn0eC9wQ64TpCwwxs4WSlkjaF3iXcAX810yVyObZauecq4WgKDf9tGa2RtJFhEBXDIyIZiEYCpSa2ShgsKSBwBpgIeHKligIXsfa1yoONbPETdXzCZMDtgBejJa0PDg653Ijh4PAzWwMMCYp7erY5yGE6VtS7TsCGJEivRTYNds6eHB0ztVd4p5jAcn04onnyfziiYH1UiPnXB4SFBfWpKSZWo5/brBaOOfyX1NpOZrZ6w1ZEedcHmtKl9UJknoANxKecYzPPrhtPdbLOZdvCiw4ZtP3/gDhge01hDeBPww8Up+Vcs7lm2goTzZLnsimpi3M7BVAZvaVmV1LeEzHOecCUXDBMZuhPCskFQHTo4GZs4F29Vst51zeaYKX1b8BNgUGE55fPB04M+MezrkmRQgVFWW15ItsZh9MPIazFDirfqvjnMtbBdZyzKa3+jVSDAY3M7/v6JwLmuJQHuDS2OdNgGMJPdfOObdWUwuOZjYxKektST5A3DkX07QeHwSqJqxJKCJ0yrSvtxo55/JPE72snsja14yvAb4AflmflXLO5aEmGBx/ZGYr4gmSmtdTfZxzeSl3L7vdUGRzNv9LkfZ2rivinMtzuZtDZoOQ6X2O7QlTF7aQtCdrZ+9qRRgU7pxzQRO753g4YV6GzsBfWBscvwd+X7/Vcs7ll9z2VkvqB9xJmEPmfjO7KU2+44BngH3MrFTSqYRppRN2B/Yys0mSxgMdgOXRtr7RJIIpZXqf40PAQ5KONbN/rsN5Oeeaohy1HCUVA8OAPoQpVSdIGmVmU5PytSQ81lw1VbSZPQY8Fm3fDXjOzCbFdjs1mkumVtncc9xbUutYhdpIuj6bwp1zTURu563uDcwws5lmtgp4Ejg6Rb7rgFuAFSm2AZwMPLEeZwNkFxz7m9nixIqZLQKOWN8DOucK0Tq9z7FEUmlsOTepsE7ArNh6WZS29mihH6SLmb2QoVInUjM4PiBpkqSrpMyROpuhPMWSmpvZyqhSLQAfyuOcqy77y+r5ZtYrU0kp0qre7xC9QvF2ormqU1dFPwaWmdnHseRTzWx2dDn+T8Ibxh5OV0Y2wfFR4BVJD0QVPDtTgc65JkhAUc46ZMqALrH1zkB5bL0lYf7p8VHjrz0wStLA2P3Ek0hqNZrZ7OjfJZIeJ1y+r39wNLNbJE0GDiN8BdeZ2dja9nPONSWCopwN5ZkA9JDUnfBy7ZOAUxIbzew7oKTqyKEX+tJEYIxalscDB8XyNANam9l8SRsBRwIvZ6pENi1HzOw/wH+igxwgaZiZXZjNvs65JkK5eULGzNZEsw6MJQzlGWFmUyQNBUrNbFQtRRwElJnZzFhac2BsFBiLCYHxvkyFZBUcJfUk9PycSHi2+l/Z7Oeca0JyOAjczMYAY5LSrk6T9+Ck9fHAvklpPxBempO1TE/I7EBozp4MLACeIkyydci6HMA51wSo8J6tztRy/AR4AzjKzGYASPptg9TKOZd/CuzxwUyh/lhgLvCapPsk/YzUXezOORd6q7NZ8kTa4GhmI83sRGAnYDzwW2BrSfdI6ttA9XPO5QOt0yDwvFBrTc3sBzN7zMyOJIw3mgRcUe81c87llwJ7Zdk6hXEzW2hm9/rMg865GlSU3ZInshrK45xzGSmng8A3CB4cnXO5kUedLdnw4OicywHl1SVzNjw4OufqTvhltXPOpZRHPdHZ8ODonMsNv6x2zrkk3lvtnHNpeG+1c84l895q55yryXurnXMuDW85Nl1T/vsez1z/N6yikv1POILD/++UlPnef/F17h/8Ry7/1z103W1Hpr1Zyr//fB8Vq9dQvFEzfnH5/7HjfnsBMOH5Vxj798dBonW7rRj059+z+ZZb8MJdD/LW06Np2SZMGT7wkl+y68H78t5zL/Py/U9VHWv2pzO54t/30mXn7ev/C8hD7Q8+kJ5D/4CKivniiWf4ZNjwatu7nfBzdr/ycpbP/QaAGQ88yhdPPEPb/X9Mz2t/X5Wv1Xbb8vYFv6V87MtsP+g0epxzJi27d+Xfu/6YVYsWVSuzzR678bPnn+ad839D2eixbNqpI/vf/zdUXExRs2bMeOARPn/kyfo/+YbmQ3mapsqKCp669k4GP3grrdu35eZjz2f3Q/enQ49u1fKtWLqM8Q//i257/KgqbfM2W3D+vX+i9dYllH/2BX89+3fc+OYzVKyp4Jnrh3H1iw+w+ZZb8K+b72X8oyM5cvAgAA4ddBx9zjmxWvm9jz6M3kcfBoTA+PfzrvLAmIaKitjrT9fw+slnsXzOXA4b80/KX3qF76d/Xi3frFFj+ODKodXS5v3vXcb1DfPIb9x6C/q/OY5vXn8TgPkTJlL+8msc8uwjKY+5+x8u5Zvxb1alrfh2Hq8efSKVq1bTbNNNOfzVF5j90qus+ObbXJ9yI8rtm8Al9QPuJMz3cr+Z3ZQm33HAM8A+ZlYqqRswDfg0yvKOmZ0X5d0beBBoQZiC4ddmZsllJhRWO7gefTn5E9p27UTnSfXDAAAPrUlEQVTJNh1ptvFG7D3gUD585X818j1/xwj6/L+T2Kj5xlVpXXbpQeutw2RpHXp0Y83K1axeuQrMwIyVy5djZqxYuozW7UpqlJlO6Quv0usof0FSOlvuuTtLv/yKH76eReXq1Xz93Gg6Hn7YOpfTeUA/5r72XypWrABg8ZRpLCubnTLv9mefzuzRL7FiwYKqtMrVq6lctRqAouYb59U7DbOWmJo1By+7lVQMDAP6AzsDJ0vaOUW+lsBg4N2kTZ+bWc9oOS+Wfg9wLtAjWvplqkcB/pTqx+K582nToV3Vepv2JXz3zbxqeWZNmc6iOfPY7dD90pbzwX/+S+edt2ej5htTvFEzTvrjb/jTgHMYcsDxzJ3xJfsf378q7+uP/pvrjzyHR664hWXfLalR1sTRr7HPkR4c02nRfmuWlc+tWl8+Zy4t2m9dI1/nI/rSd9wo9ht+Fy06tq+xvcvRR/D1cy9kdbxO/frw+SNP1NzWsT19x43iyAmv8+mw+wqs1Qihtzpn73PsDcwws5lmtgp4Ejg6Rb7rgFuAFbXWTuoAtDKzt6PW4sPAMZn2abDgKOlCSe9KekPS2ZJ6SBoiaf8Uec+VVCqpdN7CRamKawQpWt+xH3RlZSXP3nA3xw45P20J5dO/4N+3DueUoWEqnorVa3jjiVEMee5ebnzrGTrttG24/wgcdMpAhr7yKL8fNZxW7bbinzfeU62sLyZNY+MWm9Bxh+45OLcCleoXMekqqnzca4ze9xBe6jOQb9/4H73vuLna9k3atWWLnXZkbuwyOZ2ef/w9k2+4FausrLFteflcXuozkDEH9KHr8T+neclW63Yu+SD7N4GXJH6/o+XcpJI6AbNi62VRWhVJewJdzCzVX63ukj6Q9LqkA2NllmUqs8bp1H7GOdMFOAA4BzgEeJ5w7f9OckYzG25mvcysV9st2zRgFdNr3b4ti+as/Wu/aO58tohdAq/8YRnl07/g9tN+y5UHn8wXk6by9/Ou5KuPwq2PRXPmMfyCazjz1iG07Rp+JrOmzQCgbddOSGKv/gcz84MpALQq2ZKi4mKKior4yQkD+HLyJ9XqM3H0q/TyVmNGy+fMZdNYS7BFh/YsT2qxrVq0uOqSd+ZjT9Nmt12rbe9yVH9mvzgOW7Om1uO12X1X9rv7dga88yqdBxzOXjdcW+MyfsU33/L9Z9Np++Ne63taGyaxLi3H+Ynf72gZnqK0ZFV/1SQVAbcDl6TINwfYxsz2BC4GHpfUqrYyU2mwDhkzS0yt8ClwekMdN1e67rYT3345m/mz5tB66xImjn6Vs277Q9X2Fi0359b3/l21fvupv+UXV5xH1912ZNn3S7n73CEcfck5bLf32l++1luXMGfGVyxZsJiWW7Xmk7cm0n67rgB89+0CtmgXWheTxr1RrYVYWVnJ+y++zsWP31Hfp53XFk76iM27d2OzLp1ZPvcbtjl6AO9ceHG1PJu0a8uKb8PtkY59f8aSGdU7a7Y55kgm3/iXrI43Zr+fVX3e5/abmPPya5SPfZkWHbZm1aLFVKxYyUZbtKJkn734bPgDdTu5DU5OB4GXERpTCZ2B8th6S2BXYLxCsG0PjJI00MxKgZUAZjZR0ufADlGZnTOUWYP3VmepuFkxJ17zK/529uVUVlSw33H96dijO8/f8QBdd9uB3X92QNp9X39kJPO+KufFYY/w4rDQw/mrB2+h9dYlHHHRGdx2ym8o3qgZW3Zsxxk3Xw7AyFvupWza5yCxVaetOeW6tb/UMyZMpnX7tpRs07F+TzrPWUUF7185lIMe/0cYyvPUs3z/2Qx2uXQwiz78mPJxr9Lj7DPo2PdQrKKCVYsX895v1k6PtGnnTrTo0IF5b79XrdweZ5/Ojhf8PzZpW8LhL49izqv/pfSyPyQfvkqr7bdjj6vXlvvp30fw3Sef5f6EG1vuHh+cAPSQ1B2YDZwEVI2bM7PvgKrLNknjgUuj3uq2wEIzq5C0LaHjZaaZLZS0RNK+hA6cM4C/ZqqEMvRkbxB67bazvTfy4cauhlsHz+4zoLGr4NbBkCUL+XzN6joNUuy103b27vAbssrb7KcnTTSzjPcVJB0B3EEYyjPCzP4kaShQamajkvKOZ21wPBYYCqwBKoBrzOz5KF8v1g7leRH4VaahPN5ydM7lRg6fkDGzMYSxiPG0q9PkPTj2+Z/AP9PkKyVcjmfFg6NzLjf8CRnnnEvmb+VxzrmU5C1H55xLIkFRYYWTwjob51zj8fc5OudcCn7P0TnnkiQeHywgHhydczngvdXOOZeatxydcy6JBMU+NatzztXkl9XOOZeCX1Y751wy75BxzrnUvOXonHNJJCgurHBSWGfjnGs0/uIJ55xLxe85OudckgJ8fLCwQr1zrpFEvdXZLNmUJvWT9KmkGZKuyJDvOEkWzQ+DpD6SJkr6KPr30Fje8VGZk6KlXaY6eMvROZcbOWo5SioGhgF9CFOqTpA0ysymJuVrCQwmzCaYMB84yszKJe0KjAU6xbafGs0lUytvOTrn6i7x+GA2S+16AzPMbKaZrQKeBI5Oke864BZgRSLBzD4ws8R81FOATSQ1X59T8uDonMuN3F1WdwJmxdbLqN76Q9KeQBczeyFDOccCH5jZyljaA9El9VWqpXvdL6udc7mR/WV1iaT4pe1wMxseLynFPlXzS0sqAm4HBqWvinYBbgb6xpJPNbPZ0eX4P4HTgYfTleHB0TmXI1kHx/lm1ivD9jKgS2y9M1AeW29JmH96fNT4aw+MkjTQzEoldQZGAmeY2eeJncxsdvTvEkmPEy7f0wZHv6x2zuWAQssxm6V2E4AekrpL2hg4CRiV2Ghm35lZiZl1M7NuwDtAIjC2BkYDQ8zsraraSc0klUSfNwKOBD7OVAkPjs653MhRcDSzNcBFhJ7macDTZjZF0lBJA2vZ/SJge+CqpCE7zYGxkiYDk4DZwH2ZCvLLaudc3YmcPiFjZmOAMUlpV6fJe3Ds8/XA9WmK3Xtd6uDB0TmXG4X1gIwHR+dcrhRWdPTg6JzLgaw7W/KGB0fnXG54cHTOuRT8lWXOOZeKtxydc6667Ad45w0Pjs653PDg6JxzqXhwdM65GnyCLeecq0HeW+2ccyl5y9E555IU4OyDHhydczniwdE552rylqNzzqVQWLHRg6NzLhe8t9o552ryDhnnnEunsIJjYbWDnXONJ3ezDyKpn6RPJc2QdEWGfMdJMkm9YmlDov0+lXT4upaZ4C1H51wO5O6tPJKKgWFAH8Ic1hMkjTKzqUn5WgKDgXdjaTsTpnLdBegIvCxph2hzrWXGecvROZcbKspuqV1vYIaZzTSzVcCTwNEp8l0H3AKsiKUdDTxpZivN7AtgRlRetmVW2eBbjhM/nja/uMc+XzV2PepBCTC/sSvh1kmh/sy61rWAiR9MGqvNWpdkmX0TSaWx9eFmNjy23gmYFVsvA34cL0DSnkAXM3tB0qVJ+76TtG+n6HPGMpNt8MHRzNo2dh3qg6RSM+tVe063ofCfWXpm1i+HxaW6PreqjVIRcDswaB32TdVktRRpVTb44Oica3LKgC6x9c5AeWy9JbArMD56TVp7YJSkgbXsm6nMGvyeo3NuQzMB6CGpu6SNCR0soxIbzew7Mysxs25m1o1wGT3QzEqjfCdJai6pO9ADeK+2MlPxlmPjGV57FreB8Z9ZAzCzNZIuAsYCxcAIM5siaShQamZpg1qU72lgKrAGuNDMKgBSlZmpHjLLeNntnHNNkl9WO+dcCh4cnXMuBQ+ODUDS0hRp50n6SNIkSW9GI/udcxsIv+fYACQtNbPNk9Jamdn30eeBwAU5HivmnKsDbzk2kkRgjGxGLQNSnXMNy4fyNCJJFwIXAxsDhzZydVwK0c/oDGAV8ADwBnAc8LqZ/a8x6+bql7ccG5GZDTOz7YDLgSsbuz4upS7AAcA5wCHA80ALqj+/6wqQ33NsAKnuOSZtLwIWmdkWDVgt51wG3nJsJJJ6xFYHANMbqy7OuZr8nmPD2FRSWWz9NqCrpMOA1cAi4MxGqZlzLiW/rHbOuRT8sto551Lw4Oiccyl4cHTOuRQ8ODrnXAoeHJ1zLgUPjnlCUkX0Bp+PJT0jadM6lHWwpBeizwNrmTS9taQL1uMY1ybNChffdkZ0HlMkTU3kk/SgpOPW9VjO1QcPjvljuZn1NLNdCc/5nhffqGCdf55mNsrMbsqQpTWwzsExHUn9gd8Afc1sF2Av4Ltcle9crnhwzE9vANtL6iZpmqS7gfeBLpL6Snpb0vtRC3NzAEn9JH0i6U3gF4mCJA2S9Lfo89aSRkr6MFr2B24CtotarbdG+S6TNEHSZEl/jJX1B0mfSnoZ2DFN3YcAl5pZOYCZrTCz+5IzSbo6OsbHkoYrmmZO0uCotTlZ0pNR2k+j+k2S9IGklunqKWkzSaOj8/tY0ol1+Dm4AuZPyOQZSc2A/sB/oqQdgbPM7AJJJYQXWBxmZj9Iuhy4WNItwH2EN//MAJ5KU/xdhLfN/FxSMbA5cAWwq5n1jI7flzCjW2/CHMGjJB0E/ECY0W1Pwv+r94GJKY6xa5r0ZH8zs6HRMR8BjiS89OEKoLuZrZTUOsp7KWEipbeiPwYrMtSzLVBuZgOisv15dpeStxzzRwtJk4BS4GvgH1H6V2aWeEPMvsDOwFtR3jOBrsBOwBdmNt3CI1GPpjnGocA9AGZWYWapLnf7RssHhAC4EyEIHQiMNLNl0bsqM057mYVDJL0r6aOoXrtE6ZOBxySdRphdDuAt4DZJg4HWZrYmQz0/Ag6TdLOkA9Oco3PecswjyxOtt4ToSvOHeBIwzsxOTsrXk9y9TFfAjWZ2b9IxfpPlMaYAewOvpj2AtAlwN9DLzGZJuhbYJNo8ADgIGAhcJWkXM7tJ0mjgCOCd6Jn1lPWMyt87ynujpJcSLVTn4rzlWFjeAQ6QtD2ApE0l7QB8AnSXtF2U7+Q0+78CnB/tWyypFbAEaBnLMxY4O3Yvs5OkdsB/gZ9LahHd8zsqzTFuBG6R1D7av3nU4otLBML50XGOi/IWAV3M7DXgd4TOos0lbWdmH5nZzYSW9U7p6impI7DMzB4F/kzoEHKuBm85FhAzmydpEPCEpOZR8pVm9pmkc4HRkuYDbxLu/SX7NTBc0i+BCuB8M3tb0luSPgZeNLPLJP0IeDtquS4FTjOz9yU9BUwCviJ0GqWq4xhJWwMvR50sBoxIyrNY0n2ES+AvgQnRpmLg0eg+oYDbo7zXSTokqvPUqJ4rU9UT2B64VVIl4Y1I52f37bqmxt/K45xzKfhltXPOpeDB0TnnUvDg6JxzKXhwdM65FDw4OudcCh4cnXMuBQ+OzjmXwv8HLnvIe1MLOQEAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -2865,7 +2865,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ "
" ] @@ -2953,7 +2953,7 @@ }, { "data": { - "image/png": "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PWm9Sy65hFmzZgFw8cUXE4lEAHjttde4+OKLycvLIyMjg0svvZSf/OQnAFxxxRVkZGSc9ByAa665hieeeOKMvpci6c7def3112lubmbevHksX76cgoKCSXnvRIbCJuBjQ2chXQx0uPvBBNYzYerq6ti2bRsXXXQRL774Im9/+9tjy+68805efvlldu7cSVdXF0899VRsWXt7O8899xyf+9zn+PSnP81nPvMZXn75Zf793/+d2267DYClS5fy/PPPs23bNjZs2MDdd98NwJ49e1izZs2oX+3t7TQ0NJzwn0ZlZSUNDQ2n3Y6HHnqIq666CoCVK1fy/PPP09LSQmdnJ5s3b6a+vv6k5zz88MOx5wDU1tby61//+iy+iyLpZ3gvgZlRUVHBsmXLqKioYNq0yftTHdh1Cmb2OHAZUGxmEeDrQCaAuz8IbAauBvYDncCfTdR713zp/07US8XUffP941rv2LFj3HjjjXznO99h5syZHDx4kPhdXs888wzf/va36ezspLW1lRUrVnDNNdcA8KEPfSi23i9+8Qt2794du3/kyBGOHj1KR0cHH//4x9m3bx9mRl9fHwDnn38+27dvP2Vdox0/ON0ZQM888wwPPfQQL7zwAgDLli3ji1/8IuvWrSM/P58LLrggNjoY9o1vfIOMjAw+8pGPxB4rLS3lwIGkHQCKTJrW1lbq6+upqKiguLiYoqKihNQRWCi4+81jLHfgL4J47/H+AZ9ofX193HjjjXzkIx/hhhtuACA3Nzd2Pn53dzd33HEHW7dupaqqinvuueeEc/VnzJgRuz04OMhvfvMbcnNzT3iPT33qU1x++eX85Cc/oa6ujssuuwyIjhTiQyXes88+S2Vl5Qm7dSKRCOXl5aOuv2PHDm677TZ+9rOfMWfOnNjjt956K7feeisAd9999wkjj0cffZSnnnqKX/7ylyeETXd390nbICK/19vbSzgcpqOjgxkzZpCfn5/QetT7aIK4O7feeivLli3js5/9bOzxZcuWsX//foBYABQXF3Ps2DGefPLJU77eFVdcwXe/+93Y/eFRQEdHBxUV0ZO0Hnnkkdjy4ZHCaF9FRUWUlZVRUFDAli1bcHd+8IMfcN111530vuFwmBtuuIHHHnuMJUuWnLCssbExts6Pf/xjbr45mvtPP/003/rWt9i0aRN5eXknPGfv3r2sXLny9N88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\n", + "image/png": "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PWm9Sy65hFmzZgFw8cUXE4lEAHjttde4+OKLycvLIyMjg0svvZSf/OQnAFxxxRVkZGSc9ByAa665hieeeOKMvpci6c7def3112lubmbevHksX76cgoKCSXnvRIbCJuBjQ2chXQx0uPvBBNYzYerq6ti2bRsXXXQRL774Im9/+9tjy+68805efvlldu7cSVdXF0899VRsWXt7O8899xyf+9zn+PSnP81nPvMZXn75Zf793/+d2267DYClS5fy/PPPs23bNjZs2MDdd98NwJ49e1izZs2oX+3t7TQ0NJzwn0ZlZSUNDQ2n3Y6HHnqIq666CoCVK1fy/PPP09LSQmdnJ5s3b6a+vv6k5zz88MOx5wDU1tby61//+iy+iyLpZ3gvgZlRUVHBsmXLqKioYNq0yftTHdh1Cmb2OHAZUGxmEeDrQCaAuz8IbAauBvYDncCfTdR713zp/07US8XUffP941rv2LFj3HjjjXznO99h5syZHDx4kPhdXs888wzf/va36ezspLW1lRUrVnDNNdcA8KEPfSi23i9+8Qt2794du3/kyBGOHj1KR0cHH//4x9m3bx9mRl9fHwDnn38+27dvP2Vdox0/ON0ZQM888wwPPfQQL7zwAgDLli3ji1/8IuvWrSM/P58LLrggNjoY9o1vfIOMjAw+8pGPxB4rLS3lwIGkHQCKTJrW1lbq6+upqKiguLiYoqKihNQRWCi4+81jLHfgL4J47/H+AZ9ofX193HjjjXzkIx/hhhtuACA3Nzd2Pn53dzd33HEHW7dupaqqinvuueeEc/VnzJgRuz04OMhvfvMbcnNzT3iPT33qU1x++eX85Cc/oa6ujssuuwyIjhTiQyXes88+S2Vl5Qm7dSKRCOXl5aOuv2PHDm677TZ+9rOfMWfOnNjjt956K7feeisAd9999wkjj0cffZSnnnqKX/7ylyeETXd390nbICK/19vbSzgcpqOjgxkzZpCfn5/QetT7aIK4O7feeivLli3js5/9bOzxZcuWsX//foBYABQXF3Ps2DGefPLJU77eFVdcwXe/+93Y/eFRQEdHBxUV0ZO0Hnnkkdjy4ZHCaF9FRUWUlZVRUFDAli1bcHd+8IMfcN111530vuFwmBtuuIHHHnuMJUuWnLCssbExts6Pf/xjbr45mvtPP/003/rWt9i0aRN5eXknPGfv3r2sXLny9N88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", "text/plain": [ "
" ] @@ -3286,7 +3286,7 @@ "2. `probs` : python `list` or numpy `array`\n", "3. `classes` : python `list`\n", "4. `thresholds`: python `list` or numpy `array` \n", - "5. `sample_weight`: python `list`" + "5. `sample_weight`: python `list` or numpy `array`" ] }, { @@ -3311,7 +3311,7 @@ "2. `probs` : python `list` or numpy `array`\n", "3. `classes` : python `list`\n", "4. `thresholds`: python `list` or numpy `array` \n", - "5. `sample_weight`: python `list`" + "5. `sample_weight`: python `list` or numpy `array`" ] }, { diff --git a/README.md b/README.md index 82aa9377..ede2cab2 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,7 @@ - -## Table of contents +## Table of contents * [Overview](https://github.com/sepandhaghighi/pycm#overview) * [Installation](https://github.com/sepandhaghighi/pycm#installation) * [Usage](https://github.com/sepandhaghighi/pycm#usage) @@ -38,7 +37,7 @@ ## Overview

-PyCM is a multi-class confusion matrix library written in Python that supports both input data vectors and direct matrix, and a proper tool for post-classification model evaluation that supports most classes and overall statistics parameters. +PyCM is a multi-class confusion matrix library written in Python that supports both input data vectors and direct matrix, and a proper tool for post-classification model evaluation that supports most classes and overall statistics parameters. PyCM is the swiss-army knife of confusion matrices, targeted mainly at data scientists that need a broad array of metrics for predictive models and accurate evaluation of a large variety of classifiers.

@@ -48,11 +47,10 @@ PyCM is the swiss-army knife of confusion matrices, targeted mainly at data scie

Fig1. ConfusionMatrix Block Diagram

- - + - + @@ -69,8 +67,8 @@ PyCM is the swiss-army knife of confusion matrices, targeted mainly at data scie
Open Hub
PyPI Counter
- - + + @@ -83,29 +81,26 @@ PyCM is the swiss-army knife of confusion matrices, targeted mainly at data scie
Branchmasterdevmasterdev
CI
- - - + + +
Code QualityCodeFactorcodebeat badgeCodeFactorcodebeat badge
- - -## Installation +## Installation ⚠️ PyCM 2.4 is the last version to support **Python 2.7** & **Python 3.4** -⚠️ Plotting capability requires **Matplotlib (>= 3.0.0)** or **Seaborn (>= 0.9.1)** +⚠️ Plotting capability requires **Matplotlib (>= 3.0.0)** or **Seaborn (>= 0.9.1)** ### Source code - Download [Version 3.7](https://github.com/sepandhaghighi/pycm/archive/v3.7.zip) or [Latest Source ](https://github.com/sepandhaghighi/pycm/archive/dev.zip) - Run `pip install -r requirements.txt` or `pip3 install -r requirements.txt` (Need root access) -- Run `python3 setup.py install` or `python setup.py install` (Need root access) +- Run `python3 setup.py install` or `python setup.py install` (Need root access) ### PyPI - -- Check [Python Packaging User Guide](https://packaging.python.org/installing/) +- Check [Python Packaging User Guide](https://packaging.python.org/installing/) - Run `pip install pycm==3.7` or `pip3 install pycm==3.7` (Need root access) ### Conda @@ -121,21 +116,22 @@ PyCM is the swiss-army knife of confusion matrices, targeted mainly at data scie ### MATLAB - Download and install [MATLAB](https://www.mathworks.com/products/matlab.html) (>=8.5, 64/32 bit) -- Download and install [Python3.x](https://www.python.org/downloads/) (>=3.5, 64/32 bit) +- Download and install [Python3.x](https://www.python.org/downloads/) (>=3.5, 64/32 bit) - [x] Select `Add to PATH` option - [x] Select `Install pip` option - Run `pip install pycm` or `pip3 install pycm` (Need root access) - Configure Python interpreter + ```matlab >> pyversion PYTHON_EXECUTABLE_FULL_PATH ``` -- Visit [MATLAB Examples](https://github.com/sepandhaghighi/pycm/tree/master/MATLAB) +- Visit [MATLAB Examples](https://github.com/sepandhaghighi/pycm/tree/master/MATLAB) ## Usage - ### From vector + ```pycon >>> from pycm import * >>> y_actu = [2, 0, 2, 2, 0, 1, 1, 2, 2, 0, 1, 2] @@ -197,7 +193,9 @@ TP(True positive/hit) 3 TPR(Sensitivity, recall, hit rate, or true positive rate) 1.0 0.33333 0.5 ``` + ### Direct CM + ```pycon >>> from pycm import * >>> cm2 = ConfusionMatrix(matrix={"Class1": {"Class1": 1, "Class2":2}, "Class2": {"Class1": 0, "Class2": 5}}) @@ -253,28 +251,33 @@ TP(True positive/hit) 1 TPR(Sensitivity, recall, hit rate, or true positive rate) 0.33333 1.0 ``` -* `matrix()` and `normalized_matrix()` renamed to `print_matrix()` and `print_normalized_matrix()` in `version 1.5` + +* `matrix()` and `normalized_matrix()` renamed to `print_matrix()` and `print_normalized_matrix()` in `version 1.5` ### Activation threshold -`threshold` is added in `version 0.9` for real value prediction. - + +`threshold` is added in `version 0.9` for real value prediction. For more information visit [Example3](http://www.pycm.io/doc/Example3.html "Example3") -### Load from file +### Load from file + `file` is added in `version 0.9.5` in order to load saved confusion matrix with `.obj` format generated by `save_obj` method. For more information visit [Example4](http://www.pycm.io/doc/Example4.html "Example4") ### Sample weights + `sample_weight` is added in `version 1.2` For more information visit [Example5](http://www.pycm.io/doc/Example5.html "Example5") ### Transpose + `transpose` is added in `version 1.2` in order to transpose input matrix (only in `Direct CM` mode) -### Relabel -`relabel` method is added in `version 1.5` in order to change ConfusionMatrix classnames. +### Relabel + +`relabel` method is added in `version 1.5` in order to change ConfusionMatrix classnames. ```pycon >>> cm.relabel(mapping={0:"L1",1:"L2",2:"L3"}) @@ -282,8 +285,9 @@ For more information visit [Example5](http://www.pycm.io/doc/Example5.html "Exam pycm.ConfusionMatrix(classes: ['L1', 'L2', 'L3']) ``` -### Position -`position` method is added in `version 2.8` in order to find the indexes of observations in `predict_vector` which made TP, TN, FP, FN. +### Position + +`position` method is added in `version 2.8` in order to find the indexes of observations in `predict_vector` which made TP, TN, FP, FN. ```pycon >>> cm.position() @@ -291,6 +295,7 @@ pycm.ConfusionMatrix(classes: ['L1', 'L2', 'L3']) ``` ### To array + `to_array` method is added in `version 2.9` in order to returns the confusion matrix in the form of a NumPy array. This can be helpful to apply different operations over the confusion matrix for different purposes such as aggregation, normalization, and combination. ```pycon @@ -302,13 +307,14 @@ array([[3, 0, 0], array([[1. , 0. , 0. ], [0. , 0.33333, 0.66667], [0.33333, 0.16667, 0.5 ]]) ->>> cm.to_array(normalized=True,one_vs_all=True, class_name="L1") +>>> cm.to_array(normalized=True, one_vs_all=True, class_name="L1") array([[1. , 0. ], [0.22222, 0.77778]]) ``` ### Combine -`combine` method is added in `version 3.0` in order to merge two confusion matrices. This option will be useful in mini-batch learning. + +`combine` method is added in `version 3.0` in order to merge two confusion matrices. This option will be useful in mini-batch learning. ```pycon >>> cm_combined = cm2.combine(cm3) @@ -322,61 +328,63 @@ Class2 0 10 ``` ### Plot + `plot` method is added in `version 3.0` in order to plot a confusion matrix using Matplotlib or Seaborn. ```pycon >>> cm.plot() ``` - + + ```pycon >>> from matplotlib import pyplot as plt ->>> cm.plot(cmap=plt.cm.Greens,number_label=True,plot_lib="matplotlib") -``` +>>> cm.plot(cmap=plt.cm.Greens, number_label=True, plot_lib="matplotlib") +``` ```pycon ->>> cm.plot(cmap=plt.cm.Reds,normalized=True,number_label=True,plot_lib="seaborn") -``` +>>> cm.plot(cmap=plt.cm.Reds, normalized=True, number_label=True, plot_lib="seaborn") +``` ### ROC curve -`ROCCurve`, added in `version 3.7`, is devised to compute the Receiver Operating Characteristic (ROC) or simply ROC curve. In ROC curves, the Y axis represents the True Positive Rate, and the X axis represents the False Positive Rate. Thus, the ideal point is located at the top left of the curve, and a larger area under the curve represents better performance. ROC curve is a graphical representation of binary classifiers' performance. In PyCM, `ROCCurve` binarizes the output based on the "One vs. Rest" strategy to provide an extension of ROC for multi-class classifiers. Getting the actual labels vector, the target probability estimates of the positive classes, and the list of ordered labels of classes, this method is able to compute and plot TPR-FPR pairs for different discrimination thresholds and compute the area under the ROC curve. +`ROCCurve`, added in `version 3.7`, is devised to compute the Receiver Operating Characteristic (ROC) or simply ROC curve. In ROC curves, the Y axis represents the True Positive Rate, and the X axis represents the False Positive Rate. Thus, the ideal point is located at the top left of the curve, and a larger area under the curve represents better performance. ROC curve is a graphical representation of binary classifiers' performance. In PyCM, `ROCCurve` binarizes the output based on the "One vs. Rest" strategy to provide an extension of ROC for multi-class classifiers. Getting the actual labels vector, the target probability estimates of the positive classes, and the list of ordered labels of classes, this method is able to compute and plot TPR-FPR pairs for different discrimination thresholds and compute the area under the ROC curve. ```pycon - >>> crv = ROCCurve(actual_vector = np.array([1, 1, 2, 2]), probs = np.array([[0.1, 0.9], [0.4, 0.6], [0.35, 0.65], [0.8, 0.2]]), classes=[2, 1]) - >>> crv.thresholds - [0.1, 0.2, 0.35, 0.4, 0.6, 0.65, 0.8, 0.9] - >>> auc_trp = crv.area() - >>> auc_trp[1] - 0.75 - >>> auc_trp[2] - 0.75 -``` +>>> crv = ROCCurve(actual_vector=np.array([1, 1, 2, 2]), probs=np.array([[0.1, 0.9], [0.4, 0.6], [0.35, 0.65], [0.8, 0.2]]), classes=[2, 1]) +>>> crv.thresholds +[0.1, 0.2, 0.35, 0.4, 0.6, 0.65, 0.8, 0.9] +>>> auc_trp = crv.area() +>>> auc_trp[1] +0.75 +>>> auc_trp[2] +0.75 +``` ### Precision-Recall curve `PRCurve`, added in `version 3.7`, is devised to compute the Precision-Recall curve in which the Y axis represents the Precision, and the X axis represents the Recall of a classifier. Thus, the ideal point is located at the top right of the curve, and a larger area under the curve represents better performance. Precision-Recall curve is a graphical representation of binary classifiers' performance. In PyCM, `PRCurve` binarizes the output based on the "One vs. Rest" strategy to provide an extension of this curve for multi-class classifiers. Getting the actual labels vector, the target probability estimates of the positive classes, and the list of ordered labels of classes, this method is able to compute and plot Precision-Recall pairs for different discrimination thresholds and compute the area under the curve. ```pycon - >>> crv = PRCurve(actual_vector = np.array([1, 1, 2, 2]), probs = np.array([[0.1, 0.9], [0.4, 0.6], [0.35, 0.65], [0.8, 0.2]]), classes=[2, 1]) - >>> crv.thresholds - [0.1, 0.2, 0.35, 0.4, 0.6, 0.65, 0.8, 0.9] - >>> auc_trp = crv.area() - >>> auc_trp[1] - 0.29166666666666663 - >>> auc_trp[2] - 0.29166666666666663 -``` +>>> crv = PRCurve(actual_vector=np.array([1, 1, 2, 2]), probs=np.array([[0.1, 0.9], [0.4, 0.6], [0.35, 0.65], [0.8, 0.2]]), classes=[2, 1]) +>>> crv.thresholds +[0.1, 0.2, 0.35, 0.4, 0.6, 0.65, 0.8, 0.9] +>>> auc_trp = crv.area() +>>> auc_trp[1] +0.29166666666666663 +>>> auc_trp[2] +0.29166666666666663 +``` ### Parameter recommender -This option has been added in `version 1.9` to recommend the most related parameters considering the characteristics of the input dataset. +This option has been added in `version 1.9` to recommend the most related parameters considering the characteristics of the input dataset. The suggested parameters are selected according to some characteristics of the input such as being balance/imbalance and binary/multi-class. -All suggestions can be categorized into three main groups: imbalanced dataset, binary classification for a balanced dataset, and multi-class classification for a balanced dataset. +All suggestions can be categorized into three main groups: imbalanced dataset, binary classification for a balanced dataset, and multi-class classification for a balanced dataset. The recommendation lists have been gathered according to the respective paper of each parameter and the capabilities which had been claimed by the paper. ```pycon @@ -398,7 +406,7 @@ True >>> cm = ConfusionMatrix(y_actu, y_pred, is_imbalanced = False) >>> cm.imbalance False -``` +``` ### Compare @@ -408,11 +416,10 @@ After that, two scores are calculated for each confusion matrices, overall and c If the user sets the value of `by_class` boolean input `True`, the best confusion matrix is the one with the maximum class-based score. Otherwise, if a confusion matrix obtains the maximum of both overall and class-based scores, that will be reported as the best confusion matrix, but in any other case, the compared object doesn’t select the best confusion matrix. - ```pycon ->>> cm2 = ConfusionMatrix(matrix={0:{0:2,1:50,2:6},1:{0:5,1:50,2:3},2:{0:1,1:7,2:50}}) ->>> cm3 = ConfusionMatrix(matrix={0:{0:50,1:2,2:6},1:{0:50,1:5,2:3},2:{0:1,1:55,2:2}}) ->>> cp = Compare({"cm2":cm2,"cm3":cm3}) +>>> cm2 = ConfusionMatrix(matrix={0:{0:2, 1:50, 2:6}, 1:{0:5, 1:50, 2:3}, 2:{0:1, 1:7, 2:50}}) +>>> cm3 = ConfusionMatrix(matrix={0:{0:50, 1:2, 2:6}, 1:{0:50, 1:5, 2:3}, 2:{0:1, 1:55, 2:2}}) +>>> cp = Compare({"cm2":cm2, "cm3":cm3}) >>> print(cp) Best : cm2 @@ -426,34 +433,31 @@ pycm.ConfusionMatrix(classes: [0, 1, 2]) ['cm2', 'cm3'] >>> cp.best_name 'cm2' -``` +``` ### Online help `online_help` function is added in `version 1.1` in order to open each statistics definition in web browser - ```pycon - >>> from pycm import online_help >>> online_help("J") >>> online_help("SOA1(Landis & Koch)") >>> online_help(2) - ``` -* List of items are available by calling `online_help()` (without argument) + +* List of items are available by calling `online_help()` (without argument) * If PyCM website is not available, set `alt_link = True` (new in `version 2.4`) -### Acceptable data types +### Acceptable data types **ConfusionMatrix** - 1. `actual_vector` : python `list` or numpy `array` of any stringable objects 2. `predict_vector` : python `list` or numpy `array` of any stringable objects 3. `matrix` : `dict` -4. `digit`: `int` -5. `threshold` : `FunctionType (function or lambda)` +4. `digit`: `int` +5. `threshold` : `FunctionType (function or lambda)` 6. `file` : `File object` 7. `sample_weight` : python `list` or numpy `array` of numbers 8. `transpose` : `bool` @@ -467,8 +471,8 @@ pycm.ConfusionMatrix(classes: [0, 1, 2]) 1. `cm_dict` : python `dict` of `ConfusionMatrix` object (`str` : `ConfusionMatrix`) 2. `by_class` : `bool` 3. `class_weight` : python `dict` of class weights (`class_name` : `float`) -4. `class_benchmark_weight`: python `dict` of class benchmark weights (`class_benchmark_name` : `float`) -5. `overall_benchmark_weight`: python `dict` of overall benchmark weights (`overall_benchmark_name` : `float`) +4. `class_benchmark_weight`: python `dict` of class benchmark weights (`class_benchmark_name` : `float`) +5. `overall_benchmark_weight`: python `dict` of overall benchmark weights (`overall_benchmark_name` : `float`) 6. `digit`: `int` * Run `help(Compare)` for `Compare` object details @@ -478,43 +482,43 @@ pycm.ConfusionMatrix(classes: [0, 1, 2]) 1. `actual_vector` : python `list` or numpy `array` of any stringable objects 2. `probs` : python `list` or numpy `array` 3. `classes` : python `list` -4. `thresholds`: python `list` or numpy `array` -5. `sample_weight`: python `list` +4. `thresholds`: python `list` or numpy `array` +5. `sample_weight`: python `list` or numpy `array` **PRCurve** 1. `actual_vector` : python `list` or numpy `array` of any stringable objects 2. `probs` : python `list` or numpy `array` 3. `classes` : python `list` -4. `thresholds`: python `list` or numpy `array` -5. `sample_weight`: python `list` +4. `thresholds`: python `list` or numpy `array` +5. `sample_weight`: python `list` or numpy `array` For more information visit [here](https://github.com/sepandhaghighi/pycm/tree/master/Document "Document")
- +
## Try PyCM in your browser! + PyCM can be used online in interactive Jupyter Notebooks via the Binder or Colab services! Try it out now! : [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/sepandhaghighi/pycm/master) [![Google Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/sepandhaghighi/pycm/blob/master) -* Check `Examples` in `Document` folder +* Check `Examples` in `Document` folder -## Issues & bug reports +## Issues & bug reports -1. Fill an issue and describe it. We'll check it ASAP! +1. Fill an issue and describe it. We'll check it ASAP! - Please complete the issue template 2. Discord : [https://discord.com/invite/zqpU2b3J3f](https://discord.com/invite/zqpU2b3J3f) -3. Website : [https://www.pycm.io](https://www.pycm.io) +3. Website : [https://www.pycm.io](https://www.pycm.io) 4. Mailing List : [https://mail.python.org/mailman3/lists/pycm.python.org/](https://mail.python.org/mailman3/lists/pycm.python.org/) 5. Email : [info@pycm.io](mailto:info@pycm.io "info@pycm.io") - ## Acknowledgments [NLnet foundation](https://nlnet.nl) has supported the PyCM project from version **3.6** to **4.0** through the [NGI Assure](https://nlnet.nl/assure) Fund. This fund is set up by [NLnet foundation](https://nlnet.nl) with funding from the European Commission's [Next Generation Internet program](https://ngi.eu), administered by DG Communications Networks, Content, and Technology under grant agreement [**No 957073**](https://nlnet.nl/project/PyCM/). @@ -548,16 +552,14 @@ Haghighi, S., Jasemi, M., Hessabi, S. and Zolanvari, A. (2018). PyCM: Multiclass journal = {Journal of Open Source Software} } - -Download [PyCM.bib](http://www.pycm.io/PYCM.bib) - +Download [PyCM.bib](http://www.pycm.io/PYCM.bib) - + @@ -575,11 +577,8 @@ Download [PyCM.bib](http://www.pycm.io/PYCM.bib) Give a ⭐️ if this project helped you! - ### Donate to our project If you do like our project and we hope that you do, can you please support us? Our project is not and is never going to be working for profit. We need the money just so we can continue doing what we do ;-) . PyCM Donation - - diff --git a/pycm/pycm_curve.py b/pycm/pycm_curve.py index ac712e3e..c714acc4 100644 --- a/pycm/pycm_curve.py +++ b/pycm/pycm_curve.py @@ -53,7 +53,7 @@ def __init__( :param thresholds: thresholds list :type thresholds: list or numpy array :param sample_weight: sample weights list - :type sample_weight: list + :type sample_weight: list or numpy array """ self.data = {} self.thresholds = [] @@ -362,7 +362,7 @@ def __curve_data_filter__(curve): :return: None """ none_warning = False - for c_index, c in enumerate(curve.classes): + for c in curve.classes: data_temp = {curve.plot_x_axis: [], curve.plot_y_axis: []} x_data = curve.data[c][curve.plot_x_axis] y_data = curve.data[c][curve.plot_y_axis] From 48f5d921235ddf436f1f51e5e5958bbaf85450a4 Mon Sep 17 00:00:00 2001 From: Sepand Haghighi Date: Thu, 22 Dec 2022 20:40:07 +0330 Subject: [PATCH 03/13] Scripts (#473) * fix : doc_run.bat updated * fix : doc_to_html.bat updated * doc : CHANGELOG updated --- CHANGELOG.md | 3 +++ Otherfiles/doc_run.bat | 3 +++ Otherfiles/doc_to_html.bat | 2 ++ 3 files changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 88e636b5..984c6600 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Changed +- `README.md` modified +- Document modified ## [3.7] - 2022-12-15 ### Added - `Curve` class diff --git a/Otherfiles/doc_run.bat b/Otherfiles/doc_run.bat index 3aea127b..3edbdac3 100644 --- a/Otherfiles/doc_run.bat +++ b/Otherfiles/doc_run.bat @@ -1,5 +1,6 @@ @echo off call python -m art text "Doc Run Script" +call python setup.py install for %%f in (Document\*.ipynb) do ( echo %%f is running! call python -m nbconvert %%f --execute --clear-output --log-level=ERROR @@ -12,3 +13,5 @@ copy Document\Document_Files\cm1.html Otherfiles\test.html copy Document\Document_Files\cm1.obj Otherfiles\test.obj copy Document\Document_Files\cm1.pycm Otherfiles\test.pycm copy Document\Document_Files\cp.comp Otherfiles\test.comp + +call python Otherfiles\version_check.py diff --git a/Otherfiles/doc_to_html.bat b/Otherfiles/doc_to_html.bat index 2d7dc4e9..dc4d2c12 100644 --- a/Otherfiles/doc_to_html.bat +++ b/Otherfiles/doc_to_html.bat @@ -1,6 +1,7 @@ @echo off call python -m art text "Doc 2 HTML" +call python setup.py install if not exist "doc_html" mkdir doc_html for %%f in (doc_html\*) do (del %%f) copy Document\*.ipynb doc_html @@ -20,3 +21,4 @@ echo -------------------------- del %%f ) cd .. +call python Otherfiles\version_check.py From 7cd8681ab89e96525e23f294ced6576269aae288 Mon Sep 17 00:00:00 2001 From: Sepand Haghighi Date: Fri, 6 Jan 2023 12:33:05 +0330 Subject: [PATCH 04/13] Distance/Similarity (#475) * feat : distance method added #349 #350 * doc : minor edit in docstring * fix : minor edit in distance method error handler * edit : minor pep8 edits. * add : `BatageljBren` metric added. * add : `BaulieuI` metric added. * add : `BaulieuII` metric added. * add : `BaulieuIII` metric added. * add : `BaulieuIV` metric added. * add : `BaulieuV` metric added. * add : `BaulieuVI` metric added. * add : `BaulieuVII` metric added. * add : `BaulieuVIII` metric added. * add : `BaulieuIX` metric added. * add : `BaulieuX` metric. * add : `BaulieuXI` metric. * add : `BaulieuXII` metric. * add : `BaulieuXIII` metric. * add : `BaulieuXIV` metric. * add : `BaulieuXV` metric. * add : `BeniniI` metric. * add : `BeniniII` metric. * add : `Canberra` metric. * add : `Clement` metric. * add : `ConsonniTodeschiniI` metric. * add : `ConsonniTodeschiniII` metric. * add : `ConsonniTodeschiniIII` metric. * add : `ConsonniTodeschiniIV` metric. * add : `ConsonniTodeschiniV` metric. * doc : Distance.ipynb added * fix : __init__.py updated * reformat refs #349 #350 * Add Abydos ref #349 #350 * doc : Distance.ipynb updated * fix : verified_test.py updated * fix : error_test.py updated * fix : function_test.py updated * doc : Document.ipynb updated * fix : autopep8 * doc : CHANGELOG updated * doc : Document updated * doc : minor edit in Distance.ipynb titles * doc : Baulieu IV formula fixed * doc : Distance notebook added to notebook_check.py * doc : distance method docstring updated * doc : verified_test.py links updated * doc : minor edit in Distance.ipynb style Co-authored-by: sadrasabouri Co-authored-by: alirezazolanvari --- CHANGELOG.md | 33 + Document/Distance.ipynb | 1652 ++++++++++++++++++++++++++++++++++ Document/Document.ipynb | 25 + Document/README.md | 7 +- Otherfiles/notebook_check.py | 1 + Test/error_test.py | 4 + Test/function_test.py | 6 + Test/verified_test.py | 123 +++ pycm/__init__.py | 1 + pycm/pycm_curve.py | 6 +- pycm/pycm_distance.py | 713 +++++++++++++++ pycm/pycm_obj.py | 17 + pycm/pycm_param.py | 2 + 13 files changed, 2587 insertions(+), 3 deletions(-) create mode 100644 Document/Distance.ipynb create mode 100644 pycm/pycm_distance.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 984c6600..573c5b00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,39 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added +- `distance` method +- 30 new distance/similarity + 1. AMPLE + 2. Anderberg's D + 3. Andres & Marzo's Delta + 4. Baroni-Urbani & Buser I + 5. Baroni-Urbani & Buser II + 6. Batagelj & Bren + 7. Baulieu I + 8. Baulieu II + 9. Baulieu III + 10. Baulieu IV + 11. Baulieu V + 12. Baulieu VI + 13. Baulieu VII + 14. Baulieu VIII + 15. Baulieu IX + 16. Baulieu X + 17. Baulieu XI + 18. Baulieu XII + 19. Baulieu XIII + 20. Baulieu XIV + 21. Baulieu XV + 22. Benini I + 23. Benini II + 24. Canberra + 25. Clement + 26. Consonni & Todeschini I + 27. Consonni & Todeschini II + 28. Consonni & Todeschini III + 29. Consonni & Todeschini IV + 30. Consonni & Todeschini V ### Changed - `README.md` modified - Document modified diff --git a/Document/Distance.ipynb b/Document/Distance.ipynb new file mode 100644 index 00000000..2cd9f832 --- /dev/null +++ b/Document/Distance.ipynb @@ -0,0 +1,1652 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

Please cite us if you use the software

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Distance/Similarity" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "PyCM's `distance` method provides users with a wide range of string distance/similarity metrics to evaluate a confusion matrix by measuring its distance to a perfect confusion matrix. Distance/Similarity metrics measure the distance between two vectors of numbers. Small distances between two objects indicate similarity. In the PyCM's `distance` method, a distance measure can be chosen from `DistanceType`. The measures' names are chosen based on the namig style suggested in [[1]](#ref1)." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from pycm import ConfusionMatrix, DistanceType" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "cm = ConfusionMatrix(matrix={0: {0: 3, 1: 0, 2: 0}, 1: {0: 0, 1: 1, 2: 2}, 2: {0: 2, 1: 1, 2: 3}})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$TP \\rightarrow True Positive$$\n", + "$$TN \\rightarrow True Negative$$\n", + "$$FP \\rightarrow False Positive$$\n", + "$$FN \\rightarrow False Negative$$\n", + "$$POP \\rightarrow Population$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## AMPLE" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "AMPLE similarity [[2]](#ref2) [[3]](#ref3)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$sim_{AMPLE}=|\\frac{TP}{TP+FP}-\\frac{FN}{FN+TN}|$$" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.6, 1: 0.3, 2: 0.17142857142857143}" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.AMPLE)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Anderberg's D" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Anderberg's D [[4]](#ref4)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$sim_{Anderberg} =\n", + "\\frac{(max(TP,FP)+max(FN,TN)+max(TP,FN)+max(FP,TN))-\n", + "(max(TP+FP,FP+TN)+max(TP+FP,FN+TN))}{2\\times POP}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.16666666666666666, 1: 0.0, 2: 0.041666666666666664}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.Anderberg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Andres & Marzo's Delta" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Andres & Marzo's Delta correlation [[5]](#ref5)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$corr_{AndresMarzo_\\Delta} = \\Delta =\n", + "\\frac{TP+TN-2 \\times \\sqrt{FP \\times FN}}{POP}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.8333333333333334, 1: 0.5142977396044842, 2: 0.17508504286947035}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.AndresMarzoDelta)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baroni-Urbani & Buser I" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baroni-Urbani & Buser I similarity [[6]](#ref6)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$sim_{BaroniUrbaniBuserI} =\n", + "\\frac{\\sqrt{TP\\times TN}+TP}{\\sqrt{TP\\times TN}+TP+FP+FN}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.79128784747792, 1: 0.5606601717798213, 2: 0.5638559245324765}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaroniUrbaniBuserI)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baroni-Urbani & Buser II" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baroni-Urbani & Buser II correlation [[6]](#ref6)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$corr_{BaroniUrbaniBuserII} =\n", + "\\frac{\\sqrt{TP \\times TN}+TP-FP-FN}{\\sqrt{TP \\times TN}+TP+FP+FN}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.58257569495584, 1: 0.12132034355964261, 2: 0.1277118490649528}" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaroniUrbaniBuserII)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Batagelj & Bren" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Batagelj & Bren distance [[7]](#ref7)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$dist_{BatageljBren} =\n", + "\\frac{FP \\times FN}{TP \\times TN}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.0, 1: 0.25, 2: 0.5}" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BatageljBren)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu I" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu I distance [[8]](#ref8)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$sim_{BaulieuI} =\n", + "\\frac{(TP+FP) \\times (TP+FN)-TP^2}{(TP+FP) \\times (TP+FN)}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.4, 1: 0.8333333333333334, 2: 0.7}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuI)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu II" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu II similarity [[8]](#ref8)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$sim_{BaulieuII} =\n", + "\\frac{TP^2 \\times TN^2}{(TP+FP) \\times (TP+FN) \\times (FP+TN) \\times (FN+TN)}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.4666666666666667, 1: 0.11851851851851852, 2: 0.11428571428571428}" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuII)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu III" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu III distance [[8]](#ref8)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$sim_{BaulieuIII} =\n", + "\\frac{POP^2 - 4 \\times (TP \\times TN-FP \\times FN)}{2 \\times POP^2}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.20833333333333334, 1: 0.4166666666666667, 2: 0.4166666666666667}" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuIII)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu IV" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu IV distance [[9]](#ref9)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$dist_{BaulieuIV} = \\frac{FP+FN-(TP+\\frac{1}{2})\\times(TN+\\frac{1}{2})\\times TN \\times k}{POP}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: -41.45702383161246, 1: -22.855395541901885, 2: -13.85431293274332}" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuIV)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* The default value of k is Euler's number $e$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu V" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu V distance [[9]](#ref9)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$dist_{BaulieuV} = \\frac{FP+FN+1}{TP+FP+FN+1}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.5, 1: 0.8, 2: 0.6666666666666666}" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuV)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu VI" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu VI distance [[9]](#ref9)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$dist_{BaulieuVI} = \\frac{FP+FN}{TP+FP+FN+1}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.3333333333333333, 1: 0.6, 2: 0.5555555555555556}" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuVI)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu VII" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu VII distance [[9]](#ref9)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$dist_{BaulieuVII} = \\frac{FP+FN}{POP + TP \\times (TP-4)^2}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.13333333333333333, 1: 0.14285714285714285, 2: 0.3333333333333333}" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuVII)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu VIII" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu VIII distance [[9]](#ref9)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$dist_{BaulieuVIII} = \\frac{(FP-FN)^2}{POP^2}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.027777777777777776, 1: 0.006944444444444444, 2: 0.006944444444444444}" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuVIII)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu IX" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu IX distance [[9]](#ref9)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$dist_{BaulieuIX} = \\frac{FP+2 \\times FN}{TP+FP+2 \\times FN+TN}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.16666666666666666, 1: 0.35714285714285715, 2: 0.5333333333333333}" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuIX)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu X" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu X distance [[9]](#ref9)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$dist_{BaulieuX} = \\frac{FP+FN+max(FP,FN)}{POP+max(FP,FN)}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.2857142857142857, 1: 0.35714285714285715, 2: 0.5333333333333333}" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuX)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu XI" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu XI distance [[9]](#ref9)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$dist_{BaulieuXI} = \\frac{FP+FN}{FP+FN+TN}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.2222222222222222, 1: 0.2727272727272727, 2: 0.5555555555555556}" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuXI)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu XII" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu XII distance [[9]](#ref9)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$dist_{BaulieuXII} = \\frac{FP+FN}{TP+FP+FN-1}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.5, 1: 1.0, 2: 0.7142857142857143}" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuXII)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu XIII" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu XIII distance [[9]](#ref9)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$dist_{BaulieuXIII} = \\frac{FP+FN}{TP+FP+FN+TP \\times (TP-4)^2}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.25, 1: 0.23076923076923078, 2: 0.45454545454545453}" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuXIII)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu XIV" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu XIV distance [[9]](#ref9)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$dist_{BaulieuXIV} = \\frac{FP+2 \\times FN}{TP+FP+2 \\times FN}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.4, 1: 0.8333333333333334, 2: 0.7272727272727273}" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuXIV)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Baulieu XV" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baulieu XV distance [[9]](#ref9)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$dist_{BaulieuXV} = \\frac{FP+FN+max(FP, FN)}{TP+FP+FN+max(FP, FN)}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.5714285714285714, 1: 0.8333333333333334, 2: 0.7272727272727273}" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BaulieuXV)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Benini I" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Benini I correlation [[10]](#ref10)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$corr_{BeniniI} = \\frac{TP \\times TN-FP \\times FN}{(TP+FN)\\times(FN+TN)}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 1.0, 1: 0.2, 2: 0.14285714285714285}" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BeniniI)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Benini II" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Benini II correlation [[10]](#ref10)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$corr_{BeniniII} = \\frac{TP \\times TN-FP \\times FN}{min((TP+FN)\\times(FN+TN), (TP+FP)\\times(FP+TN))}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 1.0, 1: 0.3333333333333333, 2: 0.2}" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.BeniniII)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Canberra" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Canberra distance [[11]](#ref11) [[12]](#ref12)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$sim_{Canberra} =\n", + "\\frac{FP+FN}{(TP+FP)+(TP+FN)}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.25, 1: 0.6, 2: 0.45454545454545453}" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.Canberra)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Clement" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Clement similarity [[13]](#ref13)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$sim_{Clement} =\n", + "\\frac{TP}{TP+FP}\\times\\Big(1 - \\frac{TP+FP}{POP}\\Big) +\n", + "\\frac{TN}{FN+TN}\\times\\Big(1 - \\frac{FN+TN}{POP}\\Big)$$" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.7666666666666666, 1: 0.55, 2: 0.588095238095238}" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.Clement)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Consonni & Todeschini I" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Consonni & Todeschini I similarity [[14]](#ref14)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$sim_{ConsonniTodeschiniI} =\n", + "\\frac{log(1+TP+TN)}{log(1+POP)}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.9348704159880586, 1: 0.8977117175026231, 2: 0.8107144632819592}" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.ConsonniTodeschiniI)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Consonni & Todeschini II" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Consonni & Todeschini II similarity [[14]](#ref14)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$sim_{ConsonniTodeschiniII} =\n", + "\\frac{log(1+POP)-log(1+FP+FN)}{log(1+POP)}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.5716826589686053, 1: 0.4595236911453605, 2: 0.3014445045412856}" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.ConsonniTodeschiniII)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Consonni & Todeschini III" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Consonni & Todeschini III similarity [[14]](#ref14)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$sim_{ConsonniTodeschiniIII} =\n", + "\\frac{log(1+TP)}{log(1+POP)}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.5404763088546395, 1: 0.27023815442731974, 2: 0.5404763088546395}" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.ConsonniTodeschiniIII)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Consonni & Todeschini IV" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Consonni & Todeschini IV similarity [[14]](#ref14)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$sim_{ConsonniTodeschiniIV} =\n", + "\\frac{log(1+TP)}{log(1+TP+FP+FN)}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.7737056144690831, 1: 0.43067655807339306, 2: 0.6309297535714574}" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.ConsonniTodeschiniIV)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Consonni & Todeschini V" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Consonni & Todeschini V correlation [[14]](#ref14)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$corr_{ConsonniTodeschiniV} =\n", + "\\frac{log(1+TP \\times TN)-log(1+FP \\times FN)}{log(1+\\frac{POP^2}{4})}$$" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: 0.8560267854703983, 1: 0.30424737289682985, 2: 0.17143541431350617}" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm.distance(metric=DistanceType.ConsonniTodeschiniV)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    \n", + "
  • Notice : new in version 3.8
  • \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
1- C. C. Little, \"Abydos Documentation,\" 2018.
\n", + "\n", + "
2- V. Dallmeier, C. Lindig, and A. Zeller, \"Lightweight defect localization for Java,\" in European conference on object-oriented programming, 2005: Springer, pp. 528-550.
\n", + "\n", + "
3- R. Abreu, P. Zoeteweij, and A. J. Van Gemund, \"An evaluation of similarity coefficients for software fault localization,\" in 2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC'06), 2006: IEEE, pp. 39-46.
\n", + "\n", + "
4- M. R. Anderberg, Cluster analysis for applications: probability and mathematical statistics: a series of monographs and textbooks. Academic press, 2014.
\n", + "\n", + "
5- A. M. Andrés and P. F. Marzo, \"Delta: A new measure of agreement between two raters,\" British journal of mathematical and statistical psychology, vol. 57, no. 1, pp. 1-19, 2004.
\n", + "\n", + "
6- C. Baroni-Urbani and M. W. Buser, \"Similarity of binary data,\" Systematic Zoology, vol. 25, no. 3, pp. 251-259, 1976.
\n", + "\n", + "
7- V. Batagelj and M. Bren, \"Comparing resemblance measures,\" Journal of classification, vol. 12, no. 1, pp. 73-90, 1995.
\n", + "\n", + "
8- F. B. Baulieu, \"A classification of presence/absence based dissimilarity coefficients,\" Journal of Classification, vol. 6, no. 1, pp. 233-246, 1989.
\n", + "\n", + "
9- F. B. Baulieu, \"Two variant axiom systems for presence/absence based dissimilarity coefficients,\" Journal of Classification, vol. 14, no. 1, pp. 0159-0170, 1997.
\n", + "\n", + "
10- R. Benini, Principii di demografia. Barbera, 1901.
\n", + "\n", + "
11- G. N. Lance and W. T. Williams, \"Computer programs for hierarchical polythetic classification (“similarity analyses”),\" The Computer Journal, vol. 9, no. 1, pp. 60-64, 1966.
\n", + "\n", + "
12- G. N. Lance and W. T. Williams, \"Mixed-Data Classificatory Programs I - Agglomerative Systems,\" Australian Computer Journal, vol. 1, no. 1, pp. 15-20, 1967.
\n", + "\n", + "
13- P. W. Clement, \"A formula for computing inter-observer agreement,\" Psychological Reports, vol. 39, no. 1, pp. 257-258, 1976.
\n", + "\n", + "
14- V. Consonni and R. Todeschini, \"New similarity coefficients for binary data,\" Match-Communications in Mathematical and Computer Chemistry, vol. 68, no. 2, p. 581, 2012.
" + ] + } + ], + "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.5.2" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": false, + "sideBar": true, + "skip_h1_title": true, + "title_cell": "Table of Contents", + "title_sidebar": "Distance/Similarity", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Document/Document.ipynb b/Document/Document.ipynb index b79cdba0..35376e97 100644 --- a/Document/Document.ipynb +++ b/Document/Document.ipynb @@ -71,6 +71,7 @@ "
  • To Array
  • \n", "
  • Combine
  • \n", "
  • Plot
  • \n", + "
  • Distance/Similarity
  • \n", "
  • Parameter Recommender
  • \n", "
  • Compare
  • \n", "
  • ROC Curve
  • \n", @@ -2293,6 +2294,30 @@ "" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Distance/Similarity" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- [Jupyter Notebook](https://nbviewer.jupyter.org/github/sepandhaghighi/pycm/blob/master/Document/Distance.ipynb)\n", + "- [HTML](http://www.pycm.io/doc/Distance.html)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
      \n", + "
    • Notice : new in version 3.8
    • \n", + "
    " + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/Document/README.md b/Document/README.md index c91b74b9..d0d9d936 100644 --- a/Document/README.md +++ b/Document/README.md @@ -8,7 +8,12 @@ ## Document - [Jupyter Notebook](https://nbviewer.jupyter.org/github/sepandhaghighi/pycm/blob/master/Document/Document.ipynb) -- [HTML](http://www.pycm.io/doc/) +- [HTML](http://www.pycm.io/doc/) + +## Distance + +- [Jupyter Notebook](https://nbviewer.jupyter.org/github/sepandhaghighi/pycm/blob/master/Document/Distance.ipynb) +- [HTML](http://www.pycm.io/doc/Distance.html) ## Example-1 (Comparison of three different classifiers) diff --git a/Otherfiles/notebook_check.py b/Otherfiles/notebook_check.py index 8545f8ab..a8f8ae75 100644 --- a/Otherfiles/notebook_check.py +++ b/Otherfiles/notebook_check.py @@ -7,6 +7,7 @@ NOTEBOOKS_LIST = [ "Document", + "Distance", "Example1", "Example2", "Example3", diff --git a/Test/error_test.py b/Test/error_test.py index b57b7fe2..512b5b7e 100644 --- a/Test/error_test.py +++ b/Test/error_test.py @@ -53,6 +53,10 @@ >>> y_actu = [2, 0, 2, 2, 0, 1, 1, 2, 2, 0, 1, 2] >>> y_pred = [0, 0, 2, 1, 0, 2, 1, 0, 2, 0, 2, 2] >>> cm = ConfusionMatrix(y_actu,y_pred) +>>> cm.distance(metric = 2) +Traceback (most recent call last): + ... +pycm.pycm_error.pycmMatrixError: The metric type must be DistanceType >>> cm.relabel([1,2,3]) Traceback (most recent call last): ... diff --git a/Test/function_test.py b/Test/function_test.py index 116e9d4f..dd789717 100644 --- a/Test/function_test.py +++ b/Test/function_test.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- """ >>> from pycm import * +>>> from pycm.pycm_distance import DISTANCE_MAPPER >>> import os >>> import json >>> import numpy as np @@ -717,4 +718,9 @@ >>> cm4.to_array() array([[3, 1], [0, 0]]) +>>> result = [] +>>> for item in DISTANCE_MAPPER.values(): +... result.append(item(TP=2, TN=2, FP=1, FN="2")) +>>> all(list(map(lambda x: x=="None", result))) +True """ diff --git a/Test/verified_test.py b/Test/verified_test.py index 3c963640..ffb959d9 100644 --- a/Test/verified_test.py +++ b/Test/verified_test.py @@ -427,4 +427,127 @@ True >>> abs(crv.area(method="midpoint")[2] - 0.2916) < 0.001 True +>>> cm1 = ConfusionMatrix(matrix = {1:{1:2,0:2},0:{0:778,1:2}}) # Verified Case -- (https://bit.ly/3vVMWRT) +>>> cm2 = ConfusionMatrix(matrix = {1:{1:2,0:3},0:{0:775,1:4}}) # Verified Case -- (https://bit.ly/3vVMWRT) +>>> cm1.distance(metric=DistanceType.AMPLE)[1] +0.49743589743589745 +>>> cm2.distance(metric=DistanceType.AMPLE)[1] +0.32947729220222793 +>>> cm1.distance(metric=DistanceType.Anderberg)[1] +0.0 +>>> cm2.distance(metric=DistanceType.Anderberg)[1] +0.0 +>>> cm1.distance(metric=DistanceType.AndresMarzoDelta)[1] +0.9897959183673469 +>>> cm2.distance(metric=DistanceType.AndresMarzoDelta)[1] +0.9822344346552608 +>>> cm1.distance(metric=DistanceType.BaroniUrbaniBuserI)[1] +0.9119837740878104 +>>> cm2.distance(metric=DistanceType.BaroniUrbaniBuserI)[1] +0.8552823175014205 +>>> cm1.distance(metric=DistanceType.BaroniUrbaniBuserII)[1] +0.8239675481756209 +>>> cm2.distance(metric=DistanceType.BaroniUrbaniBuserII)[1] +0.7105646350028408 +>>> cm1.distance(metric=DistanceType.BatageljBren)[1] +0.002570694087403599 +>>> cm2.distance(metric=DistanceType.BatageljBren)[1] +0.007741935483870968 +>>> cm1.distance(metric=DistanceType.BaulieuI)[1] +0.75 +>>> cm2.distance(metric=DistanceType.BaulieuI)[1] +0.8666666666666667 +>>> cm1.distance(metric=DistanceType.BaulieuII)[1] +0.24871959237343852 +>>> cm2.distance(metric=DistanceType.BaulieuII)[1] +0.13213719608444902 +>>> cm1.distance(metric=DistanceType.BaulieuIII)[1] +0.4949500208246564 +>>> cm2.distance(metric=DistanceType.BaulieuIII)[1] +0.4949955747605165 +>>> cm1.distance(metric=DistanceType.BaulieuIV)[1] +-5249.96272285802 +>>> cm2.distance(metric=DistanceType.BaulieuIV)[1] +-5209.561726488335 +>>> cm1.distance(metric=DistanceType.BaulieuV)[1] +0.7142857142857143 +>>> cm2.distance(metric=DistanceType.BaulieuV)[1] +0.8 +>>> cm1.distance(metric=DistanceType.BaulieuVI)[1] +0.5714285714285714 +>>> cm2.distance(metric=DistanceType.BaulieuVI)[1] +0.7 +>>> cm1.distance(metric=DistanceType.BaulieuVII)[1] +0.005050505050505051 +>>> cm2.distance(metric=DistanceType.BaulieuVII)[1] +0.008838383838383838 +>>> cm1.distance(metric=DistanceType.BaulieuVIII)[1] +0.0 +>>> cm2.distance(metric=DistanceType.BaulieuVIII)[1] +1.6269262807163682e-06 +>>> cm1.distance(metric=DistanceType.BaulieuIX)[1] +0.007633587786259542 +>>> cm2.distance(metric=DistanceType.BaulieuIX)[1] +0.012706480304955527 +>>> cm1.distance(metric=DistanceType.BaulieuX)[1] +0.007633587786259542 +>>> cm2.distance(metric=DistanceType.BaulieuX)[1] +0.013959390862944163 +>>> cm1.distance(metric=DistanceType.BaulieuXI)[1] +0.005115089514066497 +>>> cm2.distance(metric=DistanceType.BaulieuXI)[1] +0.008951406649616368 +>>> cm1.distance(metric=DistanceType.BaulieuXII)[1] +0.8 +>>> cm2.distance(metric=DistanceType.BaulieuXII)[1] +0.875 +>>> cm1.distance(metric=DistanceType.BaulieuXIII)[1] +0.2857142857142857 +>>> cm2.distance(metric=DistanceType.BaulieuXIII)[1] +0.4117647058823529 +>>> cm1.distance(metric=DistanceType.BaulieuXIV)[1] +0.75 +>>> cm2.distance(metric=DistanceType.BaulieuXIV)[1] +0.8333333333333334 +>>> cm1.distance(metric=DistanceType.BaulieuXV)[1] +0.75 +>>> cm2.distance(metric=DistanceType.BaulieuXV)[1] +0.8461538461538461 +>>> cm1.distance(metric=DistanceType.BeniniI)[1] +0.49743589743589745 +>>> cm2.distance(metric=DistanceType.BeniniI)[1] +0.3953727506426735 +>>> cm1.distance(metric=DistanceType.BeniniII)[1] +0.49743589743589745 +>>> cm2.distance(metric=DistanceType.BeniniII)[1] +0.3953727506426735 +>>> cm1.distance(metric=DistanceType.Canberra)[1] +0.5 +>>> cm2.distance(metric=DistanceType.Canberra)[1] +0.6363636363636364 +>>> cm1.distance(metric=DistanceType.Clement)[1] +0.5025379382522239 +>>> cm2.distance(metric=DistanceType.Clement)[1] +0.33840586363079933 +>>> cm1.distance(metric=DistanceType.ConsonniTodeschiniI)[1] +0.9992336018090547 +>>> cm2.distance(metric=DistanceType.ConsonniTodeschiniI)[1] +0.998656222829757 +>>> cm1.distance(metric=DistanceType.ConsonniTodeschiniII)[1] +0.7585487129939101 +>>> cm2.distance(metric=DistanceType.ConsonniTodeschiniII)[1] +0.6880377723094788 +>>> cm1.distance(metric=DistanceType.ConsonniTodeschiniIII)[1] +0.16481614417697044 +>>> cm2.distance(metric=DistanceType.ConsonniTodeschiniIII)[1] +0.16481614417697044 +>>> cm1.distance(metric=DistanceType.ConsonniTodeschiniIV)[1] +0.5645750340535797 +>>> cm2.distance(metric=DistanceType.ConsonniTodeschiniIV)[1] +0.47712125471966244 +>>> cm1.distance(metric=DistanceType.ConsonniTodeschiniV)[1] +0.48072545510682463 +>>> cm2.distance(metric=DistanceType.ConsonniTodeschiniV)[1] +0.4003930264973547 + """ diff --git a/pycm/__init__.py b/pycm/__init__.py index 7074fd4f..6d185842 100644 --- a/pycm/__init__.py +++ b/pycm/__init__.py @@ -3,6 +3,7 @@ from .pycm_param import PYCM_VERSION, OVERALL_BENCHMARK_LIST, CLASS_BENCHMARK_LIST from .pycm_error import * from .pycm_output import pycm_help, online_help +from .pycm_distance import DistanceType from .pycm_obj import ConfusionMatrix from .pycm_compare import Compare from .pycm_curve import Curve, ROCCurve, PRCurve diff --git a/pycm/pycm_curve.py b/pycm/pycm_curve.py index c714acc4..9a187aa0 100644 --- a/pycm/pycm_curve.py +++ b/pycm/pycm_curve.py @@ -93,8 +93,10 @@ def area(self, method="trapezoidal"): dx = numpy.diff(x) if numpy.any(dx < 0) and numpy.any(dx > 0): sort_indices = numpy.argsort(x, kind="mergesort") - self.data[c][self.plot_x_axis] = x = numpy.array(x)[sort_indices].tolist() - self.data[c][self.plot_y_axis] = y = numpy.array(y)[sort_indices].tolist() + self.data[c][self.plot_x_axis] = x = numpy.array(x)[ + sort_indices].tolist() + self.data[c][self.plot_y_axis] = y = numpy.array(y)[ + sort_indices].tolist() if method == "trapezoidal": self.auc[c] = __trapezoidal_numeric_integral__(x, y) elif method == "midpoint": diff --git a/pycm/pycm_distance.py b/pycm/pycm_distance.py new file mode 100644 index 00000000..19298b1b --- /dev/null +++ b/pycm/pycm_distance.py @@ -0,0 +1,713 @@ +# -*- coding: utf-8 -*- +"""Distance/Similarity functions.""" +from __future__ import division +from enum import Enum +import math + + +class DistanceType(Enum): + """ + Distance metric type class. + + >>> pycm.DistanceType.AMPLE + """ + + AMPLE = "AMPLE" + Anderberg = "Anderberg" + AndresMarzoDelta = "AndresMarzoDelta" + BaroniUrbaniBuserI = "BaroniUrbaniBuserI" + BaroniUrbaniBuserII = "BaroniUrbaniBuserII" + BatageljBren = "BatageljBren" + BaulieuI = "BaulieuI" + BaulieuII = "BaulieuII" + BaulieuIII = "BaulieuIII" + BaulieuIV = "BaulieuIV" + BaulieuV = "BaulieuV" + BaulieuVI = "BaulieuVI" + BaulieuVII = "BaulieuVII" + BaulieuVIII = "BaulieuVIII" + BaulieuIX = "BaulieuIX" + BaulieuX = "BaulieuX" + BaulieuXI = "BaulieuXI" + BaulieuXII = "BaulieuXII" + BaulieuXIII = "BaulieuXIII" + BaulieuXIV = "BaulieuXIV" + BaulieuXV = "BaulieuXV" + BeniniI = "BeniniI" + BeniniII = "BeniniII" + Canberra = "Canberra" + Clement = "Clement" + ConsonniTodeschiniI = "ConsonniTodeschiniI" + ConsonniTodeschiniII = "ConsonniTodeschiniII" + ConsonniTodeschiniIII = "ConsonniTodeschiniIII" + ConsonniTodeschiniIV = "ConsonniTodeschiniIV" + ConsonniTodeschiniV = "ConsonniTodeschiniV" + + +def AMPLE_calc(TP, FP, FN, TN): + """ + Calculate AMPLE. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: AMPLE as float + """ + try: + part1 = TP / (TP + FP) + part2 = FN / (FN + TN) + return abs(part1 - part2) + except Exception: + return "None" + + +def Anderberg_calc(TP, FP, FN, TN): + """ + Calculate Anderberg's D. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Anderberg's D as float + """ + try: + part1 = max(TP, FP) + max(FN, TN) + max(TP, FN) + max(FP, TN) + part2 = max(TP + FP, FP + TN) + max(TP + FP, FN + TN) + n = TP + FP + FN + TN + return (part1 - part2) / (2 * n) + except Exception: + return "None" + + +def AndresMarzoDelta_calc(TP, FP, FN, TN): + """ + Calculate Andres & Marzo's Delta. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Andres & Marzo's Delta as float + """ + try: + part1 = TP + TN - 2 * math.sqrt(FP * FN) + n = TP + FP + FN + TN + return part1 / n + except Exception: + return "None" + + +def BaroniUrbaniBuserI_calc(TP, FP, FN, TN): + """ + Calculate Baroni-Urbani & Buser I. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baroni-Urbani & Buser I as float + """ + try: + part1 = math.sqrt(TP * TN) + TP + part2 = part1 + FP + FN + return part1 / part2 + except Exception: + return "None" + + +def BaroniUrbaniBuserII_calc(TP, FP, FN, TN): + """ + Calculate Baroni-Urbani & Buser II. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baroni-Urbani & Buser II as float + """ + try: + part1 = math.sqrt(TP * TN) + TP - FP - FN + part2 = math.sqrt(TP * TN) + TP + FP + FN + return part1 / part2 + except Exception: + return "None" + + +def BatageljBren_calc(TP, FP, FN, TN): + """ + Calculate Batagelj & Bren. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Batagelj & Bren as float + """ + try: + return (FP * FN) / (TP * TN) + except Exception: + return "None" + + +def BaulieuI_calc(TP, FP, FN, TN): + """ + Calculate Baulieu I. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu I as float + """ + try: + part1 = (TP + FP) * (TP + FN) + return (part1 - TP * TP) / part1 + except Exception: + return "None" + + +def BaulieuII_calc(TP, FP, FN, TN): + """ + Calculate Baulieu II. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu II as float + """ + try: + part1 = TP * TP * TN * TN + part2 = (TP + FP) * (TP + FN) * (FP + TN) * (FN + TN) + return part1 / part2 + except Exception: + return "None" + + +def BaulieuIII_calc(TP, FP, FN, TN): + """ + Calculate Baulieu III. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu III as float + """ + try: + n = TP + FP + FN + TN + part1 = n * n - 4 * (TP * TN - FP * FN) + return part1 / (2 * n * n) + except Exception: + return "None" + + +def BaulieuIV_calc(TP, FP, FN, TN): + """ + Calculate Baulieu IV. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu IV as float + """ + try: + n = TP + FP + FN + TN + part1 = FP + FN - (TP + 0.5) * (TN + 0.5) * TN * math.e + return part1 / n + except Exception: + return "None" + + +def BaulieuV_calc(TP, FP, FN, TN): + """ + Calculate Baulieu V. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu V as float + """ + try: + return (FP + FN + 1) / (TP + FP + FN + 1) + except Exception: + return "None" + + +def BaulieuVI_calc(TP, FP, FN, TN): + """ + Calculate Baulieu VI. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu VI as float + """ + try: + return (FP + FN) / (TP + FP + FN + 1) + except Exception: + return "None" + + +def BaulieuVII_calc(TP, FP, FN, TN): + """ + Calculate Baulieu VII. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu VII as float + """ + try: + n = TP + FP + FN + TN + return (FP + FN) / (n + TP * (TP - 4) * (TP - 4)) + except Exception: + return "None" + + +def BaulieuVIII_calc(TP, FP, FN, TN): + """ + Calculate Baulieu VIII. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu VIII as float + """ + try: + n = TP + FP + FN + TN + return ((FP - FN) * (FP - FN)) / (n * n) + except Exception: + return "None" + + +def BaulieuIX_calc(TP, FP, FN, TN): + """ + Calculate Baulieu IX. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu IX as float + """ + try: + return (FP + 2 * FN) / (TP + FP + 2 * FN + TN) + except Exception: + return "None" + + +def BaulieuX_calc(TP, FP, FN, TN): + """ + Calculate Baulieu X. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu X as float + """ + try: + n = TP + FP + FN + TN + max_bc = max(FP, FN) + return (FP + FN + max_bc) / (n + max_bc) + except Exception: + return "None" + + +def BaulieuXI_calc(TP, FP, FN, TN): + """ + Calculate Baulieu XI. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu XI as float + """ + try: + return (FP + FN) / (FP + FN + TN) + except Exception: + return "None" + + +def BaulieuXII_calc(TP, FP, FN, TN): + """ + Calculate Baulieu XII. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu XII as float + """ + try: + return (FP + FN) / (TP + FP + FN - 1) + except Exception: + return "None" + + +def BaulieuXIII_calc(TP, FP, FN, TN): + """ + Calculate Baulieu XIII. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu XIII as float + """ + try: + part2 = TP + FP + FN + TP * (TP - 4) * (TP - 4) + return (FP + FN) / part2 + except Exception: + return "None" + + +def BaulieuXIV_calc(TP, FP, FN, TN): + """ + Calculate Baulieu XIV. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu XIV as float + """ + try: + return (FP + 2 * FN) / (TP + FP + 2 * FN) + except Exception: + return "None" + + +def BaulieuXV_calc(TP, FP, FN, TN): + """ + Calculate Baulieu XV. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Baulieu XV as float + """ + try: + max_bc = max(FP, FN) + return (FP + FN + max_bc) / (TP + FP + FN + max_bc) + except Exception: + return "None" + + +def BeniniI_calc(TP, FP, FN, TN): + """ + Calculate Benini I correlation. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Benini I correlation as float + """ + try: + return (TP * TN - FP * FN) / ((TP + FN) * (FN + TN)) + except Exception: + return "None" + + +def BeniniII_calc(TP, FP, FN, TN): + """ + Calculate Benini II correlation. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Benini II correlation as float + """ + try: + part2 = min((TP + FN) * (FN + TN), (TP + FP) * (FP + TN)) + return (TP * TN - FP * FN) / part2 + except Exception: + return "None" + + +def Canberra_calc(TP, FP, FN, TN): + """ + Calculate Canberra distance. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Canberra distance as float + """ + try: + return (FP + FN) / ((TP + FP) + (TP + FN)) + except Exception: + return "None" + + +def Clement_calc(TP, FP, FN, TN): + """ + Calculate Clement similarity. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Clement similarity as float + """ + try: + n = TP + FP + FN + TN + term1 = (TP / (TP + FP)) * (1 - (TP + FP) / n) + term2 = (TN / (FN + TN)) * (1 - (FN + TN) / n) + return term1 + term2 + except Exception: + return "None" + + +def ConsonniTodeschiniI_calc(TP, FP, FN, TN): + """ + Calculate Consonni & Todeschini I similarity. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Consonni & Todeschini I similarity as float + """ + try: + n = TP + FP + FN + TN + return math.log(1 + TP + TN) / math.log(1 + n) + except Exception: + return "None" + + +def ConsonniTodeschiniII_calc(TP, FP, FN, TN): + """ + Calculate Consonni & Todeschini II similarity. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Consonni & Todeschini II similarity as float + """ + try: + n = TP + FP + FN + TN + part1 = math.log(1 + n) - math.log(1 + FP + FN) + return part1 / math.log(1 + n) + except Exception: + return "None" + + +def ConsonniTodeschiniIII_calc(TP, FP, FN, TN): + """ + Calculate Consonni & Todeschini III similarity. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Consonni & Todeschini III similarity as float + """ + try: + n = TP + FP + FN + TN + return math.log(1 + TP) / math.log(1 + n) + except Exception: + return "None" + + +def ConsonniTodeschiniIV_calc(TP, FP, FN, TN): + """ + Calculate Consonni & Todeschini IV similarity. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Consonni & Todeschini IV similarity as float + """ + try: + return math.log(1 + TP) / math.log(1 + TP + FP + FN) + except Exception: + return "None" + + +def ConsonniTodeschiniV_calc(TP, FP, FN, TN): + """ + Calculate Consonni & Todeschini V similarity. + + :param TP: true positive + :type TP: int + :param TN: true negative + :type TN: int + :param FP: false positive + :type FP: int + :param FN: false negative + :type FN: int + :return: Consonni & Todeschini V similarity as float + """ + try: + n = TP + FP + FN + TN + part1 = math.log(1 + TP * TN) - math.log(1 + FP * FN) + part2 = math.log(1 + n * n / 4) + return part1 / part2 + except Exception: + return "None" + + +DISTANCE_MAPPER = { + DistanceType.AMPLE: AMPLE_calc, + DistanceType.Anderberg: Anderberg_calc, + DistanceType.AndresMarzoDelta: AndresMarzoDelta_calc, + DistanceType.BaroniUrbaniBuserI: BaroniUrbaniBuserI_calc, + DistanceType.BaroniUrbaniBuserII: BaroniUrbaniBuserII_calc, + DistanceType.BatageljBren: BatageljBren_calc, + DistanceType.BaulieuI: BaulieuI_calc, + DistanceType.BaulieuII: BaulieuII_calc, + DistanceType.BaulieuIII: BaulieuIII_calc, + DistanceType.BaulieuIV: BaulieuIV_calc, + DistanceType.BaulieuV: BaulieuV_calc, + DistanceType.BaulieuVI: BaulieuVI_calc, + DistanceType.BaulieuVII: BaulieuVII_calc, + DistanceType.BaulieuVIII: BaulieuVIII_calc, + DistanceType.BaulieuIX: BaulieuIX_calc, + DistanceType.BaulieuX: BaulieuX_calc, + DistanceType.BaulieuXI: BaulieuXI_calc, + DistanceType.BaulieuXII: BaulieuXII_calc, + DistanceType.BaulieuXIII: BaulieuXIII_calc, + DistanceType.BaulieuXIV: BaulieuXIV_calc, + DistanceType.BaulieuXV: BaulieuXV_calc, + DistanceType.BeniniI: BeniniI_calc, + DistanceType.BeniniII: BeniniII_calc, + DistanceType.Canberra: Canberra_calc, + DistanceType.Clement: Clement_calc, + DistanceType.ConsonniTodeschiniI: ConsonniTodeschiniI_calc, + DistanceType.ConsonniTodeschiniII: ConsonniTodeschiniII_calc, + DistanceType.ConsonniTodeschiniIII: ConsonniTodeschiniIII_calc, + DistanceType.ConsonniTodeschiniIV: ConsonniTodeschiniIV_calc, + DistanceType.ConsonniTodeschiniV: ConsonniTodeschiniV_calc, +} diff --git a/pycm/pycm_obj.py b/pycm/pycm_obj.py index e2072e2f..bbf6fe6b 100644 --- a/pycm/pycm_obj.py +++ b/pycm/pycm_obj.py @@ -6,6 +6,7 @@ from .pycm_handler import __obj_assign_handler__, __obj_file_handler__, __obj_matrix_handler__, __obj_vector_handler__, __obj_array_handler__ from .pycm_class_func import F_calc, IBA_calc, TI_calc, NB_calc, sensitivity_index_calc from .pycm_overall_func import weighted_kappa_calc, weighted_alpha_calc, alpha2_calc, brier_score_calc +from .pycm_distance import DistanceType, DISTANCE_MAPPER from .pycm_output import * from .pycm_util import * from .pycm_param import * @@ -591,6 +592,22 @@ def NB(self, w=1): except Exception: return {} + def distance(self, metric): + """ + Calculate distance/similarity for all classes. + + :param metric: metric + :type metric: DistanceType + :return: result as dict + """ + distance_dict = {} + if not isinstance(metric, DistanceType): + raise pycmMatrixError(DISTANCE_METRIC_TYPE_ERROR) + for i in self.classes: + distance_dict[i] = DISTANCE_MAPPER[metric]( + TP=self.TP[i], FP=self.FP[i], FN=self.FN[i], TN=self.TN[i]) + return distance_dict + def CI( self, param, diff --git a/pycm/pycm_param.py b/pycm/pycm_param.py index f22c99a2..d94bae7f 100644 --- a/pycm/pycm_param.py +++ b/pycm/pycm_param.py @@ -117,6 +117,8 @@ CURVE_NONE_WARNING = "The curve axes contain non-numerical value(s)." +DISTANCE_METRIC_TYPE_ERROR = "The metric type must be DistanceType" + CLASS_NUMBER_THRESHOLD = 10 BALANCE_RATIO_THRESHOLD = 3 From 70ab5d8c176d36b193e9510039c63ed462e12cae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Jan 2023 16:01:43 +0330 Subject: [PATCH 05/13] Bump numpy from 1.24.0 to 1.24.1 (#474) Bumps [numpy](https://github.com/numpy/numpy) from 1.24.0 to 1.24.1. - [Release notes](https://github.com/numpy/numpy/releases) - [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst) - [Commits](https://github.com/numpy/numpy/compare/v1.24.0...v1.24.1) --- updated-dependencies: - dependency-name: numpy dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- dev-requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-requirements.txt b/dev-requirements.txt index c2fb30fb..14339570 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,5 +1,5 @@ art==5.8 -numpy==1.24.0 +numpy==1.24.1 codecov>=2.0.15 pytest>=4.3.1 pytest-cov>=2.6.1 From 204dc4ad17b7743d38216ecf542ebf14deb8b6d3 Mon Sep 17 00:00:00 2001 From: Sadra Sabouri <43045767+sadrasabouri@users.noreply.github.com> Date: Wed, 11 Jan 2023 19:16:45 +0330 Subject: [PATCH 06/13] New Minor Features (#476) * add : `__contains__` method added. * change : `__contains__` method place changed. * add : `__getitem__` method added. * fix : docstring fixed. * edit : `__getitem__` functionality edited. * update : docstring updated. * fix : minor issue fixed. * doc : minor edit in getitem and contains methods docstring * doc : Document updated * doc : minor edit in getitem and contains methods docstring * doc : minor edit in getitem and contains methods docstring * doc : minor edit in getitem and contains methods docstring * doc : minor edit in getitem and contains methods docstring * doc : minor edit in getitem method docstring Co-authored-by: sepandhaghighi --- CHANGELOG.md | 2 ++ Document/Document.ipynb | 36 ++++++++++++++++++++++++++++++++++++ Test/overall_test.py | 15 +++++++++++++++ pycm/pycm_obj.py | 20 ++++++++++++++++++++ 4 files changed, 73 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 573c5b00..5ee5e82e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] ### Added - `distance` method +- `__contains__` method +- `__getitem__` method - 30 new distance/similarity 1. AMPLE 2. Anderberg's D diff --git a/Document/Document.ipynb b/Document/Document.ipynb index 35376e97..6a5388a9 100644 --- a/Document/Document.ipynb +++ b/Document/Document.ipynb @@ -991,6 +991,42 @@ "" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "1 in cm" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "10 in cm" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "cm[1][1]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
      \n", + "
    • Notice : `__getitem__` and `__contains__` methods added in version 3.8
    • \n", + "
    " + ] + }, { "cell_type": "markdown", "metadata": {}, diff --git a/Test/overall_test.py b/Test/overall_test.py index a50c4fd9..2b4c7d17 100644 --- a/Test/overall_test.py +++ b/Test/overall_test.py @@ -1552,4 +1552,19 @@ 2 1 2 3 +>>> cm = ConfusionMatrix([1,1,1,1,0],[1,1,1,1,1]) +>>> 1 in cm +True +>>> 0 in cm +True +>>> -1 in cm +False +>>> cm[0][0] +0 +>>> cm[0][1] +1 +>>> cm[1][0] +0 +>>> cm[1][1] +4 """ diff --git a/pycm/pycm_obj.py b/pycm/pycm_obj.py index bbf6fe6b..71ca391a 100644 --- a/pycm/pycm_obj.py +++ b/pycm/pycm_obj.py @@ -218,6 +218,26 @@ def __iter__(self): for key in self.matrix.keys(): yield key, self.matrix[key] + def __contains__(self, class_name): + """ + Check if the confusion matrix contains the given class name. + + :param class_name: given class name + :param class_name: any valid type + :return: True if class_name is a class in confusion matrix + """ + return class_name in self.classes + + def __getitem__(self, class_name): + """ + Return the element(s) in the matrix corresponding to the given class name. + + :param class_name: given class name + :type class_name: any valid type + :return: the element(s) in matrix corresponding to the given class name + """ + return self.matrix[class_name] + def save_stat( self, name, From 7b91fa6d076cf817d018a5b2071c0caf861a28d7 Mon Sep 17 00:00:00 2001 From: Sepand Haghighi Date: Fri, 13 Jan 2023 18:20:30 +0330 Subject: [PATCH 07/13] Test (#477) * fix : minor edit in position method test * fix : minor edit in compare test * fix : minor edit in online_help function test * doc : CHANGELOG updated --- CHANGELOG.md | 1 + Test/compare_test.py | 3 +++ Test/function_test.py | 3 +++ pycm/pycm_output.py | 2 +- 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ee5e82e..9250bd61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Changed - `README.md` modified - Document modified +- Test system modified ## [3.7] - 2022-12-15 ### Added - `Curve` class diff --git a/Test/compare_test.py b/Test/compare_test.py index a8dd703d..05e9826d 100644 --- a/Test/compare_test.py +++ b/Test/compare_test.py @@ -119,6 +119,7 @@ >>> y_pred = [0, 0, 2, 1, 0, 2, 1, 0, 2, 0, 2, 2] >>> cm = ConfusionMatrix(y_actu, y_pred) >>> cm.relabel({0:"L1",1:"L2",2:"L3"}) +>>> cm_null = ConfusionMatrix(matrix={0:{0:0,1:0,2:0},1:{0:0,1:0,2:0},2:{0:0,1:0,2:0}}) >>> with warns(RuntimeWarning, match='Confusion matrices are too close'): ... cp8 = Compare({"cm1":cm,"cm2":cm},class_weight={'L3': 6, 'L1': 3, 'L2': 3}) >>> with warns(RuntimeWarning, match='The class_weight format is wrong, the result is for unweighted mode.'): @@ -129,4 +130,6 @@ >>> overall_benchmark_weight = {"SOA1":0,"SOA2":0,"SOA3":0,"SOA4":0,"SOA5":0,"SOA6":0} >>> with warns(RuntimeWarning, match='The overall_benchmark_weight format is wrong, the result is for unweighted mode.'): ... cp11 = Compare({"cm1":cm1,"cm2":cm2},overall_benchmark_weight=overall_benchmark_weight) +>>> with warns(RuntimeWarning, match='Confusion matrices are too close'): +... cp12 = Compare({"cm1":cm_null,"cm2":cm_null}) """ diff --git a/Test/function_test.py b/Test/function_test.py index dd789717..21e1afc3 100644 --- a/Test/function_test.py +++ b/Test/function_test.py @@ -414,6 +414,9 @@ [5, 10] >>> POS['L3']['FN'] [0, 3, 7] +>>> POS = cm.position() +>>> POS == cm.positions +True >>> y_actu = [0, 0, 1, 1, 0] >>> y_pred = [0, 1, 1, 0, 0] >>> cm2 = ConfusionMatrix(actual_vector=y_actu, predict_vector=y_pred) diff --git a/pycm/pycm_output.py b/pycm/pycm_output.py index 206bde86..1a4c9ec6 100644 --- a/pycm/pycm_output.py +++ b/pycm/pycm_output.py @@ -519,5 +519,5 @@ def online_help(param=None, alt_link=False): print('Example : online_help("J") or online_help(2)\n') for index, item in enumerate(params_link_keys): print(str(index + 1) + "-" + item) - except Exception: + except Exception: # pragma: no cover print("Error in online help") From f4ca413d0c2633a8768985b8acf707fe261bfab2 Mon Sep 17 00:00:00 2001 From: Sepand Haghighi Date: Mon, 16 Jan 2023 01:49:46 +0330 Subject: [PATCH 08/13] fix : Distance.ipynb section added to doc_to_html.bat (#478) --- Otherfiles/doc_to_html.bat | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Otherfiles/doc_to_html.bat b/Otherfiles/doc_to_html.bat index dc4d2c12..b3df01d8 100644 --- a/Otherfiles/doc_to_html.bat +++ b/Otherfiles/doc_to_html.bat @@ -13,6 +13,11 @@ move Document.html index.html if ERRORLEVEL 1 (echo Document.ipynb Failed! & cd .. & exit /b 0) else (echo Document.ipynb Done!) echo -------------------------- del Document.ipynb +echo Distance.ipynb is running! +call python -m nbconvert --to html_toc --execute Distance.ipynb --no-prompt --TagRemovePreprocessor.enabled=True --TagRemovePreprocessor.remove_cell_tags={\"html_hide\"} --log-level=ERROR +if ERRORLEVEL 1 (echo Distance.ipynb Failed! & cd .. & exit /b 0) else (echo Distance.ipynb Done!) +echo -------------------------- +del Distance.ipynb for %%f in (*.ipynb) do ( echo %%f is running! call python -m nbconvert --to html --execute %%f --no-prompt --log-level=ERROR From b73559cd30b44a64fce356210e82158e6f4056bd Mon Sep 17 00:00:00 2001 From: Alireza Zolanvari <36195808+alirezazolanvari@users.noreply.github.com> Date: Mon, 30 Jan 2023 11:58:41 +0100 Subject: [PATCH 09/13] Compare (#479) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add lambda interpretation function * Add Krippendorff’s alpha interpretation function * Add Pearson's C inerpretation function * minor edits in docstrings * Add kappa benchmark list * Change default overall bechmark weight * Add new benchmarks params * Add new benchmarks to overall stats * Add sort function * Change sort method * fix minor bug in lambda analysis func * Change compare results based on the new added overall benchmarks * Change output reports based on the new added overall benchmarks * Change overall stats based on the new added overall benchmarks * Add dunc test for the new overal benchmarks * Minor edits on test results * Add the new overall benchmarks results to the tests * Add new overall benchmarks * Minor edits * Fix minor bug in sort function * Minor edit in Document * Fix minor edit in sort docstring * Resolve some PR comments * doc : Document updated #479 * doc : Compare section in Document updated #479 * doc : Compare example updated * doc : CHANGELOG updated --------- Co-authored-by: sepandhaghighi --- CHANGELOG.md | 4 + Document/Document.ipynb | 279 ++++++++++++++++++++- README.md | 6 +- Test/compare_test.py | 48 ++-- Test/function_test.py | 66 +++-- Test/output_test.py | 516 +++++++++++++++++++------------------- Test/overall_test.py | 28 +++ Test/warning_test.py | 12 + pycm/pycm_compare.py | 2 +- pycm/pycm_handler.py | 4 + pycm/pycm_interpret.py | 68 +++++ pycm/pycm_output.py | 12 +- pycm/pycm_overall_func.py | 4 + pycm/pycm_param.py | 87 ++++++- pycm/pycm_util.py | 16 ++ 15 files changed, 841 insertions(+), 311 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9250bd61..cc7c4c19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - `distance` method - `__contains__` method - `__getitem__` method +- Goodman-Kruskal's Lambda A benchmark +- Goodman-Kruskal's Lambda B benchmark +- Krippendorff's Alpha benchmark +- Pearson's C benchmark - 30 new distance/similarity 1. AMPLE 2. Anderberg's D diff --git a/Document/Document.ipynb b/Document/Document.ipynb index 6a5388a9..2d8c4c88 100644 --- a/Document/Document.ipynb +++ b/Document/Document.ipynb @@ -187,6 +187,10 @@ "
  • Cicchetti's Benchmark
  • \n", "
  • Cramer's Benchmark
  • \n", "
  • Matthews's Benchmark
  • \n", + "
  • Goodman-Kruskal's Lambda A Benchmark
  • \n", + "
  • Goodman-Kruskal's Lambda B Benchmark
  • \n", + "
  • Krippendorff's Alpha Benchmark
  • \n", + "
  • Pearson's C Benchmark
  • \n", "
  • Overall Accuracy
  • \n", "
  • Overall Random Accuracy
  • \n", "
  • Overall Random Accuracy Unbiased
  • \n", @@ -2561,7 +2565,7 @@ "source": [ "In `version 2.0`, a method for comparing several confusion matrices is introduced. This option is a combination of several overall and class-based benchmarks. Each of the benchmarks evaluates the performance of the classification algorithm from good to poor and give them a numeric score. The score of good and poor performances are 1 and 0, respectively.\n", "\n", - "After that, two scores are calculated for each confusion matrices, overall and class-based. The overall score is the average of the score of six overall benchmarks which are Landis & Koch, Fleiss, Altman, Cicchetti, Cramer, and Matthews. In the same manner, the class-based score is the average of the score of six class-based benchmarks which are Positive Likelihood Ratio Interpretation, Negative Likelihood Ratio Interpretation, Discriminant Power Interpretation, AUC value Interpretation, Matthews Correlation Coefficient Interpretation and Yule's Q Interpretation. It should be noticed that if one of the benchmarks returns none for one of the classes, that benchmarks will be eliminated in total averaging. If the user sets weights for the classes, the averaging over the value of class-based benchmark scores will transform to a weighted average.\n", + "After that, two scores are calculated for each confusion matrices, overall and class-based. The overall score is the average of the score of seven overall benchmarks which are Landis & Koch, Cramer, Matthews, Goodman-Kruskal's Lambda A, Goodman-Kruskal's Lambda B, Krippendorff's Alpha, and Pearson's C. In the same manner, the class-based score is the average of the score of six class-based benchmarks which are Positive Likelihood Ratio Interpretation, Negative Likelihood Ratio Interpretation, Discriminant Power Interpretation, AUC value Interpretation, Matthews Correlation Coefficient Interpretation and Yule's Q Interpretation. It should be noticed that if one of the benchmarks returns none for one of the classes, that benchmarks will be eliminated in total averaging. If the user sets weights for the classes, the averaging over the value of class-based benchmark scores will transform to a weighted average.\n", "\n", "If the user sets the value of `by_class` boolean input `True`, the best confusion matrix is the one with the maximum class-based score. Otherwise, if a confusion matrix obtains the maximum of both overall and class-based scores, that will be reported as the best confusion matrix, but in any other case, the compared object doesn’t select the best confusion matrix." ] @@ -2808,7 +2812,7 @@ "metadata": {}, "outputs": [], "source": [ - "cp4 = Compare({\"cm2\":cm2,\"cm3\":cm3},overall_benchmark_weight={\"SOA1\":1,\"SOA2\":0,\"SOA3\":0,\"SOA4\":0,\"SOA5\":0,\"SOA6\":1})" + "cp4 = Compare({\"cm2\":cm2,\"cm3\":cm3},overall_benchmark_weight={\"SOA1\":1,\"SOA2\":0,\"SOA3\":0,\"SOA4\":0,\"SOA5\":0,\"SOA6\":1,\"SOA7\":0,\"SOA8\":0,\"SOA9\":0,\"SOA10\":0})" ] }, { @@ -2869,6 +2873,15 @@ "" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
      \n", + "
    • Notice : From version 3.8, Goodman-Kruskal's Lambda A, Goodman-Kruskal's Lambda B, Krippendorff's Alpha, and Pearson's C benchmarks are considered in the overall score and default weights of the overall benchmarks are modified accordingly.
    • \n", + "
    " + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -9445,6 +9458,260 @@ "" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### SOA7 (Goodman & Kruskal's lambda A benchmark)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For more information visit [[84]](#ref84)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
    JOSS
    Zenodo
    \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
    Lambda AStrength of Association
    0 - 0.2Very Weak
    0.2 - 0.4Weak
    0.4 - 0.6Moderate
    0.6 - 0.8Strong
    0.8 - 1.0Very Strong
    1.0Perfect
    " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "cm.SOA7" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
      \n", + "
    • Notice : new in version 3.8
    • \n", + "
    " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### SOA8 (Goodman & Kruskal's lambda B benchmark)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For more information visit [[84]](#ref84)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
    Lambda BStrength of Association
    0 - 0.2Very Weak
    0.2 - 0.4Weak
    0.4 - 0.6Moderate
    0.6 - 0.8Strong
    0.8 - 1.0Very Strong
    1.0Perfect
    " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "cm.SOA8" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
      \n", + "
    • Notice : new in version 3.8
    • \n", + "
    " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### SOA9 (Krippendorff's alpha benchmark)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For more information visit [[85]](#ref85)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
    AlphaStrength of Agreement
    0.667 >Low
    0.667 - 0.8Tentative
    0.8 < High
    " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "cm.SOA9" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
      \n", + "
    • Notice : new in version 3.8
    • \n", + "
    " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### SOA10 (Pearson's C benchmark)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For more information visit [[86]](#ref86)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
    CStrength of Association
    0 - 0.1Not Appreciable
    0.1 - 0.2Weak
    0.2 - 0.3Medium
    0.3 < Strong
    " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "cm.SOA10" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
      \n", + "
    • Notice : new in version 3.8
    • \n", + "
    " + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -14666,7 +14933,13 @@ "\n", "
    82- J. Braun-Blanquet, \"Plant sociology. The study of plant communities,\" Plant sociology. The study of plant communities. First ed., 1932.
    \n", "\n", - "
    83- C. C. Little, \"Abydos Documentation,\" 2020.
    \n" + "
    83- C. C. Little, \"Abydos Documentation,\" 2020.
    \n", + "\n", + "
    84- K. Villela, A. Silva, T. Vale, and E. S. de Almeida, \"A survey on software variability management approaches,\" in Proceedings of the 18th International Software Product Line Conference-Volume 1, 2014, pp. 147-156.
    \n", + " \n", + "
    85- J. R. Saura, A. Reyes-Menendez, and P. Palos-Sanchez, \"Are black Friday deals worth it? Mining Twitter users’ sentiment and behavior response,\" Journal of Open Innovation: Technology, Market, and Complexity, vol. 5, no. 3, p. 58, 2019.
    \n", + "\n", + "
    86- P. Schubert and U. Leimstoll, \"Importance and use of information technology in small and medium‐sized companies,\" Electronic Markets, vol. 17, no. 1, pp. 38-55, 2007.
    \n" ] } ], diff --git a/README.md b/README.md index ede2cab2..117cfafa 100644 --- a/README.md +++ b/README.md @@ -412,7 +412,7 @@ False In `version 2.0`, a method for comparing several confusion matrices is introduced. This option is a combination of several overall and class-based benchmarks. Each of the benchmarks evaluates the performance of the classification algorithm from good to poor and give them a numeric score. The score of good and poor performances are 1 and 0, respectively. -After that, two scores are calculated for each confusion matrices, overall and class-based. The overall score is the average of the score of six overall benchmarks which are Landis & Koch, Fleiss, Altman, Cicchetti, Cramer, and Matthews. In the same manner, the class-based score is the average of the score of six class-based benchmarks which are Positive Likelihood Ratio Interpretation, Negative Likelihood Ratio Interpretation, Discriminant Power Interpretation, AUC value Interpretation, Matthews Correlation Coefficient Interpretation and Yule's Q Interpretation. It should be noticed that if one of the benchmarks returns none for one of the classes, that benchmarks will be eliminated in total averaging. If the user sets weights for the classes, the averaging over the value of class-based benchmark scores will transform to a weighted average. +After that, two scores are calculated for each confusion matrices, overall and class-based. The overall score is the average of the score of seven overall benchmarks which are Landis & Koch, Cramer, Matthews, Goodman-Kruskal's Lambda A, Goodman-Kruskal's Lambda B, Krippendorff's Alpha, and Pearson's C. In the same manner, the class-based score is the average of the score of six class-based benchmarks which are Positive Likelihood Ratio Interpretation, Negative Likelihood Ratio Interpretation, Discriminant Power Interpretation, AUC value Interpretation, Matthews Correlation Coefficient Interpretation and Yule's Q Interpretation. It should be noticed that if one of the benchmarks returns none for one of the classes, that benchmarks will be eliminated in total averaging. If the user sets weights for the classes, the averaging over the value of class-based benchmark scores will transform to a weighted average. If the user sets the value of `by_class` boolean input `True`, the best confusion matrix is the one with the maximum class-based score. Otherwise, if a confusion matrix obtains the maximum of both overall and class-based scores, that will be reported as the best confusion matrix, but in any other case, the compared object doesn’t select the best confusion matrix. @@ -424,8 +424,8 @@ If the user sets the value of `by_class` boolean input `True`, the best confusio Best : cm2 Rank Name Class-Score Overall-Score -1 cm2 0.50278 0.425 -2 cm3 0.33611 0.33056 +1 cm2 0.50278 0.58095 +2 cm3 0.33611 0.52857 >>> cp.best pycm.ConfusionMatrix(classes: [0, 1, 2]) diff --git a/Test/compare_test.py b/Test/compare_test.py index 05e9826d..9c0ee2e1 100644 --- a/Test/compare_test.py +++ b/Test/compare_test.py @@ -18,7 +18,7 @@ True >>> cp pycm.Compare(classes: [0, 1, 2]) ->>> cp.scores == {'model2': {'overall': 0.33056, 'class': 0.33611}, 'model1': {'overall': 0.425, 'class': 0.50278}} +>>> cp.scores == {'model2': {'overall': 0.52857, 'class': 0.33611}, 'model1': {'overall': 0.58095, 'class': 0.50278}} True >>> cp.best pycm.ConfusionMatrix(classes: [0, 1, 2]) @@ -27,16 +27,16 @@ >>> print(cp) Best : model1 -Rank Name Class-Score Overall-Score -1 model1 0.50278 0.425 -2 model2 0.33611 0.33056 +Rank Name Class-Score Overall-Score +1 model1 0.50278 0.58095 +2 model2 0.33611 0.52857 >>> cp.print_report() Best : model1 -Rank Name Class-Score Overall-Score -1 model1 0.50278 0.425 -2 model2 0.33611 0.33056 +Rank Name Class-Score Overall-Score +1 model1 0.50278 0.58095 +2 model2 0.33611 0.52857 >>> class_weight = {0:5,1:1,2:1} >>> class_weight_copy = {0:5,1:1,2:1} @@ -46,9 +46,9 @@ >>> print(cp) Best : model2 -Rank Name Class-Score Overall-Score -1 model2 0.45357 0.33056 -2 model1 0.34881 0.425 +Rank Name Class-Score Overall-Score +1 model2 0.45357 0.52857 +2 model1 0.34881 0.58095 >>> cp.best pycm.ConfusionMatrix(classes: [0, 1, 2]) @@ -56,7 +56,7 @@ 'model2' >>> with warns(RuntimeWarning, match='Confusion matrices are too close'): ... cp2 = Compare({"model1":cm_comp1,"model2":cm_comp1}) ->>> cp2.scores == {'model2': {'class': 0.50278, 'overall': 0.425}, 'model1': {'class': 0.50278, 'overall': 0.425}} +>>> cp2.scores == {'model2': {'class': 0.50278, 'overall': 0.58095}, 'model1': {'class': 0.50278, 'overall': 0.58095}} True >>> cp2.best >>> cp2.best_name @@ -66,9 +66,9 @@ >>> print(cp3) Best : cm2 -Rank Name Class-Score Overall-Score -1 cm2 0.70556 0.96667 -2 cm1 0.55 0.74722 +Rank Name Class-Score Overall-Score +1 cm2 0.70556 0.92381 +2 cm1 0.55 0.75238 >>> cp4 = Compare({"cm1":cm1,"cm2":cm2},class_weight={0:0,1:1,2:1}) >>> cp4.class_weight == {0:0,1:1,2:1} @@ -76,9 +76,9 @@ >>> print(cp4) Best : cm2 -Rank Name Class-Score Overall-Score -1 cm2 0.825 0.96667 -2 cm1 0.575 0.74722 +Rank Name Class-Score Overall-Score +1 cm2 0.825 0.92381 +2 cm1 0.575 0.75238 >>> class_benchmark_weight = {"PLRI":0,"NLRI":0,"DPI":0,"AUCI":1,"MCCI":0,"QI":0} >>> cp5 = Compare({"cm1":cm1,"cm2":cm2},class_benchmark_weight=class_benchmark_weight) @@ -88,10 +88,10 @@ Best : cm2 Rank Name Class-Score Overall-Score -1 cm2 0.93333 0.96667 -2 cm1 0.73333 0.74722 +1 cm2 0.93333 0.92381 +2 cm1 0.73333 0.75238 ->>> overall_benchmark_weight = {"SOA1":1,"SOA2":0,"SOA3":0,"SOA4":0,"SOA5":0,"SOA6":1} +>>> overall_benchmark_weight = {"SOA1":1,"SOA2":0,"SOA3":0,"SOA4":0,"SOA5":0,"SOA6":1,"SOA7":0,"SOA8":0,"SOA9":0,"SOA10":0} >>> cp6 = Compare({"cm1":cm1,"cm2":cm2},class_benchmark_weight=class_benchmark_weight,overall_benchmark_weight=overall_benchmark_weight) >>> cp6.overall_benchmark_weight == overall_benchmark_weight True @@ -109,9 +109,9 @@ >>> print(cp7) Best : None -Rank Name Class-Score Overall-Score -1 cm1 0.50074 0.74722 -2 cm2 0.47021 0.96667 +Rank Name Class-Score Overall-Score +1 cm1 0.50074 0.75238 +2 cm2 0.47021 0.92381 >>> cp7.best >>> cp7.best_name @@ -127,7 +127,7 @@ >>> class_benchmark_weight = {"PLRI":0,"NLRI":0,"DPI":0,"AUCI":0,"MCCI":0,"QI":0} >>> with warns(RuntimeWarning, match='The class_benchmark_weight format is wrong, the result is for unweighted mode.'): ... cp10 = Compare({"cm1":cm1,"cm2":cm2},class_benchmark_weight=class_benchmark_weight) ->>> overall_benchmark_weight = {"SOA1":0,"SOA2":0,"SOA3":0,"SOA4":0,"SOA5":0,"SOA6":0} +>>> overall_benchmark_weight = {"SOA1":0,"SOA2":0,"SOA3":0,"SOA4":0,"SOA5":0,"SOA6":0,"SOA7":0,"SOA8":0,"SOA9":0,"SOA10":0} >>> with warns(RuntimeWarning, match='The overall_benchmark_weight format is wrong, the result is for unweighted mode.'): ... cp11 = Compare({"cm1":cm1,"cm2":cm2},overall_benchmark_weight=overall_benchmark_weight) >>> with warns(RuntimeWarning, match='Confusion matrices are too close'): diff --git a/Test/function_test.py b/Test/function_test.py index 21e1afc3..1769f6b0 100644 --- a/Test/function_test.py +++ b/Test/function_test.py @@ -155,22 +155,26 @@ 108-SOA4(Cicchetti) 109-SOA5(Cramer) 110-SOA6(Matthews) -111-Scott PI -112-Standard Error -113-TN -114-TNR -115-TNR Macro -116-TNR Micro -117-TON -118-TOP -119-TP -120-TPR -121-TPR Macro -122-TPR Micro -123-Y -124-Zero-one Loss -125-dInd -126-sInd +111-SOA7(Lambda A) +112-SOA8(Lambda B) +113-SOA9(Krippendorff Alpha) +114-SOA10(Pearson C) +115-Scott PI +116-Standard Error +117-TN +118-TNR +119-TNR Macro +120-TNR Micro +121-TON +122-TOP +123-TP +124-TPR +125-TPR Macro +126-TPR Micro +127-Y +128-Zero-one Loss +129-dInd +130-sInd >>> online_help("J") ... >>> online_help("J",alt_link=True) @@ -571,6 +575,36 @@ 'Excellent' >>> kappa_analysis_cicchetti(1.2) 'None' +>>> lambda_analysis(0) +'None' +>>> lambda_analysis(0.1) +'Very Weak' +>>> lambda_analysis(0.3) +'Weak' +>>> lambda_analysis(0.5) +'Moderate' +>>> lambda_analysis(0.7) +'Strong' +>>> lambda_analysis(0.9) +'Very Strong' +>>> lambda_analysis(1) +'Perfect' +>>> alpha_analysis(0) +'Low' +>>> alpha_analysis(0.667) +'Tentative' +>>> alpha_analysis(0.8) +'High' +>>> pearson_C_analysis(0) +'None' +>>> pearson_C_analysis(0.05) +'Not Appreciable' +>>> pearson_C_analysis(0.1) +'Weak' +>>> pearson_C_analysis(0.2) +'Medium' +>>> pearson_C_analysis(0.3) +'Strong' >>> PLR_analysis("None") 'None' >>> PLR_analysis(1) diff --git a/Test/output_test.py b/Test/output_test.py index 510c5a5e..c19961bd 100644 --- a/Test/output_test.py +++ b/Test/output_test.py @@ -123,136 +123,140 @@ Overall Statistics : -95% CI (0.14096,0.55904) -ACC Macro 0.675 -ARI 0.02298 -AUNP None -AUNU None -Bangdiwala B 0.31356 -Bennett S 0.13333 -CBA 0.17708 -CSI None -Chi-Squared None -Chi-Squared DF 9 -Conditional Entropy 1.23579 -Cramer V None -Cross Entropy 1.70995 -F1 Macro 0.23043 -F1 Micro 0.35 -FNR Macro None -FNR Micro 0.65 -FPR Macro 0.21471 -FPR Micro 0.21667 -Gwet AC1 0.19505 -Hamming Loss 0.65 -Joint Entropy 2.11997 -KL Divergence None -Kappa 0.07801 -Kappa 95% CI (-0.2185,0.37453) -Kappa No Prevalence -0.3 -Kappa Standard Error 0.15128 -Kappa Unbiased -0.12554 -Krippendorff Alpha -0.0974 -Lambda A 0.0 -Lambda B 0.0 -Mutual Information 0.10088 -NIR 0.8 -Overall ACC 0.35 -Overall CEN 0.3648 -Overall J (0.60294,0.15074) -Overall MCC 0.12642 -Overall MCEN 0.37463 -Overall RACC 0.295 -Overall RACCU 0.4225 -P-Value 1.0 -PPV Macro None -PPV Micro 0.35 -Pearson C None -Phi-Squared None -RCI 0.11409 -RR 5.0 -Reference Entropy 0.88418 -Response Entropy 1.33667 -SOA1(Landis & Koch) Slight -SOA2(Fleiss) Poor -SOA3(Altman) Poor -SOA4(Cicchetti) Poor -SOA5(Cramer) None -SOA6(Matthews) Negligible -Scott PI -0.12554 -Standard Error 0.10665 -TNR Macro 0.78529 -TNR Micro 0.78333 -TPR Macro None -TPR Micro 0.35 -Zero-one Loss 13 +95% CI (0.14096,0.55904) +ACC Macro 0.675 +ARI 0.02298 +AUNP None +AUNU None +Bangdiwala B 0.31356 +Bennett S 0.13333 +CBA 0.17708 +CSI None +Chi-Squared None +Chi-Squared DF 9 +Conditional Entropy 1.23579 +Cramer V None +Cross Entropy 1.70995 +F1 Macro 0.23043 +F1 Micro 0.35 +FNR Macro None +FNR Micro 0.65 +FPR Macro 0.21471 +FPR Micro 0.21667 +Gwet AC1 0.19505 +Hamming Loss 0.65 +Joint Entropy 2.11997 +KL Divergence None +Kappa 0.07801 +Kappa 95% CI (-0.2185,0.37453) +Kappa No Prevalence -0.3 +Kappa Standard Error 0.15128 +Kappa Unbiased -0.12554 +Krippendorff Alpha -0.0974 +Lambda A 0.0 +Lambda B 0.0 +Mutual Information 0.10088 +NIR 0.8 +Overall ACC 0.35 +Overall CEN 0.3648 +Overall J (0.60294,0.15074) +Overall MCC 0.12642 +Overall MCEN 0.37463 +Overall RACC 0.295 +Overall RACCU 0.4225 +P-Value 1.0 +PPV Macro None +PPV Micro 0.35 +Pearson C None +Phi-Squared None +RCI 0.11409 +RR 5.0 +Reference Entropy 0.88418 +Response Entropy 1.33667 +SOA1(Landis & Koch) Slight +SOA2(Fleiss) Poor +SOA3(Altman) Poor +SOA4(Cicchetti) Poor +SOA5(Cramer) None +SOA6(Matthews) Negligible +SOA7(Lambda A) None +SOA8(Lambda B) None +SOA9(Krippendorff Alpha) Low +SOA10(Pearson C) None +Scott PI -0.12554 +Standard Error 0.10665 +TNR Macro 0.78529 +TNR Micro 0.78333 +TPR Macro None +TPR Micro 0.35 +Zero-one Loss 13 Class Statistics : -Classes 100 200 500 600 -ACC(Accuracy) 0.45 0.45 0.85 0.95 -AGF(Adjusted F-score) 0.0 0.33642 0.56659 0.0 -AGM(Adjusted geometric mean) None 0.56694 0.7352 0 -AM(Difference between automatic and manual classification) 11 -9 -1 -1 -AUC(Area under the ROC curve) None 0.5625 0.63725 0.5 -AUCI(AUC value interpretation) None Poor Fair Poor -AUPR(Area under the PR curve) None 0.61607 0.41667 None -BB(Braun-Blanquet similarity) 0.0 0.375 0.33333 0.0 -BCD(Bray-Curtis dissimilarity) 0.275 0.225 0.025 0.025 -BM(Informedness or bookmaker informedness) None 0.125 0.27451 0.0 -CEN(Confusion entropy) 0.33496 0.35708 0.53895 0.0 -DOR(Diagnostic odds ratio) None 1.8 8.0 None -DP(Discriminant power) None 0.14074 0.4979 None -DPI(Discriminant power interpretation) None Poor Poor None -ERR(Error rate) 0.55 0.55 0.15 0.05 -F0.5(F0.5 score) 0.0 0.68182 0.45455 0.0 -F1(F1 score - harmonic mean of precision and sensitivity) 0.0 0.52174 0.4 0.0 -F2(F2 score) 0.0 0.42254 0.35714 0.0 -FDR(False discovery rate) 1.0 0.14286 0.5 None -FN(False negative/miss/type 2 error) 0 10 2 1 -FNR(Miss rate or false negative rate) None 0.625 0.66667 1.0 -FOR(False omission rate) 0.0 0.76923 0.11111 0.05 -FP(False positive/type 1 error/false alarm) 11 1 1 0 -FPR(Fall-out or false positive rate) 0.55 0.25 0.05882 0.0 -G(G-measure geometric mean of precision and sensitivity) None 0.56695 0.40825 None -GI(Gini index) None 0.125 0.27451 0.0 -GM(G-mean geometric mean of specificity and sensitivity) None 0.53033 0.56011 0.0 -HD(Hamming distance) 11 11 3 1 -IBA(Index of balanced accuracy) None 0.17578 0.12303 0.0 -ICSI(Individual classification success index) None 0.23214 -0.16667 None -IS(Information score) None 0.09954 1.73697 None -J(Jaccard index) 0.0 0.35294 0.25 0.0 -LS(Lift score) None 1.07143 3.33333 None -MCC(Matthews correlation coefficient) None 0.10483 0.32673 None -MCCI(Matthews correlation coefficient interpretation) None Negligible Weak None -MCEN(Modified confusion entropy) 0.33496 0.37394 0.58028 0.0 -MK(Markedness) 0.0 0.08791 0.38889 None -N(Condition negative) 20 4 17 19 -NLR(Negative likelihood ratio) None 0.83333 0.70833 1.0 -NLRI(Negative likelihood ratio interpretation) None Negligible Negligible Negligible -NPV(Negative predictive value) 1.0 0.23077 0.88889 0.95 -OC(Overlap coefficient) None 0.85714 0.5 None -OOC(Otsuka-Ochiai coefficient) None 0.56695 0.40825 None -OP(Optimized precision) None 0.11667 0.37308 -0.05 -P(Condition positive or support) 0 16 3 1 -PLR(Positive likelihood ratio) None 1.5 5.66667 None -PLRI(Positive likelihood ratio interpretation) None Poor Fair None -POP(Population) 20 20 20 20 -PPV(Precision or positive predictive value) 0.0 0.85714 0.5 None -PRE(Prevalence) 0.0 0.8 0.15 0.05 -Q(Yule Q - coefficient of colligation) None 0.28571 0.77778 None -QI(Yule Q interpretation) None Weak Strong None -RACC(Random accuracy) 0.0 0.28 0.015 0.0 -RACCU(Random accuracy unbiased) 0.07563 0.33062 0.01562 0.00063 -TN(True negative/correct rejection) 9 3 16 19 -TNR(Specificity or true negative rate) 0.45 0.75 0.94118 1.0 -TON(Test outcome negative) 9 13 18 20 -TOP(Test outcome positive) 11 7 2 0 -TP(True positive/hit) 0 6 1 0 -TPR(Sensitivity, recall, hit rate, or true positive rate) None 0.375 0.33333 0.0 -Y(Youden index) None 0.125 0.27451 0.0 -dInd(Distance index) None 0.67315 0.66926 1.0 -sInd(Similarity index) None 0.52401 0.52676 0.29289 +Classes 100 200 500 600 +ACC(Accuracy) 0.45 0.45 0.85 0.95 +AGF(Adjusted F-score) 0.0 0.33642 0.56659 0.0 +AGM(Adjusted geometric mean) None 0.56694 0.7352 0 +AM(Difference between automatic and manual classification) 11 -9 -1 -1 +AUC(Area under the ROC curve) None 0.5625 0.63725 0.5 +AUCI(AUC value interpretation) None Poor Fair Poor +AUPR(Area under the PR curve) None 0.61607 0.41667 None +BB(Braun-Blanquet similarity) 0.0 0.375 0.33333 0.0 +BCD(Bray-Curtis dissimilarity) 0.275 0.225 0.025 0.025 +BM(Informedness or bookmaker informedness) None 0.125 0.27451 0.0 +CEN(Confusion entropy) 0.33496 0.35708 0.53895 0.0 +DOR(Diagnostic odds ratio) None 1.8 8.0 None +DP(Discriminant power) None 0.14074 0.4979 None +DPI(Discriminant power interpretation) None Poor Poor None +ERR(Error rate) 0.55 0.55 0.15 0.05 +F0.5(F0.5 score) 0.0 0.68182 0.45455 0.0 +F1(F1 score - harmonic mean of precision and sensitivity) 0.0 0.52174 0.4 0.0 +F2(F2 score) 0.0 0.42254 0.35714 0.0 +FDR(False discovery rate) 1.0 0.14286 0.5 None +FN(False negative/miss/type 2 error) 0 10 2 1 +FNR(Miss rate or false negative rate) None 0.625 0.66667 1.0 +FOR(False omission rate) 0.0 0.76923 0.11111 0.05 +FP(False positive/type 1 error/false alarm) 11 1 1 0 +FPR(Fall-out or false positive rate) 0.55 0.25 0.05882 0.0 +G(G-measure geometric mean of precision and sensitivity) None 0.56695 0.40825 None +GI(Gini index) None 0.125 0.27451 0.0 +GM(G-mean geometric mean of specificity and sensitivity) None 0.53033 0.56011 0.0 +HD(Hamming distance) 11 11 3 1 +IBA(Index of balanced accuracy) None 0.17578 0.12303 0.0 +ICSI(Individual classification success index) None 0.23214 -0.16667 None +IS(Information score) None 0.09954 1.73697 None +J(Jaccard index) 0.0 0.35294 0.25 0.0 +LS(Lift score) None 1.07143 3.33333 None +MCC(Matthews correlation coefficient) None 0.10483 0.32673 None +MCCI(Matthews correlation coefficient interpretation) None Negligible Weak None +MCEN(Modified confusion entropy) 0.33496 0.37394 0.58028 0.0 +MK(Markedness) 0.0 0.08791 0.38889 None +N(Condition negative) 20 4 17 19 +NLR(Negative likelihood ratio) None 0.83333 0.70833 1.0 +NLRI(Negative likelihood ratio interpretation) None Negligible Negligible Negligible +NPV(Negative predictive value) 1.0 0.23077 0.88889 0.95 +OC(Overlap coefficient) None 0.85714 0.5 None +OOC(Otsuka-Ochiai coefficient) None 0.56695 0.40825 None +OP(Optimized precision) None 0.11667 0.37308 -0.05 +P(Condition positive or support) 0 16 3 1 +PLR(Positive likelihood ratio) None 1.5 5.66667 None +PLRI(Positive likelihood ratio interpretation) None Poor Fair None +POP(Population) 20 20 20 20 +PPV(Precision or positive predictive value) 0.0 0.85714 0.5 None +PRE(Prevalence) 0.0 0.8 0.15 0.05 +Q(Yule Q - coefficient of colligation) None 0.28571 0.77778 None +QI(Yule Q interpretation) None Weak Strong None +RACC(Random accuracy) 0.0 0.28 0.015 0.0 +RACCU(Random accuracy unbiased) 0.07563 0.33062 0.01562 0.00063 +TN(True negative/correct rejection) 9 3 16 19 +TNR(Specificity or true negative rate) 0.45 0.75 0.94118 1.0 +TON(Test outcome negative) 9 13 18 20 +TOP(Test outcome positive) 11 7 2 0 +TP(True positive/hit) 0 6 1 0 +TPR(Sensitivity, recall, hit rate, or true positive rate) None 0.375 0.33333 0.0 +Y(Youden index) None 0.125 0.27451 0.0 +dInd(Distance index) None 0.67315 0.66926 1.0 +sInd(Similarity index) None 0.52401 0.52676 0.29289 >>> cm_stat_file=ConfusionMatrix(file=open("test_stat.obj","r")) >>> cm_no_vectors_file=ConfusionMatrix(file=open("test_no_vectors.obj","r")) @@ -345,136 +349,140 @@ >>> cm_file_3.stat() Overall Statistics : -95% CI (0.41134,0.82675) -ACC Macro 0.74603 -ARI 0.15323 -AUNP 0.7 -AUNU 0.70556 -Bangdiwala B 0.44242 -Bennett S 0.42857 -CBA 0.47778 -CSI 0.17222 -Chi-Squared 10.44167 -Chi-Squared DF 4 -Conditional Entropy 0.96498 -Cramer V 0.49861 -Cross Entropy 1.50249 -F1 Macro 0.56111 -F1 Micro 0.61905 -FNR Macro 0.38889 -FNR Micro 0.38095 -FPR Macro 0.2 -FPR Micro 0.19048 -Gwet AC1 0.45277 -Hamming Loss 0.38095 -Joint Entropy 2.34377 -KL Divergence 0.1237 -Kappa 0.3913 -Kappa 95% CI (0.05943,0.72318) -Kappa No Prevalence 0.2381 -Kappa Standard Error 0.16932 -Kappa Unbiased 0.37313 -Krippendorff Alpha 0.38806 -Lambda A 0.22222 -Lambda B 0.36364 -Mutual Information 0.47618 -NIR 0.57143 -Overall ACC 0.61905 -Overall CEN 0.43947 -Overall J (1.22857,0.40952) -Overall MCC 0.41558 -Overall MCEN 0.50059 -Overall RACC 0.37415 -Overall RACCU 0.39229 -P-Value 0.41709 -PPV Macro 0.56111 -PPV Micro 0.61905 -Pearson C 0.57628 -Phi-Squared 0.49722 -RCI 0.34536 -RR 7.0 -Reference Entropy 1.37878 -Response Entropy 1.44117 -SOA1(Landis & Koch) Fair -SOA2(Fleiss) Poor -SOA3(Altman) Fair -SOA4(Cicchetti) Poor -SOA5(Cramer) Relatively Strong -SOA6(Matthews) Weak -Scott PI 0.37313 -Standard Error 0.10597 -TNR Macro 0.8 -TNR Micro 0.80952 -TPR Macro 0.61111 -TPR Micro 0.61905 -Zero-one Loss 8 +95% CI (0.41134,0.82675) +ACC Macro 0.74603 +ARI 0.15323 +AUNP 0.7 +AUNU 0.70556 +Bangdiwala B 0.44242 +Bennett S 0.42857 +CBA 0.47778 +CSI 0.17222 +Chi-Squared 10.44167 +Chi-Squared DF 4 +Conditional Entropy 0.96498 +Cramer V 0.49861 +Cross Entropy 1.50249 +F1 Macro 0.56111 +F1 Micro 0.61905 +FNR Macro 0.38889 +FNR Micro 0.38095 +FPR Macro 0.2 +FPR Micro 0.19048 +Gwet AC1 0.45277 +Hamming Loss 0.38095 +Joint Entropy 2.34377 +KL Divergence 0.1237 +Kappa 0.3913 +Kappa 95% CI (0.05943,0.72318) +Kappa No Prevalence 0.2381 +Kappa Standard Error 0.16932 +Kappa Unbiased 0.37313 +Krippendorff Alpha 0.38806 +Lambda A 0.22222 +Lambda B 0.36364 +Mutual Information 0.47618 +NIR 0.57143 +Overall ACC 0.61905 +Overall CEN 0.43947 +Overall J (1.22857,0.40952) +Overall MCC 0.41558 +Overall MCEN 0.50059 +Overall RACC 0.37415 +Overall RACCU 0.39229 +P-Value 0.41709 +PPV Macro 0.56111 +PPV Micro 0.61905 +Pearson C 0.57628 +Phi-Squared 0.49722 +RCI 0.34536 +RR 7.0 +Reference Entropy 1.37878 +Response Entropy 1.44117 +SOA1(Landis & Koch) Fair +SOA2(Fleiss) Poor +SOA3(Altman) Fair +SOA4(Cicchetti) Poor +SOA5(Cramer) Relatively Strong +SOA6(Matthews) Weak +SOA7(Lambda A) Weak +SOA8(Lambda B) Weak +SOA9(Krippendorff Alpha) Low +SOA10(Pearson C) Strong +Scott PI 0.37313 +Standard Error 0.10597 +TNR Macro 0.8 +TNR Micro 0.80952 +TPR Macro 0.61111 +TPR Micro 0.61905 +Zero-one Loss 8 Class Statistics : -Classes 0 1 2 -ACC(Accuracy) 0.80952 0.80952 0.61905 -AGF(Adjusted F-score) 0.90694 0.54433 0.55442 -AGM(Adjusted geometric mean) 0.80509 0.70336 0.66986 -AM(Difference between automatic and manual classification) 4 0 -4 -AUC(Area under the ROC curve) 0.86667 0.61111 0.63889 -AUCI(AUC value interpretation) Very Good Fair Fair -AUPR(Area under the PR curve) 0.8 0.33333 0.625 -BB(Braun-Blanquet similarity) 0.6 0.33333 0.5 -BCD(Bray-Curtis dissimilarity) 0.09524 0.0 0.09524 -BM(Informedness or bookmaker informedness) 0.73333 0.22222 0.27778 -CEN(Confusion entropy) 0.25 0.52832 0.56439 -DOR(Diagnostic odds ratio) None 4.0 3.5 -DP(Discriminant power) None 0.33193 0.29996 -DPI(Discriminant power interpretation) None Poor Poor -ERR(Error rate) 0.19048 0.19048 0.38095 -F0.5(F0.5 score) 0.65217 0.33333 0.68182 -F1(F1 score - harmonic mean of precision and sensitivity) 0.75 0.33333 0.6 -F2(F2 score) 0.88235 0.33333 0.53571 -FDR(False discovery rate) 0.4 0.66667 0.25 -FN(False negative/miss/type 2 error) 0 2 6 -FNR(Miss rate or false negative rate) 0.0 0.66667 0.5 -FOR(False omission rate) 0.0 0.11111 0.46154 -FP(False positive/type 1 error/false alarm) 4 2 2 -FPR(Fall-out or false positive rate) 0.26667 0.11111 0.22222 -G(G-measure geometric mean of precision and sensitivity) 0.7746 0.33333 0.61237 -GI(Gini index) 0.73333 0.22222 0.27778 -GM(G-mean geometric mean of specificity and sensitivity) 0.85635 0.54433 0.62361 -HD(Hamming distance) 4 4 8 -IBA(Index of balanced accuracy) 0.92889 0.13169 0.28086 -ICSI(Individual classification success index) 0.6 -0.33333 0.25 -IS(Information score) 1.07039 1.22239 0.39232 -J(Jaccard index) 0.6 0.2 0.42857 -LS(Lift score) 2.1 2.33333 1.3125 -MCC(Matthews correlation coefficient) 0.66332 0.22222 0.28307 -MCCI(Matthews correlation coefficient interpretation) Moderate Negligible Negligible -MCEN(Modified confusion entropy) 0.26439 0.52877 0.65924 -MK(Markedness) 0.6 0.22222 0.28846 -N(Condition negative) 15 18 9 -NLR(Negative likelihood ratio) 0.0 0.75 0.64286 -NLRI(Negative likelihood ratio interpretation) Good Negligible Negligible -NPV(Negative predictive value) 1.0 0.88889 0.53846 -OC(Overlap coefficient) 1.0 0.33333 0.75 -OOC(Otsuka-Ochiai coefficient) 0.7746 0.33333 0.61237 -OP(Optimized precision) 0.65568 0.35498 0.40166 -P(Condition positive or support) 6 3 12 -PLR(Positive likelihood ratio) 3.75 3.0 2.25 -PLRI(Positive likelihood ratio interpretation) Poor Poor Poor -POP(Population) 21 21 21 -PPV(Precision or positive predictive value) 0.6 0.33333 0.75 -PRE(Prevalence) 0.28571 0.14286 0.57143 -Q(Yule Q - coefficient of colligation) None 0.6 0.55556 -QI(Yule Q interpretation) None Moderate Moderate -RACC(Random accuracy) 0.13605 0.02041 0.21769 -RACCU(Random accuracy unbiased) 0.14512 0.02041 0.22676 -TN(True negative/correct rejection) 11 16 7 -TNR(Specificity or true negative rate) 0.73333 0.88889 0.77778 -TON(Test outcome negative) 11 18 13 -TOP(Test outcome positive) 10 3 8 -TP(True positive/hit) 6 1 6 -TPR(Sensitivity, recall, hit rate, or true positive rate) 1.0 0.33333 0.5 -Y(Youden index) 0.73333 0.22222 0.27778 -dInd(Distance index) 0.26667 0.67586 0.54716 -sInd(Similarity index) 0.81144 0.52209 0.6131 +Classes 0 1 2 +ACC(Accuracy) 0.80952 0.80952 0.61905 +AGF(Adjusted F-score) 0.90694 0.54433 0.55442 +AGM(Adjusted geometric mean) 0.80509 0.70336 0.66986 +AM(Difference between automatic and manual classification) 4 0 -4 +AUC(Area under the ROC curve) 0.86667 0.61111 0.63889 +AUCI(AUC value interpretation) Very Good Fair Fair +AUPR(Area under the PR curve) 0.8 0.33333 0.625 +BB(Braun-Blanquet similarity) 0.6 0.33333 0.5 +BCD(Bray-Curtis dissimilarity) 0.09524 0.0 0.09524 +BM(Informedness or bookmaker informedness) 0.73333 0.22222 0.27778 +CEN(Confusion entropy) 0.25 0.52832 0.56439 +DOR(Diagnostic odds ratio) None 4.0 3.5 +DP(Discriminant power) None 0.33193 0.29996 +DPI(Discriminant power interpretation) None Poor Poor +ERR(Error rate) 0.19048 0.19048 0.38095 +F0.5(F0.5 score) 0.65217 0.33333 0.68182 +F1(F1 score - harmonic mean of precision and sensitivity) 0.75 0.33333 0.6 +F2(F2 score) 0.88235 0.33333 0.53571 +FDR(False discovery rate) 0.4 0.66667 0.25 +FN(False negative/miss/type 2 error) 0 2 6 +FNR(Miss rate or false negative rate) 0.0 0.66667 0.5 +FOR(False omission rate) 0.0 0.11111 0.46154 +FP(False positive/type 1 error/false alarm) 4 2 2 +FPR(Fall-out or false positive rate) 0.26667 0.11111 0.22222 +G(G-measure geometric mean of precision and sensitivity) 0.7746 0.33333 0.61237 +GI(Gini index) 0.73333 0.22222 0.27778 +GM(G-mean geometric mean of specificity and sensitivity) 0.85635 0.54433 0.62361 +HD(Hamming distance) 4 4 8 +IBA(Index of balanced accuracy) 0.92889 0.13169 0.28086 +ICSI(Individual classification success index) 0.6 -0.33333 0.25 +IS(Information score) 1.07039 1.22239 0.39232 +J(Jaccard index) 0.6 0.2 0.42857 +LS(Lift score) 2.1 2.33333 1.3125 +MCC(Matthews correlation coefficient) 0.66332 0.22222 0.28307 +MCCI(Matthews correlation coefficient interpretation) Moderate Negligible Negligible +MCEN(Modified confusion entropy) 0.26439 0.52877 0.65924 +MK(Markedness) 0.6 0.22222 0.28846 +N(Condition negative) 15 18 9 +NLR(Negative likelihood ratio) 0.0 0.75 0.64286 +NLRI(Negative likelihood ratio interpretation) Good Negligible Negligible +NPV(Negative predictive value) 1.0 0.88889 0.53846 +OC(Overlap coefficient) 1.0 0.33333 0.75 +OOC(Otsuka-Ochiai coefficient) 0.7746 0.33333 0.61237 +OP(Optimized precision) 0.65568 0.35498 0.40166 +P(Condition positive or support) 6 3 12 +PLR(Positive likelihood ratio) 3.75 3.0 2.25 +PLRI(Positive likelihood ratio interpretation) Poor Poor Poor +POP(Population) 21 21 21 +PPV(Precision or positive predictive value) 0.6 0.33333 0.75 +PRE(Prevalence) 0.28571 0.14286 0.57143 +Q(Yule Q - coefficient of colligation) None 0.6 0.55556 +QI(Yule Q interpretation) None Moderate Moderate +RACC(Random accuracy) 0.13605 0.02041 0.21769 +RACCU(Random accuracy unbiased) 0.14512 0.02041 0.22676 +TN(True negative/correct rejection) 11 16 7 +TNR(Specificity or true negative rate) 0.73333 0.88889 0.77778 +TON(Test outcome negative) 11 18 13 +TOP(Test outcome positive) 10 3 8 +TP(True positive/hit) 6 1 6 +TPR(Sensitivity, recall, hit rate, or true positive rate) 1.0 0.33333 0.5 +Y(Youden index) 0.73333 0.22222 0.27778 +dInd(Distance index) 0.26667 0.67586 0.54716 +sInd(Similarity index) 0.81144 0.52209 0.6131 >>> cm = ConfusionMatrix(matrix={1:{1:13182,2:30516},2:{1:5108,2:295593}},transpose=True) # Verified Case >>> save_obj = cm.save_obj("test4",address=False) >>> save_obj=={'Status': True, 'Message': None} diff --git a/Test/overall_test.py b/Test/overall_test.py index 2b4c7d17..8ee9eb57 100644 --- a/Test/overall_test.py +++ b/Test/overall_test.py @@ -84,6 +84,10 @@ SOA4(Cicchetti) Poor SOA5(Cramer) Relatively Strong SOA6(Matthews) Weak +SOA7(Lambda A) Very Weak +SOA8(Lambda B) Moderate +SOA9(Krippendorff Alpha) Low +SOA10(Pearson C) Strong Scott PI 0.34426 Standard Error 0.14232 TNR Macro 0.77778 @@ -237,6 +241,10 @@ SOA4(Cicchetti) Poor SOA5(Cramer) Relatively Strong SOA6(Matthews) Weak +SOA7(Lambda A) Very Weak +SOA8(Lambda B) Moderate +SOA9(Krippendorff Alpha) Low +SOA10(Pearson C) Strong Scott PI 0.34426 Standard Error 0.14232 TNR Macro 0.77778 @@ -405,6 +413,10 @@ SOA4(Cicchetti) Poor SOA5(Cramer) None SOA6(Matthews) Negligible +SOA7(Lambda A) None +SOA8(Lambda B) None +SOA9(Krippendorff Alpha) Low +SOA10(Pearson C) None Scott PI -0.12554 Standard Error 0.10665 TNR Macro 0.78529 @@ -539,6 +551,10 @@ SOA4(Cicchetti) Poor SOA5(Cramer) None SOA6(Matthews) Negligible +SOA7(Lambda A) None +SOA8(Lambda B) None +SOA9(Krippendorff Alpha) Low +SOA10(Pearson C) None Scott PI -0.12554 Standard Error 0.10665 TNR Macro 0.78529 @@ -831,6 +847,10 @@ SOA4(Cicchetti) Fair SOA5(Cramer) Relatively Strong SOA6(Matthews) Weak +SOA7(Lambda A) Moderate +SOA8(Lambda B) Weak +SOA9(Krippendorff Alpha) Low +SOA10(Pearson C) Strong Scott PI 0.47346 Standard Error 0.09072 TNR Macro 0.82116 @@ -982,6 +1002,10 @@ SOA4(Cicchetti) Fair SOA5(Cramer) Relatively Strong SOA6(Matthews) Weak +SOA7(Lambda A) Moderate +SOA8(Lambda B) Weak +SOA9(Krippendorff Alpha) Low +SOA10(Pearson C) Strong Scott PI 0.47346 Standard Error 0.09072 TNR Macro 0.82116 @@ -1135,6 +1159,10 @@ SOA4(Cicchetti) Poor SOA5(Cramer) Relatively Strong SOA6(Matthews) Weak +SOA7(Lambda A) Weak +SOA8(Lambda B) Weak +SOA9(Krippendorff Alpha) Low +SOA10(Pearson C) Strong Scott PI 0.37313 Standard Error 0.10597 TNR Macro 0.8 diff --git a/Test/warning_test.py b/Test/warning_test.py index 48f7d8d8..efdef909 100644 --- a/Test/warning_test.py +++ b/Test/warning_test.py @@ -111,6 +111,10 @@ SOA4(Cicchetti) Excellent SOA5(Cramer) Very Strong SOA6(Matthews) Strong +SOA7(Lambda A) Strong +SOA8(Lambda B) Strong +SOA9(Krippendorff Alpha) Tentative +SOA10(Pearson C) Strong Scott PI 0.74172 Standard Error 0.11685 TNR Macro 0.97424 @@ -272,6 +276,10 @@ SOA4(Cicchetti) Excellent SOA5(Cramer) Very Strong SOA6(Matthews) Strong +SOA7(Lambda A) Strong +SOA8(Lambda B) Strong +SOA9(Krippendorff Alpha) Tentative +SOA10(Pearson C) Strong Scott PI 0.74172 Standard Error 0.11685 TNR Macro 0.97424 @@ -453,6 +461,10 @@ SOA4(Cicchetti) Fair SOA5(Cramer) None SOA6(Matthews) Weak +SOA7(Lambda A) Moderate +SOA8(Lambda B) Weak +SOA9(Krippendorff Alpha) Low +SOA10(Pearson C) None Scott PI 0.47346 Standard Error 0.09072 TNR Macro 0.86587 diff --git a/pycm/pycm_compare.py b/pycm/pycm_compare.py index a4d07b43..3b0f7284 100644 --- a/pycm/pycm_compare.py +++ b/pycm/pycm_compare.py @@ -314,7 +314,7 @@ def __compare_assign_handler__( compare.classes = list(cm_dict.values())[0].classes compare.class_weight = {k: 1 for k in compare.classes} compare.class_benchmark_weight = {k: 1 for k in CLASS_BENCHMARK_LIST} - compare.overall_benchmark_weight = {k: 1 for k in OVERALL_BENCHMARK_LIST} + compare.overall_benchmark_weight = {k: 0 if k in KAPPA_BENCHMARK_LIST[1:] else 1 for k in OVERALL_BENCHMARK_LIST} compare.digit = digit compare.best = None compare.best_name = None diff --git a/pycm/pycm_handler.py b/pycm/pycm_handler.py index 7736731f..87274f24 100644 --- a/pycm/pycm_handler.py +++ b/pycm/pycm_handler.py @@ -151,6 +151,10 @@ def __overall_stat_init__(cm): cm.ARI = cm.overall_stat["ARI"] cm.B = cm.overall_stat["Bangdiwala B"] cm.Alpha = cm.overall_stat["Krippendorff Alpha"] + cm.SOA7 = cm.overall_stat["SOA7(Lambda A)"] + cm.SOA8 = cm.overall_stat["SOA8(Lambda B)"] + cm.SOA9 = cm.overall_stat["SOA9(Krippendorff Alpha)"] + cm.SOA10 = cm.overall_stat["SOA10(Pearson C)"] def __obj_assign_handler__(cm, matrix_param): diff --git a/pycm/pycm_interpret.py b/pycm/pycm_interpret.py index 8e3e1fe3..accaf645 100644 --- a/pycm/pycm_interpret.py +++ b/pycm/pycm_interpret.py @@ -253,3 +253,71 @@ def kappa_analysis_altman(kappa): return "None" except Exception: # pragma: no cover return "None" + + +def lambda_analysis(lambda_): + """ + Analysis of lambda (A or B) value with interpretation table. + + :param lambda_: lambda (A or B) value + :type lambda_ : float + :return: interpretation result as str + """ + try: + if 0 < lambda_ < 0.2: + return "Very Weak" + if 0.2 <= lambda_ < 0.4: + return "Weak" + if 0.4 <= lambda_ < 0.6: + return "Moderate" + if 0.6 <= lambda_ < 0.8: + return "Strong" + if 0.8 <= lambda_ < 1: + return "Very Strong" + if lambda_ == 1: + return "Perfect" + return "None" + except Exception: # pragma: no cover + return "None" + + +def alpha_analysis(alpha): + """ + Analysis of Krippendorff's alpha value with interpretation table. + + :param alpha: Krippendorff's alpha value + :type alpha: float + :return: interpretation result as str + """ + try: + if alpha < 0.667: + return "Low" + if 0.667 <= alpha < 0.8: + return "Tentative" + if alpha >= 0.8: + return "High" + return "None" + except Exception: # pragma: no cover + return "None" + + +def pearson_C_analysis(pearson_C): + """ + Analysis of Pearson's coefficient value with interpretation table. + + :param pearson_C: Pearson's coefficient value + :type pearson_C: float + :return: interpretation result as str + """ + try: + if 0 < pearson_C < 0.1: + return "Not Appreciable" + if 0.1 <= pearson_C < 0.2: + return "Weak" + if 0.2 <= pearson_C < 0.3: + return "Medium" + if pearson_C >= 0.3: + return "Strong" + return "None" + except Exception: # pragma: no cover + return "None" diff --git a/pycm/pycm_output.py b/pycm/pycm_output.py index 1a4c9ec6..e3e1a541 100644 --- a/pycm/pycm_output.py +++ b/pycm/pycm_output.py @@ -3,7 +3,7 @@ from __future__ import division from functools import partial from .pycm_param import * -from .pycm_util import rounder +from .pycm_util import rounder, sort_char_num import webbrowser @@ -171,10 +171,10 @@ def html_overall_stat( result = "" result += "

    Overall Statistics :

    \n" result += '\n' - overall_stat_keys = sorted(overall_stat.keys()) + overall_stat_keys = sort_char_num(overall_stat.keys()) if isinstance(overall_param, list): if set(overall_param) <= set(overall_stat_keys): - overall_stat_keys = sorted(overall_param) + overall_stat_keys = sort_char_num(overall_param) if len(overall_stat_keys) < 1: return "" for i in overall_stat_keys: @@ -423,11 +423,11 @@ def stat_print( """ shift = max(map(len, PARAMS_DESCRIPTION.values())) + 5 classes_len = len(classes) - overall_stat_keys = sorted(overall_stat.keys()) + overall_stat_keys = sort_char_num(overall_stat.keys()) result = "" if isinstance(overall_param, list): if set(overall_param) <= set(overall_stat_keys): - overall_stat_keys = sorted(overall_param) + overall_stat_keys = sort_char_num(overall_param) if len(overall_stat_keys) > 0: result = "Overall Statistics : " + "\n\n" for key in overall_stat_keys: @@ -508,7 +508,7 @@ def online_help(param=None, alt_link=False): document_link = DOCUMENT_ADR if alt_link: document_link = DOCUMENT_ADR_ALT - params_link_keys = sorted(PARAMS_LINK.keys()) + params_link_keys = sort_char_num(PARAMS_LINK.keys()) if param in params_link_keys: webbrowser.open_new_tab(document_link + PARAMS_LINK[param]) elif param in range(1, len(params_link_keys) + 1): diff --git a/pycm/pycm_overall_func.py b/pycm/pycm_overall_func.py index 1a6d2b2f..c83bdcbc 100644 --- a/pycm/pycm_overall_func.py +++ b/pycm/pycm_overall_func.py @@ -1034,6 +1034,10 @@ def overall_statistics(**kwargs): result["SOA4(Cicchetti)"] = kappa_analysis_cicchetti(result["Kappa"]) result["SOA5(Cramer)"] = V_analysis(result["Cramer V"]) result["SOA6(Matthews)"] = MCC_analysis(result["Overall MCC"]) + result["SOA7(Lambda A)"] = lambda_analysis(result["Lambda A"]) + result["SOA8(Lambda B)"] = lambda_analysis(result["Lambda B"]) + result["SOA9(Krippendorff Alpha)"] = alpha_analysis(result["Krippendorff Alpha"]) + result["SOA10(Pearson C)"] = pearson_C_analysis(result["Pearson C"]) result["FPR Macro"] = complement(result["TNR Macro"]) result["FNR Macro"] = complement(result["TPR Macro"]) result["PPV Macro"] = macro_calc(kwargs["PPV"]) diff --git a/pycm/pycm_param.py b/pycm/pycm_param.py index d94bae7f..ae21ebf5 100644 --- a/pycm/pycm_param.py +++ b/pycm/pycm_param.py @@ -368,6 +368,42 @@ "None": "None"} +SOA7_SCORE = { + "Perfect": 6, + "Very Strong": 5, + "Strong": 4, + "Moderate": 3, + "Weak": 2, + "Very Weak": 1, + "None": "None" +} + +SOA8_SCORE = { + "Perfect": 6, + "Very Strong": 5, + "Strong": 4, + "Moderate": 3, + "Weak": 2, + "Very Weak": 1, + "None": "None" +} + +SOA9_SCORE = { + "High": 3, + "Tentative": 2, + "Low": 1, + "None": "None" +} + +SOA10_SCORE = { + "Strong": 4, + "Medium": 3, + "Weak": 2, + "Not Appreciable": 1, + "None": "None" +} + + CLASS_BENCHMARK_SCORE_DICT = { "PLRI": PLRI_SCORE, "NLRI": NLRI_SCORE, @@ -384,9 +420,14 @@ "SOA3": SOA3_SCORE, "SOA4": SOA4_SCORE, "SOA5": SOA5_SCORE, - "SOA6": SOA6_SCORE} + "SOA6": SOA6_SCORE, + "SOA7": SOA7_SCORE, + "SOA8": SOA8_SCORE, + "SOA9": SOA9_SCORE, + "SOA10": SOA10_SCORE} OVERALL_BENCHMARK_LIST = sorted(list(OVERALL_BENCHMARK_SCORE_DICT.keys())) +KAPPA_BENCHMARK_LIST = ["SOA1", "SOA2", "SOA3", "SOA4"] OVERALL_BENCHMARK_MAP = { "SOA1": "SOA1(Landis & Koch)", @@ -394,7 +435,12 @@ "SOA3": "SOA3(Altman)", "SOA4": "SOA4(Cicchetti)", "SOA5": "SOA5(Cramer)", - "SOA6": "SOA6(Matthews)"} + "SOA6": "SOA6(Matthews)", + "SOA7": "SOA7(Lambda A)", + "SOA8": "SOA8(Lambda B)", + "SOA9": "SOA9(Krippendorff Alpha)", + "SOA10": "SOA10(Pearson C)" +} RECOMMEND_BACKGROUND_COLOR = "aqua" DEFAULT_BACKGROUND_COLOR = "transparent" @@ -601,7 +647,12 @@ "Bangdiwala B": "Bangdiwala's-B", "Krippendorff Alpha": "Krippendorff's-alpha", "HD": "HD-(Hamming-distance)", - "BB": "BB-(Braun-Blanquet-similarity)"} + "BB": "BB-(Braun-Blanquet-similarity)", + "SOA7(Lambda A)": "SOA7-(Goodman-&-Kruskal's-lambda-A-benchmark)", + "SOA8(Lambda B)": "SOA8-(Goodman-&-Kruskal's-lambda-B-benchmark)", + "SOA9(Krippendorff Alpha)": "SOA9-(Krippendorff's-alpha-benchmark)", + "SOA10(Pearson C)": "SOA10-(Pearson's-C-benchmark)" +} CAPITALIZE_FILTER = [ "BCD", @@ -693,7 +744,35 @@ "Moderate": "Yellow", "Strong": "LawnGreen", "Very Strong": "Green", - "None": "White"}} + "None": "White"}, + "SOA7(Lambda A)": { + "Very Weak": "Red", + "Weak": "OrangeRed", + "Moderate": "Orange", + "Strong": "Yellow", + "Very Strong": "LawnGreen", + "Perfect": "Green", + "None": "White"}, + "SOA8(Lambda B)": { + "Very Weak": "Red", + "Weak": "OrangeRed", + "Moderate": "Orange", + "Strong": "Yellow", + "Very Strong": "LawnGreen", + "Perfect": "Green", + "None": "White"}, + "SOA9(Krippendorff Alpha)": { + "Low": "Red", + "Tentative": "LawnGreen", + "High": "Green", + "None": "White"}, + "SOA10(Pearson C)": { + "Not Appreciable": "Red", + "Weak": "Orange", + "Medium": "LawnGreen", + "Strong": "Green", + "None": "White"} + } BENCHMARK_LIST = list(BENCHMARK_COLOR.keys()) diff --git a/pycm/pycm_util.py b/pycm/pycm_util.py index 4f138bf2..6252ca51 100644 --- a/pycm/pycm_util.py +++ b/pycm/pycm_util.py @@ -4,6 +4,7 @@ import sys import math import numpy +import re from .pycm_param import * from .pycm_error import pycmMatrixError from warnings import warn @@ -716,3 +717,18 @@ def thresholds_calc(probs): thresholds = numpy.ravel(probs) thresholds = sorted(set(thresholds)) return thresholds + + +def sort_char_num(input_list): + """ + Sort a list of strings first alphabetically and then numerically. + + :param input_list: input list of strings + :type input_list: iterable + :return: a sorted list of strings + """ + sort_by = lambda x: [(x, False, False) if not re.findall(r'\d+', x) + else (x[:re.search(r'\d+', x).start()], + int(re.findall(r'\d+', x)[0]), + x[re.search(r'\d+', x).end():])] + return sorted(input_list, key=sort_by) From 260d5d7e84e0086fbc8e01b9a310551755b65ac9 Mon Sep 17 00:00:00 2001 From: Sadra Sabouri <43045767+sadrasabouri@users.noreply.github.com> Date: Mon, 30 Jan 2023 23:17:35 +0330 Subject: [PATCH 10/13] Relabel Bug Fixed (#480) * fix : `relabel` method bug fixed. * log : changes logged. * test : tests added. * change : keeping the original class order. --- CHANGELOG.md | 1 + Test/overall_test.py | 23 ++++++++++++++++++++++- pycm/pycm_obj.py | 2 +- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc7c4c19..0befac1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. 29. Consonni & Todeschini IV 30. Consonni & Todeschini V ### Changed +- `relabel` method functionality - `README.md` modified - Document modified - Test system modified diff --git a/Test/overall_test.py b/Test/overall_test.py index 8ee9eb57..9088713d 100644 --- a/Test/overall_test.py +++ b/Test/overall_test.py @@ -1443,7 +1443,28 @@ >>> actual = [1,0,0,0,1,2,0,2,1] >>> predict = [1,0,1,1,1,2,0,2,0] >>> cm = ConfusionMatrix(actual,predict) ->>> cm.relabel({0:1,1:2,2:3}) +>>> cm.print_matrix() +Predict 0 1 2 +Actual +0 2 2 0 + +1 1 2 0 + +2 0 0 2 + + +>>> cm.relabel({0:"Z", 1:"A", 2:"B"}) +>>> cm.print_matrix() +Predict Z A B +Actual +Z 2 2 0 + +A 1 2 0 + +B 0 0 2 + + +>>> cm.relabel({"Z":1, "A":2, "B":3}) >>> cm pycm.ConfusionMatrix(classes: [1, 2, 3]) >>> cm.label_map[0] diff --git a/pycm/pycm_obj.py b/pycm/pycm_obj.py index 71ca391a..5bcad7af 100644 --- a/pycm/pycm_obj.py +++ b/pycm/pycm_obj.py @@ -768,7 +768,7 @@ def relabel(self, mapping): temp_label_map[prime_label] = mapping[new_label] self.label_map = temp_label_map self.positions = None - self.classes = sorted(list(mapping.values())) + self.classes = [mapping[x] for x in self.classes] self.TP = self.class_stat["TP"] self.TN = self.class_stat["TN"] self.FP = self.class_stat["FP"] From 72b913386841d71c0bb8ac0f811cc5df6f680601 Mon Sep 17 00:00:00 2001 From: sepandhaghighi Date: Tue, 31 Jan 2023 16:58:08 +0330 Subject: [PATCH 11/13] rel : migrate to version 3.8 --- CHANGELOG.md | 4 +- Document/Document.ipynb | 1275 ++++++++++--------- Document/Document_Files/cm1.html | 18 +- Document/Document_Files/cm1.obj | 2 +- Document/Document_Files/cm1.pycm | 4 + Document/Document_Files/cm1_colored.html | 18 +- Document/Document_Files/cm1_colored2.html | 18 +- Document/Document_Files/cm1_filtered.html | 2 +- Document/Document_Files/cm1_filtered2.html | 2 +- Document/Document_Files/cm1_no_vectors.obj | 2 +- Document/Document_Files/cm1_normalized.html | 18 +- Document/Document_Files/cm1_stat.obj | 2 +- Document/Document_Files/cm1_summary.html | 2 +- Document/Document_Files/cp.comp | 4 +- Document/Example1.ipynb | 6 +- Document/Example1_Files/cm1.html | 18 +- Document/Example1_Files/cm2.html | 18 +- Document/Example1_Files/cm3.html | 18 +- Document/Example1_Files/cp.comp | 6 +- Document/Example3.ipynb | 8 + Document/Example4.ipynb | 14 +- Document/Example4_Files/cm.obj | 2 +- Document/Example4_Files/cm_no_vectors.obj | 2 +- Document/Example4_Files/cm_stat.obj | 2 +- Document/Example5.ipynb | 8 + Document/Example6.ipynb | 98 +- Otherfiles/meta.yaml | 2 +- Otherfiles/test.comp | 4 +- Otherfiles/test.html | 18 +- Otherfiles/test.obj | 2 +- Otherfiles/test.pycm | 4 + Otherfiles/version_check.py | 2 +- README.md | 4 +- pycm/pycm_param.py | 2 +- setup.py | 4 +- 35 files changed, 936 insertions(+), 677 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0befac1f..ac7579d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). ## [Unreleased] +## [3.8] - 2023-02-01 ### Added - `distance` method - `__contains__` method @@ -650,7 +651,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - TPR - documents and `README.md` -[Unreleased]: https://github.com/sepandhaghighi/pycm/compare/v3.7...dev +[Unreleased]: https://github.com/sepandhaghighi/pycm/compare/v3.8...dev +[3.8]: https://github.com/sepandhaghighi/pycm/compare/v3.7...v3.8 [3.7]: https://github.com/sepandhaghighi/pycm/compare/v3.6...v3.7 [3.6]: https://github.com/sepandhaghighi/pycm/compare/v3.5...v3.6 [3.5]: https://github.com/sepandhaghighi/pycm/compare/v3.4...v3.5 diff --git a/Document/Document.ipynb b/Document/Document.ipynb index 2d8c4c88..633f2a17 100644 --- a/Document/Document.ipynb +++ b/Document/Document.ipynb @@ -18,7 +18,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Version : 3.7 " + "### Version : 3.8 " ] }, { @@ -307,7 +307,7 @@ "metadata": {}, "source": [ "### Source code\n", - "- Download [Version 3.7](https://github.com/sepandhaghighi/pycm/archive/v3.7.zip) or [Latest Source ](https://github.com/sepandhaghighi/pycm/archive/dev.zip)\n", + "- Download [Version 3.8](https://github.com/sepandhaghighi/pycm/archive/v3.8.zip) or [Latest Source](https://github.com/sepandhaghighi/pycm/archive/dev.zip)\n", "- Run `pip install -r requirements.txt` or `pip3 install -r requirements.txt` (Need root access)\n", "- Run `python3 setup.py install` or `python setup.py install` (Need root access)" ] @@ -320,7 +320,7 @@ "\n", "\n", "- Check [Python Packaging User Guide](https://packaging.python.org/installing/) \n", - "- Run `pip install pycm==3.7` or `pip3 install pycm==3.7` (Need root access)" + "- Run `pip install pycm==3.8` or `pip3 install pycm==3.8` (Need root access)" ] }, { @@ -687,11 +687,15 @@ " 'Reference Entropy': 1.5,\n", " 'Response Entropy': 1.4833557549816874,\n", " 'SOA1(Landis & Koch)': 'Fair',\n", + " 'SOA10(Pearson C)': 'Strong',\n", " 'SOA2(Fleiss)': 'Poor',\n", " 'SOA3(Altman)': 'Fair',\n", " 'SOA4(Cicchetti)': 'Poor',\n", " 'SOA5(Cramer)': 'Relatively Strong',\n", " 'SOA6(Matthews)': 'Weak',\n", + " 'SOA7(Lambda A)': 'Very Weak',\n", + " 'SOA8(Lambda B)': 'Moderate',\n", + " 'SOA9(Krippendorff Alpha)': 'Low',\n", " 'Scott PI': 0.34426229508196726,\n", " 'Standard Error': 0.14231876063832777,\n", " 'TNR Macro': 0.7777777777777777,\n", @@ -953,7 +957,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\Sepkjaer\\AppData\\Local\\Programs\\Python\\Python35-32\\lib\\site-packages\\pycm-3.7-py3.5.egg\\pycm\\pycm_util.py:398: RuntimeWarning: Used classes is not a subset of classes in actual and predict vectors.\n" + "C:\\Users\\Sepkjaer\\AppData\\Local\\Programs\\Python\\Python35-32\\lib\\site-packages\\pycm-3.8-py3.5.egg\\pycm\\pycm_util.py:399: RuntimeWarning: Used classes is not a subset of classes in actual and predict vectors.\n" ] } ], @@ -997,27 +1001,60 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "1 in cm" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "10 in cm" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cm[1][1]" ] @@ -1040,7 +1077,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ @@ -1049,7 +1086,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 29, "metadata": {}, "outputs": [ { @@ -1058,7 +1095,7 @@ "pycm.ConfusionMatrix(classes: [0, 1, 2])" ] }, - "execution_count": 26, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -1069,7 +1106,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ @@ -1078,7 +1115,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -1087,7 +1124,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 32, "metadata": {}, "outputs": [ { @@ -1096,7 +1133,7 @@ "[0, 1, 2]" ] }, - "execution_count": 29, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -1107,7 +1144,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 33, "metadata": {}, "outputs": [ { @@ -1190,7 +1227,7 @@ " 'sInd': {0: 0.8428651597363228, 1: 0.5220930407198541, 2: 0.5750817072006014}}" ] }, - "execution_count": 30, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -1201,7 +1238,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -1258,11 +1295,15 @@ " 'Reference Entropy': 1.5,\n", " 'Response Entropy': 1.4833557549816874,\n", " 'SOA1(Landis & Koch)': 'Fair',\n", + " 'SOA10(Pearson C)': 'Strong',\n", " 'SOA2(Fleiss)': 'Poor',\n", " 'SOA3(Altman)': 'Fair',\n", " 'SOA4(Cicchetti)': 'Poor',\n", " 'SOA5(Cramer)': 'Relatively Strong',\n", " 'SOA6(Matthews)': 'Weak',\n", + " 'SOA7(Lambda A)': 'Very Weak',\n", + " 'SOA8(Lambda B)': 'Moderate',\n", + " 'SOA9(Krippendorff Alpha)': 'Low',\n", " 'Scott PI': 0.34426229508196726,\n", " 'Standard Error': 0.14231876063832777,\n", " 'TNR Macro': 0.7777777777777777,\n", @@ -1272,7 +1313,7 @@ " 'Zero-one Loss': 5}" ] }, - "execution_count": 31, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -1294,7 +1335,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 35, "metadata": {}, "outputs": [], "source": [ @@ -1303,7 +1344,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 36, "metadata": {}, "outputs": [], "source": [ @@ -1312,7 +1353,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 37, "metadata": {}, "outputs": [ { @@ -1321,7 +1362,7 @@ "pycm.ConfusionMatrix(classes: [0, 1, 2])" ] }, - "execution_count": 34, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -1332,7 +1373,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 38, "metadata": {}, "outputs": [ { @@ -1341,7 +1382,7 @@ "[0, 1, 2]" ] }, - "execution_count": 35, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -1361,7 +1402,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 39, "metadata": {}, "outputs": [ { @@ -1370,7 +1411,7 @@ "{0: {0: 1, 1: 2, 2: 3}, 1: {0: 4, 1: 6, 2: 1}, 2: {0: 1, 1: 2, 2: 3}}" ] }, - "execution_count": 36, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -1381,7 +1422,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 40, "metadata": {}, "outputs": [ { @@ -1390,7 +1431,7 @@ "{0: {0: 1, 1: 2, 2: 3}, 1: {0: 4, 1: 6, 2: 1}, 2: {0: 1, 1: 2, 2: 3}}" ] }, - "execution_count": 37, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -1401,7 +1442,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 41, "metadata": {}, "outputs": [ { @@ -1412,7 +1453,7 @@ " 2: {0: 0.16667, 1: 0.33333, 2: 0.5}}" ] }, - "execution_count": 38, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -1423,7 +1464,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 42, "metadata": {}, "outputs": [ { @@ -1434,7 +1475,7 @@ " 2: {0: 0.16667, 1: 0.33333, 2: 0.5}}" ] }, - "execution_count": 39, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -1445,7 +1486,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 43, "metadata": {}, "outputs": [ { @@ -1470,7 +1511,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 44, "metadata": {}, "outputs": [], "source": [ @@ -1479,7 +1520,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 45, "metadata": {}, "outputs": [], "source": [ @@ -1488,7 +1529,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 46, "metadata": {}, "outputs": [], "source": [ @@ -1497,7 +1538,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 47, "metadata": {}, "outputs": [ { @@ -1506,7 +1547,7 @@ "pycm.ConfusionMatrix(classes: [0, 1, 2])" ] }, - "execution_count": 44, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -1517,7 +1558,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 48, "metadata": {}, "outputs": [], "source": [ @@ -1526,7 +1567,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 49, "metadata": {}, "outputs": [ { @@ -1535,7 +1576,7 @@ "pycm.ConfusionMatrix(classes: ['L1', 'L2', 'L3'])" ] }, - "execution_count": 46, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -1560,16 +1601,16 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "L2 {'L2': 6, 'L1': 4, 'L3': 1}\n", - "L1 {'L2': 2, 'L1': 1, 'L3': 3}\n", - "L3 {'L2': 2, 'L1': 1, 'L3': 3}\n" + "L1 {'L1': 1, 'L3': 3, 'L2': 2}\n", + "L3 {'L1': 1, 'L3': 3, 'L2': 2}\n", + "L2 {'L1': 4, 'L3': 1, 'L2': 6}\n" ] } ], @@ -1580,16 +1621,16 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "('L2', {'L1': 4, 'L2': 6, 'L3': 1})" + "('L1', {'L1': 1, 'L2': 2, 'L3': 3})" ] }, - "execution_count": 48, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -1601,7 +1642,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 52, "metadata": {}, "outputs": [ { @@ -1612,7 +1653,7 @@ " 'L3': {'L1': 1, 'L2': 2, 'L3': 3}}" ] }, - "execution_count": 49, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -1624,18 +1665,18 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[('L2', {'L1': 4, 'L2': 6, 'L3': 1}),\n", - " ('L1', {'L1': 1, 'L2': 2, 'L3': 3}),\n", - " ('L3', {'L1': 1, 'L2': 2, 'L3': 3})]" + "[('L1', {'L1': 1, 'L2': 2, 'L3': 3}),\n", + " ('L3', {'L1': 1, 'L2': 2, 'L3': 3}),\n", + " ('L2', {'L1': 4, 'L2': 6, 'L3': 1})]" ] }, - "execution_count": 50, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -1747,7 +1788,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 54, "metadata": {}, "outputs": [], "source": [ @@ -1756,7 +1797,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 55, "metadata": {}, "outputs": [ { @@ -1805,7 +1846,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 56, "metadata": {}, "outputs": [], "source": [ @@ -1814,7 +1855,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 57, "metadata": {}, "outputs": [ { @@ -1823,7 +1864,7 @@ "pycm.ConfusionMatrix(classes: ['L1', 'L2', 'L3'])" ] }, - "execution_count": 54, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -1871,7 +1912,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 58, "metadata": {}, "outputs": [ { @@ -1882,7 +1923,7 @@ " 2: {'FN': [0, 3, 7], 'FP': [5, 10], 'TN': [1, 4, 6, 9], 'TP': [2, 8, 11]}}" ] }, - "execution_count": 55, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" } @@ -1926,7 +1967,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 59, "metadata": {}, "outputs": [ { @@ -1937,7 +1978,7 @@ " [0, 2, 3]])" ] }, - "execution_count": 56, + "execution_count": 59, "metadata": {}, "output_type": "execute_result" } @@ -1948,7 +1989,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 60, "metadata": {}, "outputs": [ { @@ -1959,7 +2000,7 @@ " [0. , 0.4, 0.6]])" ] }, - "execution_count": 57, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } @@ -1970,7 +2011,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 61, "metadata": {}, "outputs": [ { @@ -1980,7 +2021,7 @@ " [0. , 1. ]])" ] }, - "execution_count": 58, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } @@ -2044,7 +2085,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 62, "metadata": {}, "outputs": [ { @@ -2121,7 +2162,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 63, "metadata": {}, "outputs": [], "source": [ @@ -2133,22 +2174,22 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 61, + "execution_count": 64, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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", + "image/png": "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\n", "text/plain": [ "
    " ] @@ -2165,22 +2206,22 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 62, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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", + "image/png": "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\n", "text/plain": [ "
    " ] @@ -2197,22 +2238,22 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 63, + "execution_count": 66, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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", + "image/png": "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\n", "text/plain": [ "
    " ] @@ -2229,22 +2270,22 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 64, + "execution_count": 67, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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", + "image/png": "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\n", "text/plain": [ "
    " ] @@ -2261,22 +2302,22 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 65, + "execution_count": 68, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUcAAAEWCAYAAAD1m1U5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3XmcFMX9//HXexdFVBB0QU4BFTWeqEg8olEjCKJo4n2j8efXKyTxiJJ4BY1n4pWgEQ3etwkRBYN4YNR4sCiigAriwbKgnApy735+f1TP0js7Mzuws7vM7Of5ePSD6erq6upZ9rPVXdVdMjOcc85VV9TYFXDOuQ2RB0fnnEvBg6NzzqXgwdE551Lw4Oiccyl4cHTOuRQ8OOaApBaSnpf0naRn6lDOqZJeymXdGoOkFyWduZ77tpX0qaRNcl2v+iBpkKQ3Y+tLJW2b42OMl3RO9HmgpCdzWb5LrUkFR0mnSCqN/gPPiX6Jf5KDoo8Dtga2MrPj17cQM3vMzPrmoD7VSDpYkkn6V1L6HlH6+CzLuVbSo7XlM7P+ZvbQelb3CuABM1sRHXO8pBWSusTqcZikL9ez/HplZpub2cx6LH8UsKuk3evrGC5oMsFR0sXAHcANhEC2DXA3cHQOiu8KfGZma3JQVn2ZB+wvaatY2pnAZ7k6gIL1/j8lqXlUp+QA/ANwVV3qFjtGcS7KaWRPAOc2diUKnpkV/AJsASwFjs+QpzkheJZHyx1A82jbwUAZcAnwLTAHOCva9kdgFbA6OsYvgWuBR2NldwMMaBatDwJmAkuAL4BTY+lvxvbbH5gAfBf9u39s23jgOuCtqJyXgJI055ao/9+BC6O04ijtamB8LO+dwCzge2AicGCU3i/pPD+M1eNPUT2WA9tHaedE2+8Bno2VfzPwCqAU9TwImJGUNh64JjrH7aO0w4AvY3l+FOVbDEwBBsa2PRjVYQwhyB4Wpd0NvBidy1tA++hnvgj4BNgzVsYVwOdRHaYCP49tS/6ZWfQddIzKTizLAIvlOxuYFh1vLNA1tq1PVIfvgL8Brye+z2j7AcAXjf17VehLU2k57gdsAozMkOcPwL5AT2APoDdwZWx7e0KQ7UQIgMMktTGzawit0acsXFL9I1NFJG0G3AX0N7OWhAA4KUW+LYHRUd6tgNuA0Uktv1OAs4B2wMbApZmODTwMnBF9PpwQSMqT8kwgfAdbAo8Dz0jaxMz+k3See8T2OZ3QkmkJfJVU3iXA7tG9uQMJ392ZFv2WJ9kN+DRF+mzgPsIfnWokbQQ8T/jj0A74FfCYpB1j2U4hBPCWQOL+4AmEn28JsBJ4G3g/Wn+W8H0nfA4cSPj5/xF4VFKHFPWsYmbl0fe0uZltTvi/92RU52OA3wO/ANoCbxBag0gqAf4Zq9vnhGAYNw3oJqlVpjq4umkqwXErYL5lvuw9FRhqZt+a2TzCL8Hpse2ro+2rzWwMoTWwY4pyslFJuG/UwszmmNmUFHkGANPN7BEzW2NmTxBaE0fF8jxgZp+Z2XLgaUJQS8vM/gdsGQWOMwjBMjnPo2a2IDrmXwgt6trO80EzmxLtszqpvGXAaYRg8yjwKzMrS1NOa0LrLJUbgaMk7ZKUvi+wOXCTma0ys1eBF4CTY3meM7O3zKzSonuZwEgzmxitjwRWmNnDZlYBPAXsGTuHZ6JgV2lmTwHTCX88syLpcmAnQmsR4P+AG81sWvR/8gagp6SuwBHAVDN7Nvou7wDmJhWZ+I5aZ1sHt+6aSnBcAJRIapYhT0eqt3q+itKqykgKrssIv5TrxMx+AE4EzgPmSBotaacs6pOoU6fYevyXJtv6PAJcBBxCipa0pEskTYt63hcTWksltZQ5K9NGM3uPcBtBhCCeziJC6y5VGfMIl5hDkzZ1BGaZWWUsLfl7SlW/b2Kfl6dYr/ouJZ0haZKkxdF3siu1fyeJffsDvwaOif6IQbhHfWesvIWE76ZT4nwS+0ct7OT6J76jxdnUwa2fphIc3wZWAMdkyFNO+E+bsA01Lzmz9QOwaWy9fXyjmY01sz5AB0Jr8L4s6pOo0+z1rFPCI8AFwJioVVcluuy9nHDJ2cbMWhPueylR9TRlZny1k6QLCS3QcuB3GbJOBnbIsP1WQlDfO5ZWDnRJ6ghK/p7W+9VTUWvuPsIflK2i7+Rj1n4nmfbdEXgIOMHM4gFuFvB/ZtY6trSIWvZzgHjPvOLrkR8R7rl+v77n5WrXJIKjmX1H6HgYJukYSZtK2khSf0m3RNmeAK6MxtmVRPlrHbaSxiTgIEnbSNoCGJLYIGnraKzaZoR7XUuBihRljAF2iIYfNZN0IrAz4ZJxvZnZF8BPCfdYk7UE1hB6tptJuhqI39f6hnCvK+v/N5J2AK4nXFqfDvxOUrrL//eA1pI6pdpoZouBv1A9wL5L+GP0u+hnejDh1kOuxgJuRgiu8wAknUVoOWYU3Q98DrjSzN5M2vx3YEjiFoGkLSQlhoCNBnaR9IvoSmcwSX9cCT+/F9fzfFyWmkRwBDCz24CLCTe65xH+el8E/DvKcj1QSmi9fES4OX/9eh5rHOG+1WRCj288oBUROinKCZdTPyW05JLLWAAcGeVdQAgIR5rZ/PWpU1LZb5pZqlbxWMIv3WeES9MVVL+kSwxwXyDp/dqOE/1yPwrcbGYfmtl0QkfEI9GwneR6rSL0JJ+Wodg7if0xifYZCPQH5hN6oc8ws09qq182zGwqISC/TfjjsBuhd7s2exHu1d4WjatdKmlpVOZIQq/9k5K+J7RE+0fb5gPHAzcRfu49UhzvZODeOp6aq4VSdxo61zgkJXpv94zdo3MRSUcBp5vZCY1dl0LnwdE551JoMpfVzrn8Ialf9Iz9DElXpMlzgqSpkqZIejyWfqak6dFyZix9b0kfRWXeFXV2pa+DtxydcxuS6BHPzwhPCpURHkw4Obr/m8jTgzAs7FAzWySpnZl9Gz08UQr0InSkTQT2jvK8RxhW9Q6hw/MuM0vbseUtR+fchqY34THSmVGH25PUfAfC/wOGmdkiADP7Nko/HBhnZgujbeOAftETTa3M7O1o7OjDZB7aR6ZB0RuETSRr6TE8r3Td018Yk0++/Ppr5s9fUOu4zUy6qJmtyHI46XwqpxBGQiQMN7PhsfVOVB8lUQb8OKmYHQAkvUV4T8C10SOuqfbtFC1lKdLT2uCDY0uKOLbaeGq3ofv7m+MbuwpuHfT6ycF1LmMFxrFsllXee1mywsx6ZciSKlAnR95mhGFOBwOdgTck7Zph32zKrMabZM65OhMhmGSzZKGM6k8Fdabm02plhGfmV0cPNnxKCJbp9i2LPmcqsxoPjs65OhPQTMpqycIEoIek7pI2Bk4CRiXl+TfhUdLEm4x2IDy/PxboK6mNpDZAX2Csmc0BlkjaN+qlPoPwBFNaG/xltXMuPxRle9eylluTZrZG0kWEQFcMjDCzKZKGAqUW3oaeCIJTCU9MXRY9VYak6wgBFsKbtBZGn88nPIHVgvAkWMZHMD04OudyIpeXodFrAcckpV0d+2yEx4EvTrHvCGBEivRSsnguPsGDo3OuzoQoyu6SOW94cHTO5UShdWB4cHTO1ZlYh3uOecKDo3Ou7gTFflntnHPVJcY5FhIPjs65nPDLauecS8Fbjs45lyR0yBRW09GDo3OuzsLjg41di9zy4Oicywm/rHbOuRSKap/KO694cHTO1ZkPAnfOuTT8sto555JI3nJ0zrmUsnyRbd7w4OicqzN/fNA559Lwy2rnnEsiVHBDeQqtJeycayRFym7JhqR+kj6VNEPSFSm2D5I0T9KkaDknSj8kljZJ0gpJx0TbHpT0RWxbz0x18Jajc67OBBTnqOEoqRgYBvQhTKk6QdIoM5ualPUpM7sonmBmrwE9o3K2BGYAL8WyXGZmz2ZTD285Oudyoii6tK5tyUJvYIaZzTSzVcCTwNHrUaXjgBfNbNl67OvB0TlXd8rykjrLy+pOwKzYelmUluxYSZMlPSupS4rtJwFPJKX9KdrndknNM1XCg6NzLieKslyAEkmlseXcpKJShdDk2a6fB7qZ2e7Ay8BD1QqQOgC7Eea3ThgC7ATsA2wJXJ7pfPyeo3MuJ9bhluN8M+uVYXsZEG8JdgbK4xnMbEFs9T7g5qQyTgBGmtnq2D5zoo8rJT0AXJqpkt5ydM7VWeJlt9ksWZgA9JDUXdLGhMvjUdWOF1qGCQOBaUllnEzSJXViH0kCjgE+zlQJbzk653IiVy0tM1sj6SLCJXExMMLMpkgaCpSa2ShgsKSBwBpgITAosb+kboSW5+tJRT8mqS0hlk8CzstUDw+OzrmcyOUQcDMbA4xJSrs69nkI4R5iqn2/JEUHjpkdui518ODonMsJ+YsnnHOuOpHbluOGwIOjcy4nCq1314Ojcy4nCuyq2oOjc67uwvscCys6enB0zuVEYYVGD47OuRzxl90651wNQgXWdvTg6JyrMx/K45xzqfjUrM45l5r3VjvnXBK/rHbOuTR8ELhzzqVQYLHRg6NzLjd8KI9zziXJ5dSsGwoPjs65nCiw2OjB0TmXG4V2WV1or2Db4Ozc52Cu/eB1hk5+k8MvuTBlnr1/cSTXlL7K1RNe4ewH/tbANXTJprz0Gtf0/ClX7fYT/vPnYWnzTRw5mvM268JX73/YgLXbcEnZLfmi3lqOkpaa2eZJaecBFwIVwFLgXDObWl91aGwqKuLk267nzqNOYdHsOQx5YzSTR7/EnE+mV+Vpt113Dr/0Im497OcsW/wdLdtu1Yg1dpUVFTxx8ZX8+vnHadOpAzceeCS7D+hDxx/tUC3fiiVLee2eEXTfZ89GqumGJbyyLIflSf2AOwkTbN1vZjclbR8E3ArMjpL+Zmb3R9sqgI+i9K/NbGCU3h14kjBn9fvA6Wa2Kl0dGrrl+LiZ7WZmPYFbgNsa+PgNqluvnnw780vmf/k1FatXM+HZ59j9yL7V8vzkrFN4/d6HWLb4OwCWzFuQqijXQL4snUS7bbvRtntXmm28MfscN5DJL7xUI9+ooX+m72/Pp9kmzRuhlhsmZbnUWo5UDAwD+gM7AydL2jlF1qfMrGe03B9LXx5LHxhLvxm43cx6AIuAX2aqR4MGRzP7Pra6GWANefyG1qZjBxaVzalaXzx7Lm06dKiWp9323dm6x7Zc9vJIfvfaKHbuc3AD19LFLSqfS5vOHavWW3fqwKI5c6vl+XrSxyyaXc7u/Q9r6Opt0HI4b3VvYIaZzYxadk8CR9elbtFc1YcCz0ZJDxHmrk6rwe85SrpQ0ueEluPgNHnOlVQqqXRFPsfPFP8PzKqfT1GzZrTbrjt/6Xc8/xh0IacPu5UWW7RqoAq6Gqzm/7f4rHqVlZU8c8UfOfbGqxqyVhu8bFuN0TdZkvj9jpZzk4rrBMyKrZeRYqpV4FhJkyU9K6lLLH2TqNx3JCUC4FbAYjNbU0uZVRq8t9rMhgHDJJ0CXAmcmSLPcGA4QFsV5210XDR7Dm06r20ptu7UnsVzq7dCFs+ewxcT3qdyzRoWfDWLb6Z/TrvtuvtN/kbSplMHFpWVV60vnj2H1u23rlpfuWQp5VM/5bZ+JwDw/TfzuPv4s7ngmRF03WuPBq/vBkNal6lZ55tZr0ylpUhLjgPPA0+Y2cqoL+MhQssQYBszK5e0LfCqpI+A76kpY2xpzN7qJ6mlWZvvvpr4Ie22685WXbtQvNFG7HPc0UwePa5ankkvjGWHg/YHYLOt2tBu+22Z/+VXjVFdB3Tdew++/TzcJ16zahUTnh3F7gP6VG1vsUUr/vL1ZG6Y9jY3THub7r339MAYKVJ2SxbKgHhLsDNQHs9gZgvMbGW0eh+wd2xbefTvTGA8sCcwH2gtKdEgrFFmsgZtOUrqYWaJrtoBwPRM+fNdZUUFT11yFYOfe4yi4iL+9/BTzJn2GUddeSlfvf8hk8eMY+q48ez8s4O4pvRVKisr+dcfrueHhYsbu+pNVnGzZpz4l+u46+jTqKyoYP8zTqTjzjsy6ro/03Wv3dljQN/aC2milLsXOk4AekS9y7OBk4BTqh1L6mBmiRv6A4FpUXobYFnUoiwBDgBuMTOT9BpwHKFhdibwXMbzSb4HliuSKqkemW8DugKHAasJvUUXmdmUTOW0VbEdy6b1UkdXP/7+Q1ljV8Gtg14/OZjS9z+oU2TbpXlze6J9h9ozAnt8/dXEWi6rkXQEcAdhKM8IM/uTpKFAqZmNknQjISiuARYC55vZJ5L2B+4FKglXxneY2T+iMrdl7VCeD4DTYq3PGuqt5WhmPsDcuSZkHe451srMxgBjktKujn0eAgxJsd//gN3SlDmT0BOeFX980DmXE/n09Es2PDg653Iily3HDYEHR+dcnQlvOTrnXE0i26df8oYHR+dcDoiiApub1YOjc67OBKjAxqd4cHTO1Z28Q8Y551IqsNjowdE5lxvecnTOuRQKLDZ6cHTO1Z0Exd5b7ZxzNflltXPOpVBgsdGDo3Ou7grx8cFah21KukVSK0kbSXpF0nxJpzVE5ZxzeUJCRdkt+SKbMe19o1kDjyS8vnwH4LJ6rZVzLu8UFymrJV9kc1m9UfTvEYQJbRYW2o1X51zdFOJldTbB8XlJnwDLgQsktQVW1G+1nHP5ptAaTbVeVpvZFcB+QC8zWw0so44TbDvnCoxCyzGbJavipH6SPpU0Q9IVKbYPkjRP0qRoOSdK7ynpbUlTojmtT4zt86CkL2L79MxUh1pbjpI2BS4EtgHOBToCOwIvZHeazrmmIFctR0nFwDCgD6GfY4KkUWY2NSnrU2Z2UVLaMuAMM5suqSMwUdJYM0tM6XmZmT2bTT2y6ZB5AFgF7B+tlwHXZ1O4c67pyGHLsTcww8xmmtkqwoyBWV2tmtlniemfo/mrvwXars/5ZBMctzOzWwjTqWJmywn3X51zDghBr6hYWS1AiaTS2HJuUnGdgFmx9bIoLdmx0aXzs5K61KyTegMbA5/Hkv8U7XO7pOaZzimb4LhKUgvAogNuB6Sd69U51xQJKbsFmG9mvWLL8BqF1WRJ688D3cxsd+Bl4KFqBUgdgEeAs8ysMkoeAuwE7EOYu/ryTGeUTXC8BvgP0EXSY8ArwO+y2M8515QUKbuldmVAvCXYGSiPZzCzBWaWaKTdB+yd2CapFTAauNLM3ontM8eClYTbhRnnsK61Q8bMxkl6H9iXENF/bWbza9vPOdfE5G4ozwSgh6TuwGzgJOCU6odSBzObE60OBKZF6RsDI4GHzeyZVPsoNF+PAT7OVIlsHh88AFhhZqOB1sDvJXXN4gSdc01FNE1ClpfVGZnZGuAiYCwh6D1tZlMkDZU0MMo2OBqu8yEwGBgUpZ8AHAQMSjFk5zFJHwEfASXU0rGczSDwe4A9JO1BeGxwBPAw8NMs9nXONQmC4tzNsGVmY4AxSWlXxz4PIdxDTN7vUeDRNGUeui51yOZs1piZEbrS7zKzO4GW63IQ51xhkyi4F09k03JcImkIcBpwUDRAc6Na9nHONTVN7fFB4ETC0J1fmtlcwnijW+u1Vs65vNMkW47AnWZWIWkHwjihJ+q3Ws65vNMEW47/BZpL6kQY43gW8GB9Vso5l2eU5RjHPGo5ZhMcZWbLgF8AfzWznwO71G+1nHP5RsVFWS35IqvgKGk/4FTCqHOA4vqrknMu7yTedpurd5ZtALK55/hrwniikdFAzG2B1+q3Ws65fKP8aRRmJZvHB/9LuO+YWJ9JGJHunHNr5VGrMBvZvOy2LeFFE7sAmyTS13W0uXOugCm/hulkI5uG8GPAJ0B34I/Al4QHw51zbq0Cu+eYTXDcysz+Aaw2s9fN7GzCG3qccw6I4l6B9VZn0yGzOvp3jqQBhPeqda6/Kjnn8lKBXVZnExyvl7QFcAnwV6AV8Nt6rZVzLs/k1yVzNrLprU7MMvgdcEj9Vsc5l68Kbd7qtMFR0l+pOW9DFTPz4TzOuUA0qcvq0garhXMu7+VTZ0s2MgXHp4CWZjYvniipHfB9vdbKOZdf8myYTjYyhfq7gANTpPcBbq+f6jjn8lUu3+coqZ+kTyXNkHRFiu2DJM2LzRNzTmzbmZKmR8uZsfS9JX0UlXmXarlJmik4/sTM/pWcaGaPESawcc65tXI0CDyabWAY0B/YGThZ0s4psj5lZj2j5f5o3y0J00n/mDD16jWS2kT57wHOBXpES79M9cgUHDOdRWHdXHDO1U2iQyY373PsDcwws5lmtgp4kjCHVTYOB8aZ2UIzWwSMA/pJ6gC0MrO3ozmxHiZMz5pWpnuO30rqbWbvxRMl7QPMS7NPznXddUfuHvlwQx3O5cDTnXZo7Cq4dbBoycKclLMOQ3lKJMU7fIeb2fDYeidgVmy9jNASTHaspIOAz4DfmtmsNPt2ipayFOlpZQqOlwFPS3oQmBil9QLOIEyy7ZxzkXWamnW+mfXKXFgNycMKnweeMLOVks4DHgIOzbBvNmVWk/ZsohZj76jQQdEi4Mdm9m6mQp1zTUxuX3ZbBnSJrXcmPLZcxcwWmNnKaPU+YO9a9i2j+mPPNcpMlvEJGTP7lnBz0znnMsvdUJ4JQA9J3YHZhCvVU6ofSh3MbE60OhCYFn0eC9wQ64TpCwwxs4WSlkjaF3iXcAX810yVyObZauecq4WgKDf9tGa2RtJFhEBXDIyIZiEYCpSa2ShgsKSBwBpgIeHKligIXsfa1yoONbPETdXzCZMDtgBejJa0PDg653Ijh4PAzWwMMCYp7erY5yGE6VtS7TsCGJEivRTYNds6eHB0ztVd4p5jAcn04onnyfziiYH1UiPnXB4SFBfWpKSZWo5/brBaOOfyX1NpOZrZ6w1ZEedcHmtKl9UJknoANxKecYzPPrhtPdbLOZdvCiw4ZtP3/gDhge01hDeBPww8Up+Vcs7lm2goTzZLnsimpi3M7BVAZvaVmV1LeEzHOecCUXDBMZuhPCskFQHTo4GZs4F29Vst51zeaYKX1b8BNgUGE55fPB04M+MezrkmRQgVFWW15ItsZh9MPIazFDirfqvjnMtbBdZyzKa3+jVSDAY3M7/v6JwLmuJQHuDS2OdNgGMJPdfOObdWUwuOZjYxKektST5A3DkX07QeHwSqJqxJKCJ0yrSvtxo55/JPE72snsja14yvAb4AflmflXLO5aEmGBx/ZGYr4gmSmtdTfZxzeSl3L7vdUGRzNv9LkfZ2rivinMtzuZtDZoOQ6X2O7QlTF7aQtCdrZ+9qRRgU7pxzQRO753g4YV6GzsBfWBscvwd+X7/Vcs7ll9z2VkvqB9xJmEPmfjO7KU2+44BngH3MrFTSqYRppRN2B/Yys0mSxgMdgOXRtr7RJIIpZXqf40PAQ5KONbN/rsN5Oeeaohy1HCUVA8OAPoQpVSdIGmVmU5PytSQ81lw1VbSZPQY8Fm3fDXjOzCbFdjs1mkumVtncc9xbUutYhdpIuj6bwp1zTURu563uDcwws5lmtgp4Ejg6Rb7rgFuAFSm2AZwMPLEeZwNkFxz7m9nixIqZLQKOWN8DOucK0Tq9z7FEUmlsOTepsE7ArNh6WZS29mihH6SLmb2QoVInUjM4PiBpkqSrpMyROpuhPMWSmpvZyqhSLQAfyuOcqy77y+r5ZtYrU0kp0qre7xC9QvF2ormqU1dFPwaWmdnHseRTzWx2dDn+T8Ibxh5OV0Y2wfFR4BVJD0QVPDtTgc65JkhAUc46ZMqALrH1zkB5bL0lYf7p8VHjrz0wStLA2P3Ek0hqNZrZ7OjfJZIeJ1y+r39wNLNbJE0GDiN8BdeZ2dja9nPONSWCopwN5ZkA9JDUnfBy7ZOAUxIbzew7oKTqyKEX+tJEYIxalscDB8XyNANam9l8SRsBRwIvZ6pENi1HzOw/wH+igxwgaZiZXZjNvs65JkK5eULGzNZEsw6MJQzlGWFmUyQNBUrNbFQtRRwElJnZzFhac2BsFBiLCYHxvkyFZBUcJfUk9PycSHi2+l/Z7Oeca0JyOAjczMYAY5LSrk6T9+Ck9fHAvklpPxBempO1TE/I7EBozp4MLACeIkyydci6HMA51wSo8J6tztRy/AR4AzjKzGYASPptg9TKOZd/CuzxwUyh/lhgLvCapPsk/YzUXezOORd6q7NZ8kTa4GhmI83sRGAnYDzwW2BrSfdI6ttA9XPO5QOt0yDwvFBrTc3sBzN7zMyOJIw3mgRcUe81c87llwJ7Zdk6hXEzW2hm9/rMg865GlSU3ZInshrK45xzGSmng8A3CB4cnXO5kUedLdnw4OicywHl1SVzNjw4OufqTvhltXPOpZRHPdHZ8ODonMsNv6x2zrkk3lvtnHNpeG+1c84l895q55yryXurnXMuDW85Nl1T/vsez1z/N6yikv1POILD/++UlPnef/F17h/8Ry7/1z103W1Hpr1Zyr//fB8Vq9dQvFEzfnH5/7HjfnsBMOH5Vxj798dBonW7rRj059+z+ZZb8MJdD/LW06Np2SZMGT7wkl+y68H78t5zL/Py/U9VHWv2pzO54t/30mXn7ev/C8hD7Q8+kJ5D/4CKivniiWf4ZNjwatu7nfBzdr/ycpbP/QaAGQ88yhdPPEPb/X9Mz2t/X5Wv1Xbb8vYFv6V87MtsP+g0epxzJi27d+Xfu/6YVYsWVSuzzR678bPnn+ad839D2eixbNqpI/vf/zdUXExRs2bMeOARPn/kyfo/+YbmQ3mapsqKCp669k4GP3grrdu35eZjz2f3Q/enQ49u1fKtWLqM8Q//i257/KgqbfM2W3D+vX+i9dYllH/2BX89+3fc+OYzVKyp4Jnrh3H1iw+w+ZZb8K+b72X8oyM5cvAgAA4ddBx9zjmxWvm9jz6M3kcfBoTA+PfzrvLAmIaKitjrT9fw+slnsXzOXA4b80/KX3qF76d/Xi3frFFj+ODKodXS5v3vXcb1DfPIb9x6C/q/OY5vXn8TgPkTJlL+8msc8uwjKY+5+x8u5Zvxb1alrfh2Hq8efSKVq1bTbNNNOfzVF5j90qus+ObbXJ9yI8rtm8Al9QPuJMz3cr+Z3ZQm33HAM8A+ZlYqqRswDfg0yvKOmZ0X5d0beBBoQZiC4ddmZsllJhRWO7gefTn5E9p27UTnSfXDAAAPrUlEQVTJNh1ptvFG7D3gUD585X818j1/xwj6/L+T2Kj5xlVpXXbpQeutw2RpHXp0Y83K1axeuQrMwIyVy5djZqxYuozW7UpqlJlO6Quv0usof0FSOlvuuTtLv/yKH76eReXq1Xz93Gg6Hn7YOpfTeUA/5r72XypWrABg8ZRpLCubnTLv9mefzuzRL7FiwYKqtMrVq6lctRqAouYb59U7DbOWmJo1By+7lVQMDAP6AzsDJ0vaOUW+lsBg4N2kTZ+bWc9oOS+Wfg9wLtAjWvplqkcB/pTqx+K582nToV3Vepv2JXz3zbxqeWZNmc6iOfPY7dD90pbzwX/+S+edt2ej5htTvFEzTvrjb/jTgHMYcsDxzJ3xJfsf378q7+uP/pvrjzyHR664hWXfLalR1sTRr7HPkR4c02nRfmuWlc+tWl8+Zy4t2m9dI1/nI/rSd9wo9ht+Fy06tq+xvcvRR/D1cy9kdbxO/frw+SNP1NzWsT19x43iyAmv8+mw+wqs1Qihtzpn73PsDcwws5lmtgp4Ejg6Rb7rgFuAFbXWTuoAtDKzt6PW4sPAMZn2abDgKOlCSe9KekPS2ZJ6SBoiaf8Uec+VVCqpdN7CRamKawQpWt+xH3RlZSXP3nA3xw45P20J5dO/4N+3DueUoWEqnorVa3jjiVEMee5ebnzrGTrttG24/wgcdMpAhr7yKL8fNZxW7bbinzfeU62sLyZNY+MWm9Bxh+45OLcCleoXMekqqnzca4ze9xBe6jOQb9/4H73vuLna9k3atWWLnXZkbuwyOZ2ef/w9k2+4FausrLFteflcXuozkDEH9KHr8T+neclW63Yu+SD7N4GXJH6/o+XcpJI6AbNi62VRWhVJewJdzCzVX63ukj6Q9LqkA2NllmUqs8bp1H7GOdMFOAA4BzgEeJ5w7f9OckYzG25mvcysV9st2zRgFdNr3b4ti+as/Wu/aO58tohdAq/8YRnl07/g9tN+y5UHn8wXk6by9/Ou5KuPwq2PRXPmMfyCazjz1iG07Rp+JrOmzQCgbddOSGKv/gcz84MpALQq2ZKi4mKKior4yQkD+HLyJ9XqM3H0q/TyVmNGy+fMZdNYS7BFh/YsT2qxrVq0uOqSd+ZjT9Nmt12rbe9yVH9mvzgOW7Om1uO12X1X9rv7dga88yqdBxzOXjdcW+MyfsU33/L9Z9Np++Ne63taGyaxLi3H+Ynf72gZnqK0ZFV/1SQVAbcDl6TINwfYxsz2BC4GHpfUqrYyU2mwDhkzS0yt8ClwekMdN1e67rYT3345m/mz5tB66xImjn6Vs277Q9X2Fi0359b3/l21fvupv+UXV5xH1912ZNn3S7n73CEcfck5bLf32l++1luXMGfGVyxZsJiWW7Xmk7cm0n67rgB89+0CtmgXWheTxr1RrYVYWVnJ+y++zsWP31Hfp53XFk76iM27d2OzLp1ZPvcbtjl6AO9ceHG1PJu0a8uKb8PtkY59f8aSGdU7a7Y55kgm3/iXrI43Zr+fVX3e5/abmPPya5SPfZkWHbZm1aLFVKxYyUZbtKJkn734bPgDdTu5DU5OB4GXERpTCZ2B8th6S2BXYLxCsG0PjJI00MxKgZUAZjZR0ufADlGZnTOUWYP3VmepuFkxJ17zK/529uVUVlSw33H96dijO8/f8QBdd9uB3X92QNp9X39kJPO+KufFYY/w4rDQw/mrB2+h9dYlHHHRGdx2ym8o3qgZW3Zsxxk3Xw7AyFvupWza5yCxVaetOeW6tb/UMyZMpnX7tpRs07F+TzrPWUUF7185lIMe/0cYyvPUs3z/2Qx2uXQwiz78mPJxr9Lj7DPo2PdQrKKCVYsX895v1k6PtGnnTrTo0IF5b79XrdweZ5/Ojhf8PzZpW8LhL49izqv/pfSyPyQfvkqr7bdjj6vXlvvp30fw3Sef5f6EG1vuHh+cAPSQ1B2YDZwEVI2bM7PvgKrLNknjgUuj3uq2wEIzq5C0LaHjZaaZLZS0RNK+hA6cM4C/ZqqEMvRkbxB67bazvTfy4cauhlsHz+4zoLGr4NbBkCUL+XzN6joNUuy103b27vAbssrb7KcnTTSzjPcVJB0B3EEYyjPCzP4kaShQamajkvKOZ21wPBYYCqwBKoBrzOz5KF8v1g7leRH4VaahPN5ydM7lRg6fkDGzMYSxiPG0q9PkPTj2+Z/AP9PkKyVcjmfFg6NzLjf8CRnnnEvmb+VxzrmU5C1H55xLIkFRYYWTwjob51zj8fc5OudcCn7P0TnnkiQeHywgHhydczngvdXOOZeatxydcy6JBMU+NatzztXkl9XOOZeCX1Y751wy75BxzrnUvOXonHNJJCgurHBSWGfjnGs0/uIJ55xLxe85OudckgJ8fLCwQr1zrpFEvdXZLNmUJvWT9KmkGZKuyJDvOEkWzQ+DpD6SJkr6KPr30Fje8VGZk6KlXaY6eMvROZcbOWo5SioGhgF9CFOqTpA0ysymJuVrCQwmzCaYMB84yszKJe0KjAU6xbafGs0lUytvOTrn6i7x+GA2S+16AzPMbKaZrQKeBI5Oke864BZgRSLBzD4ws8R81FOATSQ1X59T8uDonMuN3F1WdwJmxdbLqN76Q9KeQBczeyFDOccCH5jZyljaA9El9VWqpXvdL6udc7mR/WV1iaT4pe1wMxseLynFPlXzS0sqAm4HBqWvinYBbgb6xpJPNbPZ0eX4P4HTgYfTleHB0TmXI1kHx/lm1ivD9jKgS2y9M1AeW29JmH96fNT4aw+MkjTQzEoldQZGAmeY2eeJncxsdvTvEkmPEy7f0wZHv6x2zuWAQssxm6V2E4AekrpL2hg4CRiV2Ghm35lZiZl1M7NuwDtAIjC2BkYDQ8zsraraSc0klUSfNwKOBD7OVAkPjs653MhRcDSzNcBFhJ7macDTZjZF0lBJA2vZ/SJge+CqpCE7zYGxkiYDk4DZwH2ZCvLLaudc3YmcPiFjZmOAMUlpV6fJe3Ds8/XA9WmK3Xtd6uDB0TmXG4X1gIwHR+dcrhRWdPTg6JzLgaw7W/KGB0fnXG54cHTOuRT8lWXOOZeKtxydc6667Ad45w0Pjs653PDg6JxzqXhwdM65GnyCLeecq0HeW+2ccyl5y9E555IU4OyDHhydczniwdE552rylqNzzqVQWLHRg6NzLhe8t9o552ryDhnnnEunsIJjYbWDnXONJ3ezDyKpn6RPJc2QdEWGfMdJMkm9YmlDov0+lXT4upaZ4C1H51wO5O6tPJKKgWFAH8Ic1hMkjTKzqUn5WgKDgXdjaTsTpnLdBegIvCxph2hzrWXGecvROZcbKspuqV1vYIaZzTSzVcCTwNEp8l0H3AKsiKUdDTxpZivN7AtgRlRetmVW2eBbjhM/nja/uMc+XzV2PepBCTC/sSvh1kmh/sy61rWAiR9MGqvNWpdkmX0TSaWx9eFmNjy23gmYFVsvA34cL0DSnkAXM3tB0qVJ+76TtG+n6HPGMpNt8MHRzNo2dh3qg6RSM+tVe063ofCfWXpm1i+HxaW6PreqjVIRcDswaB32TdVktRRpVTb44Oica3LKgC6x9c5AeWy9JbArMD56TVp7YJSkgbXsm6nMGvyeo3NuQzMB6CGpu6SNCR0soxIbzew7Mysxs25m1o1wGT3QzEqjfCdJai6pO9ADeK+2MlPxlmPjGV57FreB8Z9ZAzCzNZIuAsYCxcAIM5siaShQamZpg1qU72lgKrAGuNDMKgBSlZmpHjLLeNntnHNNkl9WO+dcCh4cnXMuBQ+ODUDS0hRp50n6SNIkSW9GI/udcxsIv+fYACQtNbPNk9Jamdn30eeBwAU5HivmnKsDbzk2kkRgjGxGLQNSnXMNy4fyNCJJFwIXAxsDhzZydVwK0c/oDGAV8ADwBnAc8LqZ/a8x6+bql7ccG5GZDTOz7YDLgSsbuz4upS7AAcA5wCHA80ALqj+/6wqQ33NsAKnuOSZtLwIWmdkWDVgt51wG3nJsJJJ6xFYHANMbqy7OuZr8nmPD2FRSWWz9NqCrpMOA1cAi4MxGqZlzLiW/rHbOuRT8sto551Lw4Oiccyl4cHTOuRQ8ODrnXAoeHJ1zLgUPjnlCUkX0Bp+PJT0jadM6lHWwpBeizwNrmTS9taQL1uMY1ybNChffdkZ0HlMkTU3kk/SgpOPW9VjO1QcPjvljuZn1NLNdCc/5nhffqGCdf55mNsrMbsqQpTWwzsExHUn9gd8Afc1sF2Av4Ltcle9crnhwzE9vANtL6iZpmqS7gfeBLpL6Snpb0vtRC3NzAEn9JH0i6U3gF4mCJA2S9Lfo89aSRkr6MFr2B24CtotarbdG+S6TNEHSZEl/jJX1B0mfSnoZ2DFN3YcAl5pZOYCZrTCz+5IzSbo6OsbHkoYrmmZO0uCotTlZ0pNR2k+j+k2S9IGklunqKWkzSaOj8/tY0ol1+Dm4AuZPyOQZSc2A/sB/oqQdgbPM7AJJJYQXWBxmZj9Iuhy4WNItwH2EN//MAJ5KU/xdhLfN/FxSMbA5cAWwq5n1jI7flzCjW2/CHMGjJB0E/ECY0W1Pwv+r94GJKY6xa5r0ZH8zs6HRMR8BjiS89OEKoLuZrZTUOsp7KWEipbeiPwYrMtSzLVBuZgOisv15dpeStxzzRwtJk4BS4GvgH1H6V2aWeEPMvsDOwFtR3jOBrsBOwBdmNt3CI1GPpjnGocA9AGZWYWapLnf7RssHhAC4EyEIHQiMNLNl0bsqM057mYVDJL0r6aOoXrtE6ZOBxySdRphdDuAt4DZJg4HWZrYmQz0/Ag6TdLOkA9Oco3PecswjyxOtt4ToSvOHeBIwzsxOTsrXk9y9TFfAjWZ2b9IxfpPlMaYAewOvpj2AtAlwN9DLzGZJuhbYJNo8ADgIGAhcJWkXM7tJ0mjgCOCd6Jn1lPWMyt87ynujpJcSLVTn4rzlWFjeAQ6QtD2ApE0l7QB8AnSXtF2U7+Q0+78CnB/tWyypFbAEaBnLMxY4O3Yvs5OkdsB/gZ9LahHd8zsqzTFuBG6R1D7av3nU4otLBML50XGOi/IWAV3M7DXgd4TOos0lbWdmH5nZzYSW9U7p6impI7DMzB4F/kzoEHKuBm85FhAzmydpEPCEpOZR8pVm9pmkc4HRkuYDbxLu/SX7NTBc0i+BCuB8M3tb0luSPgZeNLPLJP0IeDtquS4FTjOz9yU9BUwCviJ0GqWq4xhJWwMvR50sBoxIyrNY0n2ES+AvgQnRpmLg0eg+oYDbo7zXSTokqvPUqJ4rU9UT2B64VVIl4Y1I52f37bqmxt/K45xzKfhltXPOpeDB0TnnUvDg6JxzKXhwdM65FDw4OudcCh4cnXMuBQ+OzjmXwv8HLnvIe1MLOQEAAAAASUVORK5CYII=\n", "text/plain": [ "
    " ] @@ -2405,7 +2446,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 69, "metadata": {}, "outputs": [ { @@ -2414,7 +2455,7 @@ "False" ] }, - "execution_count": 66, + "execution_count": 69, "metadata": {}, "output_type": "execute_result" } @@ -2425,7 +2466,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 70, "metadata": {}, "outputs": [ { @@ -2434,7 +2475,7 @@ "False" ] }, - "execution_count": 67, + "execution_count": 70, "metadata": {}, "output_type": "execute_result" } @@ -2445,7 +2486,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 71, "metadata": {}, "outputs": [ { @@ -2467,7 +2508,7 @@ " 'Zero-one Loss']" ] }, - "execution_count": 68, + "execution_count": 71, "metadata": {}, "output_type": "execute_result" } @@ -2485,7 +2526,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 72, "metadata": {}, "outputs": [ { @@ -2494,7 +2535,7 @@ "True" ] }, - "execution_count": 69, + "execution_count": 72, "metadata": {}, "output_type": "execute_result" } @@ -2506,7 +2547,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 73, "metadata": {}, "outputs": [ { @@ -2515,7 +2556,7 @@ "False" ] }, - "execution_count": 70, + "execution_count": 73, "metadata": {}, "output_type": "execute_result" } @@ -2624,7 +2665,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 74, "metadata": {}, "outputs": [], "source": [ @@ -2634,7 +2675,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 75, "metadata": {}, "outputs": [], "source": [ @@ -2643,7 +2684,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 76, "metadata": {}, "outputs": [ { @@ -2653,8 +2694,8 @@ "Best : cm2\n", "\n", "Rank Name Class-Score Overall-Score\n", - "1 cm2 0.50278 0.425\n", - "2 cm3 0.33611 0.33056\n", + "1 cm2 0.50278 0.58095\n", + "2 cm3 0.33611 0.52857\n", "\n" ] } @@ -2665,17 +2706,17 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'cm2': {'class': 0.50278, 'overall': 0.425},\n", - " 'cm3': {'class': 0.33611, 'overall': 0.33056}}" + "{'cm2': {'class': 0.50278, 'overall': 0.58095},\n", + " 'cm3': {'class': 0.33611, 'overall': 0.52857}}" ] }, - "execution_count": 74, + "execution_count": 77, "metadata": {}, "output_type": "execute_result" } @@ -2686,7 +2727,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 78, "metadata": {}, "outputs": [ { @@ -2695,7 +2736,7 @@ "['cm2', 'cm3']" ] }, - "execution_count": 75, + "execution_count": 78, "metadata": {}, "output_type": "execute_result" } @@ -2706,7 +2747,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 79, "metadata": {}, "outputs": [ { @@ -2715,7 +2756,7 @@ "pycm.ConfusionMatrix(classes: [0, 1, 2])" ] }, - "execution_count": 76, + "execution_count": 79, "metadata": {}, "output_type": "execute_result" } @@ -2726,7 +2767,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 80, "metadata": {}, "outputs": [ { @@ -2735,7 +2776,7 @@ "'cm2'" ] }, - "execution_count": 77, + "execution_count": 80, "metadata": {}, "output_type": "execute_result" } @@ -2746,7 +2787,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 81, "metadata": {}, "outputs": [], "source": [ @@ -2755,7 +2796,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 82, "metadata": {}, "outputs": [ { @@ -2765,8 +2806,8 @@ "Best : cm3\n", "\n", "Rank Name Class-Score Overall-Score\n", - "1 cm3 0.45357 0.33056\n", - "2 cm2 0.34881 0.425\n", + "1 cm3 0.45357 0.52857\n", + "2 cm2 0.34881 0.58095\n", "\n" ] } @@ -2777,7 +2818,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 83, "metadata": {}, "outputs": [], "source": [ @@ -2786,7 +2827,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 84, "metadata": {}, "outputs": [ { @@ -2796,8 +2837,8 @@ "Best : cm2\n", "\n", "Rank Name Class-Score Overall-Score\n", - "1 cm2 0.46667 0.425\n", - "2 cm3 0.33333 0.33056\n", + "1 cm2 0.46667 0.58095\n", + "2 cm3 0.33333 0.52857\n", "\n" ] } @@ -2808,7 +2849,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 85, "metadata": {}, "outputs": [], "source": [ @@ -2817,7 +2858,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 86, "metadata": {}, "outputs": [ { @@ -2846,7 +2887,7 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 87, "metadata": {}, "outputs": [ { @@ -2854,7 +2895,7 @@ "output_type": "stream", "text": [ "['AUCI', 'DPI', 'MCCI', 'NLRI', 'PLRI', 'QI']\n", - "['SOA1', 'SOA2', 'SOA3', 'SOA4', 'SOA5', 'SOA6']\n" + "['SOA1', 'SOA10', 'SOA2', 'SOA3', 'SOA4', 'SOA5', 'SOA6', 'SOA7', 'SOA8', 'SOA9']\n" ] } ], @@ -2899,7 +2940,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 88, "metadata": {}, "outputs": [ { @@ -2908,7 +2949,7 @@ "0.75" ] }, - "execution_count": 85, + "execution_count": 88, "metadata": {}, "output_type": "execute_result" } @@ -2924,22 +2965,22 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 89, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 86, + "execution_count": 89, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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", + "image/png": "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\n", "text/plain": [ "
    " ] @@ -2980,14 +3021,14 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 90, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\Sepkjaer\\AppData\\Local\\Programs\\Python\\Python35-32\\lib\\site-packages\\pycm-3.7-py3.5.egg\\pycm\\pycm_curve.py:377: RuntimeWarning: The curve axes contain non-numerical value(s).\n" + "C:\\Users\\Sepkjaer\\AppData\\Local\\Programs\\Python\\Python35-32\\lib\\site-packages\\pycm-3.8-py3.5.egg\\pycm\\pycm_curve.py:379: RuntimeWarning: The curve axes contain non-numerical value(s).\n" ] }, { @@ -2996,7 +3037,7 @@ "0.29166666666666663" ] }, - "execution_count": 87, + "execution_count": 90, "metadata": {}, "output_type": "execute_result" } @@ -3012,22 +3053,22 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 91, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 88, + "execution_count": 91, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEjCAYAAADdZh27AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xl0nPV97/H319ZuyZJtSbZWy3jBO3YiAiFpgCamQMoSSBtIchN6ADehhDRJs5Em4bo3t0la2sAJJ9S5UAgngbY0SX24DulNwhJoXDCxcWyDF0AzGnnRLi/ape/9Y6TJWJYt2daj0cx8XufonJl5npn5PpJGH/2e5fszd0dERARgWqILEBGRqUOhICIiMQoFERGJUSiIiEiMQkFERGIUCiIiEqNQEBGRGIWCpBQzqzOzLjM7ZmaHzeyfzSx/aNmzZtY9tKzZzH5sZmVjvN47zGyzmbWbWauZvWRmfzY5WyMy+RQKkoqucfd84G3AhcBfxy27c2jZIiAf+PtTvYiZvRP4FfDc0PpzgE8CV51NUWY2/WyeJzKZFAqSsty9AfgZsHKUZe3AT4E1p3mJvwMedfdvuXuzR73i7n8KYGa3mNkL8U8wMzezRUO3HzGz7w2NNI4DXzazQ/HhYGYfMLMdQ7enmdmXzOwNM2sxs381s9nn+G0QOSMKBUlZZlYFXA1sG2XZHOAGYP8pnpsHvBN48hzL+DDwDaCA6KjkOPCHI5b/aOj2XcD1wKVAOdAGPHCO7y9yRhQKkop+ambtwAtEd/3877hl95tZB9AMFAOfOsVrzCL6+Th4jrX8h7u/6O6D7t4NPA7cDGBmBURD6/Ghdf8c+Iq7R9y9B7gH+KCZZZxjDSLjplCQVHS9uxe5+3x3v8Pdu+KW3eXuhcBqon/4K0/xGm3AIHDaA9HjUD/i/o+AG8wsm+hI5bfuHhpaNh/4ydBB7XbgNWAAmHuONYiMm0JB0pK7/w74X8ADZmajLO8EfgPceJqXOQ7kDd8xs3mjvdWI190NhIgerI7fdQTRALlqKNCGv3KGjo2ITAqFgqSzR4FS4NpTLP8CcIuZfX7oGARmdoGZPTG0/FVghZmtMbMcort7xuNHRI8fvAf4t7jHHwS+YWbzh96rxMyuO5MNEjlXCgVJW+7eC9wPfPUUy/+L6EHhPwTeNLNWYCOweWj5XmAD8AtgH9FjGOPxOHAZ8Ct3b457/D5gE/CfZnYU2AJcdGZbJXJuTJPsiIjIMI0UREQkRqEgIiIxCgUREYlRKIiISIxCQUREYhQKIiISo1AQEZEYhYKIiMQoFEREJEahICIiMQoFERGJUSiIiEiMQkFERGIUCiIiEqNQEBGRGIWCiIjEKBRERCQmI9EFnKni4mKvqalJdBkiIknllVdeaXb3krHWS7pQqKmpYevWrYkuQ0QkqZhZaDzrafeRiIjEKBRERCRGoSAiIjFJd0xhNH19fUQiEbq7uxNdioxTTk4OlZWVZGZmJroUEYmTEqEQiUQoKCigpqYGM0t0OTIGd6elpYVIJMKCBQsSXY6IxAls95GZPWxmjWa28xTLzczuN7P9ZrbDzN52tu/V3d3NnDlzFAhJwsyYM2eORnYiU1CQxxQeAa48zfKrgMVDX+uB753LmykQkot+XiJTU2Ch4O7PA62nWeU64AcetQUoMrOyoOoRCdLgoPNfbzQnugxJUYODg/T29k7KeyXy7KMKoD7ufmTosZOY2Xoz22pmW5uamialuDNVX1/P5ZdfzrJly1ixYgX33XdfbNlf/uVf8vzzzyewuqhXXnmFVatWsWjRIu666y7c/aR1fvjDH7J69WpWr17NJZdcwquvvhpbdt9997Fy5UpWrFjBd77zndjjn//851m6dCmrV6/mAx/4AO3t7QD87ne/45Zbbgl8u6aC/kHn4w+/lOgyJAUdPXqU3bt388Ybb0zK+yUyFEbbf3DyXynA3Te6e62715aUjHmVdkJkZGRw77338tprr7FlyxYeeOABdu/eTWtrK1u2bOE973nPuF+rv78/kBo/+clPsnHjRvbt28e+fft4+umnT1pnwYIFPPfcc+zYsYOvfvWrrF+/HoCdO3fy/e9/n5deeolXX32Vp556in379gGwbt06du7cyY4dO1iyZAl/+7d/C8CqVauIRCKEw+FAtkcklQ0MDBAKhdi7dy8AlZWVk/K+iQyFCFAVd78SOJCgWs5ZWVkZb3tb9Fh5QUEBy5Yto6GhgSeffJIrr/z9oZUNGzZw4YUXsnLlStavXx/7b/2yyy7j7rvv5tJLL+W+++6jqamJG2+8kQsvvJALL7yQF198EYCXXnqJSy65hLVr13LJJZewZ8+ecdV38OBBjhw5wjvf+U7MjI997GP89Kc/PWm9Sy65hFmzZgFw8cUXE4lEAHjttde4+OKLycvLIyMjg0svvZSf/OQnAFxxxRVkZGSc9ByAa665hieeeOKMvpci6c7def3112lubmbevHksX76cgoKCSXnvRIbCJuBjQ2chXQx0uPvBBNYzYerq6ti2bRsXXXQRL774Im9/+9tjy+68805efvlldu7cSVdXF0899VRsWXt7O8899xyf+9zn+PSnP81nPvMZXn75Zf793/+d2267DYClS5fy/PPPs23bNjZs2MDdd98NwJ49e1izZs2oX+3t7TQ0NJzwn0ZlZSUNDQ2n3Y6HHnqIq666CoCVK1fy/PPP09LSQmdnJ5s3b6a+vv6k5zz88MOx5wDU1tby61//+iy+iyLpZ3gvgZlRUVHBsmXLqKioYNq0yftTHdh1Cmb2OHAZUGxmEeDrQCaAuz8IbAauBvYDncCfTdR713zp/07US8XUffP941rv2LFj3HjjjXznO99h5syZHDx4kPhdXs888wzf/va36ezspLW1lRUrVnDNNdcA8KEPfSi23i9+8Qt2794du3/kyBGOHj1KR0cHH//4x9m3bx9mRl9fHwDnn38+27dvP2Vdox0/ON0ZQM888wwPPfQQL7zwAgDLli3ji1/8IuvWrSM/P58LLrggNjoY9o1vfIOMjAw+8pGPxB4rLS3lwIGkHQCKTJrW1lbq6+upqKiguLiYoqKihNQRWCi4+81jLHfgL4J47/H+AZ9ofX193HjjjXzkIx/hhhtuACA3Nzd2Pn53dzd33HEHW7dupaqqinvuueeEc/VnzJgRuz04OMhvfvMbcnNzT3iPT33qU1x++eX85Cc/oa6ujssuuwyIjhTiQyXes88+S2Vl5Qm7dSKRCOXl5aOuv2PHDm677TZ+9rOfMWfOnNjjt956K7feeisAd9999wkjj0cffZSnnnqKX/7ylyeETXd390nbICK/19vbSzgcpqOjgxkzZpCfn5/QetT7aIK4O7feeivLli3js5/9bOzxZcuWsX//foBYABQXF3Ps2DGefPLJU77eFVdcwXe/+93Y/eFRQEdHBxUV0ZO0Hnnkkdjy4ZHCaF9FRUWUlZVRUFDAli1bcHd+8IMfcN111530vuFwmBtuuIHHHnuMJUuWnLCssbExts6Pf/xjbr45mvtPP/003/rWt9i0aRN5eXknPGfv3r2sXLny9N88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", + "image/png": "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PWm9Sy65hFmzZgFw8cUXE4lEAHjttde4+OKLycvLIyMjg0svvZSf/OQnAFxxxRVkZGSc9ByAa665hieeeOKMvpci6c7def3112lubmbevHksX76cgoKCSXnvRIbCJuBjQ2chXQx0uPvBBNYzYerq6ti2bRsXXXQRL774Im9/+9tjy+68805efvlldu7cSVdXF0899VRsWXt7O8899xyf+9zn+PSnP81nPvMZXn75Zf793/+d2267DYClS5fy/PPPs23bNjZs2MDdd98NwJ49e1izZs2oX+3t7TQ0NJzwn0ZlZSUNDQ2n3Y6HHnqIq666CoCVK1fy/PPP09LSQmdnJ5s3b6a+vv6k5zz88MOx5wDU1tby61//+iy+iyLpZ3gvgZlRUVHBsmXLqKioYNq0yftTHdh1Cmb2OHAZUGxmEeDrQCaAuz8IbAauBvYDncCfTdR713zp/07US8XUffP941rv2LFj3HjjjXznO99h5syZHDx4kPhdXs888wzf/va36ezspLW1lRUrVnDNNdcA8KEPfSi23i9+8Qt2794du3/kyBGOHj1KR0cHH//4x9m3bx9mRl9fHwDnn38+27dvP2Vdox0/ON0ZQM888wwPPfQQL7zwAgDLli3ji1/8IuvWrSM/P58LLrggNjoY9o1vfIOMjAw+8pGPxB4rLS3lwIGkHQCKTJrW1lbq6+upqKiguLiYoqKihNQRWCi4+81jLHfgL4J47/H+AZ9ofX193HjjjXzkIx/hhhtuACA3Nzd2Pn53dzd33HEHW7dupaqqinvuueeEc/VnzJgRuz04OMhvfvMbcnNzT3iPT33qU1x++eX85Cc/oa6ujssuuwyIjhTiQyXes88+S2Vl5Qm7dSKRCOXl5aOuv2PHDm677TZ+9rOfMWfOnNjjt956K7feeisAd9999wkjj0cffZSnnnqKX/7ylyeETXd390nbICK/19vbSzgcpqOjgxkzZpCfn5/QetT7aIK4O7feeivLli3js5/9bOzxZcuWsX//foBYABQXF3Ps2DGefPLJU77eFVdcwXe/+93Y/eFRQEdHBxUV0ZO0Hnnkkdjy4ZHCaF9FRUWUlZVRUFDAli1bcHd+8IMfcN111530vuFwmBtuuIHHHnuMJUuWnLCssbExts6Pf/xjbr45mvtPP/003/rWt9i0aRN5eXknPGfv3r2sXLny9N88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\n", "text/plain": [ "
    " ] @@ -3096,7 +3137,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 92, "metadata": {}, "outputs": [ { @@ -3217,22 +3258,26 @@ "108-SOA4(Cicchetti)\n", "109-SOA5(Cramer)\n", "110-SOA6(Matthews)\n", - "111-Scott PI\n", - "112-Standard Error\n", - "113-TN\n", - "114-TNR\n", - "115-TNR Macro\n", - "116-TNR Micro\n", - "117-TON\n", - "118-TOP\n", - "119-TP\n", - "120-TPR\n", - "121-TPR Macro\n", - "122-TPR Micro\n", - "123-Y\n", - "124-Zero-one Loss\n", - "125-dInd\n", - "126-sInd\n" + "111-SOA7(Lambda A)\n", + "112-SOA8(Lambda B)\n", + "113-SOA9(Krippendorff Alpha)\n", + "114-SOA10(Pearson C)\n", + "115-Scott PI\n", + "116-Standard Error\n", + "117-TN\n", + "118-TNR\n", + "119-TNR Macro\n", + "120-TNR Micro\n", + "121-TON\n", + "122-TOP\n", + "123-TP\n", + "124-TPR\n", + "125-TPR Macro\n", + "126-TPR Micro\n", + "127-Y\n", + "128-Zero-one Loss\n", + "129-dInd\n", + "130-sInd\n" ] } ], @@ -3419,7 +3464,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 93, "metadata": {}, "outputs": [ { @@ -3428,7 +3473,7 @@ "{'L1': 3, 'L2': 1, 'L3': 3}" ] }, - "execution_count": 90, + "execution_count": 93, "metadata": {}, "output_type": "execute_result" } @@ -3454,7 +3499,7 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 94, "metadata": {}, "outputs": [ { @@ -3463,7 +3508,7 @@ "{'L1': 7, 'L2': 8, 'L3': 4}" ] }, - "execution_count": 91, + "execution_count": 94, "metadata": {}, "output_type": "execute_result" } @@ -3489,7 +3534,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 95, "metadata": {}, "outputs": [ { @@ -3498,7 +3543,7 @@ "{'L1': 0, 'L2': 2, 'L3': 3}" ] }, - "execution_count": 92, + "execution_count": 95, "metadata": {}, "output_type": "execute_result" } @@ -3524,7 +3569,7 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 96, "metadata": {}, "outputs": [ { @@ -3533,7 +3578,7 @@ "{'L1': 2, 'L2': 1, 'L3': 2}" ] }, - "execution_count": 93, + "execution_count": 96, "metadata": {}, "output_type": "execute_result" } @@ -3566,7 +3611,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 97, "metadata": {}, "outputs": [ { @@ -3575,7 +3620,7 @@ "{'L1': 5, 'L2': 2, 'L3': 5}" ] }, - "execution_count": 94, + "execution_count": 97, "metadata": {}, "output_type": "execute_result" } @@ -3607,7 +3652,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 98, "metadata": {}, "outputs": [ { @@ -3616,7 +3661,7 @@ "{'L1': 7, 'L2': 10, 'L3': 7}" ] }, - "execution_count": 95, + "execution_count": 98, "metadata": {}, "output_type": "execute_result" } @@ -3648,7 +3693,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 99, "metadata": {}, "outputs": [ { @@ -3657,7 +3702,7 @@ "{'L1': 3, 'L2': 3, 'L3': 6}" ] }, - "execution_count": 96, + "execution_count": 99, "metadata": {}, "output_type": "execute_result" } @@ -3689,7 +3734,7 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 100, "metadata": {}, "outputs": [ { @@ -3698,7 +3743,7 @@ "{'L1': 9, 'L2': 9, 'L3': 6}" ] }, - "execution_count": 97, + "execution_count": 100, "metadata": {}, "output_type": "execute_result" } @@ -3730,7 +3775,7 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": 101, "metadata": {}, "outputs": [ { @@ -3739,7 +3784,7 @@ "{'L1': 12, 'L2': 12, 'L3': 12}" ] }, - "execution_count": 98, + "execution_count": 101, "metadata": {}, "output_type": "execute_result" } @@ -3787,7 +3832,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 102, "metadata": {}, "outputs": [ { @@ -3796,7 +3841,7 @@ "{'L1': 0.6, 'L2': 0.5, 'L3': 0.6}" ] }, - "execution_count": 99, + "execution_count": 102, "metadata": {}, "output_type": "execute_result" } @@ -3830,7 +3875,7 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 103, "metadata": {}, "outputs": [ { @@ -3839,7 +3884,7 @@ "{'L1': 1.0, 'L2': 0.8, 'L3': 0.5714285714285714}" ] }, - "execution_count": 100, + "execution_count": 103, "metadata": {}, "output_type": "execute_result" } @@ -3874,7 +3919,7 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 104, "metadata": {}, "outputs": [ { @@ -3883,7 +3928,7 @@ "{'L1': 1.0, 'L2': 0.3333333333333333, 'L3': 0.5}" ] }, - "execution_count": 101, + "execution_count": 104, "metadata": {}, "output_type": "execute_result" } @@ -3918,7 +3963,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 105, "metadata": {}, "outputs": [ { @@ -3927,7 +3972,7 @@ "{'L1': 0.7777777777777778, 'L2': 0.8888888888888888, 'L3': 0.6666666666666666}" ] }, - "execution_count": 102, + "execution_count": 105, "metadata": {}, "output_type": "execute_result" } @@ -3961,7 +4006,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 106, "metadata": {}, "outputs": [ { @@ -3970,7 +4015,7 @@ "{'L1': 0.4, 'L2': 0.5, 'L3': 0.4}" ] }, - "execution_count": 103, + "execution_count": 106, "metadata": {}, "output_type": "execute_result" } @@ -4006,7 +4051,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 107, "metadata": {}, "outputs": [ { @@ -4015,7 +4060,7 @@ "{'L1': 0.0, 'L2': 0.19999999999999996, 'L3': 0.4285714285714286}" ] }, - "execution_count": 104, + "execution_count": 107, "metadata": {}, "output_type": "execute_result" } @@ -4049,7 +4094,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 108, "metadata": {}, "outputs": [ { @@ -4058,7 +4103,7 @@ "{'L1': 0.0, 'L2': 0.6666666666666667, 'L3': 0.5}" ] }, - "execution_count": 105, + "execution_count": 108, "metadata": {}, "output_type": "execute_result" } @@ -4092,7 +4137,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 109, "metadata": {}, "outputs": [ { @@ -4103,7 +4148,7 @@ " 'L3': 0.33333333333333337}" ] }, - "execution_count": 106, + "execution_count": 109, "metadata": {}, "output_type": "execute_result" } @@ -4137,7 +4182,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": 110, "metadata": {}, "outputs": [ { @@ -4146,7 +4191,7 @@ "{'L1': 0.8333333333333334, 'L2': 0.75, 'L3': 0.5833333333333334}" ] }, - "execution_count": 107, + "execution_count": 110, "metadata": {}, "output_type": "execute_result" } @@ -4178,7 +4223,7 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 111, "metadata": {}, "outputs": [ { @@ -4187,7 +4232,7 @@ "{'L1': 0.16666666666666663, 'L2': 0.25, 'L3': 0.41666666666666663}" ] }, - "execution_count": 108, + "execution_count": 111, "metadata": {}, "output_type": "execute_result" } @@ -4231,7 +4276,7 @@ }, { "cell_type": "code", - "execution_count": 109, + "execution_count": 112, "metadata": {}, "outputs": [ { @@ -4240,7 +4285,7 @@ "{'L1': 0.75, 'L2': 0.4, 'L3': 0.5454545454545454}" ] }, - "execution_count": 109, + "execution_count": 112, "metadata": {}, "output_type": "execute_result" } @@ -4251,7 +4296,7 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 113, "metadata": {}, "outputs": [ { @@ -4260,7 +4305,7 @@ "{'L1': 0.8823529411764706, 'L2': 0.35714285714285715, 'L3': 0.5172413793103449}" ] }, - "execution_count": 110, + "execution_count": 113, "metadata": {}, "output_type": "execute_result" } @@ -4271,7 +4316,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": 114, "metadata": {}, "outputs": [ { @@ -4280,7 +4325,7 @@ "{'L1': 0.6521739130434783, 'L2': 0.45454545454545453, 'L3': 0.5769230769230769}" ] }, - "execution_count": 111, + "execution_count": 114, "metadata": {}, "output_type": "execute_result" } @@ -4291,7 +4336,7 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": 115, "metadata": {}, "outputs": [ { @@ -4300,7 +4345,7 @@ "{'L1': 0.6144578313253012, 'L2': 0.4857142857142857, 'L3': 0.5930232558139535}" ] }, - "execution_count": 112, + "execution_count": 115, "metadata": {}, "output_type": "execute_result" } @@ -4373,7 +4418,7 @@ }, { "cell_type": "code", - "execution_count": 113, + "execution_count": 116, "metadata": {}, "outputs": [ { @@ -4382,7 +4427,7 @@ "{'L1': 0.6831300510639732, 'L2': 0.25819888974716115, 'L3': 0.1690308509457033}" ] }, - "execution_count": 113, + "execution_count": 116, "metadata": {}, "output_type": "execute_result" } @@ -4416,7 +4461,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": 117, "metadata": {}, "outputs": [ { @@ -4427,7 +4472,7 @@ " 'L3': 0.17142857142857126}" ] }, - "execution_count": 114, + "execution_count": 117, "metadata": {}, "output_type": "execute_result" } @@ -4459,7 +4504,7 @@ }, { "cell_type": "code", - "execution_count": 115, + "execution_count": 118, "metadata": {}, "outputs": [ { @@ -4468,7 +4513,7 @@ "{'L1': 0.7777777777777777, 'L2': 0.2222222222222221, 'L3': 0.16666666666666652}" ] }, - "execution_count": 115, + "execution_count": 118, "metadata": {}, "output_type": "execute_result" } @@ -4504,7 +4549,7 @@ }, { "cell_type": "code", - "execution_count": 116, + "execution_count": 119, "metadata": {}, "outputs": [ { @@ -4513,7 +4558,7 @@ "{'L1': 'None', 'L2': 2.5000000000000004, 'L3': 1.4}" ] }, - "execution_count": 116, + "execution_count": 119, "metadata": {}, "output_type": "execute_result" } @@ -4558,7 +4603,7 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 120, "metadata": {}, "outputs": [ { @@ -4567,7 +4612,7 @@ "{'L1': 0.4, 'L2': 0.625, 'L3': 0.7000000000000001}" ] }, - "execution_count": 117, + "execution_count": 120, "metadata": {}, "output_type": "execute_result" } @@ -4610,7 +4655,7 @@ }, { "cell_type": "code", - "execution_count": 118, + "execution_count": 121, "metadata": {}, "outputs": [ { @@ -4619,7 +4664,7 @@ "{'L1': 'None', 'L2': 4.000000000000001, 'L3': 1.9999999999999998}" ] }, - "execution_count": 118, + "execution_count": 121, "metadata": {}, "output_type": "execute_result" } @@ -4653,7 +4698,7 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": 122, "metadata": {}, "outputs": [ { @@ -4662,7 +4707,7 @@ "{'L1': 0.4166666666666667, 'L2': 0.16666666666666666, 'L3': 0.4166666666666667}" ] }, - "execution_count": 119, + "execution_count": 122, "metadata": {}, "output_type": "execute_result" } @@ -4696,7 +4741,7 @@ }, { "cell_type": "code", - "execution_count": 120, + "execution_count": 123, "metadata": {}, "outputs": [ { @@ -4705,7 +4750,7 @@ "{'L1': 0.7745966692414834, 'L2': 0.408248290463863, 'L3': 0.5477225575051661}" ] }, - "execution_count": 120, + "execution_count": 123, "metadata": {}, "output_type": "execute_result" } @@ -4737,7 +4782,7 @@ }, { "cell_type": "code", - "execution_count": 121, + "execution_count": 124, "metadata": {}, "outputs": [ { @@ -4748,7 +4793,7 @@ " 'L3': 0.20833333333333334}" ] }, - "execution_count": 121, + "execution_count": 124, "metadata": {}, "output_type": "execute_result" } @@ -4789,7 +4834,7 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": 125, "metadata": {}, "outputs": [ { @@ -4800,7 +4845,7 @@ " 'L3': 0.21006944444444442}" ] }, - "execution_count": 122, + "execution_count": 125, "metadata": {}, "output_type": "execute_result" } @@ -4845,7 +4890,7 @@ }, { "cell_type": "code", - "execution_count": 123, + "execution_count": 126, "metadata": {}, "outputs": [ { @@ -4854,7 +4899,7 @@ "{'L1': 0.6, 'L2': 0.25, 'L3': 0.375}" ] }, - "execution_count": 123, + "execution_count": 126, "metadata": {}, "output_type": "execute_result" } @@ -4896,7 +4941,7 @@ }, { "cell_type": "code", - "execution_count": 124, + "execution_count": 127, "metadata": {}, "outputs": [ { @@ -4905,7 +4950,7 @@ "{'L1': 1.2630344058337937, 'L2': 0.9999999999999998, 'L3': 0.26303440583379367}" ] }, - "execution_count": 124, + "execution_count": 127, "metadata": {}, "output_type": "execute_result" } @@ -4962,7 +5007,7 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 128, "metadata": {}, "outputs": [ { @@ -4971,7 +5016,7 @@ "{'L1': 0.25, 'L2': 0.49657842846620864, 'L3': 0.6044162769630221}" ] }, - "execution_count": 125, + "execution_count": 128, "metadata": {}, "output_type": "execute_result" } @@ -5035,7 +5080,7 @@ }, { "cell_type": "code", - "execution_count": 126, + "execution_count": 129, "metadata": {}, "outputs": [ { @@ -5044,7 +5089,7 @@ "{'L1': 0.2643856189774724, 'L2': 0.5, 'L3': 0.6875}" ] }, - "execution_count": 126, + "execution_count": 129, "metadata": {}, "output_type": "execute_result" } @@ -5088,7 +5133,7 @@ }, { "cell_type": "code", - "execution_count": 127, + "execution_count": 130, "metadata": {}, "outputs": [ { @@ -5097,7 +5142,7 @@ "{'L1': 0.8, 'L2': 0.65, 'L3': 0.5857142857142856}" ] }, - "execution_count": 127, + "execution_count": 130, "metadata": {}, "output_type": "execute_result" } @@ -5139,7 +5184,7 @@ }, { "cell_type": "code", - "execution_count": 128, + "execution_count": 131, "metadata": {}, "outputs": [ { @@ -5148,7 +5193,7 @@ "{'L1': 0.4, 'L2': 0.5385164807134504, 'L3': 0.5862367008195198}" ] }, - "execution_count": 128, + "execution_count": 131, "metadata": {}, "output_type": "execute_result" } @@ -5189,7 +5234,7 @@ }, { "cell_type": "code", - "execution_count": 129, + "execution_count": 132, "metadata": {}, "outputs": [ { @@ -5198,7 +5243,7 @@ "{'L1': 0.717157287525381, 'L2': 0.6192113447068046, 'L3': 0.5854680534700882}" ] }, - "execution_count": 129, + "execution_count": 132, "metadata": {}, "output_type": "execute_result" } @@ -5256,7 +5301,7 @@ }, { "cell_type": "code", - "execution_count": 130, + "execution_count": 133, "metadata": {}, "outputs": [ { @@ -5265,7 +5310,7 @@ "{'L1': 'None', 'L2': 0.33193306999649924, 'L3': 0.1659665349982495}" ] }, - "execution_count": 130, + "execution_count": 133, "metadata": {}, "output_type": "execute_result" } @@ -5315,7 +5360,7 @@ }, { "cell_type": "code", - "execution_count": 131, + "execution_count": 134, "metadata": {}, "outputs": [ { @@ -5326,7 +5371,7 @@ " 'L3': 0.17142857142857126}" ] }, - "execution_count": 131, + "execution_count": 134, "metadata": {}, "output_type": "execute_result" } @@ -5390,7 +5435,7 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": 135, "metadata": {}, "outputs": [ { @@ -5399,7 +5444,7 @@ "{'L1': 'None', 'L2': 'Poor', 'L3': 'Poor'}" ] }, - "execution_count": 132, + "execution_count": 135, "metadata": {}, "output_type": "execute_result" } @@ -5463,7 +5508,7 @@ }, { "cell_type": "code", - "execution_count": 133, + "execution_count": 136, "metadata": {}, "outputs": [ { @@ -5472,7 +5517,7 @@ "{'L1': 'Poor', 'L2': 'Negligible', 'L3': 'Negligible'}" ] }, - "execution_count": 133, + "execution_count": 136, "metadata": {}, "output_type": "execute_result" } @@ -5536,7 +5581,7 @@ }, { "cell_type": "code", - "execution_count": 134, + "execution_count": 137, "metadata": {}, "outputs": [ { @@ -5545,7 +5590,7 @@ "{'L1': 'None', 'L2': 'Poor', 'L3': 'Poor'}" ] }, - "execution_count": 134, + "execution_count": 137, "metadata": {}, "output_type": "execute_result" } @@ -5612,7 +5657,7 @@ }, { "cell_type": "code", - "execution_count": 135, + "execution_count": 138, "metadata": {}, "outputs": [ { @@ -5621,7 +5666,7 @@ "{'L1': 'Very Good', 'L2': 'Fair', 'L3': 'Poor'}" ] }, - "execution_count": 135, + "execution_count": 138, "metadata": {}, "output_type": "execute_result" } @@ -5690,7 +5735,7 @@ }, { "cell_type": "code", - "execution_count": 136, + "execution_count": 139, "metadata": {}, "outputs": [ { @@ -5699,7 +5744,7 @@ "{'L1': 'Moderate', 'L2': 'Negligible', 'L3': 'Negligible'}" ] }, - "execution_count": 136, + "execution_count": 139, "metadata": {}, "output_type": "execute_result" } @@ -5772,7 +5817,7 @@ }, { "cell_type": "code", - "execution_count": 137, + "execution_count": 140, "metadata": {}, "outputs": [ { @@ -5781,7 +5826,7 @@ "{'L1': 'None', 'L2': 'Moderate', 'L3': 'Weak'}" ] }, - "execution_count": 137, + "execution_count": 140, "metadata": {}, "output_type": "execute_result" } @@ -5826,7 +5871,7 @@ }, { "cell_type": "code", - "execution_count": 138, + "execution_count": 141, "metadata": {}, "outputs": [ { @@ -5837,7 +5882,7 @@ " 'L3': 0.17142857142857126}" ] }, - "execution_count": 138, + "execution_count": 141, "metadata": {}, "output_type": "execute_result" } @@ -5878,7 +5923,7 @@ }, { "cell_type": "code", - "execution_count": 139, + "execution_count": 142, "metadata": {}, "outputs": [ { @@ -5887,7 +5932,7 @@ "{'L1': 2.4, 'L2': 2.0, 'L3': 1.2}" ] }, - "execution_count": 139, + "execution_count": 142, "metadata": {}, "output_type": "execute_result" } @@ -5928,7 +5973,7 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": 143, "metadata": {}, "outputs": [ { @@ -5937,7 +5982,7 @@ "{'L1': -2, 'L2': 1, 'L3': 1}" ] }, - "execution_count": 140, + "execution_count": 143, "metadata": {}, "output_type": "execute_result" } @@ -5980,7 +6025,7 @@ }, { "cell_type": "code", - "execution_count": 141, + "execution_count": 144, "metadata": {}, "outputs": [ { @@ -5991,7 +6036,7 @@ " 'L3': 0.041666666666666664}" ] }, - "execution_count": 141, + "execution_count": 144, "metadata": {}, "output_type": "execute_result" } @@ -6035,7 +6080,7 @@ }, { "cell_type": "code", - "execution_count": 142, + "execution_count": 145, "metadata": {}, "outputs": [ { @@ -6044,7 +6089,7 @@ "{'L1': 0.5833333333333334, 'L2': 0.5192307692307692, 'L3': 0.5589430894308943}" ] }, - "execution_count": 142, + "execution_count": 145, "metadata": {}, "output_type": "execute_result" } @@ -6086,7 +6131,7 @@ }, { "cell_type": "code", - "execution_count": 143, + "execution_count": 146, "metadata": {}, "outputs": [ { @@ -6095,7 +6140,7 @@ "{'L1': 0.36, 'L2': 0.27999999999999997, 'L3': 0.35265306122448975}" ] }, - "execution_count": 143, + "execution_count": 146, "metadata": {}, "output_type": "execute_result" } @@ -6106,7 +6151,7 @@ }, { "cell_type": "code", - "execution_count": 144, + "execution_count": 147, "metadata": {}, "outputs": [ { @@ -6115,7 +6160,7 @@ "{'L1': 0.48, 'L2': 0.34, 'L3': 0.3477551020408163}" ] }, - "execution_count": 144, + "execution_count": 147, "metadata": {}, "output_type": "execute_result" } @@ -6126,7 +6171,7 @@ }, { "cell_type": "code", - "execution_count": 145, + "execution_count": 148, "metadata": {}, "outputs": [ { @@ -6135,7 +6180,7 @@ "{'L1': 0.576, 'L2': 0.388, 'L3': 0.34383673469387754}" ] }, - "execution_count": 145, + "execution_count": 148, "metadata": {}, "output_type": "execute_result" } @@ -6204,7 +6249,7 @@ }, { "cell_type": "code", - "execution_count": 146, + "execution_count": 149, "metadata": {}, "outputs": [ { @@ -6213,7 +6258,7 @@ "{'L1': 0.7745966692414834, 'L2': 0.6324555320336759, 'L3': 0.5855400437691198}" ] }, - "execution_count": 146, + "execution_count": 149, "metadata": {}, "output_type": "execute_result" } @@ -6265,7 +6310,7 @@ }, { "cell_type": "code", - "execution_count": 147, + "execution_count": 150, "metadata": {}, "outputs": [ { @@ -6274,7 +6319,7 @@ "{'L1': 'None', 'L2': 0.6, 'L3': 0.3333333333333333}" ] }, - "execution_count": 147, + "execution_count": 150, "metadata": {}, "output_type": "execute_result" } @@ -6329,7 +6374,7 @@ }, { "cell_type": "code", - "execution_count": 148, + "execution_count": 151, "metadata": {}, "outputs": [ { @@ -6338,7 +6383,7 @@ "{'L1': 0.8576400016262, 'L2': 0.708612108382005, 'L3': 0.5803410802752335}" ] }, - "execution_count": 148, + "execution_count": 151, "metadata": {}, "output_type": "execute_result" } @@ -6393,7 +6438,7 @@ }, { "cell_type": "code", - "execution_count": 149, + "execution_count": 152, "metadata": {}, "outputs": [ { @@ -6402,7 +6447,7 @@ "{'L1': 0.7285871475307653, 'L2': 0.6286946134619315, 'L3': 0.610088876086563}" ] }, - "execution_count": 149, + "execution_count": 152, "metadata": {}, "output_type": "execute_result" } @@ -6445,7 +6490,7 @@ }, { "cell_type": "code", - "execution_count": 150, + "execution_count": 153, "metadata": {}, "outputs": [ { @@ -6454,7 +6499,7 @@ "{'L1': 1.0, 'L2': 0.5, 'L3': 0.6}" ] }, - "execution_count": 150, + "execution_count": 153, "metadata": {}, "output_type": "execute_result" } @@ -6495,7 +6540,7 @@ }, { "cell_type": "code", - "execution_count": 151, + "execution_count": 154, "metadata": {}, "outputs": [ { @@ -6504,7 +6549,7 @@ "{'L1': 0.6, 'L2': 0.3333333333333333, 'L3': 0.5}" ] }, - "execution_count": 151, + "execution_count": 154, "metadata": {}, "output_type": "execute_result" } @@ -6547,7 +6592,7 @@ }, { "cell_type": "code", - "execution_count": 152, + "execution_count": 155, "metadata": {}, "outputs": [ { @@ -6556,7 +6601,7 @@ "{'L1': 0.7745966692414834, 'L2': 0.4082482904638631, 'L3': 0.5477225575051661}" ] }, - "execution_count": 152, + "execution_count": 155, "metadata": {}, "output_type": "execute_result" } @@ -6599,7 +6644,7 @@ }, { "cell_type": "code", - "execution_count": 153, + "execution_count": 156, "metadata": {}, "outputs": [ { @@ -6608,7 +6653,7 @@ "{'L1': 0.42857142857142855, 'L2': 0.1111111111111111, 'L3': 0.1875}" ] }, - "execution_count": 153, + "execution_count": 156, "metadata": {}, "output_type": "execute_result" } @@ -6679,7 +6724,7 @@ }, { "cell_type": "code", - "execution_count": 154, + "execution_count": 157, "metadata": {}, "outputs": [ { @@ -6688,7 +6733,7 @@ "{'L1': 0.8, 'L2': 0.41666666666666663, 'L3': 0.55}" ] }, - "execution_count": 154, + "execution_count": 157, "metadata": {}, "output_type": "execute_result" } @@ -6736,7 +6781,7 @@ }, { "cell_type": "code", - "execution_count": 155, + "execution_count": 158, "metadata": {}, "outputs": [ { @@ -6747,7 +6792,7 @@ " 'L3': 0.10000000000000009}" ] }, - "execution_count": 155, + "execution_count": 158, "metadata": {}, "output_type": "execute_result" } @@ -6867,7 +6912,7 @@ }, { "cell_type": "code", - "execution_count": 156, + "execution_count": 159, "metadata": {}, "outputs": [ { @@ -6878,7 +6923,7 @@ " 'L3': [0.21908902300206645, (0.17058551491594975, 1.0294144850840503)]}" ] }, - "execution_count": 156, + "execution_count": 159, "metadata": {}, "output_type": "execute_result" } @@ -6889,7 +6934,7 @@ }, { "cell_type": "code", - "execution_count": 157, + "execution_count": 160, "metadata": {}, "outputs": [ { @@ -6900,7 +6945,7 @@ " 'L3': [0.21908902300206645, (-0.2769850810763853, 1.0769850810763852)]}" ] }, - "execution_count": 157, + "execution_count": 160, "metadata": {}, "output_type": "execute_result" } @@ -6911,7 +6956,7 @@ }, { "cell_type": "code", - "execution_count": 158, + "execution_count": 161, "metadata": {}, "outputs": [ { @@ -6922,7 +6967,7 @@ " 'L3': [0.14231876063832774, (0.19325746190524654, 0.6804926643446272)]}" ] }, - "execution_count": 158, + "execution_count": 161, "metadata": {}, "output_type": "execute_result" } @@ -6933,7 +6978,7 @@ }, { "cell_type": "code", - "execution_count": 159, + "execution_count": 162, "metadata": {}, "outputs": [ { @@ -6942,7 +6987,7 @@ "[0.14231876063832777, (0.2805568916340536, 0.8343177950165198)]" ] }, - "execution_count": 159, + "execution_count": 162, "metadata": {}, "output_type": "execute_result" } @@ -6953,7 +6998,7 @@ }, { "cell_type": "code", - "execution_count": 160, + "execution_count": 163, "metadata": {}, "outputs": [ { @@ -6962,7 +7007,7 @@ "[0.14231876063832777, (0.30438856248221097, 0.8622781041844558)]" ] }, - "execution_count": 160, + "execution_count": 163, "metadata": {}, "output_type": "execute_result" } @@ -7063,7 +7108,7 @@ }, { "cell_type": "code", - "execution_count": 161, + "execution_count": 164, "metadata": {}, "outputs": [ { @@ -7072,7 +7117,7 @@ "{'L1': 0.25, 'L2': 0.0735, 'L3': 0.23525}" ] }, - "execution_count": 161, + "execution_count": 164, "metadata": {}, "output_type": "execute_result" } @@ -7136,7 +7181,7 @@ }, { "cell_type": "code", - "execution_count": 162, + "execution_count": 165, "metadata": {}, "outputs": [ { @@ -7145,7 +7190,7 @@ "0.6111111111111112" ] }, - "execution_count": 162, + "execution_count": 165, "metadata": {}, "output_type": "execute_result" } @@ -7156,7 +7201,7 @@ }, { "cell_type": "code", - "execution_count": 163, + "execution_count": 166, "metadata": {}, "outputs": [ { @@ -7165,7 +7210,7 @@ "0.5651515151515151" ] }, - "execution_count": 163, + "execution_count": 166, "metadata": {}, "output_type": "execute_result" } @@ -7176,7 +7221,7 @@ }, { "cell_type": "code", - "execution_count": 164, + "execution_count": 167, "metadata": {}, "outputs": [ { @@ -7185,7 +7230,7 @@ "3.0000000000000004" ] }, - "execution_count": 164, + "execution_count": 167, "metadata": {}, "output_type": "execute_result" } @@ -7252,16 +7297,16 @@ }, { "cell_type": "code", - "execution_count": 165, + "execution_count": 168, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0.6805555555555557" + "0.6805555555555555" ] }, - "execution_count": 165, + "execution_count": 168, "metadata": {}, "output_type": "execute_result" } @@ -7272,16 +7317,16 @@ }, { "cell_type": "code", - "execution_count": 166, + "execution_count": 169, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0.606439393939394" + "0.6064393939393938" ] }, - "execution_count": 166, + "execution_count": 169, "metadata": {}, "output_type": "execute_result" } @@ -7292,7 +7337,7 @@ }, { "cell_type": "code", - "execution_count": 167, + "execution_count": 170, "metadata": {}, "outputs": [ { @@ -7301,7 +7346,7 @@ "2.5714285714285716" ] }, - "execution_count": 167, + "execution_count": 170, "metadata": {}, "output_type": "execute_result" } @@ -7312,7 +7357,7 @@ }, { "cell_type": "code", - "execution_count": 168, + "execution_count": 171, "metadata": {}, "outputs": [ { @@ -7321,7 +7366,7 @@ "0.7152097902097903" ] }, - "execution_count": 168, + "execution_count": 171, "metadata": {}, "output_type": "execute_result" } @@ -7402,7 +7447,7 @@ }, { "cell_type": "code", - "execution_count": 169, + "execution_count": 172, "metadata": {}, "outputs": [ { @@ -7411,7 +7456,7 @@ "{'L1': 'None', 'L2': 0.8416212335729143, 'L3': 0.4333594729285047}" ] }, - "execution_count": 169, + "execution_count": 172, "metadata": {}, "output_type": "execute_result" } @@ -7475,7 +7520,7 @@ }, { "cell_type": "code", - "execution_count": 170, + "execution_count": 173, "metadata": {}, "outputs": [ { @@ -7484,7 +7529,7 @@ "{'L1': 2, 'L2': 3, 'L3': 5}" ] }, - "execution_count": 170, + "execution_count": 173, "metadata": {}, "output_type": "execute_result" } @@ -7539,7 +7584,7 @@ }, { "cell_type": "code", - "execution_count": 171, + "execution_count": 174, "metadata": {}, "outputs": [ { @@ -7548,7 +7593,7 @@ "0.35483870967741943" ] }, - "execution_count": 171, + "execution_count": 174, "metadata": {}, "output_type": "execute_result" } @@ -7591,7 +7636,7 @@ }, { "cell_type": "code", - "execution_count": 172, + "execution_count": 175, "metadata": {}, "outputs": [ { @@ -7600,7 +7645,7 @@ "0.34426229508196726" ] }, - "execution_count": 172, + "execution_count": 175, "metadata": {}, "output_type": "execute_result" } @@ -7641,7 +7686,7 @@ }, { "cell_type": "code", - "execution_count": 173, + "execution_count": 176, "metadata": {}, "outputs": [ { @@ -7650,7 +7695,7 @@ "0.16666666666666674" ] }, - "execution_count": 173, + "execution_count": 176, "metadata": {}, "output_type": "execute_result" } @@ -7712,7 +7757,7 @@ }, { "cell_type": "code", - "execution_count": 174, + "execution_count": 177, "metadata": {}, "outputs": [ { @@ -7721,7 +7766,7 @@ "0.39130434782608675" ] }, - "execution_count": 174, + "execution_count": 177, "metadata": {}, "output_type": "execute_result" } @@ -7732,14 +7777,14 @@ }, { "cell_type": "code", - "execution_count": 175, + "execution_count": 178, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\Sepkjaer\\AppData\\Local\\Programs\\Python\\Python35-32\\lib\\site-packages\\pycm-3.7-py3.5.egg\\pycm\\pycm_obj.py:802: RuntimeWarning: The weight format is wrong, the result is for unweighted kappa.\n" + "C:\\Users\\Sepkjaer\\AppData\\Local\\Programs\\Python\\Python35-32\\lib\\site-packages\\pycm-3.8-py3.5.egg\\pycm\\pycm_obj.py:839: RuntimeWarning: The weight format is wrong, the result is for unweighted kappa.\n" ] }, { @@ -7748,7 +7793,7 @@ "0.35483870967741943" ] }, - "execution_count": 175, + "execution_count": 178, "metadata": {}, "output_type": "execute_result" } @@ -7817,7 +7862,7 @@ }, { "cell_type": "code", - "execution_count": 176, + "execution_count": 179, "metadata": {}, "outputs": [ { @@ -7826,7 +7871,7 @@ "0.2203645326012817" ] }, - "execution_count": 176, + "execution_count": 179, "metadata": {}, "output_type": "execute_result" } @@ -7867,7 +7912,7 @@ }, { "cell_type": "code", - "execution_count": 177, + "execution_count": 180, "metadata": {}, "outputs": [ { @@ -7876,7 +7921,7 @@ "(-0.07707577422109269, 0.7867531935759315)" ] }, - "execution_count": 177, + "execution_count": 180, "metadata": {}, "output_type": "execute_result" } @@ -7926,7 +7971,7 @@ }, { "cell_type": "code", - "execution_count": 178, + "execution_count": 181, "metadata": {}, "outputs": [ { @@ -7935,7 +7980,7 @@ "6.6000000000000005" ] }, - "execution_count": 178, + "execution_count": 181, "metadata": {}, "output_type": "execute_result" } @@ -7976,7 +8021,7 @@ }, { "cell_type": "code", - "execution_count": 179, + "execution_count": 182, "metadata": {}, "outputs": [ { @@ -7985,7 +8030,7 @@ "4" ] }, - "execution_count": 179, + "execution_count": 182, "metadata": {}, "output_type": "execute_result" } @@ -8028,7 +8073,7 @@ }, { "cell_type": "code", - "execution_count": 180, + "execution_count": 183, "metadata": {}, "outputs": [ { @@ -8037,7 +8082,7 @@ "0.55" ] }, - "execution_count": 180, + "execution_count": 183, "metadata": {}, "output_type": "execute_result" } @@ -8082,7 +8127,7 @@ }, { "cell_type": "code", - "execution_count": 181, + "execution_count": 184, "metadata": {}, "outputs": [ { @@ -8091,7 +8136,7 @@ "0.5244044240850758" ] }, - "execution_count": 181, + "execution_count": 184, "metadata": {}, "output_type": "execute_result" } @@ -8134,7 +8179,7 @@ }, { "cell_type": "code", - "execution_count": 182, + "execution_count": 185, "metadata": {}, "outputs": [ { @@ -8143,7 +8188,7 @@ "0.14231876063832777" ] }, - "execution_count": 182, + "execution_count": 185, "metadata": {}, "output_type": "execute_result" } @@ -8186,7 +8231,7 @@ }, { "cell_type": "code", - "execution_count": 183, + "execution_count": 186, "metadata": {}, "outputs": [ { @@ -8195,7 +8240,7 @@ "(0.30438856248221097, 0.8622781041844558)" ] }, - "execution_count": 183, + "execution_count": 186, "metadata": {}, "output_type": "execute_result" } @@ -8255,7 +8300,7 @@ }, { "cell_type": "code", - "execution_count": 184, + "execution_count": 187, "metadata": {}, "outputs": [ { @@ -8264,7 +8309,7 @@ "0.37500000000000006" ] }, - "execution_count": 184, + "execution_count": 187, "metadata": {}, "output_type": "execute_result" } @@ -8317,7 +8362,7 @@ }, { "cell_type": "code", - "execution_count": 185, + "execution_count": 188, "metadata": {}, "outputs": [ { @@ -8326,7 +8371,7 @@ "0.34426229508196726" ] }, - "execution_count": 185, + "execution_count": 188, "metadata": {}, "output_type": "execute_result" } @@ -8381,7 +8426,7 @@ }, { "cell_type": "code", - "execution_count": 186, + "execution_count": 189, "metadata": {}, "outputs": [ { @@ -8390,7 +8435,7 @@ "0.3893129770992367" ] }, - "execution_count": 186, + "execution_count": 189, "metadata": {}, "output_type": "execute_result" } @@ -8445,7 +8490,7 @@ }, { "cell_type": "code", - "execution_count": 187, + "execution_count": 190, "metadata": {}, "outputs": [ { @@ -8454,7 +8499,7 @@ "1.4833557549816874" ] }, - "execution_count": 187, + "execution_count": 190, "metadata": {}, "output_type": "execute_result" } @@ -8509,7 +8554,7 @@ }, { "cell_type": "code", - "execution_count": 188, + "execution_count": 191, "metadata": {}, "outputs": [ { @@ -8518,7 +8563,7 @@ "1.5" ] }, - "execution_count": 188, + "execution_count": 191, "metadata": {}, "output_type": "execute_result" } @@ -8582,7 +8627,7 @@ }, { "cell_type": "code", - "execution_count": 189, + "execution_count": 192, "metadata": {}, "outputs": [ { @@ -8591,7 +8636,7 @@ "1.5833333333333335" ] }, - "execution_count": 189, + "execution_count": 192, "metadata": {}, "output_type": "execute_result" } @@ -8646,7 +8691,7 @@ }, { "cell_type": "code", - "execution_count": 190, + "execution_count": 193, "metadata": {}, "outputs": [ { @@ -8655,7 +8700,7 @@ "2.4591479170272446" ] }, - "execution_count": 190, + "execution_count": 193, "metadata": {}, "output_type": "execute_result" } @@ -8712,7 +8757,7 @@ }, { "cell_type": "code", - "execution_count": 191, + "execution_count": 194, "metadata": {}, "outputs": [ { @@ -8721,7 +8766,7 @@ "0.9757921620455572" ] }, - "execution_count": 191, + "execution_count": 194, "metadata": {}, "output_type": "execute_result" } @@ -8778,7 +8823,7 @@ }, { "cell_type": "code", - "execution_count": 192, + "execution_count": 195, "metadata": {}, "outputs": [ { @@ -8787,7 +8832,7 @@ "0.09997757835164581" ] }, - "execution_count": 192, + "execution_count": 195, "metadata": {}, "output_type": "execute_result" } @@ -8859,7 +8904,7 @@ }, { "cell_type": "code", - "execution_count": 193, + "execution_count": 196, "metadata": {}, "outputs": [ { @@ -8868,7 +8913,7 @@ "0.5242078379544428" ] }, - "execution_count": 193, + "execution_count": 196, "metadata": {}, "output_type": "execute_result" } @@ -8911,7 +8956,7 @@ }, { "cell_type": "code", - "execution_count": 194, + "execution_count": 197, "metadata": {}, "outputs": [ { @@ -8920,7 +8965,7 @@ "0.42857142857142855" ] }, - "execution_count": 194, + "execution_count": 197, "metadata": {}, "output_type": "execute_result" } @@ -8963,7 +9008,7 @@ }, { "cell_type": "code", - "execution_count": 195, + "execution_count": 198, "metadata": {}, "outputs": [ { @@ -8972,7 +9017,7 @@ "0.16666666666666666" ] }, - "execution_count": 195, + "execution_count": 198, "metadata": {}, "output_type": "execute_result" } @@ -9044,7 +9089,7 @@ }, { "cell_type": "code", - "execution_count": 196, + "execution_count": 199, "metadata": {}, "outputs": [ { @@ -9053,7 +9098,7 @@ "'Fair'" ] }, - "execution_count": 196, + "execution_count": 199, "metadata": {}, "output_type": "execute_result" } @@ -9113,7 +9158,7 @@ }, { "cell_type": "code", - "execution_count": 197, + "execution_count": 200, "metadata": {}, "outputs": [ { @@ -9122,7 +9167,7 @@ "'Poor'" ] }, - "execution_count": 197, + "execution_count": 200, "metadata": {}, "output_type": "execute_result" } @@ -9190,7 +9235,7 @@ }, { "cell_type": "code", - "execution_count": 198, + "execution_count": 201, "metadata": {}, "outputs": [ { @@ -9199,7 +9244,7 @@ "'Fair'" ] }, - "execution_count": 198, + "execution_count": 201, "metadata": {}, "output_type": "execute_result" } @@ -9263,7 +9308,7 @@ }, { "cell_type": "code", - "execution_count": 199, + "execution_count": 202, "metadata": {}, "outputs": [ { @@ -9272,7 +9317,7 @@ "'Poor'" ] }, - "execution_count": 199, + "execution_count": 202, "metadata": {}, "output_type": "execute_result" } @@ -9344,7 +9389,7 @@ }, { "cell_type": "code", - "execution_count": 200, + "execution_count": 203, "metadata": {}, "outputs": [ { @@ -9353,7 +9398,7 @@ "'Relatively Strong'" ] }, - "execution_count": 200, + "execution_count": 203, "metadata": {}, "output_type": "execute_result" } @@ -9422,7 +9467,7 @@ }, { "cell_type": "code", - "execution_count": 201, + "execution_count": 204, "metadata": {}, "outputs": [ { @@ -9431,7 +9476,7 @@ "'Weak'" ] }, - "execution_count": 201, + "execution_count": 204, "metadata": {}, "output_type": "execute_result" } @@ -9511,9 +9556,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 205, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'Moderate'" + ] + }, + "execution_count": 205, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cm.SOA7" ] @@ -9580,9 +9636,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 206, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'Very Weak'" + ] + }, + "execution_count": 206, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cm.SOA8" ] @@ -9636,9 +9703,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 207, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'Low'" + ] + }, + "execution_count": 207, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cm.SOA9" ] @@ -9696,9 +9774,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 208, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'Strong'" + ] + }, + "execution_count": 208, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cm.SOA10" ] @@ -9742,7 +9831,7 @@ }, { "cell_type": "code", - "execution_count": 202, + "execution_count": 209, "metadata": {}, "outputs": [ { @@ -9751,7 +9840,7 @@ "0.5833333333333334" ] }, - "execution_count": 202, + "execution_count": 209, "metadata": {}, "output_type": "execute_result" } @@ -9792,7 +9881,7 @@ }, { "cell_type": "code", - "execution_count": 203, + "execution_count": 210, "metadata": {}, "outputs": [ { @@ -9801,7 +9890,7 @@ "0.3541666666666667" ] }, - "execution_count": 203, + "execution_count": 210, "metadata": {}, "output_type": "execute_result" } @@ -9842,7 +9931,7 @@ }, { "cell_type": "code", - "execution_count": 204, + "execution_count": 211, "metadata": {}, "outputs": [ { @@ -9851,7 +9940,7 @@ "0.3645833333333333" ] }, - "execution_count": 204, + "execution_count": 211, "metadata": {}, "output_type": "execute_result" } @@ -9899,7 +9988,7 @@ }, { "cell_type": "code", - "execution_count": 205, + "execution_count": 212, "metadata": {}, "outputs": [ { @@ -9908,7 +9997,7 @@ "0.5833333333333334" ] }, - "execution_count": 205, + "execution_count": 212, "metadata": {}, "output_type": "execute_result" } @@ -9956,7 +10045,7 @@ }, { "cell_type": "code", - "execution_count": 206, + "execution_count": 213, "metadata": {}, "outputs": [ { @@ -9965,7 +10054,7 @@ "0.5833333333333334" ] }, - "execution_count": 206, + "execution_count": 213, "metadata": {}, "output_type": "execute_result" } @@ -10006,7 +10095,7 @@ }, { "cell_type": "code", - "execution_count": 207, + "execution_count": 214, "metadata": {}, "outputs": [ { @@ -10015,7 +10104,7 @@ "0.7916666666666666" ] }, - "execution_count": 207, + "execution_count": 214, "metadata": {}, "output_type": "execute_result" } @@ -10056,7 +10145,7 @@ }, { "cell_type": "code", - "execution_count": 208, + "execution_count": 215, "metadata": {}, "outputs": [ { @@ -10065,7 +10154,7 @@ "0.20833333333333337" ] }, - "execution_count": 208, + "execution_count": 215, "metadata": {}, "output_type": "execute_result" } @@ -10106,7 +10195,7 @@ }, { "cell_type": "code", - "execution_count": 209, + "execution_count": 216, "metadata": {}, "outputs": [ { @@ -10115,7 +10204,7 @@ "0.41666666666666663" ] }, - "execution_count": 209, + "execution_count": 216, "metadata": {}, "output_type": "execute_result" } @@ -10163,7 +10252,7 @@ }, { "cell_type": "code", - "execution_count": 210, + "execution_count": 217, "metadata": {}, "outputs": [ { @@ -10172,7 +10261,7 @@ "0.5833333333333334" ] }, - "execution_count": 210, + "execution_count": 217, "metadata": {}, "output_type": "execute_result" } @@ -10213,7 +10302,7 @@ }, { "cell_type": "code", - "execution_count": 211, + "execution_count": 218, "metadata": {}, "outputs": [ { @@ -10222,7 +10311,7 @@ "0.611111111111111" ] }, - "execution_count": 211, + "execution_count": 218, "metadata": {}, "output_type": "execute_result" } @@ -10263,7 +10352,7 @@ }, { "cell_type": "code", - "execution_count": 212, + "execution_count": 219, "metadata": {}, "outputs": [ { @@ -10272,7 +10361,7 @@ "0.5666666666666668" ] }, - "execution_count": 212, + "execution_count": 219, "metadata": {}, "output_type": "execute_result" } @@ -10313,7 +10402,7 @@ }, { "cell_type": "code", - "execution_count": 213, + "execution_count": 220, "metadata": {}, "outputs": [ { @@ -10322,7 +10411,7 @@ "0.7904761904761904" ] }, - "execution_count": 213, + "execution_count": 220, "metadata": {}, "output_type": "execute_result" } @@ -10363,7 +10452,7 @@ }, { "cell_type": "code", - "execution_count": 214, + "execution_count": 221, "metadata": {}, "outputs": [ { @@ -10372,7 +10461,7 @@ "0.20952380952380956" ] }, - "execution_count": 214, + "execution_count": 221, "metadata": {}, "output_type": "execute_result" } @@ -10413,7 +10502,7 @@ }, { "cell_type": "code", - "execution_count": 215, + "execution_count": 222, "metadata": {}, "outputs": [ { @@ -10422,7 +10511,7 @@ "0.43333333333333324" ] }, - "execution_count": 215, + "execution_count": 222, "metadata": {}, "output_type": "execute_result" } @@ -10463,7 +10552,7 @@ }, { "cell_type": "code", - "execution_count": 216, + "execution_count": 223, "metadata": {}, "outputs": [ { @@ -10472,7 +10561,7 @@ "0.5651515151515151" ] }, - "execution_count": 216, + "execution_count": 223, "metadata": {}, "output_type": "execute_result" } @@ -10513,7 +10602,7 @@ }, { "cell_type": "code", - "execution_count": 217, + "execution_count": 224, "metadata": {}, "outputs": [ { @@ -10522,7 +10611,7 @@ "0.7222222222222223" ] }, - "execution_count": 217, + "execution_count": 224, "metadata": {}, "output_type": "execute_result" } @@ -10577,7 +10666,7 @@ }, { "cell_type": "code", - "execution_count": 218, + "execution_count": 225, "metadata": {}, "outputs": [ { @@ -10586,7 +10675,7 @@ "(1.225, 0.4083333333333334)" ] }, - "execution_count": 218, + "execution_count": 225, "metadata": {}, "output_type": "execute_result" } @@ -10627,7 +10716,7 @@ }, { "cell_type": "code", - "execution_count": 219, + "execution_count": 226, "metadata": {}, "outputs": [ { @@ -10636,7 +10725,7 @@ "0.41666666666666663" ] }, - "execution_count": 219, + "execution_count": 226, "metadata": {}, "output_type": "execute_result" } @@ -10677,7 +10766,7 @@ }, { "cell_type": "code", - "execution_count": 220, + "execution_count": 227, "metadata": {}, "outputs": [ { @@ -10686,7 +10775,7 @@ "5" ] }, - "execution_count": 220, + "execution_count": 227, "metadata": {}, "output_type": "execute_result" } @@ -10727,7 +10816,7 @@ }, { "cell_type": "code", - "execution_count": 221, + "execution_count": 228, "metadata": {}, "outputs": [ { @@ -10736,7 +10825,7 @@ "0.4166666666666667" ] }, - "execution_count": 221, + "execution_count": 228, "metadata": {}, "output_type": "execute_result" } @@ -10804,7 +10893,7 @@ }, { "cell_type": "code", - "execution_count": 222, + "execution_count": 229, "metadata": {}, "outputs": [ { @@ -10813,7 +10902,7 @@ "0.18926430237560654" ] }, - "execution_count": 222, + "execution_count": 229, "metadata": {}, "output_type": "execute_result" } @@ -10861,7 +10950,7 @@ }, { "cell_type": "code", - "execution_count": 223, + "execution_count": 230, "metadata": {}, "outputs": [ { @@ -10870,7 +10959,7 @@ "0.4638112995385119" ] }, - "execution_count": 223, + "execution_count": 230, "metadata": {}, "output_type": "execute_result" } @@ -10925,7 +11014,7 @@ }, { "cell_type": "code", - "execution_count": 224, + "execution_count": 231, "metadata": {}, "outputs": [ { @@ -10934,7 +11023,7 @@ "0.5189369467580801" ] }, - "execution_count": 224, + "execution_count": 231, "metadata": {}, "output_type": "execute_result" } @@ -10998,7 +11087,7 @@ }, { "cell_type": "code", - "execution_count": 225, + "execution_count": 232, "metadata": {}, "outputs": [ { @@ -11007,7 +11096,7 @@ "0.36666666666666664" ] }, - "execution_count": 225, + "execution_count": 232, "metadata": {}, "output_type": "execute_result" } @@ -11048,7 +11137,7 @@ }, { "cell_type": "code", - "execution_count": 226, + "execution_count": 233, "metadata": {}, "outputs": [ { @@ -11057,7 +11146,7 @@ "4.0" ] }, - "execution_count": 226, + "execution_count": 233, "metadata": {}, "output_type": "execute_result" } @@ -11100,7 +11189,7 @@ }, { "cell_type": "code", - "execution_count": 227, + "execution_count": 234, "metadata": {}, "outputs": [ { @@ -11109,7 +11198,7 @@ "0.4777777777777778" ] }, - "execution_count": 227, + "execution_count": 234, "metadata": {}, "output_type": "execute_result" } @@ -11150,7 +11239,7 @@ }, { "cell_type": "code", - "execution_count": 228, + "execution_count": 235, "metadata": {}, "outputs": [ { @@ -11159,7 +11248,7 @@ "0.6785714285714285" ] }, - "execution_count": 228, + "execution_count": 235, "metadata": {}, "output_type": "execute_result" } @@ -11200,7 +11289,7 @@ }, { "cell_type": "code", - "execution_count": 229, + "execution_count": 236, "metadata": {}, "outputs": [ { @@ -11209,7 +11298,7 @@ "0.6857142857142857" ] }, - "execution_count": 229, + "execution_count": 236, "metadata": {}, "output_type": "execute_result" } @@ -11272,7 +11361,7 @@ }, { "cell_type": "code", - "execution_count": 230, + "execution_count": 237, "metadata": {}, "outputs": [ { @@ -11281,7 +11370,7 @@ "0.3533932006492363" ] }, - "execution_count": 230, + "execution_count": 237, "metadata": {}, "output_type": "execute_result" } @@ -11322,7 +11411,7 @@ }, { "cell_type": "code", - "execution_count": 231, + "execution_count": 238, "metadata": {}, "outputs": [ { @@ -11331,7 +11420,7 @@ "0.5956833971812706" ] }, - "execution_count": 231, + "execution_count": 238, "metadata": {}, "output_type": "execute_result" } @@ -11373,7 +11462,7 @@ }, { "cell_type": "code", - "execution_count": 232, + "execution_count": 239, "metadata": {}, "outputs": [ { @@ -11382,7 +11471,7 @@ "0.1777777777777778" ] }, - "execution_count": 232, + "execution_count": 239, "metadata": {}, "output_type": "execute_result" } @@ -11434,7 +11523,7 @@ }, { "cell_type": "code", - "execution_count": 233, + "execution_count": 240, "metadata": {}, "outputs": [ { @@ -11443,7 +11532,7 @@ "0.09206349206349207" ] }, - "execution_count": 233, + "execution_count": 240, "metadata": {}, "output_type": "execute_result" } @@ -11495,7 +11584,7 @@ }, { "cell_type": "code", - "execution_count": 234, + "execution_count": 241, "metadata": {}, "outputs": [ { @@ -11504,7 +11593,7 @@ "0.37254901960784315" ] }, - "execution_count": 234, + "execution_count": 241, "metadata": {}, "output_type": "execute_result" } @@ -11569,7 +11658,7 @@ }, { "cell_type": "code", - "execution_count": 235, + "execution_count": 242, "metadata": {}, "outputs": [ { @@ -11578,7 +11667,7 @@ "0.3715846994535519" ] }, - "execution_count": 235, + "execution_count": 242, "metadata": {}, "output_type": "execute_result" } @@ -11654,7 +11743,7 @@ }, { "cell_type": "code", - "execution_count": 236, + "execution_count": 243, "metadata": {}, "outputs": [ { @@ -11663,7 +11752,7 @@ "0.374757281553398" ] }, - "execution_count": 236, + "execution_count": 243, "metadata": {}, "output_type": "execute_result" } @@ -11674,14 +11763,14 @@ }, { "cell_type": "code", - "execution_count": 237, + "execution_count": 244, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\Sepkjaer\\AppData\\Local\\Programs\\Python\\Python35-32\\lib\\site-packages\\pycm-3.7-py3.5.egg\\pycm\\pycm_obj.py:824: RuntimeWarning: The weight format is wrong, the result is for unweighted alpha.\n" + "C:\\Users\\Sepkjaer\\AppData\\Local\\Programs\\Python\\Python35-32\\lib\\site-packages\\pycm-3.8-py3.5.egg\\pycm\\pycm_obj.py:861: RuntimeWarning: The weight format is wrong, the result is for unweighted alpha.\n" ] }, { @@ -11690,7 +11779,7 @@ "0.3715846994535519" ] }, - "execution_count": 237, + "execution_count": 244, "metadata": {}, "output_type": "execute_result" } @@ -11794,7 +11883,7 @@ }, { "cell_type": "code", - "execution_count": 238, + "execution_count": 245, "metadata": {}, "outputs": [ { @@ -11803,7 +11892,7 @@ "0.38540577344968524" ] }, - "execution_count": 238, + "execution_count": 245, "metadata": {}, "output_type": "execute_result" } @@ -11814,7 +11903,7 @@ }, { "cell_type": "code", - "execution_count": 239, + "execution_count": 246, "metadata": {}, "outputs": [ { @@ -11823,7 +11912,7 @@ "0.38545857383594895" ] }, - "execution_count": 239, + "execution_count": 246, "metadata": {}, "output_type": "execute_result" } @@ -11902,7 +11991,7 @@ }, { "cell_type": "code", - "execution_count": 240, + "execution_count": 247, "metadata": {}, "outputs": [ { @@ -11911,7 +12000,7 @@ "0.03749999999999999" ] }, - "execution_count": 240, + "execution_count": 247, "metadata": {}, "output_type": "execute_result" } @@ -11923,7 +12012,7 @@ }, { "cell_type": "code", - "execution_count": 241, + "execution_count": 248, "metadata": {}, "outputs": [ { @@ -11932,7 +12021,7 @@ "0.6875" ] }, - "execution_count": 241, + "execution_count": 248, "metadata": {}, "output_type": "execute_result" } @@ -12012,7 +12101,7 @@ }, { "cell_type": "code", - "execution_count": 242, + "execution_count": 249, "metadata": {}, "outputs": [ { @@ -12089,6 +12178,10 @@ "SOA4(Cicchetti) Poor\n", "SOA5(Cramer) Relatively Strong\n", "SOA6(Matthews) Weak\n", + "SOA7(Lambda A) Moderate\n", + "SOA8(Lambda B) Very Weak\n", + "SOA9(Krippendorff Alpha) Low\n", + "SOA10(Pearson C) Strong\n", "Scott PI 0.34426\n", "Standard Error 0.14232\n", "TNR Macro 0.79048\n", @@ -12180,7 +12273,7 @@ }, { "cell_type": "code", - "execution_count": 243, + "execution_count": 250, "metadata": {}, "outputs": [ { @@ -12205,7 +12298,7 @@ }, { "cell_type": "code", - "execution_count": 244, + "execution_count": 251, "metadata": {}, "outputs": [ { @@ -12216,7 +12309,7 @@ " 'L3': {'L1': 0, 'L2': 2, 'L3': 3}}" ] }, - "execution_count": 244, + "execution_count": 251, "metadata": {}, "output_type": "execute_result" } @@ -12227,7 +12320,7 @@ }, { "cell_type": "code", - "execution_count": 245, + "execution_count": 252, "metadata": {}, "outputs": [ { @@ -12250,7 +12343,7 @@ }, { "cell_type": "code", - "execution_count": 246, + "execution_count": 253, "metadata": {}, "outputs": [], "source": [ @@ -12259,7 +12352,7 @@ }, { "cell_type": "code", - "execution_count": 247, + "execution_count": 254, "metadata": {}, "outputs": [ { @@ -12332,7 +12425,7 @@ }, { "cell_type": "code", - "execution_count": 248, + "execution_count": 255, "metadata": {}, "outputs": [ { @@ -12357,7 +12450,7 @@ }, { "cell_type": "code", - "execution_count": 249, + "execution_count": 256, "metadata": {}, "outputs": [ { @@ -12368,7 +12461,7 @@ " 'L3': {'L1': 0.0, 'L2': 0.4, 'L3': 0.6}}" ] }, - "execution_count": 249, + "execution_count": 256, "metadata": {}, "output_type": "execute_result" } @@ -12379,7 +12472,7 @@ }, { "cell_type": "code", - "execution_count": 250, + "execution_count": 257, "metadata": {}, "outputs": [ { @@ -12402,7 +12495,7 @@ }, { "cell_type": "code", - "execution_count": 251, + "execution_count": 258, "metadata": {}, "outputs": [ { @@ -12475,7 +12568,7 @@ }, { "cell_type": "code", - "execution_count": 252, + "execution_count": 259, "metadata": {}, "outputs": [ { @@ -12540,6 +12633,10 @@ "SOA4(Cicchetti) Poor\n", "SOA5(Cramer) Relatively Strong\n", "SOA6(Matthews) Weak\n", + "SOA7(Lambda A) Moderate\n", + "SOA8(Lambda B) Very Weak\n", + "SOA9(Krippendorff Alpha) Low\n", + "SOA10(Pearson C) Strong\n", "Scott PI 0.34426\n", "Standard Error 0.14232\n", "TNR Macro 0.79048\n", @@ -12624,7 +12721,7 @@ }, { "cell_type": "code", - "execution_count": 253, + "execution_count": 260, "metadata": {}, "outputs": [ { @@ -12651,7 +12748,7 @@ }, { "cell_type": "code", - "execution_count": 254, + "execution_count": 261, "metadata": {}, "outputs": [ { @@ -12678,7 +12775,7 @@ }, { "cell_type": "code", - "execution_count": 255, + "execution_count": 262, "metadata": {}, "outputs": [ { @@ -12786,7 +12883,7 @@ }, { "cell_type": "code", - "execution_count": 256, + "execution_count": 263, "metadata": {}, "outputs": [ { @@ -12796,8 +12893,8 @@ "Best : cm2\n", "\n", "Rank Name Class-Score Overall-Score\n", - "1 cm2 0.50278 0.425\n", - "2 cm3 0.33611 0.33056\n", + "1 cm2 0.50278 0.58095\n", + "2 cm3 0.33611 0.52857\n", "\n" ] } @@ -12808,7 +12905,7 @@ }, { "cell_type": "code", - "execution_count": 257, + "execution_count": 264, "metadata": {}, "outputs": [ { @@ -12818,8 +12915,8 @@ "Best : cm2\n", "\n", "Rank Name Class-Score Overall-Score\n", - "1 cm2 0.50278 0.425\n", - "2 cm3 0.33611 0.33056\n", + "1 cm2 0.50278 0.58095\n", + "2 cm3 0.33611 0.52857\n", "\n" ] } @@ -12837,7 +12934,7 @@ }, { "cell_type": "code", - "execution_count": 258, + "execution_count": 265, "metadata": {}, "outputs": [], "source": [ @@ -12855,7 +12952,7 @@ }, { "cell_type": "code", - "execution_count": 259, + "execution_count": 266, "metadata": {}, "outputs": [ { @@ -12865,7 +12962,7 @@ " 'Status': True}" ] }, - "execution_count": 259, + "execution_count": 266, "metadata": {}, "output_type": "execute_result" } @@ -12883,7 +12980,7 @@ }, { "cell_type": "code", - "execution_count": 260, + "execution_count": 267, "metadata": {}, "outputs": [ { @@ -12893,7 +12990,7 @@ " 'Status': True}" ] }, - "execution_count": 260, + "execution_count": 267, "metadata": {}, "output_type": "execute_result" } @@ -12911,7 +13008,7 @@ }, { "cell_type": "code", - "execution_count": 261, + "execution_count": 268, "metadata": {}, "outputs": [ { @@ -12921,7 +13018,7 @@ " 'Status': True}" ] }, - "execution_count": 261, + "execution_count": 268, "metadata": {}, "output_type": "execute_result" } @@ -12939,7 +13036,7 @@ }, { "cell_type": "code", - "execution_count": 262, + "execution_count": 269, "metadata": {}, "outputs": [ { @@ -12949,7 +13046,7 @@ " 'Status': True}" ] }, - "execution_count": 262, + "execution_count": 269, "metadata": {}, "output_type": "execute_result" } @@ -12967,7 +13064,7 @@ }, { "cell_type": "code", - "execution_count": 263, + "execution_count": 270, "metadata": {}, "outputs": [ { @@ -12977,7 +13074,7 @@ " 'Status': True}" ] }, - "execution_count": 263, + "execution_count": 270, "metadata": {}, "output_type": "execute_result" } @@ -12995,7 +13092,7 @@ }, { "cell_type": "code", - "execution_count": 264, + "execution_count": 271, "metadata": {}, "outputs": [ { @@ -13005,7 +13102,7 @@ " 'Status': False}" ] }, - "execution_count": 264, + "execution_count": 271, "metadata": {}, "output_type": "execute_result" } @@ -13088,7 +13185,7 @@ }, { "cell_type": "code", - "execution_count": 265, + "execution_count": 272, "metadata": {}, "outputs": [ { @@ -13098,7 +13195,7 @@ " 'Status': True}" ] }, - "execution_count": 265, + "execution_count": 272, "metadata": {}, "output_type": "execute_result" } @@ -13116,7 +13213,7 @@ }, { "cell_type": "code", - "execution_count": 266, + "execution_count": 273, "metadata": {}, "outputs": [ { @@ -13126,7 +13223,7 @@ " 'Status': True}" ] }, - "execution_count": 266, + "execution_count": 273, "metadata": {}, "output_type": "execute_result" } @@ -13144,7 +13241,7 @@ }, { "cell_type": "code", - "execution_count": 267, + "execution_count": 274, "metadata": {}, "outputs": [ { @@ -13154,7 +13251,7 @@ " 'Status': True}" ] }, - "execution_count": 267, + "execution_count": 274, "metadata": {}, "output_type": "execute_result" } @@ -13172,7 +13269,7 @@ }, { "cell_type": "code", - "execution_count": 268, + "execution_count": 275, "metadata": {}, "outputs": [ { @@ -13182,7 +13279,7 @@ " 'Status': True}" ] }, - "execution_count": 268, + "execution_count": 275, "metadata": {}, "output_type": "execute_result" } @@ -13200,7 +13297,7 @@ }, { "cell_type": "code", - "execution_count": 269, + "execution_count": 276, "metadata": {}, "outputs": [ { @@ -13210,7 +13307,7 @@ " 'Status': True}" ] }, - "execution_count": 269, + "execution_count": 276, "metadata": {}, "output_type": "execute_result" } @@ -13228,7 +13325,7 @@ }, { "cell_type": "code", - "execution_count": 270, + "execution_count": 277, "metadata": {}, "outputs": [ { @@ -13238,7 +13335,7 @@ " 'Status': True}" ] }, - "execution_count": 270, + "execution_count": 277, "metadata": {}, "output_type": "execute_result" } @@ -13256,7 +13353,7 @@ }, { "cell_type": "code", - "execution_count": 271, + "execution_count": 278, "metadata": {}, "outputs": [ { @@ -13266,7 +13363,7 @@ " 'Status': True}" ] }, - "execution_count": 271, + "execution_count": 278, "metadata": {}, "output_type": "execute_result" } @@ -13284,7 +13381,7 @@ }, { "cell_type": "code", - "execution_count": 272, + "execution_count": 279, "metadata": {}, "outputs": [ { @@ -13294,7 +13391,7 @@ " 'Status': False}" ] }, - "execution_count": 272, + "execution_count": 279, "metadata": {}, "output_type": "execute_result" } @@ -13407,7 +13504,7 @@ }, { "cell_type": "code", - "execution_count": 273, + "execution_count": 280, "metadata": {}, "outputs": [ { @@ -13417,7 +13514,7 @@ " 'Status': True}" ] }, - "execution_count": 273, + "execution_count": 280, "metadata": {}, "output_type": "execute_result" } @@ -13437,7 +13534,7 @@ }, { "cell_type": "code", - "execution_count": 274, + "execution_count": 281, "metadata": {}, "outputs": [ { @@ -13447,7 +13544,7 @@ " 'Status': True}" ] }, - "execution_count": 274, + "execution_count": 281, "metadata": {}, "output_type": "execute_result" } @@ -13467,7 +13564,7 @@ }, { "cell_type": "code", - "execution_count": 275, + "execution_count": 282, "metadata": {}, "outputs": [ { @@ -13477,7 +13574,7 @@ " 'Status': True}" ] }, - "execution_count": 275, + "execution_count": 282, "metadata": {}, "output_type": "execute_result" } @@ -13497,7 +13594,7 @@ }, { "cell_type": "code", - "execution_count": 276, + "execution_count": 283, "metadata": {}, "outputs": [ { @@ -13507,7 +13604,7 @@ " 'Status': True}" ] }, - "execution_count": 276, + "execution_count": 283, "metadata": {}, "output_type": "execute_result" } @@ -13527,7 +13624,7 @@ }, { "cell_type": "code", - "execution_count": 277, + "execution_count": 284, "metadata": {}, "outputs": [ { @@ -13537,7 +13634,7 @@ " 'Status': True}" ] }, - "execution_count": 277, + "execution_count": 284, "metadata": {}, "output_type": "execute_result" } @@ -13557,7 +13654,7 @@ }, { "cell_type": "code", - "execution_count": 278, + "execution_count": 285, "metadata": {}, "outputs": [ { @@ -13567,7 +13664,7 @@ " 'Status': True}" ] }, - "execution_count": 278, + "execution_count": 285, "metadata": {}, "output_type": "execute_result" } @@ -13585,7 +13682,7 @@ }, { "cell_type": "code", - "execution_count": 279, + "execution_count": 286, "metadata": {}, "outputs": [ { @@ -13595,7 +13692,7 @@ " 'Status': False}" ] }, - "execution_count": 279, + "execution_count": 286, "metadata": {}, "output_type": "execute_result" } @@ -13688,7 +13785,7 @@ }, { "cell_type": "code", - "execution_count": 280, + "execution_count": 287, "metadata": {}, "outputs": [ { @@ -13698,7 +13795,7 @@ " 'Status': True}" ] }, - "execution_count": 280, + "execution_count": 287, "metadata": {}, "output_type": "execute_result" } @@ -13716,7 +13813,7 @@ }, { "cell_type": "code", - "execution_count": 281, + "execution_count": 288, "metadata": {}, "outputs": [ { @@ -13726,7 +13823,7 @@ " 'Status': True}" ] }, - "execution_count": 281, + "execution_count": 288, "metadata": {}, "output_type": "execute_result" } @@ -13744,7 +13841,7 @@ }, { "cell_type": "code", - "execution_count": 282, + "execution_count": 289, "metadata": {}, "outputs": [ { @@ -13754,7 +13851,7 @@ " 'Status': True}" ] }, - "execution_count": 282, + "execution_count": 289, "metadata": {}, "output_type": "execute_result" } @@ -13772,7 +13869,7 @@ }, { "cell_type": "code", - "execution_count": 283, + "execution_count": 290, "metadata": {}, "outputs": [ { @@ -13782,7 +13879,7 @@ " 'Status': False}" ] }, - "execution_count": 283, + "execution_count": 290, "metadata": {}, "output_type": "execute_result" } @@ -13844,7 +13941,7 @@ }, { "cell_type": "code", - "execution_count": 284, + "execution_count": 291, "metadata": {}, "outputs": [ { @@ -13854,7 +13951,7 @@ " 'Status': True}" ] }, - "execution_count": 284, + "execution_count": 291, "metadata": {}, "output_type": "execute_result" } @@ -13872,7 +13969,7 @@ }, { "cell_type": "code", - "execution_count": 285, + "execution_count": 292, "metadata": {}, "outputs": [ { @@ -13882,7 +13979,7 @@ " 'Status': False}" ] }, - "execution_count": 285, + "execution_count": 292, "metadata": {}, "output_type": "execute_result" } @@ -13924,7 +14021,7 @@ }, { "cell_type": "code", - "execution_count": 286, + "execution_count": 293, "metadata": {}, "outputs": [ { @@ -13944,7 +14041,7 @@ }, { "cell_type": "code", - "execution_count": 287, + "execution_count": 294, "metadata": { "scrolled": true }, @@ -13966,7 +14063,7 @@ }, { "cell_type": "code", - "execution_count": 288, + "execution_count": 295, "metadata": {}, "outputs": [ { @@ -13986,7 +14083,7 @@ }, { "cell_type": "code", - "execution_count": 289, + "execution_count": 296, "metadata": {}, "outputs": [ { @@ -14006,7 +14103,7 @@ }, { "cell_type": "code", - "execution_count": 290, + "execution_count": 297, "metadata": {}, "outputs": [ { @@ -14026,7 +14123,7 @@ }, { "cell_type": "code", - "execution_count": 291, + "execution_count": 298, "metadata": {}, "outputs": [ { @@ -14046,7 +14143,7 @@ }, { "cell_type": "code", - "execution_count": 292, + "execution_count": 299, "metadata": {}, "outputs": [ { @@ -14066,7 +14163,7 @@ }, { "cell_type": "code", - "execution_count": 293, + "execution_count": 300, "metadata": {}, "outputs": [ { @@ -14086,7 +14183,7 @@ }, { "cell_type": "code", - "execution_count": 294, + "execution_count": 301, "metadata": {}, "outputs": [ { @@ -14106,7 +14203,7 @@ }, { "cell_type": "code", - "execution_count": 295, + "execution_count": 302, "metadata": {}, "outputs": [ { @@ -14126,7 +14223,7 @@ }, { "cell_type": "code", - "execution_count": 296, + "execution_count": 303, "metadata": {}, "outputs": [ { @@ -14146,7 +14243,7 @@ }, { "cell_type": "code", - "execution_count": 297, + "execution_count": 304, "metadata": {}, "outputs": [ { @@ -14166,7 +14263,7 @@ }, { "cell_type": "code", - "execution_count": 298, + "execution_count": 305, "metadata": {}, "outputs": [ { @@ -14186,7 +14283,7 @@ }, { "cell_type": "code", - "execution_count": 299, + "execution_count": 306, "metadata": {}, "outputs": [ { @@ -14206,7 +14303,7 @@ }, { "cell_type": "code", - "execution_count": 300, + "execution_count": 307, "metadata": {}, "outputs": [ { @@ -14227,7 +14324,7 @@ }, { "cell_type": "code", - "execution_count": 301, + "execution_count": 308, "metadata": {}, "outputs": [ { @@ -14247,7 +14344,7 @@ }, { "cell_type": "code", - "execution_count": 302, + "execution_count": 309, "metadata": {}, "outputs": [ { @@ -14267,7 +14364,7 @@ }, { "cell_type": "code", - "execution_count": 303, + "execution_count": 310, "metadata": {}, "outputs": [ { @@ -14287,7 +14384,7 @@ }, { "cell_type": "code", - "execution_count": 304, + "execution_count": 311, "metadata": {}, "outputs": [ { @@ -14307,7 +14404,7 @@ }, { "cell_type": "code", - "execution_count": 305, + "execution_count": 312, "metadata": {}, "outputs": [ { @@ -14327,7 +14424,7 @@ }, { "cell_type": "code", - "execution_count": 306, + "execution_count": 313, "metadata": {}, "outputs": [ { @@ -14347,7 +14444,7 @@ }, { "cell_type": "code", - "execution_count": 307, + "execution_count": 314, "metadata": {}, "outputs": [ { @@ -14367,7 +14464,7 @@ }, { "cell_type": "code", - "execution_count": 308, + "execution_count": 315, "metadata": {}, "outputs": [ { @@ -14387,7 +14484,7 @@ }, { "cell_type": "code", - "execution_count": 309, + "execution_count": 316, "metadata": {}, "outputs": [ { @@ -14407,7 +14504,7 @@ }, { "cell_type": "code", - "execution_count": 310, + "execution_count": 317, "metadata": {}, "outputs": [ { @@ -14427,7 +14524,7 @@ }, { "cell_type": "code", - "execution_count": 311, + "execution_count": 318, "metadata": {}, "outputs": [ { @@ -14447,7 +14544,7 @@ }, { "cell_type": "code", - "execution_count": 312, + "execution_count": 319, "metadata": {}, "outputs": [ { @@ -14467,7 +14564,7 @@ }, { "cell_type": "code", - "execution_count": 313, + "execution_count": 320, "metadata": {}, "outputs": [ { @@ -14487,7 +14584,7 @@ }, { "cell_type": "code", - "execution_count": 314, + "execution_count": 321, "metadata": {}, "outputs": [ { @@ -14507,7 +14604,7 @@ }, { "cell_type": "code", - "execution_count": 315, + "execution_count": 322, "metadata": {}, "outputs": [ { @@ -14527,7 +14624,7 @@ }, { "cell_type": "code", - "execution_count": 316, + "execution_count": 323, "metadata": {}, "outputs": [ { @@ -14547,7 +14644,7 @@ }, { "cell_type": "code", - "execution_count": 317, + "execution_count": 324, "metadata": {}, "outputs": [ { @@ -14567,7 +14664,7 @@ }, { "cell_type": "code", - "execution_count": 318, + "execution_count": 325, "metadata": {}, "outputs": [ { @@ -14587,7 +14684,7 @@ }, { "cell_type": "code", - "execution_count": 319, + "execution_count": 326, "metadata": {}, "outputs": [ { @@ -14607,7 +14704,7 @@ }, { "cell_type": "code", - "execution_count": 320, + "execution_count": 327, "metadata": {}, "outputs": [ { @@ -14627,7 +14724,7 @@ }, { "cell_type": "code", - "execution_count": 321, + "execution_count": 328, "metadata": {}, "outputs": [ { diff --git a/Document/Document_Files/cm1.html b/Document/Document_Files/cm1.html index d0bdbf2d..cb79547e 100644 --- a/Document/Document_Files/cm1.html +++ b/Document/Document_Files/cm1.html @@ -284,6 +284,22 @@

    Overall Statistics :

    + + + + + + + + + + + + + + + + @@ -763,6 +779,6 @@

    Class Statistics :

    Weak
    SOA7(Lambda A)Moderate
    SOA8(Lambda B)Very Weak
    SOA9(Krippendorff Alpha)Low
    SOA10(Pearson C)Strong
    Scott PI 0.34426
    Similarity index
    -

    Generated By PyCM Version 3.7

    +

    Generated By PyCM Version 3.8

    diff --git a/Document/Document_Files/cm1.obj b/Document/Document_Files/cm1.obj index 5d651302..34f91b7c 100644 --- a/Document/Document_Files/cm1.obj +++ b/Document/Document_Files/cm1.obj @@ -1 +1 @@ -{"Digit": 5, "Prob-Vector": null, "Sample-Weight": null, "Imbalanced": false, "Transpose": true, "Matrix": [["L1", [["L2", 0], ["L1", 3], ["L3", 2]]], ["L2", [["L2", 1], ["L1", 0], ["L3", 1]]], ["L3", [["L2", 2], ["L1", 0], ["L3", 3]]]], "Actual-Vector": null, "Predict-Vector": null} \ No newline at end of file +{"Prob-Vector": null, "Transpose": true, "Imbalanced": false, "Predict-Vector": null, "Matrix": [["L1", [["L1", 3], ["L3", 2], ["L2", 0]]], ["L2", [["L1", 0], ["L3", 1], ["L2", 1]]], ["L3", [["L1", 0], ["L3", 3], ["L2", 2]]]], "Actual-Vector": null, "Sample-Weight": null, "Digit": 5} \ No newline at end of file diff --git a/Document/Document_Files/cm1.pycm b/Document/Document_Files/cm1.pycm index 7ea48225..4e805d68 100644 --- a/Document/Document_Files/cm1.pycm +++ b/Document/Document_Files/cm1.pycm @@ -80,6 +80,10 @@ SOA3(Altman) Fair SOA4(Cicchetti) Poor SOA5(Cramer) Relatively Strong SOA6(Matthews) Weak +SOA7(Lambda A) Moderate +SOA8(Lambda B) Very Weak +SOA9(Krippendorff Alpha) Low +SOA10(Pearson C) Strong Scott PI 0.34426 Standard Error 0.14232 TNR Macro 0.79048 diff --git a/Document/Document_Files/cm1_colored.html b/Document/Document_Files/cm1_colored.html index 797f5768..322a4d58 100644 --- a/Document/Document_Files/cm1_colored.html +++ b/Document/Document_Files/cm1_colored.html @@ -284,6 +284,22 @@

    Overall Statistics :

    Weak +SOA7(Lambda A) +Moderate + + +SOA8(Lambda B) +Very Weak + + +SOA9(Krippendorff Alpha) +Low + + +SOA10(Pearson C) +Strong + + Scott PI 0.34426 @@ -763,6 +779,6 @@

    Class Statistics :

    Similarity index -

    Generated By PyCM Version 3.7

    +

    Generated By PyCM Version 3.8

    diff --git a/Document/Document_Files/cm1_colored2.html b/Document/Document_Files/cm1_colored2.html index 9af44eb3..1e123316 100644 --- a/Document/Document_Files/cm1_colored2.html +++ b/Document/Document_Files/cm1_colored2.html @@ -284,6 +284,22 @@

    Overall Statistics :

    Weak +SOA7(Lambda A) +Moderate + + +SOA8(Lambda B) +Very Weak + + +SOA9(Krippendorff Alpha) +Low + + +SOA10(Pearson C) +Strong + + Scott PI 0.34426 @@ -763,6 +779,6 @@

    Class Statistics :

    Similarity index -

    Generated By PyCM Version 3.7

    +

    Generated By PyCM Version 3.8

    diff --git a/Document/Document_Files/cm1_filtered.html b/Document/Document_Files/cm1_filtered.html index 5fd7713f..25bc01e3 100644 --- a/Document/Document_Files/cm1_filtered.html +++ b/Document/Document_Files/cm1_filtered.html @@ -95,6 +95,6 @@

    Class Statistics :

    Sensitivity, recall, hit rate, or true positive rate -

    Generated By PyCM Version 3.7

    +

    Generated By PyCM Version 3.8

    diff --git a/Document/Document_Files/cm1_filtered2.html b/Document/Document_Files/cm1_filtered2.html index 5ac43395..f4e02cf7 100644 --- a/Document/Document_Files/cm1_filtered2.html +++ b/Document/Document_Files/cm1_filtered2.html @@ -87,6 +87,6 @@

    Class Statistics :

    Sensitivity, recall, hit rate, or true positive rate -

    Generated By PyCM Version 3.7

    +

    Generated By PyCM Version 3.8

    diff --git a/Document/Document_Files/cm1_no_vectors.obj b/Document/Document_Files/cm1_no_vectors.obj index 5d651302..34f91b7c 100644 --- a/Document/Document_Files/cm1_no_vectors.obj +++ b/Document/Document_Files/cm1_no_vectors.obj @@ -1 +1 @@ -{"Digit": 5, "Prob-Vector": null, "Sample-Weight": null, "Imbalanced": false, "Transpose": true, "Matrix": [["L1", [["L2", 0], ["L1", 3], ["L3", 2]]], ["L2", [["L2", 1], ["L1", 0], ["L3", 1]]], ["L3", [["L2", 2], ["L1", 0], ["L3", 3]]]], "Actual-Vector": null, "Predict-Vector": null} \ No newline at end of file +{"Prob-Vector": null, "Transpose": true, "Imbalanced": false, "Predict-Vector": null, "Matrix": [["L1", [["L1", 3], ["L3", 2], ["L2", 0]]], ["L2", [["L1", 0], ["L3", 1], ["L2", 1]]], ["L3", [["L1", 0], ["L3", 3], ["L2", 2]]]], "Actual-Vector": null, "Sample-Weight": null, "Digit": 5} \ No newline at end of file diff --git a/Document/Document_Files/cm1_normalized.html b/Document/Document_Files/cm1_normalized.html index 3a093b80..ae62104b 100644 --- a/Document/Document_Files/cm1_normalized.html +++ b/Document/Document_Files/cm1_normalized.html @@ -284,6 +284,22 @@

    Overall Statistics :

    Weak +SOA7(Lambda A) +Moderate + + +SOA8(Lambda B) +Very Weak + + +SOA9(Krippendorff Alpha) +Low + + +SOA10(Pearson C) +Strong + + Scott PI 0.34426 @@ -763,6 +779,6 @@

    Class Statistics :

    Similarity index -

    Generated By PyCM Version 3.7

    +

    Generated By PyCM Version 3.8

    diff --git a/Document/Document_Files/cm1_stat.obj b/Document/Document_Files/cm1_stat.obj index 9ab8ab41..fbcf00f5 100644 --- a/Document/Document_Files/cm1_stat.obj +++ b/Document/Document_Files/cm1_stat.obj @@ -1 +1 @@ -{"Digit": 5, "Class-Stat": {"IS": {"L2": 0.9999999999999998, "L1": 1.2630344058337937, "L3": 0.26303440583379367}, "GM": {"L2": 0.6324555320336759, "L1": 0.7745966692414834, "L3": 0.5855400437691198}, "G": {"L2": 0.408248290463863, "L1": 0.7745966692414834, "L3": 0.5477225575051661}, "MCC": {"L2": 0.25819888974716115, "L1": 0.6831300510639732, "L3": 0.1690308509457033}, "F2": {"L2": 0.45454545454545453, "L1": 0.6521739130434783, "L3": 0.5769230769230769}, "AUCI": {"L2": "Fair", "L1": "Very Good", "L3": "Poor"}, "RACC": {"L2": 0.041666666666666664, "L1": 0.10416666666666667, "L3": 0.20833333333333334}, "PRE": {"L2": 0.16666666666666666, "L1": 0.4166666666666667, "L3": 0.4166666666666667}, "OOC": {"L2": 0.4082482904638631, "L1": 0.7745966692414834, "L3": 0.5477225575051661}, "PLR": {"L2": 2.5000000000000004, "L1": "None", "L3": 1.4}, "F0.5": {"L2": 0.35714285714285715, "L1": 0.8823529411764706, "L3": 0.5172413793103449}, "FOR": {"L2": 0.11111111111111116, "L1": 0.2222222222222222, "L3": 0.33333333333333337}, "FPR": {"L2": 0.19999999999999996, "L1": 0.0, "L3": 0.4285714285714286}, "BM": {"L2": 0.30000000000000004, "L1": 0.6000000000000001, "L3": 0.17142857142857126}, "MCCI": {"L2": "Negligible", "L1": "Moderate", "L3": "Negligible"}, "TN": {"L2": 8, "L1": 7, "L3": 4}, "PLRI": {"L2": "Poor", "L1": "None", "L3": "Poor"}, "F1": {"L2": 0.4, "L1": 0.75, "L3": 0.5454545454545454}, "DOR": {"L2": 4.000000000000001, "L1": "None", "L3": 1.9999999999999998}, "AGM": {"L2": 0.708612108382005, "L1": 0.8576400016262, "L3": 0.5803410802752335}, "GI": {"L2": 0.30000000000000004, "L1": 0.6000000000000001, "L3": 0.17142857142857126}, "QI": {"L2": "Moderate", "L1": "None", "L3": "Weak"}, "NPV": {"L2": 0.8888888888888888, "L1": 0.7777777777777778, "L3": 0.6666666666666666}, "TOP": {"L2": 3, "L1": 3, "L3": 6}, "FN": {"L2": 1, "L1": 2, "L3": 2}, "NLRI": {"L2": "Negligible", "L1": "Poor", "L3": "Negligible"}, "IBA": {"L2": 0.27999999999999997, "L1": 0.36, "L3": 0.35265306122448975}, "POP": {"L2": 12, "L1": 12, "L3": 12}, "HD": {"L2": 3, "L1": 2, "L3": 5}, "TNR": {"L2": 0.8, "L1": 1.0, "L3": 0.5714285714285714}, "N": {"L2": 10, "L1": 7, "L3": 7}, "FP": {"L2": 2, "L1": 0, "L3": 3}, "OP": {"L2": 0.5192307692307692, "L1": 0.5833333333333334, "L3": 0.5589430894308943}, "LS": {"L2": 2.0, "L1": 2.4, "L3": 1.2}, "ACC": {"L2": 0.75, "L1": 0.8333333333333334, "L3": 0.5833333333333334}, "FNR": {"L2": 0.5, "L1": 0.4, "L3": 0.4}, "AGF": {"L2": 0.6286946134619315, "L1": 0.7285871475307653, "L3": 0.610088876086563}, "BB": {"L2": 0.3333333333333333, "L1": 0.6, "L3": 0.5}, "NLR": {"L2": 0.625, "L1": 0.4, "L3": 0.7000000000000001}, "AM": {"L2": 1, "L1": -2, "L3": 1}, "Q": {"L2": 0.6, "L1": "None", "L3": 0.3333333333333333}, "TP": {"L2": 1, "L1": 3, "L3": 3}, "P": {"L2": 2, "L1": 5, "L3": 5}, "TON": {"L2": 9, "L1": 9, "L3": 6}, "MK": {"L2": 0.2222222222222221, "L1": 0.7777777777777777, "L3": 0.16666666666666652}, "MCEN": {"L2": 0.5, "L1": 0.2643856189774724, "L3": 0.6875}, "ERR": {"L2": 0.25, "L1": 0.16666666666666663, "L3": 0.41666666666666663}, "RACCU": {"L2": 0.04340277777777778, "L1": 0.1111111111111111, "L3": 0.21006944444444442}, "OC": {"L2": 0.5, "L1": 1.0, "L3": 0.6}, "DP": {"L2": 0.33193306999649924, "L1": "None", "L3": 0.1659665349982495}, "FDR": {"L2": 0.6666666666666667, "L1": 0.0, "L3": 0.5}, "dInd": {"L2": 0.5385164807134504, "L1": 0.4, "L3": 0.5862367008195198}, "AUPR": {"L2": 0.41666666666666663, "L1": 0.8, "L3": 0.55}, "BCD": {"L2": 0.041666666666666664, "L1": 0.08333333333333333, "L3": 0.041666666666666664}, "TPR": {"L2": 0.5, "L1": 0.6, "L3": 0.6}, "CEN": {"L2": 0.49657842846620864, "L1": 0.25, "L3": 0.6044162769630221}, "sInd": {"L2": 0.6192113447068046, "L1": 0.717157287525381, "L3": 0.5854680534700882}, "DPI": {"L2": "Poor", "L1": "None", "L3": "Poor"}, "AUC": {"L2": 0.65, "L1": 0.8, "L3": 0.5857142857142856}, "PPV": {"L2": 0.3333333333333333, "L1": 1.0, "L3": 0.5}, "ICSI": {"L2": -0.16666666666666674, "L1": 0.6000000000000001, "L3": 0.10000000000000009}, "Y": {"L2": 0.30000000000000004, "L1": 0.6000000000000001, "L3": 0.17142857142857126}, "J": {"L2": 0.25, "L1": 0.6, "L3": 0.375}}, "Prob-Vector": null, "Sample-Weight": null, "Imbalanced": false, "Transpose": true, "Overall-Stat": {"Standard Error": 0.14231876063832777, "P-Value": 0.18926430237560654, "TNR Macro": 0.7904761904761904, "FPR Macro": 0.20952380952380956, "CBA": 0.4777777777777778, "Chi-Squared DF": 4, "Kappa 95% CI": [-0.07707577422109269, 0.7867531935759315], "TPR Macro": 0.5666666666666668, "Chi-Squared": 6.6000000000000005, "SOA1(Landis & Koch)": "Fair", "KL Divergence": 0.09997757835164581, "Overall MCEN": 0.5189369467580801, "Gwet AC1": 0.3893129770992367, "AUNP": 0.6857142857142857, "Overall RACC": 0.3541666666666667, "Bangdiwala B": 0.37254901960784315, "SOA2(Fleiss)": "Poor", "Overall MCC": 0.36666666666666664, "Zero-one Loss": 5, "95% CI": [0.30438856248221097, 0.8622781041844558], "CSI": 0.1777777777777778, "Scott PI": 0.34426229508196726, "F1 Macro": 0.5651515151515151, "ARI": 0.09206349206349207, "TPR Micro": 0.5833333333333334, "PPV Macro": 0.611111111111111, "PPV Micro": 0.5833333333333334, "Bennett S": 0.37500000000000006, "Joint Entropy": 2.4591479170272446, "Krippendorff Alpha": 0.3715846994535519, "Pearson C": 0.5956833971812706, "Phi-Squared": 0.55, "Cross Entropy": 1.5833333333333335, "AUNU": 0.6785714285714285, "Overall RACCU": 0.3645833333333333, "Cramer V": 0.5244044240850758, "Kappa Standard Error": 0.2203645326012817, "Overall ACC": 0.5833333333333334, "SOA6(Matthews)": "Weak", "FNR Macro": 0.43333333333333324, "RR": 4.0, "Conditional Entropy": 0.9757921620455572, "Kappa Unbiased": 0.34426229508196726, "SOA4(Cicchetti)": "Poor", "TNR Micro": 0.7916666666666666, "Response Entropy": 1.5, "Lambda B": 0.16666666666666666, "FNR Micro": 0.41666666666666663, "SOA5(Cramer)": "Relatively Strong", "F1 Micro": 0.5833333333333334, "Mutual Information": 0.5242078379544428, "Reference Entropy": 1.4833557549816874, "Overall J": [1.225, 0.4083333333333334], "Lambda A": 0.42857142857142855, "Kappa No Prevalence": 0.16666666666666674, "FPR Micro": 0.20833333333333337, "NIR": 0.4166666666666667, "Kappa": 0.35483870967741943, "SOA3(Altman)": "Fair", "Overall CEN": 0.4638112995385119, "Hamming Loss": 0.41666666666666663, "ACC Macro": 0.7222222222222223, "RCI": 0.3533932006492363}, "Matrix": [["L1", [["L2", 0], ["L1", 3], ["L3", 2]]], ["L2", [["L2", 1], ["L1", 0], ["L3", 1]]], ["L3", [["L2", 2], ["L1", 0], ["L3", 3]]]], "Actual-Vector": null, "Predict-Vector": null} \ No newline at end of file +{"Prob-Vector": null, "Transpose": true, "Imbalanced": false, "Predict-Vector": null, "Class-Stat": {"BCD": {"L1": 0.08333333333333333, "L3": 0.041666666666666664, "L2": 0.041666666666666664}, "TP": {"L1": 3, "L3": 3, "L2": 1}, "P": {"L1": 5, "L3": 5, "L2": 2}, "FNR": {"L1": 0.4, "L3": 0.4, "L2": 0.5}, "GI": {"L1": 0.6000000000000001, "L3": 0.17142857142857126, "L2": 0.30000000000000004}, "RACC": {"L1": 0.10416666666666667, "L3": 0.20833333333333334, "L2": 0.041666666666666664}, "BB": {"L1": 0.6, "L3": 0.5, "L2": 0.3333333333333333}, "FOR": {"L1": 0.2222222222222222, "L3": 0.33333333333333337, "L2": 0.11111111111111116}, "DP": {"L1": "None", "L3": 0.1659665349982495, "L2": 0.33193306999649924}, "FDR": {"L1": 0.0, "L3": 0.5, "L2": 0.6666666666666667}, "DPI": {"L1": "None", "L3": "Poor", "L2": "Poor"}, "AUCI": {"L1": "Very Good", "L3": "Poor", "L2": "Fair"}, "TOP": {"L1": 3, "L3": 6, "L2": 3}, "F2": {"L1": 0.6521739130434783, "L3": 0.5769230769230769, "L2": 0.45454545454545453}, "QI": {"L1": "None", "L3": "Weak", "L2": "Moderate"}, "AUC": {"L1": 0.8, "L3": 0.5857142857142856, "L2": 0.65}, "TPR": {"L1": 0.6, "L3": 0.6, "L2": 0.5}, "BM": {"L1": 0.6000000000000001, "L3": 0.17142857142857126, "L2": 0.30000000000000004}, "OC": {"L1": 1.0, "L3": 0.6, "L2": 0.5}, "F1": {"L1": 0.75, "L3": 0.5454545454545454, "L2": 0.4}, "AUPR": {"L1": 0.8, "L3": 0.55, "L2": 0.41666666666666663}, "ACC": {"L1": 0.8333333333333334, "L3": 0.5833333333333334, "L2": 0.75}, "MCEN": {"L1": 0.2643856189774724, "L3": 0.6875, "L2": 0.5}, "F0.5": {"L1": 0.8823529411764706, "L3": 0.5172413793103449, "L2": 0.35714285714285715}, "TN": {"L1": 7, "L3": 4, "L2": 8}, "OOC": {"L1": 0.7745966692414834, "L3": 0.5477225575051661, "L2": 0.4082482904638631}, "NLR": {"L1": 0.4, "L3": 0.7000000000000001, "L2": 0.625}, "ICSI": {"L1": 0.6000000000000001, "L3": 0.10000000000000009, "L2": -0.16666666666666674}, "PLRI": {"L1": "None", "L3": "Poor", "L2": "Poor"}, "PLR": {"L1": "None", "L3": 1.4, "L2": 2.5000000000000004}, "J": {"L1": 0.6, "L3": 0.375, "L2": 0.25}, "Y": {"L1": 0.6000000000000001, "L3": 0.17142857142857126, "L2": 0.30000000000000004}, "MCCI": {"L1": "Moderate", "L3": "Negligible", "L2": "Negligible"}, "PRE": {"L1": 0.4166666666666667, "L3": 0.4166666666666667, "L2": 0.16666666666666666}, "AGM": {"L1": 0.8576400016262, "L3": 0.5803410802752335, "L2": 0.708612108382005}, "POP": {"L1": 12, "L3": 12, "L2": 12}, "FP": {"L1": 0, "L3": 3, "L2": 2}, "NLRI": {"L1": "Poor", "L3": "Negligible", "L2": "Negligible"}, "AGF": {"L1": 0.7285871475307653, "L3": 0.610088876086563, "L2": 0.6286946134619315}, "Q": {"L1": "None", "L3": 0.3333333333333333, "L2": 0.6}, "HD": {"L1": 2, "L3": 5, "L2": 3}, "OP": {"L1": 0.5833333333333334, "L3": 0.5589430894308943, "L2": 0.5192307692307692}, "DOR": {"L1": "None", "L3": 1.9999999999999998, "L2": 4.000000000000001}, "IS": {"L1": 1.2630344058337937, "L3": 0.26303440583379367, "L2": 0.9999999999999998}, "sInd": {"L1": 0.717157287525381, "L3": 0.5854680534700882, "L2": 0.6192113447068046}, "AM": {"L1": -2, "L3": 1, "L2": 1}, "FN": {"L1": 2, "L3": 2, "L2": 1}, "G": {"L1": 0.7745966692414834, "L3": 0.5477225575051661, "L2": 0.408248290463863}, "N": {"L1": 7, "L3": 7, "L2": 10}, "dInd": {"L1": 0.4, "L3": 0.5862367008195198, "L2": 0.5385164807134504}, "IBA": {"L1": 0.36, "L3": 0.35265306122448975, "L2": 0.27999999999999997}, "GM": {"L1": 0.7745966692414834, "L3": 0.5855400437691198, "L2": 0.6324555320336759}, "PPV": {"L1": 1.0, "L3": 0.5, "L2": 0.3333333333333333}, "TON": {"L1": 9, "L3": 6, "L2": 9}, "TNR": {"L1": 1.0, "L3": 0.5714285714285714, "L2": 0.8}, "FPR": {"L1": 0.0, "L3": 0.4285714285714286, "L2": 0.19999999999999996}, "LS": {"L1": 2.4, "L3": 1.2, "L2": 2.0}, "MK": {"L1": 0.7777777777777777, "L3": 0.16666666666666652, "L2": 0.2222222222222221}, "NPV": {"L1": 0.7777777777777778, "L3": 0.6666666666666666, "L2": 0.8888888888888888}, "CEN": {"L1": 0.25, "L3": 0.6044162769630221, "L2": 0.49657842846620864}, "ERR": {"L1": 0.16666666666666663, "L3": 0.41666666666666663, "L2": 0.25}, "RACCU": {"L1": 0.1111111111111111, "L3": 0.21006944444444442, "L2": 0.04340277777777778}, "MCC": {"L1": 0.6831300510639732, "L3": 0.1690308509457033, "L2": 0.25819888974716115}}, "Matrix": [["L1", [["L1", 3], ["L3", 2], ["L2", 0]]], ["L2", [["L1", 0], ["L3", 1], ["L2", 1]]], ["L3", [["L1", 0], ["L3", 3], ["L2", 2]]]], "Actual-Vector": null, "Sample-Weight": null, "Overall-Stat": {"PPV Macro": 0.611111111111111, "Mutual Information": 0.5242078379544428, "Pearson C": 0.5956833971812706, "Kappa": 0.35483870967741943, "ACC Macro": 0.7222222222222223, "ARI": 0.09206349206349207, "Kappa Unbiased": 0.34426229508196726, "PPV Micro": 0.5833333333333334, "CBA": 0.4777777777777778, "Overall RACCU": 0.3645833333333333, "Overall J": [1.225, 0.4083333333333334], "SOA3(Altman)": "Fair", "TPR Micro": 0.5833333333333334, "Overall ACC": 0.5833333333333334, "Cramer V": 0.5244044240850758, "Phi-Squared": 0.55, "Lambda B": 0.16666666666666666, "TPR Macro": 0.5666666666666668, "Kappa 95% CI": [-0.07707577422109269, 0.7867531935759315], "SOA5(Cramer)": "Relatively Strong", "Lambda A": 0.42857142857142855, "FPR Macro": 0.20952380952380956, "SOA2(Fleiss)": "Poor", "AUNP": 0.6857142857142857, "Overall CEN": 0.4638112995385119, "Krippendorff Alpha": 0.3715846994535519, "Chi-Squared DF": 4, "Gwet AC1": 0.3893129770992367, "SOA8(Lambda B)": "Very Weak", "F1 Micro": 0.5833333333333334, "SOA1(Landis & Koch)": "Fair", "FPR Micro": 0.20833333333333337, "P-Value": 0.18926430237560654, "RR": 4.0, "SOA4(Cicchetti)": "Poor", "Overall MCC": 0.36666666666666664, "SOA7(Lambda A)": "Moderate", "F1 Macro": 0.5651515151515151, "FNR Micro": 0.41666666666666663, "Overall RACC": 0.3541666666666667, "Response Entropy": 1.5, "SOA10(Pearson C)": "Strong", "Conditional Entropy": 0.9757921620455572, "Overall MCEN": 0.5189369467580801, "TNR Macro": 0.7904761904761904, "Standard Error": 0.14231876063832777, "SOA6(Matthews)": "Weak", "FNR Macro": 0.43333333333333324, "Kappa No Prevalence": 0.16666666666666674, "RCI": 0.3533932006492363, "Hamming Loss": 0.41666666666666663, "KL Divergence": 0.09997757835164581, "Bennett S": 0.37500000000000006, "Bangdiwala B": 0.37254901960784315, "Chi-Squared": 6.6000000000000005, "95% CI": [0.30438856248221097, 0.8622781041844558], "AUNU": 0.6785714285714285, "NIR": 0.4166666666666667, "Kappa Standard Error": 0.2203645326012817, "Cross Entropy": 1.5833333333333335, "SOA9(Krippendorff Alpha)": "Low", "TNR Micro": 0.7916666666666666, "Joint Entropy": 2.4591479170272446, "Zero-one Loss": 5, "Scott PI": 0.34426229508196726, "Reference Entropy": 1.4833557549816874, "CSI": 0.1777777777777778}, "Digit": 5} \ No newline at end of file diff --git a/Document/Document_Files/cm1_summary.html b/Document/Document_Files/cm1_summary.html index 5cf6c2f4..7aeda609 100644 --- a/Document/Document_Files/cm1_summary.html +++ b/Document/Document_Files/cm1_summary.html @@ -218,6 +218,6 @@

    Class Statistics :

    Test outcome negative -

    Generated By PyCM Version 3.7

    +

    Generated By PyCM Version 3.8

    diff --git a/Document/Document_Files/cp.comp b/Document/Document_Files/cp.comp index 4d0bc5a9..e236be3a 100644 --- a/Document/Document_Files/cp.comp +++ b/Document/Document_Files/cp.comp @@ -1,5 +1,5 @@ Best : cm2 Rank Name Class-Score Overall-Score -1 cm2 0.50278 0.425 -2 cm3 0.33611 0.33056 +1 cm2 0.50278 0.58095 +2 cm3 0.33611 0.52857 diff --git a/Document/Example1.ipynb b/Document/Example1.ipynb index 9e257d33..f35a66a6 100644 --- a/Document/Example1.ipynb +++ b/Document/Example1.ipynb @@ -785,9 +785,9 @@ "Best : Decision tree\n", "\n", "Rank Name Class-Score Overall-Score\n", - "1 Decision tree 0.55556 1.0\n", - "2 AdaBoost 0.48333 0.96667\n", - "3 C-Support vector 0.44444 0.90556\n", + "1 Decision tree 0.55556 0.95238\n", + "2 AdaBoost 0.48333 0.92381\n", + "3 C-Support vector 0.44444 0.80476\n", "\n" ] } diff --git a/Document/Example1_Files/cm1.html b/Document/Example1_Files/cm1.html index b62dc3e6..4dce3d7d 100644 --- a/Document/Example1_Files/cm1.html +++ b/Document/Example1_Files/cm1.html @@ -284,6 +284,22 @@

    Overall Statistics :

    Strong +SOA7(Lambda A) +Strong + + +SOA8(Lambda B) +Strong + + +SOA9(Krippendorff Alpha) +Tentative + + +SOA10(Pearson C) +Strong + + Scott PI 0.76299 @@ -763,6 +779,6 @@

    Class Statistics :

    Similarity index -

    Generated By PyCM Version 3.7

    +

    Generated By PyCM Version 3.8

    diff --git a/Document/Example1_Files/cm2.html b/Document/Example1_Files/cm2.html index aea011a5..6ccf6d9d 100644 --- a/Document/Example1_Files/cm2.html +++ b/Document/Example1_Files/cm2.html @@ -284,6 +284,22 @@

    Overall Statistics :

    Very Strong +SOA7(Lambda A) +Very Strong + + +SOA8(Lambda B) +Very Strong + + +SOA9(Krippendorff Alpha) +High + + +SOA10(Pearson C) +Strong + + Scott PI 0.95977 @@ -763,6 +779,6 @@

    Class Statistics :

    Similarity index -

    Generated By PyCM Version 3.7

    +

    Generated By PyCM Version 3.8

    diff --git a/Document/Example1_Files/cm3.html b/Document/Example1_Files/cm3.html index 62e395a8..aa5cc848 100644 --- a/Document/Example1_Files/cm3.html +++ b/Document/Example1_Files/cm3.html @@ -284,6 +284,22 @@

    Overall Statistics :

    Strong +SOA7(Lambda A) +Very Strong + + +SOA8(Lambda B) +Very Strong + + +SOA9(Krippendorff Alpha) +High + + +SOA10(Pearson C) +Strong + + Scott PI 0.83514 @@ -763,6 +779,6 @@

    Class Statistics :

    Similarity index -

    Generated By PyCM Version 3.7

    +

    Generated By PyCM Version 3.8

    diff --git a/Document/Example1_Files/cp.comp b/Document/Example1_Files/cp.comp index bb75b0e1..76ed309a 100644 --- a/Document/Example1_Files/cp.comp +++ b/Document/Example1_Files/cp.comp @@ -1,6 +1,6 @@ Best : Decision tree Rank Name Class-Score Overall-Score -1 Decision tree 0.55556 1.0 -2 AdaBoost 0.48333 0.96667 -3 C-Support vector 0.44444 0.90556 +1 Decision tree 0.55556 0.95238 +2 AdaBoost 0.48333 0.92381 +3 C-Support vector 0.44444 0.80476 diff --git a/Document/Example3.ipynb b/Document/Example3.ipynb index 3929ee20..e1bba8bc 100644 --- a/Document/Example3.ipynb +++ b/Document/Example3.ipynb @@ -174,6 +174,10 @@ "SOA4(Cicchetti) Fair\n", "SOA5(Cramer) Strong\n", "SOA6(Matthews) Moderate\n", + "SOA7(Lambda A) Moderate\n", + "SOA8(Lambda B) None\n", + "SOA9(Krippendorff Alpha) Low\n", + "SOA10(Pearson C) Strong\n", "Scott PI 0.55556\n", "Standard Error 0.15215\n", "TNR Macro 0.75\n", @@ -386,6 +390,10 @@ "SOA4(Cicchetti) Excellent\n", "SOA5(Cramer) Very Strong\n", "SOA6(Matthews) Strong\n", + "SOA7(Lambda A) Strong\n", + "SOA8(Lambda B) Strong\n", + "SOA9(Krippendorff Alpha) Tentative\n", + "SOA10(Pearson C) Strong\n", "Scott PI 0.74468\n", "Standard Error 0.15215\n", "TNR Macro 0.91667\n", diff --git a/Document/Example4.ipynb b/Document/Example4.ipynb index fe4f398f..3580011d 100644 --- a/Document/Example4.ipynb +++ b/Document/Example4.ipynb @@ -166,6 +166,10 @@ "SOA4(Cicchetti) Poor\n", "SOA5(Cramer) None\n", "SOA6(Matthews) Negligible\n", + "SOA7(Lambda A) None\n", + "SOA8(Lambda B) None\n", + "SOA9(Krippendorff Alpha) Low\n", + "SOA10(Pearson C) None\n", "Scott PI -0.12554\n", "Standard Error 0.10665\n", "TNR Macro 0.78529\n", @@ -448,6 +452,10 @@ "SOA4(Cicchetti) Poor\n", "SOA5(Cramer) None\n", "SOA6(Matthews) Negligible\n", + "SOA7(Lambda A) None\n", + "SOA8(Lambda B) None\n", + "SOA9(Krippendorff Alpha) Low\n", + "SOA10(Pearson C) None\n", "Scott PI -0.12554\n", "Standard Error 0.10665\n", "TNR Macro 0.78529\n", @@ -546,7 +554,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "{\"Actual-Vector\": [600, 200, 200, 200, 200, 200, 200, 200, 500, 500, 500, 200, 200, 200, 200, 200, 200, 200, 200, 200], \"Digit\": 5, \"Prob-Vector\": null, \"Imbalanced\": true, \"Transpose\": false, \"Sample-Weight\": null, \"Matrix\": [[100, [[200, 0], [500, 0], [100, 0], [600, 0]]], [200, [[200, 6], [500, 1], [100, 9], [600, 0]]], [500, [[200, 1], [500, 1], [100, 1], [600, 0]]], [600, [[200, 0], [500, 0], [100, 1], [600, 0]]]], \"Predict-Vector\": [100, 200, 200, 100, 100, 200, 200, 200, 100, 200, 500, 100, 100, 100, 100, 100, 100, 100, 500, 200]}\n" + "{\"Digit\": 5, \"Predict-Vector\": [100, 200, 200, 100, 100, 200, 200, 200, 100, 200, 500, 100, 100, 100, 100, 100, 100, 100, 500, 200], \"Imbalanced\": true, \"Actual-Vector\": [600, 200, 200, 200, 200, 200, 200, 200, 500, 500, 500, 200, 200, 200, 200, 200, 200, 200, 200, 200], \"Sample-Weight\": null, \"Prob-Vector\": null, \"Transpose\": false, \"Matrix\": [[100, [[200, 0], [500, 0], [100, 0], [600, 0]]], [200, [[200, 6], [500, 1], [100, 9], [600, 0]]], [500, [[200, 1], [500, 1], [100, 1], [600, 0]]], [600, [[200, 0], [500, 0], [100, 1], [600, 0]]]]}\n" ] } ], @@ -563,7 +571,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "{\"Actual-Vector\": [600, 200, 200, 200, 200, 200, 200, 200, 500, 500, 500, 200, 200, 200, 200, 200, 200, 200, 200, 200], \"Digit\": 5, \"Prob-Vector\": null, \"Class-Stat\": {\"FNR\": {\"200\": 0.625, \"500\": 0.6666666666666667, \"100\": \"None\", \"600\": 1.0}, \"HD\": {\"200\": 11, \"500\": 3, \"100\": 11, \"600\": 1}, \"NLR\": {\"200\": 0.8333333333333334, \"500\": 0.7083333333333334, \"100\": \"None\", \"600\": 1.0}, \"AUPR\": {\"200\": 0.6160714285714286, \"500\": 0.41666666666666663, \"100\": \"None\", \"600\": \"None\"}, \"Y\": {\"200\": 0.125, \"500\": 0.27450980392156854, \"100\": \"None\", \"600\": 0.0}, \"MK\": {\"200\": 0.08791208791208782, \"500\": 0.38888888888888884, \"100\": 0.0, \"600\": \"None\"}, \"PLRI\": {\"200\": \"Poor\", \"500\": \"Fair\", \"100\": \"None\", \"600\": \"None\"}, \"F1\": {\"200\": 0.5217391304347826, \"500\": 0.4, \"100\": 0.0, \"600\": 0.0}, \"BCD\": {\"200\": 0.225, \"500\": 0.025, \"100\": 0.275, \"600\": 0.025}, \"IS\": {\"200\": 0.09953567355091428, \"500\": 1.736965594166206, \"100\": \"None\", \"600\": \"None\"}, \"GI\": {\"200\": 0.125, \"500\": 0.27450980392156854, \"100\": \"None\", \"600\": 0.0}, \"N\": {\"200\": 4, \"500\": 17, \"100\": 20, \"600\": 19}, \"MCCI\": {\"200\": \"Negligible\", \"500\": \"Weak\", \"100\": \"None\", \"600\": \"None\"}, \"DPI\": {\"200\": \"Poor\", \"500\": \"Poor\", \"100\": \"None\", \"600\": \"None\"}, \"ACC\": {\"200\": 0.45, \"500\": 0.85, \"100\": 0.45, \"600\": 0.95}, \"FP\": {\"200\": 1, \"100\": 11, \"500\": 1, \"600\": 0}, \"OP\": {\"200\": 0.1166666666666667, \"500\": 0.373076923076923, \"100\": \"None\", \"600\": -0.050000000000000044}, \"OOC\": {\"200\": 0.5669467095138409, \"500\": 0.4082482904638631, \"100\": \"None\", \"600\": \"None\"}, \"TOP\": {\"200\": 7, \"500\": 2, \"100\": 11, \"600\": 0}, \"TP\": {\"200\": 6, \"100\": 0, \"500\": 1, \"600\": 0}, \"RACC\": {\"200\": 0.28, \"500\": 0.015, \"100\": 0.0, \"600\": 0.0}, \"POP\": {\"200\": 20, \"500\": 20, \"100\": 20, \"600\": 20}, \"OC\": {\"200\": 0.8571428571428571, \"500\": 0.5, \"100\": \"None\", \"600\": \"None\"}, \"GM\": {\"200\": 0.5303300858899106, \"500\": 0.5601120336112039, \"100\": \"None\", \"600\": 0.0}, \"FN\": {\"200\": 10, \"100\": 0, \"500\": 2, \"600\": 1}, \"J\": {\"200\": 0.35294117647058826, \"500\": 0.25, \"100\": 0.0, \"600\": 0.0}, \"NPV\": {\"200\": 0.23076923076923078, \"500\": 0.8888888888888888, \"100\": 1.0, \"600\": 0.95}, \"Q\": {\"200\": 0.28571428571428575, \"500\": 0.7777777777777778, \"100\": \"None\", \"600\": \"None\"}, \"MCC\": {\"200\": 0.10482848367219183, \"500\": 0.32673201960653564, \"100\": \"None\", \"600\": \"None\"}, \"IBA\": {\"200\": 0.17578125, \"500\": 0.1230296039984621, \"100\": \"None\", \"600\": 0.0}, \"FDR\": {\"200\": 0.1428571428571429, \"500\": 0.5, \"100\": 1.0, \"600\": \"None\"}, \"FPR\": {\"200\": 0.25, \"500\": 0.05882352941176472, \"100\": 0.55, \"600\": 0.0}, \"P\": {\"200\": 16, \"500\": 3, \"100\": 0, \"600\": 1}, \"PRE\": {\"200\": 0.8, \"500\": 0.15, \"100\": 0.0, \"600\": 0.05}, \"PLR\": {\"200\": 1.5, \"500\": 5.666666666666665, \"100\": \"None\", \"600\": \"None\"}, \"TPR\": {\"200\": 0.375, \"500\": 0.3333333333333333, \"100\": \"None\", \"600\": 0.0}, \"CEN\": {\"200\": 0.3570795472009597, \"500\": 0.5389466410223563, \"100\": 0.3349590631259315, \"600\": 0.0}, \"PPV\": {\"200\": 0.8571428571428571, \"500\": 0.5, \"100\": 0.0, \"600\": \"None\"}, \"NLRI\": {\"200\": \"Negligible\", \"500\": \"Negligible\", \"100\": \"None\", \"600\": \"Negligible\"}, \"ERR\": {\"200\": 0.55, \"500\": 0.15000000000000002, \"100\": 0.55, \"600\": 0.050000000000000044}, \"AUCI\": {\"200\": \"Poor\", \"500\": \"Fair\", \"100\": \"None\", \"600\": \"Poor\"}, \"FOR\": {\"200\": 0.7692307692307692, \"500\": 0.11111111111111116, \"100\": 0.0, \"600\": 0.050000000000000044}, \"BB\": {\"200\": 0.375, \"500\": 0.3333333333333333, \"100\": 0.0, \"600\": 0.0}, \"TON\": {\"200\": 13, \"500\": 18, \"100\": 9, \"600\": 20}, \"DOR\": {\"200\": 1.7999999999999998, \"500\": 7.999999999999997, \"100\": \"None\", \"600\": \"None\"}, \"DP\": {\"200\": 0.1407391082701595, \"500\": 0.49789960499474867, \"100\": \"None\", \"600\": \"None\"}, \"dInd\": {\"200\": 0.673145600891813, \"500\": 0.6692567908186672, \"100\": \"None\", \"600\": 1.0}, \"F2\": {\"200\": 0.4225352112676056, \"500\": 0.35714285714285715, \"100\": 0.0, \"600\": 0.0}, \"AUC\": {\"200\": 0.5625, \"500\": 0.6372549019607843, \"100\": \"None\", \"600\": 0.5}, \"sInd\": {\"200\": 0.5240141808835057, \"500\": 0.5267639848569737, \"100\": \"None\", \"600\": 0.29289321881345254}, \"TN\": {\"200\": 3, \"100\": 9, \"500\": 16, \"600\": 19}, \"BM\": {\"200\": 0.125, \"500\": 0.27450980392156854, \"100\": \"None\", \"600\": 0.0}, \"RACCU\": {\"200\": 0.33062499999999995, \"500\": 0.015625, \"100\": 0.07562500000000001, \"600\": 0.0006250000000000001}, \"MCEN\": {\"200\": 0.3739448088748241, \"500\": 0.5802792108518123, \"100\": 0.3349590631259315, \"600\": 0.0}, \"LS\": {\"200\": 1.0714285714285714, \"500\": 3.3333333333333335, \"100\": \"None\", \"600\": \"None\"}, \"ICSI\": {\"200\": 0.2321428571428572, \"500\": -0.16666666666666674, \"100\": \"None\", \"600\": \"None\"}, \"AM\": {\"200\": -9, \"500\": -1, \"100\": 11, \"600\": -1}, \"F0.5\": {\"200\": 0.6818181818181818, \"500\": 0.45454545454545453, \"100\": 0.0, \"600\": 0.0}, \"G\": {\"200\": 0.5669467095138409, \"500\": 0.408248290463863, \"100\": \"None\", \"600\": \"None\"}, \"AGM\": {\"200\": 0.5669417382415922, \"500\": 0.7351956938438939, \"100\": \"None\", \"600\": 0}, \"AGF\": {\"200\": 0.33642097801219245, \"500\": 0.5665926996700735, \"100\": 0.0, \"600\": 0.0}, \"TNR\": {\"200\": 0.75, \"500\": 0.9411764705882353, \"100\": 0.45, \"600\": 1.0}, \"QI\": {\"200\": \"Weak\", \"500\": \"Strong\", \"100\": \"None\", \"600\": \"None\"}}, \"Imbalanced\": true, \"Transpose\": false, \"Sample-Weight\": null, \"Matrix\": [[100, [[200, 0], [500, 0], [100, 0], [600, 0]]], [200, [[200, 6], [500, 1], [100, 9], [600, 0]]], [500, [[200, 1], [500, 1], [100, 1], [600, 0]]], [600, [[200, 0], [500, 0], [100, 1], [600, 0]]]], \"Overall-Stat\": {\"Scott PI\": -0.12554112554112543, \"Bennett S\": 0.1333333333333333, \"Chi-Squared\": \"None\", \"Overall ACC\": 0.35, \"Overall MCC\": 0.1264200803632855, \"Lambda A\": 0.0, \"TPR Macro\": \"None\", \"Kappa 95% CI\": [-0.21849807698648957, 0.3745264457808156], \"Mutual Information\": 0.10087710767390168, \"Pearson C\": \"None\", \"Bangdiwala B\": 0.3135593220338983, \"Standard Error\": 0.1066536450385077, \"FPR Macro\": 0.2147058823529412, \"RR\": 5.0, \"SOA5(Cramer)\": \"None\", \"F1 Macro\": 0.23043478260869565, \"Kappa Standard Error\": 0.15128176601206766, \"Cramer V\": \"None\", \"Joint Entropy\": 2.119973094021975, \"Zero-one Loss\": 13, \"FPR Micro\": 0.21666666666666667, \"Chi-Squared DF\": 9, \"TNR Macro\": 0.7852941176470588, \"FNR Micro\": 0.65, \"Krippendorff Alpha\": -0.09740259740259723, \"Kappa\": 0.07801418439716304, \"Phi-Squared\": \"None\", \"Cross Entropy\": 1.709947752496911, \"TNR Micro\": 0.7833333333333333, \"F1 Micro\": 0.35, \"KL Divergence\": \"None\", \"CBA\": 0.17708333333333331, \"Hamming Loss\": 0.65, \"RCI\": 0.11409066398451011, \"Overall CEN\": 0.3648028121279775, \"ACC Macro\": 0.675, \"SOA3(Altman)\": \"Poor\", \"AUNP\": \"None\", \"CSI\": \"None\", \"Overall J\": [0.6029411764705883, 0.15073529411764708], \"Reference Entropy\": 0.8841837197791889, \"Overall RACCU\": 0.42249999999999993, \"Overall RACC\": 0.29500000000000004, \"Conditional Entropy\": 1.235789374242786, \"Kappa No Prevalence\": -0.30000000000000004, \"PPV Macro\": \"None\", \"NIR\": 0.8, \"FNR Macro\": \"None\", \"ARI\": 0.02298247455136956, \"Kappa Unbiased\": -0.12554112554112543, \"SOA4(Cicchetti)\": \"Poor\", \"TPR Micro\": 0.35, \"Response Entropy\": 1.3366664819166876, \"Lambda B\": 0.0, \"SOA2(Fleiss)\": \"Poor\", \"Gwet AC1\": 0.19504643962848295, \"SOA1(Landis & Koch)\": \"Slight\", \"Overall MCEN\": 0.3746281299595305, \"AUNU\": \"None\", \"P-Value\": 0.9999981549942787, \"SOA6(Matthews)\": \"Negligible\", \"PPV Micro\": 0.35, \"95% CI\": [0.14095885572452488, 0.559041144275475]}, \"Predict-Vector\": [100, 200, 200, 100, 100, 200, 200, 200, 100, 200, 500, 100, 100, 100, 100, 100, 100, 100, 500, 200]}\n" + "{\"Digit\": 5, \"Class-Stat\": {\"MK\": {\"200\": 0.08791208791208782, \"500\": 0.38888888888888884, \"100\": 0.0, \"600\": \"None\"}, \"TPR\": {\"200\": 0.375, \"500\": 0.3333333333333333, \"100\": \"None\", \"600\": 0.0}, \"TN\": {\"200\": 3, \"100\": 9, \"500\": 16, \"600\": 19}, \"TON\": {\"200\": 13, \"500\": 18, \"100\": 9, \"600\": 20}, \"NLR\": {\"200\": 0.8333333333333334, \"500\": 0.7083333333333334, \"100\": \"None\", \"600\": 1.0}, \"POP\": {\"200\": 20, \"500\": 20, \"100\": 20, \"600\": 20}, \"FOR\": {\"200\": 0.7692307692307692, \"500\": 0.11111111111111116, \"100\": 0.0, \"600\": 0.050000000000000044}, \"FPR\": {\"200\": 0.25, \"500\": 0.05882352941176472, \"100\": 0.55, \"600\": 0.0}, \"OOC\": {\"200\": 0.5669467095138409, \"500\": 0.4082482904638631, \"100\": \"None\", \"600\": \"None\"}, \"N\": {\"200\": 4, \"500\": 17, \"100\": 20, \"600\": 19}, \"TNR\": {\"200\": 0.75, \"500\": 0.9411764705882353, \"100\": 0.45, \"600\": 1.0}, \"PLRI\": {\"200\": \"Poor\", \"500\": \"Fair\", \"100\": \"None\", \"600\": \"None\"}, \"DOR\": {\"200\": 1.7999999999999998, \"500\": 7.999999999999997, \"100\": \"None\", \"600\": \"None\"}, \"F1\": {\"200\": 0.5217391304347826, \"500\": 0.4, \"100\": 0.0, \"600\": 0.0}, \"ACC\": {\"200\": 0.45, \"500\": 0.85, \"100\": 0.45, \"600\": 0.95}, \"LS\": {\"200\": 1.0714285714285714, \"500\": 3.3333333333333335, \"100\": \"None\", \"600\": \"None\"}, \"BCD\": {\"200\": 0.225, \"500\": 0.025, \"100\": 0.275, \"600\": 0.025}, \"TP\": {\"200\": 6, \"100\": 0, \"500\": 1, \"600\": 0}, \"PRE\": {\"200\": 0.8, \"500\": 0.15, \"100\": 0.0, \"600\": 0.05}, \"MCEN\": {\"200\": 0.3739448088748241, \"500\": 0.5802792108518123, \"100\": 0.3349590631259315, \"600\": 0.0}, \"AUCI\": {\"200\": \"Poor\", \"500\": \"Fair\", \"100\": \"None\", \"600\": \"Poor\"}, \"ERR\": {\"200\": 0.55, \"500\": 0.15000000000000002, \"100\": 0.55, \"600\": 0.050000000000000044}, \"AGM\": {\"200\": 0.5669417382415922, \"500\": 0.7351956938438939, \"100\": \"None\", \"600\": 0}, \"MCCI\": {\"200\": \"Negligible\", \"500\": \"Weak\", \"100\": \"None\", \"600\": \"None\"}, \"DPI\": {\"200\": \"Poor\", \"500\": \"Poor\", \"100\": \"None\", \"600\": \"None\"}, \"Q\": {\"200\": 0.28571428571428575, \"500\": 0.7777777777777778, \"100\": \"None\", \"600\": \"None\"}, \"RACCU\": {\"200\": 0.33062499999999995, \"500\": 0.015625, \"100\": 0.07562500000000001, \"600\": 0.0006250000000000001}, \"FN\": {\"200\": 10, \"100\": 0, \"500\": 2, \"600\": 1}, \"GI\": {\"200\": 0.125, \"500\": 0.27450980392156854, \"100\": \"None\", \"600\": 0.0}, \"AUPR\": {\"200\": 0.6160714285714286, \"500\": 0.41666666666666663, \"100\": \"None\", \"600\": \"None\"}, \"F2\": {\"200\": 0.4225352112676056, \"500\": 0.35714285714285715, \"100\": 0.0, \"600\": 0.0}, \"QI\": {\"200\": \"Weak\", \"500\": \"Strong\", \"100\": \"None\", \"600\": \"None\"}, \"AM\": {\"200\": -9, \"500\": -1, \"100\": 11, \"600\": -1}, \"AUC\": {\"200\": 0.5625, \"500\": 0.6372549019607843, \"100\": \"None\", \"600\": 0.5}, \"G\": {\"200\": 0.5669467095138409, \"500\": 0.408248290463863, \"100\": \"None\", \"600\": \"None\"}, \"dInd\": {\"200\": 0.673145600891813, \"500\": 0.6692567908186672, \"100\": \"None\", \"600\": 1.0}, \"ICSI\": {\"200\": 0.2321428571428572, \"500\": -0.16666666666666674, \"100\": \"None\", \"600\": \"None\"}, \"J\": {\"200\": 0.35294117647058826, \"500\": 0.25, \"100\": 0.0, \"600\": 0.0}, \"F0.5\": {\"200\": 0.6818181818181818, \"500\": 0.45454545454545453, \"100\": 0.0, \"600\": 0.0}, \"IS\": {\"200\": 0.09953567355091428, \"500\": 1.736965594166206, \"100\": \"None\", \"600\": \"None\"}, \"IBA\": {\"200\": 0.17578125, \"500\": 0.1230296039984621, \"100\": \"None\", \"600\": 0.0}, \"RACC\": {\"200\": 0.28, \"500\": 0.015, \"100\": 0.0, \"600\": 0.0}, \"FDR\": {\"200\": 0.1428571428571429, \"500\": 0.5, \"100\": 1.0, \"600\": \"None\"}, \"BB\": {\"200\": 0.375, \"500\": 0.3333333333333333, \"100\": 0.0, \"600\": 0.0}, \"PLR\": {\"200\": 1.5, \"500\": 5.666666666666665, \"100\": \"None\", \"600\": \"None\"}, \"MCC\": {\"200\": 0.10482848367219183, \"500\": 0.32673201960653564, \"100\": \"None\", \"600\": \"None\"}, \"AGF\": {\"200\": 0.33642097801219245, \"500\": 0.5665926996700735, \"100\": 0.0, \"600\": 0.0}, \"HD\": {\"200\": 11, \"500\": 3, \"100\": 11, \"600\": 1}, \"FP\": {\"200\": 1, \"100\": 11, \"500\": 1, \"600\": 0}, \"GM\": {\"200\": 0.5303300858899106, \"500\": 0.5601120336112039, \"100\": \"None\", \"600\": 0.0}, \"CEN\": {\"200\": 0.3570795472009597, \"500\": 0.5389466410223563, \"100\": 0.3349590631259315, \"600\": 0.0}, \"P\": {\"200\": 16, \"500\": 3, \"100\": 0, \"600\": 1}, \"NPV\": {\"200\": 0.23076923076923078, \"500\": 0.8888888888888888, \"100\": 1.0, \"600\": 0.95}, \"NLRI\": {\"200\": \"Negligible\", \"500\": \"Negligible\", \"100\": \"None\", \"600\": \"Negligible\"}, \"BM\": {\"200\": 0.125, \"500\": 0.27450980392156854, \"100\": \"None\", \"600\": 0.0}, \"OC\": {\"200\": 0.8571428571428571, \"500\": 0.5, \"100\": \"None\", \"600\": \"None\"}, \"PPV\": {\"200\": 0.8571428571428571, \"500\": 0.5, \"100\": 0.0, \"600\": \"None\"}, \"TOP\": {\"200\": 7, \"500\": 2, \"100\": 11, \"600\": 0}, \"FNR\": {\"200\": 0.625, \"500\": 0.6666666666666667, \"100\": \"None\", \"600\": 1.0}, \"DP\": {\"200\": 0.1407391082701595, \"500\": 0.49789960499474867, \"100\": \"None\", \"600\": \"None\"}, \"sInd\": {\"200\": 0.5240141808835057, \"500\": 0.5267639848569737, \"100\": \"None\", \"600\": 0.29289321881345254}, \"Y\": {\"200\": 0.125, \"500\": 0.27450980392156854, \"100\": \"None\", \"600\": 0.0}, \"OP\": {\"200\": 0.1166666666666667, \"500\": 0.373076923076923, \"100\": \"None\", \"600\": -0.050000000000000044}}, \"Predict-Vector\": [100, 200, 200, 100, 100, 200, 200, 200, 100, 200, 500, 100, 100, 100, 100, 100, 100, 100, 500, 200], \"Imbalanced\": true, \"Actual-Vector\": [600, 200, 200, 200, 200, 200, 200, 200, 500, 500, 500, 200, 200, 200, 200, 200, 200, 200, 200, 200], \"Sample-Weight\": null, \"Prob-Vector\": null, \"Transpose\": false, \"Matrix\": [[100, [[200, 0], [500, 0], [100, 0], [600, 0]]], [200, [[200, 6], [500, 1], [100, 9], [600, 0]]], [500, [[200, 1], [500, 1], [100, 1], [600, 0]]], [600, [[200, 0], [500, 0], [100, 1], [600, 0]]]], \"Overall-Stat\": {\"Phi-Squared\": \"None\", \"Overall ACC\": 0.35, \"Conditional Entropy\": 1.235789374242786, \"ARI\": 0.02298247455136956, \"Kappa\": 0.07801418439716304, \"F1 Micro\": 0.35, \"Kappa No Prevalence\": -0.30000000000000004, \"SOA5(Cramer)\": \"None\", \"FPR Micro\": 0.21666666666666667, \"Gwet AC1\": 0.19504643962848295, \"Chi-Squared\": \"None\", \"Bangdiwala B\": 0.3135593220338983, \"FNR Macro\": \"None\", \"FPR Macro\": 0.2147058823529412, \"Joint Entropy\": 2.119973094021975, \"NIR\": 0.8, \"SOA3(Altman)\": \"Poor\", \"RR\": 5.0, \"ACC Macro\": 0.675, \"CBA\": 0.17708333333333331, \"Krippendorff Alpha\": -0.09740259740259723, \"SOA9(Krippendorff Alpha)\": \"Low\", \"Kappa Unbiased\": -0.12554112554112543, \"F1 Macro\": 0.23043478260869565, \"Zero-one Loss\": 13, \"KL Divergence\": \"None\", \"Kappa 95% CI\": [-0.21849807698648957, 0.3745264457808156], \"Bennett S\": 0.1333333333333333, \"Response Entropy\": 1.3366664819166876, \"CSI\": \"None\", \"Overall MCEN\": 0.3746281299595305, \"SOA10(Pearson C)\": \"None\", \"Cramer V\": \"None\", \"SOA6(Matthews)\": \"Negligible\", \"Standard Error\": 0.1066536450385077, \"SOA7(Lambda A)\": \"None\", \"95% CI\": [0.14095885572452488, 0.559041144275475], \"AUNP\": \"None\", \"PPV Micro\": 0.35, \"SOA4(Cicchetti)\": \"Poor\", \"SOA1(Landis & Koch)\": \"Slight\", \"Scott PI\": -0.12554112554112543, \"Chi-Squared DF\": 9, \"Hamming Loss\": 0.65, \"Kappa Standard Error\": 0.15128176601206766, \"TPR Macro\": \"None\", \"Lambda A\": 0.0, \"SOA8(Lambda B)\": \"None\", \"Overall CEN\": 0.3648028121279775, \"Overall RACC\": 0.29500000000000004, \"SOA2(Fleiss)\": \"Poor\", \"Cross Entropy\": 1.709947752496911, \"PPV Macro\": \"None\", \"Overall MCC\": 0.1264200803632855, \"Mutual Information\": 0.10087710767390168, \"TNR Micro\": 0.7833333333333333, \"TNR Macro\": 0.7852941176470588, \"Overall RACCU\": 0.42249999999999993, \"Lambda B\": 0.0, \"FNR Micro\": 0.65, \"P-Value\": 0.9999981549942787, \"RCI\": 0.11409066398451011, \"Pearson C\": \"None\", \"Reference Entropy\": 0.8841837197791889, \"AUNU\": \"None\", \"TPR Micro\": 0.35, \"Overall J\": [0.6029411764705883, 0.15073529411764708]}}\n" ] } ], @@ -580,7 +588,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "{\"Actual-Vector\": null, \"Digit\": 5, \"Prob-Vector\": null, \"Imbalanced\": true, \"Transpose\": false, \"Sample-Weight\": null, \"Matrix\": [[100, [[200, 0], [500, 0], [100, 0], [600, 0]]], [200, [[200, 6], [500, 1], [100, 9], [600, 0]]], [500, [[200, 1], [500, 1], [100, 1], [600, 0]]], [600, [[200, 0], [500, 0], [100, 1], [600, 0]]]], \"Predict-Vector\": null}\n" + "{\"Digit\": 5, \"Predict-Vector\": null, \"Imbalanced\": true, \"Actual-Vector\": null, \"Sample-Weight\": null, \"Prob-Vector\": null, \"Transpose\": false, \"Matrix\": [[100, [[200, 0], [500, 0], [100, 0], [600, 0]]], [200, [[200, 6], [500, 1], [100, 9], [600, 0]]], [500, [[200, 1], [500, 1], [100, 1], [600, 0]]], [600, [[200, 0], [500, 0], [100, 1], [600, 0]]]]}\n" ] } ], diff --git a/Document/Example4_Files/cm.obj b/Document/Example4_Files/cm.obj index 0f4bdf1b..442c32d6 100644 --- a/Document/Example4_Files/cm.obj +++ b/Document/Example4_Files/cm.obj @@ -1 +1 @@ -{"Actual-Vector": [600, 200, 200, 200, 200, 200, 200, 200, 500, 500, 500, 200, 200, 200, 200, 200, 200, 200, 200, 200], "Digit": 5, "Prob-Vector": null, "Imbalanced": true, "Transpose": false, "Sample-Weight": null, "Matrix": [[100, [[200, 0], [500, 0], [100, 0], [600, 0]]], [200, [[200, 6], [500, 1], [100, 9], [600, 0]]], [500, [[200, 1], [500, 1], [100, 1], [600, 0]]], [600, [[200, 0], [500, 0], [100, 1], [600, 0]]]], "Predict-Vector": [100, 200, 200, 100, 100, 200, 200, 200, 100, 200, 500, 100, 100, 100, 100, 100, 100, 100, 500, 200]} \ No newline at end of file +{"Digit": 5, "Predict-Vector": [100, 200, 200, 100, 100, 200, 200, 200, 100, 200, 500, 100, 100, 100, 100, 100, 100, 100, 500, 200], "Imbalanced": true, "Actual-Vector": [600, 200, 200, 200, 200, 200, 200, 200, 500, 500, 500, 200, 200, 200, 200, 200, 200, 200, 200, 200], "Sample-Weight": null, "Prob-Vector": null, "Transpose": false, "Matrix": [[100, [[200, 0], [500, 0], [100, 0], [600, 0]]], [200, [[200, 6], [500, 1], [100, 9], [600, 0]]], [500, [[200, 1], [500, 1], [100, 1], [600, 0]]], [600, [[200, 0], [500, 0], [100, 1], [600, 0]]]]} \ No newline at end of file diff --git a/Document/Example4_Files/cm_no_vectors.obj b/Document/Example4_Files/cm_no_vectors.obj index 1d33e773..df37bfa8 100644 --- a/Document/Example4_Files/cm_no_vectors.obj +++ b/Document/Example4_Files/cm_no_vectors.obj @@ -1 +1 @@ -{"Actual-Vector": null, "Digit": 5, "Prob-Vector": null, "Imbalanced": true, "Transpose": false, "Sample-Weight": null, "Matrix": [[100, [[200, 0], [500, 0], [100, 0], [600, 0]]], [200, [[200, 6], [500, 1], [100, 9], [600, 0]]], [500, [[200, 1], [500, 1], [100, 1], [600, 0]]], [600, [[200, 0], [500, 0], [100, 1], [600, 0]]]], "Predict-Vector": null} \ No newline at end of file +{"Digit": 5, "Predict-Vector": null, "Imbalanced": true, "Actual-Vector": null, "Sample-Weight": null, "Prob-Vector": null, "Transpose": false, "Matrix": [[100, [[200, 0], [500, 0], [100, 0], [600, 0]]], [200, [[200, 6], [500, 1], [100, 9], [600, 0]]], [500, [[200, 1], [500, 1], [100, 1], [600, 0]]], [600, [[200, 0], [500, 0], [100, 1], [600, 0]]]]} \ No newline at end of file diff --git a/Document/Example4_Files/cm_stat.obj b/Document/Example4_Files/cm_stat.obj index 66d9575a..2e58fb1d 100644 --- a/Document/Example4_Files/cm_stat.obj +++ b/Document/Example4_Files/cm_stat.obj @@ -1 +1 @@ -{"Actual-Vector": [600, 200, 200, 200, 200, 200, 200, 200, 500, 500, 500, 200, 200, 200, 200, 200, 200, 200, 200, 200], "Digit": 5, "Prob-Vector": null, "Class-Stat": {"FNR": {"200": 0.625, "500": 0.6666666666666667, "100": "None", "600": 1.0}, "HD": {"200": 11, "500": 3, "100": 11, "600": 1}, "NLR": {"200": 0.8333333333333334, "500": 0.7083333333333334, "100": "None", "600": 1.0}, "AUPR": {"200": 0.6160714285714286, "500": 0.41666666666666663, "100": "None", "600": "None"}, "Y": {"200": 0.125, "500": 0.27450980392156854, "100": "None", "600": 0.0}, "MK": {"200": 0.08791208791208782, "500": 0.38888888888888884, "100": 0.0, "600": "None"}, "PLRI": {"200": "Poor", "500": "Fair", "100": "None", "600": "None"}, "F1": {"200": 0.5217391304347826, "500": 0.4, "100": 0.0, "600": 0.0}, "BCD": {"200": 0.225, "500": 0.025, "100": 0.275, "600": 0.025}, "IS": {"200": 0.09953567355091428, "500": 1.736965594166206, "100": "None", "600": "None"}, "GI": {"200": 0.125, "500": 0.27450980392156854, "100": "None", "600": 0.0}, "N": {"200": 4, "500": 17, "100": 20, "600": 19}, "MCCI": {"200": "Negligible", "500": "Weak", "100": "None", "600": "None"}, "DPI": {"200": "Poor", "500": "Poor", "100": "None", "600": "None"}, "ACC": {"200": 0.45, "500": 0.85, "100": 0.45, "600": 0.95}, "FP": {"200": 1, "100": 11, "500": 1, "600": 0}, "OP": {"200": 0.1166666666666667, "500": 0.373076923076923, "100": "None", "600": -0.050000000000000044}, "OOC": {"200": 0.5669467095138409, "500": 0.4082482904638631, "100": "None", "600": "None"}, "TOP": {"200": 7, "500": 2, "100": 11, "600": 0}, "TP": {"200": 6, "100": 0, "500": 1, "600": 0}, "RACC": {"200": 0.28, "500": 0.015, "100": 0.0, "600": 0.0}, "POP": {"200": 20, "500": 20, "100": 20, "600": 20}, "OC": {"200": 0.8571428571428571, "500": 0.5, "100": "None", "600": "None"}, "GM": {"200": 0.5303300858899106, "500": 0.5601120336112039, "100": "None", "600": 0.0}, "FN": {"200": 10, "100": 0, "500": 2, "600": 1}, "J": {"200": 0.35294117647058826, "500": 0.25, "100": 0.0, "600": 0.0}, "NPV": {"200": 0.23076923076923078, "500": 0.8888888888888888, "100": 1.0, "600": 0.95}, "Q": {"200": 0.28571428571428575, "500": 0.7777777777777778, "100": "None", "600": "None"}, "MCC": {"200": 0.10482848367219183, "500": 0.32673201960653564, "100": "None", "600": "None"}, "IBA": {"200": 0.17578125, "500": 0.1230296039984621, "100": "None", "600": 0.0}, "FDR": {"200": 0.1428571428571429, "500": 0.5, "100": 1.0, "600": "None"}, "FPR": {"200": 0.25, "500": 0.05882352941176472, "100": 0.55, "600": 0.0}, "P": {"200": 16, "500": 3, "100": 0, "600": 1}, "PRE": {"200": 0.8, "500": 0.15, "100": 0.0, "600": 0.05}, "PLR": {"200": 1.5, "500": 5.666666666666665, "100": "None", "600": "None"}, "TPR": {"200": 0.375, "500": 0.3333333333333333, "100": "None", "600": 0.0}, "CEN": {"200": 0.3570795472009597, "500": 0.5389466410223563, "100": 0.3349590631259315, "600": 0.0}, "PPV": {"200": 0.8571428571428571, "500": 0.5, "100": 0.0, "600": "None"}, "NLRI": {"200": "Negligible", "500": "Negligible", "100": "None", "600": "Negligible"}, "ERR": {"200": 0.55, "500": 0.15000000000000002, "100": 0.55, "600": 0.050000000000000044}, "AUCI": {"200": "Poor", "500": "Fair", "100": "None", "600": "Poor"}, "FOR": {"200": 0.7692307692307692, "500": 0.11111111111111116, "100": 0.0, "600": 0.050000000000000044}, "BB": {"200": 0.375, "500": 0.3333333333333333, "100": 0.0, "600": 0.0}, "TON": {"200": 13, "500": 18, "100": 9, "600": 20}, "DOR": {"200": 1.7999999999999998, "500": 7.999999999999997, "100": "None", "600": "None"}, "DP": {"200": 0.1407391082701595, "500": 0.49789960499474867, "100": "None", "600": "None"}, "dInd": {"200": 0.673145600891813, "500": 0.6692567908186672, "100": "None", "600": 1.0}, "F2": {"200": 0.4225352112676056, "500": 0.35714285714285715, "100": 0.0, "600": 0.0}, "AUC": {"200": 0.5625, "500": 0.6372549019607843, "100": "None", "600": 0.5}, "sInd": {"200": 0.5240141808835057, "500": 0.5267639848569737, "100": "None", "600": 0.29289321881345254}, "TN": {"200": 3, "100": 9, "500": 16, "600": 19}, "BM": {"200": 0.125, "500": 0.27450980392156854, "100": "None", "600": 0.0}, "RACCU": {"200": 0.33062499999999995, "500": 0.015625, "100": 0.07562500000000001, "600": 0.0006250000000000001}, "MCEN": {"200": 0.3739448088748241, "500": 0.5802792108518123, "100": 0.3349590631259315, "600": 0.0}, "LS": {"200": 1.0714285714285714, "500": 3.3333333333333335, "100": "None", "600": "None"}, "ICSI": {"200": 0.2321428571428572, "500": -0.16666666666666674, "100": "None", "600": "None"}, "AM": {"200": -9, "500": -1, "100": 11, "600": -1}, "F0.5": {"200": 0.6818181818181818, "500": 0.45454545454545453, "100": 0.0, "600": 0.0}, "G": {"200": 0.5669467095138409, "500": 0.408248290463863, "100": "None", "600": "None"}, "AGM": {"200": 0.5669417382415922, "500": 0.7351956938438939, "100": "None", "600": 0}, "AGF": {"200": 0.33642097801219245, "500": 0.5665926996700735, "100": 0.0, "600": 0.0}, "TNR": {"200": 0.75, "500": 0.9411764705882353, "100": 0.45, "600": 1.0}, "QI": {"200": "Weak", "500": "Strong", "100": "None", "600": "None"}}, "Imbalanced": true, "Transpose": false, "Sample-Weight": null, "Matrix": [[100, [[200, 0], [500, 0], [100, 0], [600, 0]]], [200, [[200, 6], [500, 1], [100, 9], [600, 0]]], [500, [[200, 1], [500, 1], [100, 1], [600, 0]]], [600, [[200, 0], [500, 0], [100, 1], [600, 0]]]], "Overall-Stat": {"Scott PI": -0.12554112554112543, "Bennett S": 0.1333333333333333, "Chi-Squared": "None", "Overall ACC": 0.35, "Overall MCC": 0.1264200803632855, "Lambda A": 0.0, "TPR Macro": "None", "Kappa 95% CI": [-0.21849807698648957, 0.3745264457808156], "Mutual Information": 0.10087710767390168, "Pearson C": "None", "Bangdiwala B": 0.3135593220338983, "Standard Error": 0.1066536450385077, "FPR Macro": 0.2147058823529412, "RR": 5.0, "SOA5(Cramer)": "None", "F1 Macro": 0.23043478260869565, "Kappa Standard Error": 0.15128176601206766, "Cramer V": "None", "Joint Entropy": 2.119973094021975, "Zero-one Loss": 13, "FPR Micro": 0.21666666666666667, "Chi-Squared DF": 9, "TNR Macro": 0.7852941176470588, "FNR Micro": 0.65, "Krippendorff Alpha": -0.09740259740259723, "Kappa": 0.07801418439716304, "Phi-Squared": "None", "Cross Entropy": 1.709947752496911, "TNR Micro": 0.7833333333333333, "F1 Micro": 0.35, "KL Divergence": "None", "CBA": 0.17708333333333331, "Hamming Loss": 0.65, "RCI": 0.11409066398451011, "Overall CEN": 0.3648028121279775, "ACC Macro": 0.675, "SOA3(Altman)": "Poor", "AUNP": "None", "CSI": "None", "Overall J": [0.6029411764705883, 0.15073529411764708], "Reference Entropy": 0.8841837197791889, "Overall RACCU": 0.42249999999999993, "Overall RACC": 0.29500000000000004, "Conditional Entropy": 1.235789374242786, "Kappa No Prevalence": -0.30000000000000004, "PPV Macro": "None", "NIR": 0.8, "FNR Macro": "None", "ARI": 0.02298247455136956, "Kappa Unbiased": -0.12554112554112543, "SOA4(Cicchetti)": "Poor", "TPR Micro": 0.35, "Response Entropy": 1.3366664819166876, "Lambda B": 0.0, "SOA2(Fleiss)": "Poor", "Gwet AC1": 0.19504643962848295, "SOA1(Landis & Koch)": "Slight", "Overall MCEN": 0.3746281299595305, "AUNU": "None", "P-Value": 0.9999981549942787, "SOA6(Matthews)": "Negligible", "PPV Micro": 0.35, "95% CI": [0.14095885572452488, 0.559041144275475]}, "Predict-Vector": [100, 200, 200, 100, 100, 200, 200, 200, 100, 200, 500, 100, 100, 100, 100, 100, 100, 100, 500, 200]} \ No newline at end of file +{"Digit": 5, "Class-Stat": {"MK": {"200": 0.08791208791208782, "500": 0.38888888888888884, "100": 0.0, "600": "None"}, "TPR": {"200": 0.375, "500": 0.3333333333333333, "100": "None", "600": 0.0}, "TN": {"200": 3, "100": 9, "500": 16, "600": 19}, "TON": {"200": 13, "500": 18, "100": 9, "600": 20}, "NLR": {"200": 0.8333333333333334, "500": 0.7083333333333334, "100": "None", "600": 1.0}, "POP": {"200": 20, "500": 20, "100": 20, "600": 20}, "FOR": {"200": 0.7692307692307692, "500": 0.11111111111111116, "100": 0.0, "600": 0.050000000000000044}, "FPR": {"200": 0.25, "500": 0.05882352941176472, "100": 0.55, "600": 0.0}, "OOC": {"200": 0.5669467095138409, "500": 0.4082482904638631, "100": "None", "600": "None"}, "N": {"200": 4, "500": 17, "100": 20, "600": 19}, "TNR": {"200": 0.75, "500": 0.9411764705882353, "100": 0.45, "600": 1.0}, "PLRI": {"200": "Poor", "500": "Fair", "100": "None", "600": "None"}, "DOR": {"200": 1.7999999999999998, "500": 7.999999999999997, "100": "None", "600": "None"}, "F1": {"200": 0.5217391304347826, "500": 0.4, "100": 0.0, "600": 0.0}, "ACC": {"200": 0.45, "500": 0.85, "100": 0.45, "600": 0.95}, "LS": {"200": 1.0714285714285714, "500": 3.3333333333333335, "100": "None", "600": "None"}, "BCD": {"200": 0.225, "500": 0.025, "100": 0.275, "600": 0.025}, "TP": {"200": 6, "100": 0, "500": 1, "600": 0}, "PRE": {"200": 0.8, "500": 0.15, "100": 0.0, "600": 0.05}, "MCEN": {"200": 0.3739448088748241, "500": 0.5802792108518123, "100": 0.3349590631259315, "600": 0.0}, "AUCI": {"200": "Poor", "500": "Fair", "100": "None", "600": "Poor"}, "ERR": {"200": 0.55, "500": 0.15000000000000002, "100": 0.55, "600": 0.050000000000000044}, "AGM": {"200": 0.5669417382415922, "500": 0.7351956938438939, "100": "None", "600": 0}, "MCCI": {"200": "Negligible", "500": "Weak", "100": "None", "600": "None"}, "DPI": {"200": "Poor", "500": "Poor", "100": "None", "600": "None"}, "Q": {"200": 0.28571428571428575, "500": 0.7777777777777778, "100": "None", "600": "None"}, "RACCU": {"200": 0.33062499999999995, "500": 0.015625, "100": 0.07562500000000001, "600": 0.0006250000000000001}, "FN": {"200": 10, "100": 0, "500": 2, "600": 1}, "GI": {"200": 0.125, "500": 0.27450980392156854, "100": "None", "600": 0.0}, "AUPR": {"200": 0.6160714285714286, "500": 0.41666666666666663, "100": "None", "600": "None"}, "F2": {"200": 0.4225352112676056, "500": 0.35714285714285715, "100": 0.0, "600": 0.0}, "QI": {"200": "Weak", "500": "Strong", "100": "None", "600": "None"}, "AM": {"200": -9, "500": -1, "100": 11, "600": -1}, "AUC": {"200": 0.5625, "500": 0.6372549019607843, "100": "None", "600": 0.5}, "G": {"200": 0.5669467095138409, "500": 0.408248290463863, "100": "None", "600": "None"}, "dInd": {"200": 0.673145600891813, "500": 0.6692567908186672, "100": "None", "600": 1.0}, "ICSI": {"200": 0.2321428571428572, "500": -0.16666666666666674, "100": "None", "600": "None"}, "J": {"200": 0.35294117647058826, "500": 0.25, "100": 0.0, "600": 0.0}, "F0.5": {"200": 0.6818181818181818, "500": 0.45454545454545453, "100": 0.0, "600": 0.0}, "IS": {"200": 0.09953567355091428, "500": 1.736965594166206, "100": "None", "600": "None"}, "IBA": {"200": 0.17578125, "500": 0.1230296039984621, "100": "None", "600": 0.0}, "RACC": {"200": 0.28, "500": 0.015, "100": 0.0, "600": 0.0}, "FDR": {"200": 0.1428571428571429, "500": 0.5, "100": 1.0, "600": "None"}, "BB": {"200": 0.375, "500": 0.3333333333333333, "100": 0.0, "600": 0.0}, "PLR": {"200": 1.5, "500": 5.666666666666665, "100": "None", "600": "None"}, "MCC": {"200": 0.10482848367219183, "500": 0.32673201960653564, "100": "None", "600": "None"}, "AGF": {"200": 0.33642097801219245, "500": 0.5665926996700735, "100": 0.0, "600": 0.0}, "HD": {"200": 11, "500": 3, "100": 11, "600": 1}, "FP": {"200": 1, "100": 11, "500": 1, "600": 0}, "GM": {"200": 0.5303300858899106, "500": 0.5601120336112039, "100": "None", "600": 0.0}, "CEN": {"200": 0.3570795472009597, "500": 0.5389466410223563, "100": 0.3349590631259315, "600": 0.0}, "P": {"200": 16, "500": 3, "100": 0, "600": 1}, "NPV": {"200": 0.23076923076923078, "500": 0.8888888888888888, "100": 1.0, "600": 0.95}, "NLRI": {"200": "Negligible", "500": "Negligible", "100": "None", "600": "Negligible"}, "BM": {"200": 0.125, "500": 0.27450980392156854, "100": "None", "600": 0.0}, "OC": {"200": 0.8571428571428571, "500": 0.5, "100": "None", "600": "None"}, "PPV": {"200": 0.8571428571428571, "500": 0.5, "100": 0.0, "600": "None"}, "TOP": {"200": 7, "500": 2, "100": 11, "600": 0}, "FNR": {"200": 0.625, "500": 0.6666666666666667, "100": "None", "600": 1.0}, "DP": {"200": 0.1407391082701595, "500": 0.49789960499474867, "100": "None", "600": "None"}, "sInd": {"200": 0.5240141808835057, "500": 0.5267639848569737, "100": "None", "600": 0.29289321881345254}, "Y": {"200": 0.125, "500": 0.27450980392156854, "100": "None", "600": 0.0}, "OP": {"200": 0.1166666666666667, "500": 0.373076923076923, "100": "None", "600": -0.050000000000000044}}, "Predict-Vector": [100, 200, 200, 100, 100, 200, 200, 200, 100, 200, 500, 100, 100, 100, 100, 100, 100, 100, 500, 200], "Imbalanced": true, "Actual-Vector": [600, 200, 200, 200, 200, 200, 200, 200, 500, 500, 500, 200, 200, 200, 200, 200, 200, 200, 200, 200], "Sample-Weight": null, "Prob-Vector": null, "Transpose": false, "Matrix": [[100, [[200, 0], [500, 0], [100, 0], [600, 0]]], [200, [[200, 6], [500, 1], [100, 9], [600, 0]]], [500, [[200, 1], [500, 1], [100, 1], [600, 0]]], [600, [[200, 0], [500, 0], [100, 1], [600, 0]]]], "Overall-Stat": {"Phi-Squared": "None", "Overall ACC": 0.35, "Conditional Entropy": 1.235789374242786, "ARI": 0.02298247455136956, "Kappa": 0.07801418439716304, "F1 Micro": 0.35, "Kappa No Prevalence": -0.30000000000000004, "SOA5(Cramer)": "None", "FPR Micro": 0.21666666666666667, "Gwet AC1": 0.19504643962848295, "Chi-Squared": "None", "Bangdiwala B": 0.3135593220338983, "FNR Macro": "None", "FPR Macro": 0.2147058823529412, "Joint Entropy": 2.119973094021975, "NIR": 0.8, "SOA3(Altman)": "Poor", "RR": 5.0, "ACC Macro": 0.675, "CBA": 0.17708333333333331, "Krippendorff Alpha": -0.09740259740259723, "SOA9(Krippendorff Alpha)": "Low", "Kappa Unbiased": -0.12554112554112543, "F1 Macro": 0.23043478260869565, "Zero-one Loss": 13, "KL Divergence": "None", "Kappa 95% CI": [-0.21849807698648957, 0.3745264457808156], "Bennett S": 0.1333333333333333, "Response Entropy": 1.3366664819166876, "CSI": "None", "Overall MCEN": 0.3746281299595305, "SOA10(Pearson C)": "None", "Cramer V": "None", "SOA6(Matthews)": "Negligible", "Standard Error": 0.1066536450385077, "SOA7(Lambda A)": "None", "95% CI": [0.14095885572452488, 0.559041144275475], "AUNP": "None", "PPV Micro": 0.35, "SOA4(Cicchetti)": "Poor", "SOA1(Landis & Koch)": "Slight", "Scott PI": -0.12554112554112543, "Chi-Squared DF": 9, "Hamming Loss": 0.65, "Kappa Standard Error": 0.15128176601206766, "TPR Macro": "None", "Lambda A": 0.0, "SOA8(Lambda B)": "None", "Overall CEN": 0.3648028121279775, "Overall RACC": 0.29500000000000004, "SOA2(Fleiss)": "Poor", "Cross Entropy": 1.709947752496911, "PPV Macro": "None", "Overall MCC": 0.1264200803632855, "Mutual Information": 0.10087710767390168, "TNR Micro": 0.7833333333333333, "TNR Macro": 0.7852941176470588, "Overall RACCU": 0.42249999999999993, "Lambda B": 0.0, "FNR Micro": 0.65, "P-Value": 0.9999981549942787, "RCI": 0.11409066398451011, "Pearson C": "None", "Reference Entropy": 0.8841837197791889, "AUNU": "None", "TPR Micro": 0.35, "Overall J": [0.6029411764705883, 0.15073529411764708]}} \ No newline at end of file diff --git a/Document/Example5.ipynb b/Document/Example5.ipynb index 85e58e4d..52305751 100644 --- a/Document/Example5.ipynb +++ b/Document/Example5.ipynb @@ -160,6 +160,10 @@ "SOA4(Cicchetti) Poor\n", "SOA5(Cramer) Relatively Strong\n", "SOA6(Matthews) Weak\n", + "SOA7(Lambda A) Very Weak\n", + "SOA8(Lambda B) Moderate\n", + "SOA9(Krippendorff Alpha) Low\n", + "SOA10(Pearson C) Strong\n", "Scott PI 0.34426\n", "Standard Error 0.14232\n", "TNR Macro 0.77778\n", @@ -361,6 +365,10 @@ "SOA4(Cicchetti) Good\n", "SOA5(Cramer) Strong\n", "SOA6(Matthews) Moderate\n", + "SOA7(Lambda A) Moderate\n", + "SOA8(Lambda B) Moderate\n", + "SOA9(Krippendorff Alpha) Low\n", + "SOA10(Pearson C) Strong\n", "Scott PI 0.63481\n", "Standard Error 0.03347\n", "TNR Macro 0.88519\n", diff --git a/Document/Example6.ipynb b/Document/Example6.ipynb index 8272208e..baa4dff8 100644 --- a/Document/Example6.ipynb +++ b/Document/Example6.ipynb @@ -88,11 +88,11 @@ "Class2 0.04762 0.95238 \n", "\n", "\n", - "ACC: {'Class1': 0.9976333515383216, 'Class2': 0.9976333515383216}\n", - "MCC: {'Class1': 0.9378574017402594, 'Class2': 0.9378574017402594}\n", - "CEN: {'Class1': 0.012858728415908176, 'Class2': 0.30489006849060607}\n", - "MCEN: {'Class1': 0.023280122318969122, 'Class2': 0.46949279678726225}\n", - "DP: {'Class1': 2.276283896527635, 'Class2': 2.276283896527635}\n", + "ACC: {'Class2': 0.9976333515383216, 'Class1': 0.9976333515383216}\n", + "MCC: {'Class2': 0.9378574017402594, 'Class1': 0.9378574017402594}\n", + "CEN: {'Class2': 0.30489006849060607, 'Class1': 0.012858728415908176}\n", + "MCEN: {'Class2': 0.46949279678726225, 'Class1': 0.023280122318969122}\n", + "DP: {'Class2': 2.276283896527635, 'Class1': 2.276283896527635}\n", "Kappa: 0.9377606597584491\n", "RCI: 0.8682877002417864\n", "SOA1: Almost Perfect\n" @@ -142,11 +142,11 @@ "Class2 0.95238 0.04762 \n", "\n", "\n", - "ACC: {'Class1': 0.982098458478369, 'Class2': 0.982098458478369}\n", - "MCC: {'Class1': 0.13048897476798949, 'Class2': 0.13048897476798949}\n", - "CEN: {'Class1': 0.06481573363174531, 'Class2': 0.4655917826576813}\n", - "MCEN: {'Class1': 0.11078640690031397, 'Class2': 0.4264929996758212}\n", - "DP: {'Class1': 0.864594924328404, 'Class2': 0.864594924328404}\n", + "ACC: {'Class2': 0.982098458478369, 'Class1': 0.982098458478369}\n", + "MCC: {'Class2': 0.13048897476798949, 'Class1': 0.13048897476798949}\n", + "CEN: {'Class2': 0.4655917826576813, 'Class1': 0.06481573363174531}\n", + "MCEN: {'Class2': 0.4264929996758212, 'Class1': 0.11078640690031397}\n", + "DP: {'Class2': 0.864594924328404, 'Class1': 0.864594924328404}\n", "Kappa: 0.08122239707598865\n", "RCI: 0.022375346499017443\n", "SOA1: Slight\n" @@ -196,11 +196,11 @@ "Class2 0.04762 0.95238 \n", "\n", "\n", - "ACC: {'Class1': 0.019661387220098307, 'Class2': 0.019661387220098307}\n", - "MCC: {'Class1': -0.13000800945464058, 'Class2': -0.13000800945464058}\n", - "CEN: {'Class1': 0.014927427128936136, 'Class2': 0.06103563616795208}\n", - "MCEN: {'Class1': 0.01281422838054554, 'Class2': 0.03655796690365652}\n", - "DP: {'Class1': -0.8416930356875597, 'Class2': -0.8416930356875597}\n", + "ACC: {'Class2': 0.019661387220098307, 'Class1': 0.019661387220098307}\n", + "MCC: {'Class2': -0.13000800945464058, 'Class1': -0.13000800945464058}\n", + "CEN: {'Class2': 0.06103563616795208, 'Class1': 0.014927427128936136}\n", + "MCEN: {'Class2': 0.03655796690365652, 'Class1': 0.01281422838054554}\n", + "DP: {'Class2': -0.8416930356875597, 'Class1': -0.8416930356875597}\n", "Kappa: -0.0017678372492452412\n", "RCI: 0.02192606003351106\n", "SOA1: Poor\n" @@ -261,13 +261,13 @@ "Class4 0.0 0.0 2e-05 0.99998 \n", "\n", "\n", - "ACC: {'Class1': 0.9999750099960016, 'Class4': 0.9999500199920032, 'Class2': 0.9999500199920032, 'Class3': 0.9999250299880048}\n", - "MCC: {'Class1': 0.8944160139432883, 'Class4': 0.9333083339583177, 'Class2': 0.7999750068731099, 'Class3': 0.7302602381427055}\n", - "CEN: {'Class1': 0.13625493172565745, 'Class4': 0.0001575200922489127, 'Class2': 0.25701944178769376, 'Class3': 0.3649884090288471}\n", - "MCEN: {'Class1': 0.17964888034078544, 'Class4': 0.00029569133318617423, 'Class2': 0.3333333333333333, 'Class3': 0.4654427710721536}\n", - "DP: {'Class1': 'None', 'Class4': 3.1691421556058055, 'Class2': 2.869241573973406, 'Class3': 2.7032690544190636}\n", + "ACC: {'Class2': 0.9999500199920032, 'Class3': 0.9999250299880048, 'Class1': 0.9999750099960016, 'Class4': 0.9999500199920032}\n", + "MCC: {'Class2': 0.7999750068731099, 'Class3': 0.7302602381427055, 'Class1': 0.8944160139432883, 'Class4': 0.9333083339583177}\n", + "CEN: {'Class2': 0.25701944178769376, 'Class3': 0.3649884090288471, 'Class1': 0.13625493172565745, 'Class4': 0.0001575200922489127}\n", + "MCEN: {'Class2': 0.3333333333333333, 'Class3': 0.4654427710721536, 'Class1': 0.17964888034078544, 'Class4': 0.00029569133318617423}\n", + "DP: {'Class2': 2.869241573973406, 'Class3': 2.7032690544190636, 'Class1': 'None', 'Class4': 3.1691421556058055}\n", "Kappa: 0.8666333383326446\n", - "RCI: 0.8711441699127427\n", + "RCI: 0.8711441699127425\n", "SOA1: Almost Perfect\n" ] } @@ -320,11 +320,11 @@ "Class4 0.25 0.25 0.25 0.25 \n", "\n", "\n", - "ACC: {'Class1': 0.625, 'Class4': 0.625, 'Class2': 0.625, 'Class3': 0.625}\n", - "MCC: {'Class1': 0.0, 'Class4': 0.0, 'Class2': 0.0, 'Class3': 0.0}\n", - "CEN: {'Class1': 0.8704188162777186, 'Class4': 0.8704188162777186, 'Class2': 0.8704188162777186, 'Class3': 0.8704188162777186}\n", - "MCEN: {'Class1': 0.9308855421443073, 'Class4': 0.9308855421443073, 'Class2': 0.9308855421443073, 'Class3': 0.9308855421443073}\n", - "DP: {'Class1': 0.0, 'Class4': 0.0, 'Class2': 0.0, 'Class3': 0.0}\n", + "ACC: {'Class2': 0.625, 'Class3': 0.625, 'Class1': 0.625, 'Class4': 0.625}\n", + "MCC: {'Class2': 0.0, 'Class3': 0.0, 'Class1': 0.0, 'Class4': 0.0}\n", + "CEN: {'Class2': 0.8704188162777186, 'Class3': 0.8704188162777186, 'Class1': 0.8704188162777186, 'Class4': 0.8704188162777186}\n", + "MCEN: {'Class2': 0.9308855421443073, 'Class3': 0.9308855421443073, 'Class1': 0.9308855421443073, 'Class4': 0.9308855421443073}\n", + "DP: {'Class2': 0.0, 'Class3': 0.0, 'Class1': 0.0, 'Class4': 0.0}\n", "Kappa: 0.0\n", "RCI: 0.0\n", "SOA1: Slight\n" @@ -379,13 +379,13 @@ "Class4 0.76923 0.07692 0.07692 0.07692 \n", "\n", "\n", - "ACC: {'Class1': 0.4, 'Class4': 0.4, 'Class2': 0.76, 'Class3': 0.76}\n", - "MCC: {'Class1': -0.2358640882624316, 'Class4': -0.2358640882624316, 'Class2': 0.10714285714285714, 'Class3': 0.10714285714285714}\n", - "CEN: {'Class1': 0.6392779429225794, 'Class4': 0.6392779429225796, 'Class2': 0.8704188162777186, 'Class3': 0.8704188162777186}\n", - "MCEN: {'Class1': 0.647512271542988, 'Class4': 0.647512271542988, 'Class2': 0.9308855421443073, 'Class3': 0.9308855421443073}\n", - "DP: {'Class1': -0.33193306999649924, 'Class4': -0.3319330699964992, 'Class2': 0.16596653499824943, 'Class3': 0.16596653499824943}\n", - "Kappa: -0.07361963190184051\n", - "RCI: 0.1160303056449364\n", + "ACC: {'Class2': 0.76, 'Class3': 0.76, 'Class1': 0.4, 'Class4': 0.4}\n", + "MCC: {'Class2': 0.10714285714285714, 'Class3': 0.10714285714285714, 'Class1': -0.2358640882624316, 'Class4': -0.2358640882624316}\n", + "CEN: {'Class2': 0.8704188162777186, 'Class3': 0.8704188162777186, 'Class1': 0.6392779429225794, 'Class4': 0.6392779429225796}\n", + "MCEN: {'Class2': 0.9308855421443073, 'Class3': 0.9308855421443073, 'Class1': 0.647512271542988, 'Class4': 0.647512271542988}\n", + "DP: {'Class2': 0.16596653499824943, 'Class3': 0.16596653499824943, 'Class1': -0.33193306999649924, 'Class4': -0.3319330699964992}\n", + "Kappa: -0.07361963190184047\n", + "RCI: 0.11603030564493641\n", "SOA1: Poor\n" ] } @@ -438,12 +438,12 @@ "Class4 0.76923 0.07692 0.07692 0.07692 \n", "\n", "\n", - "ACC: {'Class1': 0.000998502246630055, 'Class4': 0.000998502246630055, 'Class2': 0.999400898652022, 'Class3': 0.999400898652022}\n", - "MCC: {'Class1': -0.43266656861311537, 'Class4': -0.43266656861311537, 'Class2': 0.24970032963739885, 'Class3': 0.24970032963739885}\n", - "CEN: {'Class1': 0.0029588592520426657, 'Class4': 0.0029588592520426657, 'Class2': 0.8704188162777186, 'Class3': 0.8704188162777186}\n", - "MCEN: {'Class1': 0.002903385725603509, 'Class4': 0.002903385725603509, 'Class2': 0.9308855421443073, 'Class3': 0.9308855421443073}\n", - "DP: {'Class1': -1.9423127303715728, 'Class4': -1.9423127303715728, 'Class2': 1.6794055876913858, 'Class3': 1.6794055876913858}\n", - "Kappa: -0.0003990813465900263\n", + "ACC: {'Class2': 0.999400898652022, 'Class3': 0.999400898652022, 'Class1': 0.000998502246630055, 'Class4': 0.000998502246630055}\n", + "MCC: {'Class2': 0.24970032963739885, 'Class3': 0.24970032963739885, 'Class1': -0.43266656861311537, 'Class4': -0.43266656861311537}\n", + "CEN: {'Class2': 0.8704188162777186, 'Class3': 0.8704188162777186, 'Class1': 0.0029588592520426657, 'Class4': 0.0029588592520426657}\n", + "MCEN: {'Class2': 0.9308855421443073, 'Class3': 0.9308855421443073, 'Class1': 0.002903385725603509, 'Class4': 0.002903385725603509}\n", + "DP: {'Class2': 1.6794055876913858, 'Class3': 1.6794055876913858, 'Class1': -1.9423127303715728, 'Class4': -1.9423127303715728}\n", + "Kappa: -0.0003990813465900262\n", "RCI: 0.5536610475678805\n", "SOA1: Poor\n" ] @@ -497,11 +497,11 @@ "Class4 0.25 0.25 0.25 0.25 \n", "\n", "\n", - "ACC: {'Class1': 0.7115384615384616, 'Class4': 0.36538461538461536, 'Class2': 0.7115384615384616, 'Class3': 0.7115384615384616}\n", - "MCC: {'Class1': 0.0, 'Class4': 0.0, 'Class2': 0.0, 'Class3': 0.0}\n", - "CEN: {'Class1': 0.6392779429225794, 'Class4': 0.6522742127953861, 'Class2': 0.6392779429225794, 'Class3': 0.6392779429225794}\n", - "MCEN: {'Class1': 0.647512271542988, 'Class4': 0.7144082229288313, 'Class2': 0.647512271542988, 'Class3': 0.647512271542988}\n", - "DP: {'Class1': 0.0, 'Class4': 0.0, 'Class2': 0.0, 'Class3': 0.0}\n", + "ACC: {'Class2': 0.7115384615384616, 'Class3': 0.7115384615384616, 'Class1': 0.7115384615384616, 'Class4': 0.36538461538461536}\n", + "MCC: {'Class2': 0.0, 'Class3': 0.0, 'Class1': 0.0, 'Class4': 0.0}\n", + "CEN: {'Class2': 0.6392779429225794, 'Class3': 0.6392779429225794, 'Class1': 0.6392779429225794, 'Class4': 0.6522742127953861}\n", + "MCEN: {'Class2': 0.647512271542988, 'Class3': 0.647512271542988, 'Class1': 0.647512271542988, 'Class4': 0.7144082229288313}\n", + "DP: {'Class2': 0.0, 'Class3': 0.0, 'Class1': 0.0, 'Class4': 0.0}\n", "Kappa: 0.0\n", "RCI: 0.0\n", "SOA1: Slight\n" @@ -556,11 +556,11 @@ "Class4 0.25 0.25 0.25 0.25 \n", "\n", "\n", - "ACC: {'Class1': 0.7499500149955014, 'Class4': 0.25014995501349596, 'Class2': 0.7499500149955014, 'Class3': 0.7499500149955014}\n", - "MCC: {'Class1': 0.0, 'Class4': 0.0, 'Class2': 0.0, 'Class3': 0.0}\n", - "CEN: {'Class1': 0.0029588592520426657, 'Class4': 0.539296694603886, 'Class2': 0.0029588592520426657, 'Class3': 0.0029588592520426657}\n", - "MCEN: {'Class1': 0.002903385725603509, 'Class4': 0.580710610324597, 'Class2': 0.002903385725603509, 'Class3': 0.002903385725603509}\n", - "DP: {'Class1': 0.0, 'Class4': 0.0, 'Class2': 0.0, 'Class3': 0.0}\n", + "ACC: {'Class2': 0.7499500149955014, 'Class3': 0.7499500149955014, 'Class1': 0.7499500149955014, 'Class4': 0.25014995501349596}\n", + "MCC: {'Class2': 0.0, 'Class3': 0.0, 'Class1': 0.0, 'Class4': 0.0}\n", + "CEN: {'Class2': 0.0029588592520426657, 'Class3': 0.0029588592520426657, 'Class1': 0.0029588592520426657, 'Class4': 0.539296694603886}\n", + "MCEN: {'Class2': 0.002903385725603509, 'Class3': 0.002903385725603509, 'Class1': 0.002903385725603509, 'Class4': 0.580710610324597}\n", + "DP: {'Class2': 0.0, 'Class3': 0.0, 'Class1': 0.0, 'Class4': 0.0}\n", "Kappa: 0.0\n", "RCI: 0.0\n", "SOA1: Slight\n" diff --git a/Otherfiles/meta.yaml b/Otherfiles/meta.yaml index 179d8ecc..e0e3e70e 100644 --- a/Otherfiles/meta.yaml +++ b/Otherfiles/meta.yaml @@ -1,5 +1,5 @@ {% set name = "pycm" %} -{% set version = "3.7" %} +{% set version = "3.8" %} package: name: {{ name|lower }} diff --git a/Otherfiles/test.comp b/Otherfiles/test.comp index 4d0bc5a9..e236be3a 100644 --- a/Otherfiles/test.comp +++ b/Otherfiles/test.comp @@ -1,5 +1,5 @@ Best : cm2 Rank Name Class-Score Overall-Score -1 cm2 0.50278 0.425 -2 cm3 0.33611 0.33056 +1 cm2 0.50278 0.58095 +2 cm3 0.33611 0.52857 diff --git a/Otherfiles/test.html b/Otherfiles/test.html index d0bdbf2d..cb79547e 100644 --- a/Otherfiles/test.html +++ b/Otherfiles/test.html @@ -284,6 +284,22 @@

    Overall Statistics :

    Weak +SOA7(Lambda A) +Moderate + + +SOA8(Lambda B) +Very Weak + + +SOA9(Krippendorff Alpha) +Low + + +SOA10(Pearson C) +Strong + + Scott PI 0.34426 @@ -763,6 +779,6 @@

    Class Statistics :

    Similarity index -

    Generated By PyCM Version 3.7

    +

    Generated By PyCM Version 3.8

    diff --git a/Otherfiles/test.obj b/Otherfiles/test.obj index 5d651302..34f91b7c 100644 --- a/Otherfiles/test.obj +++ b/Otherfiles/test.obj @@ -1 +1 @@ -{"Digit": 5, "Prob-Vector": null, "Sample-Weight": null, "Imbalanced": false, "Transpose": true, "Matrix": [["L1", [["L2", 0], ["L1", 3], ["L3", 2]]], ["L2", [["L2", 1], ["L1", 0], ["L3", 1]]], ["L3", [["L2", 2], ["L1", 0], ["L3", 3]]]], "Actual-Vector": null, "Predict-Vector": null} \ No newline at end of file +{"Prob-Vector": null, "Transpose": true, "Imbalanced": false, "Predict-Vector": null, "Matrix": [["L1", [["L1", 3], ["L3", 2], ["L2", 0]]], ["L2", [["L1", 0], ["L3", 1], ["L2", 1]]], ["L3", [["L1", 0], ["L3", 3], ["L2", 2]]]], "Actual-Vector": null, "Sample-Weight": null, "Digit": 5} \ No newline at end of file diff --git a/Otherfiles/test.pycm b/Otherfiles/test.pycm index 7ea48225..4e805d68 100644 --- a/Otherfiles/test.pycm +++ b/Otherfiles/test.pycm @@ -80,6 +80,10 @@ SOA3(Altman) Fair SOA4(Cicchetti) Poor SOA5(Cramer) Relatively Strong SOA6(Matthews) Weak +SOA7(Lambda A) Moderate +SOA8(Lambda B) Very Weak +SOA9(Krippendorff Alpha) Low +SOA10(Pearson C) Strong Scott PI 0.34426 Standard Error 0.14232 TNR Macro 0.79048 diff --git a/Otherfiles/version_check.py b/Otherfiles/version_check.py index 5afca101..b2a4c4f4 100644 --- a/Otherfiles/version_check.py +++ b/Otherfiles/version_check.py @@ -4,7 +4,7 @@ import sys import codecs Failed = 0 -PYCM_VERSION = "3.7" +PYCM_VERSION = "3.8" SETUP_ITEMS = [ diff --git a/README.md b/README.md index 117cfafa..38a023ed 100644 --- a/README.md +++ b/README.md @@ -94,14 +94,14 @@ PyCM is the swiss-army knife of confusion matrices, targeted mainly at data scie ⚠️ Plotting capability requires **Matplotlib (>= 3.0.0)** or **Seaborn (>= 0.9.1)** ### Source code -- Download [Version 3.7](https://github.com/sepandhaghighi/pycm/archive/v3.7.zip) or [Latest Source ](https://github.com/sepandhaghighi/pycm/archive/dev.zip) +- Download [Version 3.8](https://github.com/sepandhaghighi/pycm/archive/v3.8.zip) or [Latest Source ](https://github.com/sepandhaghighi/pycm/archive/dev.zip) - Run `pip install -r requirements.txt` or `pip3 install -r requirements.txt` (Need root access) - Run `python3 setup.py install` or `python setup.py install` (Need root access) ### PyPI - Check [Python Packaging User Guide](https://packaging.python.org/installing/) -- Run `pip install pycm==3.7` or `pip3 install pycm==3.7` (Need root access) +- Run `pip install pycm==3.8` or `pip3 install pycm==3.8` (Need root access) ### Conda diff --git a/pycm/pycm_param.py b/pycm/pycm_param.py index ae21ebf5..54b4849e 100644 --- a/pycm/pycm_param.py +++ b/pycm/pycm_param.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Parameters and constants.""" -PYCM_VERSION = "3.7" +PYCM_VERSION = "3.8" OVERVIEW = ''' diff --git a/setup.py b/setup.py index 301ecc6f..f69c4ae9 100644 --- a/setup.py +++ b/setup.py @@ -36,14 +36,14 @@ def read_description(): setup( name='pycm', packages=['pycm'], - version='3.7', + version='3.8', description='Multi-class confusion matrix library in Python', long_description=read_description(), long_description_content_type='text/markdown', author='PyCM Development Team', author_email='info@pycm.io', url='https://github.com/sepandhaghighi/pycm', - download_url='https://github.com/sepandhaghighi/pycm/tarball/v3.7', + download_url='https://github.com/sepandhaghighi/pycm/tarball/v3.8', keywords="confusion-matrix python3 python machine_learning ML", project_urls={ 'Webpage': 'https://www.pycm.io', From 900d7eb4a32ddc6194ca8775c60bfa3270cee2a2 Mon Sep 17 00:00:00 2001 From: sepandhaghighi Date: Tue, 31 Jan 2023 17:00:34 +0330 Subject: [PATCH 12/13] doc : CHANGELOG updated --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac7579d4..e8f4245c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,7 +46,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. 29. Consonni & Todeschini IV 30. Consonni & Todeschini V ### Changed -- `relabel` method functionality +- `relabel` method sort bug fixed - `README.md` modified - Document modified - Test system modified From f2c225a008d946de2e9be0a50f0d9a827b54f92f Mon Sep 17 00:00:00 2001 From: sepandhaghighi Date: Wed, 1 Feb 2023 02:15:58 +0330 Subject: [PATCH 13/13] doc : CHANGELOG updated --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8f4245c..56f55af0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,6 +48,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Changed - `relabel` method sort bug fixed - `README.md` modified +- `Compare` overall benchmarks default weights updated - Document modified - Test system modified ## [3.7] - 2022-12-15