Skip to content

Instantly share code, notes, and snippets.

@executed
Created December 14, 2021 01:27
Show Gist options
  • Save executed/9b0b673c8239febdf671bc93597c8956 to your computer and use it in GitHub Desktop.
Save executed/9b0b673c8239febdf671bc93597c8956 to your computer and use it in GitHub Desktop.
ml_lab4.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "ml_lab4.ipynb",
"provenance": [],
"collapsed_sections": [],
"authorship_tag": "ABX9TyOWv3aElXB0tnwovhKk/rQj",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/executed/9b0b673c8239febdf671bc93597c8956/ml_lab4.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"source": [
"Import libraries"
],
"metadata": {
"id": "8rASFPaZyXZ6"
}
},
{
"cell_type": "code",
"execution_count": 302,
"metadata": {
"id": "uchZSuNXxDa5"
},
"outputs": [],
"source": [
"import math\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import numpy as np\n",
"from mpl_toolkits.mplot3d import Axes3D\n",
"from sklearn import datasets\n",
"from sklearn.decomposition import PCA\n",
"from scipy.stats import shapiro\n",
"from scipy.stats import ks_2samp\n",
"from scipy.stats import chi2_contingency\n",
"from scipy.optimize import curve_fit\n",
"from scipy.stats import ttest_ind"
]
},
{
"cell_type": "markdown",
"source": [
"# Shapiro–Wilk test"
],
"metadata": {
"id": "cMerJiFAybt1"
}
},
{
"cell_type": "markdown",
"source": [
"Load Iris dataset"
],
"metadata": {
"id": "A-F59CpKyfrO"
}
},
{
"cell_type": "code",
"source": [
"iris = datasets.load_iris()\n",
"\n",
"data = pd.DataFrame(data= np.c_[iris['data'], iris['target']], columns= iris['feature_names'] + ['target'])\n",
"\n",
"data = data.loc[data['target'] == 0]\n",
"\n",
"data.head()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "-8M_zyUMyhoy",
"outputId": "c7221cd5-a53d-4b7f-bae6-56e95f5e4898"
},
"execution_count": 46,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>sepal length (cm)</th>\n",
" <th>sepal width (cm)</th>\n",
" <th>petal length (cm)</th>\n",
" <th>petal width (cm)</th>\n",
" <th>target</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5.1</td>\n",
" <td>3.5</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>4.9</td>\n",
" <td>3.0</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>4.7</td>\n",
" <td>3.2</td>\n",
" <td>1.3</td>\n",
" <td>0.2</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4.6</td>\n",
" <td>3.1</td>\n",
" <td>1.5</td>\n",
" <td>0.2</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5.0</td>\n",
" <td>3.6</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" sepal length (cm) sepal width (cm) ... petal width (cm) target\n",
"0 5.1 3.5 ... 0.2 0.0\n",
"1 4.9 3.0 ... 0.2 0.0\n",
"2 4.7 3.2 ... 0.2 0.0\n",
"3 4.6 3.1 ... 0.2 0.0\n",
"4 5.0 3.6 ... 0.2 0.0\n",
"\n",
"[5 rows x 5 columns]"
]
},
"metadata": {},
"execution_count": 46
}
]
},
{
"cell_type": "markdown",
"source": [
"Check features distributions on histograms"
],
"metadata": {
"id": "piy9Br6ny-TE"
}
},
{
"cell_type": "code",
"source": [
"target_feature_name = 'sepal length (cm)'\n",
"\n",
"plt.hist(data[target_feature_name])\n",
"plt.xlabel(target_feature_name)\n",
"plt.ylabel('Amount of values per range')\n",
"plt.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 279
},
"id": "HM24aKn2zDhP",
"outputId": "934f2d1f-6bef-40f4-efd6-e321ece5678f"
},
"execution_count": 66,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEGCAYAAABiq/5QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAYd0lEQVR4nO3deZQvZX3n8feHLQiCqFwZBK+XMICDuOF1QxMXiEFRcSEZUUwQkqtnDOKunJjgHrc47ji4gYpbVByUkSXI4gLivYjsoBFEEAMuUURFLnznj6qGpumleqlfd1Pv1zl9uqt+9avn03f59tNPVT1PqgpJ0nBssNgBJEmjZeGXpIGx8EvSwFj4JWlgLPySNDAbLXaALrbeeutatWrVYseQpGVl3bp1P6+qFRP3L4vCv2rVKtauXbvYMSRpWUny48n2O9QjSQNj4ZekgbHwS9LAWPglaWAs/JI0MBZ+SRqY3gp/ko8luTbJBeP2vSPJJUnOS3Jskq36al+SNLk+e/xHAXtP2HcysFtVPRC4DDisx/YlSZPorfBX1RnALyfsO6mq1rebZwHb99W+JGlyi/nk7kHA56Z6MckaYA3AypUrR5VJy9Sq1xy/KO1e8dZ9FqVdaT4W5eJukn8E1gPHTHVMVR1ZVauravWKFXeYakKSNEcj7/EnORB4CrBnue6jJI3cSAt/kr2BVwGPrarfjbJtSVKjz9s5PwOcCeyS5KokBwPvB7YATk5ybpIP9dW+JGlyvfX4q2r/SXZ/tK/2JEnd+OSuJA2MhV+SBsbCL0kDY+GXpIGx8EvSwFj4JWlgLPySNDAWfkkaGAu/JA2MhV+SBsbCL0kDY+GXpIGx8EvSwFj4JWlgLPySNDAWfkkaGAu/JA2MhV+SBsbCL0kDY+GXpIGx8EvSwFj4JWlgLPySNDAWfkkaGAu/JA3MjIU/yc5JTklyQbv9wCSv7fC+jyW5dux97b57JDk5yQ/az3efX3xJ0mx16fF/GDgMuAmgqs4Dnt3hfUcBe0/Y9xrglKraCTil3ZYkjVCXwr9ZVZ09Yd/6md5UVWcAv5ywe1/g6Pbro4Gnd2hfkrSAuhT+nyfZESiAJPsB18yxvW2qauy9PwO2merAJGuSrE2y9rrrrptjc5KkiTbqcMyLgCOB+yW5GrgcOGC+DVdVJalpXj+ybZfVq1dPeZwkaXZmLPxV9SNgrySbAxtU1fXzaO8/k2xbVdck2Ra4dh7nkiTNwYyFP8nLJmwD/BpYV1XnzrK944C/Bd7afv6/s3y/JGmeuozxrwZeCGzXfryA5m6dDyd51VRvSvIZ4ExglyRXJTmYpuD/RZIfAHu125KkEeoyxr89sHtV/RYgyeHA8cCfA+uAt0/2pqraf4rz7TmHnJKkBdKlx38v4MZx2zfR3J3z+wn7JUnLQJce/zHAd5KMjcc/Ffh0e7H3ot6SSZJ60eWunjcmOQHYo931wqpa23793N6SSZJ60aXHD3AOcPXY8UlWVtWVvaWSJPWmy+2chwCHA/8J3AyE5ineB/YbTZLUhy49/kOBXarqF32HkST1r8tdPT+heWBLknQn0KXH/yPgtCTHM+72zap6V2+pJEm96VL4r2w/Nmk/JEnLWJfbOV8/iiCSpNHoclfPCuBVwP2BTcf2V9UTeswlSepJl4u7xwCXADsArweuAL7bYyZJUo+6FP57VtVHgZuq6vSqOgiwty9Jy1SXi7s3tZ+vSbIP8FPgHv1FkiT1qUvhf1OSuwEvB94HbAm8tNdUkqTeTFv4k2wI7FRVX6V5iOvxI0klSerNtGP8VXUzMNWCKpKkZajLUM+3krwf+Bxww9jOqjqnt1SSpN50KfwPbj+/Ydy+wjt7JGlZ6vLkruP6knQn0uU+fknSnYiFX5IGZtrCn2SDJHtMd4wkaXmZ6XbOW4APjCiLJGkEugz1nJLkWUnSexpJUu+6FP4XAP8G/DHJb5Jcn+Q3PeeSJPWky+2cWyx0o0leCvwdzfMA5wPPr6o/LHQ7kqQ7mrHHn8YBSf6p3b5PkofPtcEk2wEvBlZX1W7AhsCz53o+SdLsdBnq+SDwKOA57fZvmf8F342AuyTZCNiMZqpnSdIIdJmy4RFVtXuS7wFU1a+SzHnR9aq6Osk7aRZw/z1wUlWdNPG4JGuANQArV66ca3NSr1a95vhFa/uKt+6zaG1reevS47+pnZ654NY1eG+Za4NJ7g7sS7OU472BzZMcMPG4qjqyqlZX1eoVK1bMtTlJ0gRdCv97gWOBbZK8Gfgm8JZ5tLkXcHlVXVdVNwFfAnxITJJGpMtdPcckWQfs2e56elVdPI82rwQemWQzmqGePYG18zifJGkWus7VsxnN3TcbAHeZT4NV9R3gC8A5NLdybgAcOZ9zSpK663I75z8DR9MssL418PEkr51Po1V1eFXdr6p2q6rnVdWN8zmfJKm7Lnf1PBd40NgDVkneCpwLvKnPYJKkfnQZ6vkpsOm47T8Bru4njiSpb116/L8GLkxyMs0tnX8BnJ3kvQBV9eIe80mSFliXwn9s+zHmtH6iSJJGocvtnEePIogkaTRcelGSBsbCL0kDM6vC367Bu2VfYSRJ/evyANenk2yZZHPgAuCiJK/sP5okqQ9devy7VtVvgKcDX6OZVfN5vaaSJPWmS+HfOMnGNIX/uHZGzeo3liSpL10K//8BrgA2B85Icl/AxdYlaZnqch//e2nm5B/z4ySP7y+SJKlPXS7ubpPko0m+1m7vCvxt78kkSb3oMtRzFHAizTKJAJcBL+krkCSpX10K/9ZV9XnadXaraj1wc6+pJEm96VL4b0hyT25bbP2RNDN2SpKWoS6zc74MOA7YMcm3gBXAfr2mkiT1pstdPeckeSywCxDg0vZefknSMjRj4U/yNxN27Z6EqvpET5kkST3qMtTzsHFfbwrsCZwDWPglaRnqMtRzyPjtJFsBn+0tkSSpV3OZj/8GmonaJEnLUJcx/q9w26RsGwC7Ap/vM5QkqT9dxvjfOe7r9cCPq+qqnvJIknrWZYz/9IVutL1O8BFgN5rfJg6qqjMXuh1J0h1NWfiTXM/k8+4HqKqazxKM7wFOqKr9kmwCbDaPc0mSZmHKwl9VW/TRYJK7AX8OHNi280fgj320JUm6oy5j/AAkuRfNffwAVNWVc2xzB+A64ONJHgSsAw6tqhsmtLcGWAOwcuXKOTY1TKtec/yitHvFW/dZlHYlzU6X+fifluQHwOXA6TSrcX1tHm1uBOwOHFFVD6G5PfQ1Ew+qqiOranVVrV6xYsU8mpMkjdflPv43Ao8ELquqHWie3D1rHm1eBVxVVd9pt79A84NAkjQCXQr/TVX1C2CDJBtU1anA6rk2WFU/A36SZJd2157ARXM9nyRpdrqM8f9XkrsCZwDHJLmWZnhmPg5pz7UJ8CPg+fM8nySpoy6Ff1/g98BLgecCdwPeMJ9Gq+pc5vFbgyRp7roU/hcAn6uqq4Gje84jSepZlzH+LYCTknwjyT8k2abvUJKk/sxY+Kvq9VV1f+BFwLbA6Un+vfdkkqRezGZa5muBnwG/AO7VTxxJUt+6PMD1v5KcBpwC3BP4+6p6YN/BJEn96HJx9z7AS9o7cSRJy1yXaZkPG0UQSdJozGXpRUnSMjZl4U/yJ6MMIkkajel6/GcCJPnkiLJIkkZgujH+TZI8B9gjyTMnvlhVX+ovliSpL9MV/hfSzM2zFfDUCa8VYOGXpGVouqUXvwl8M8naqvroCDNpmVqslb80Wov59+wqbwujy338n0zyYpp1cqFZhetDVXVTf7EkSX3pUvg/CGzcfgZ4HnAE8Hd9hZIk9adL4X9YVT1o3PbXk3y/r0CSpH51eYDr5iQ7jm0k+VPg5v4iSZL61KXH/0rg1CQ/AgLcF5dKlKRlq8tcPack2QkYWxz90qq6sd9YkqS+dOnx0xb683rOIkkaASdpk6SBsfBL0sB0WYHrlC77JEnLw5Rj/Ek2BTYDtk5yd5o7egC2BLYbQTZJUg+mu7j7AuAlwL2BddxW+H8DvL/nXJKknkw3Sdt7gPckOaSq3jfCTJKkHnW5j/99SfYAVo0/vqo+MZ+Gk2wIrAWurqqnzOdckqTuZiz87QpcOwLncttUDQXMq/ADhwIX01wzkCSNSJcHuFYDu1ZVLVSjSbYH9gHeDLxsoc4rSZpZl8J/AfDfgGsWsN13A68CtpjqgCRrgDUAK1eunHNDLhqhOysXvtFcdSn8WwMXJTkbuHWOnqp62lwaTPIU4NqqWpfkcVMdV1VHAkcCrF69esF+25CkoetS+F+3wG0+GnhakicDmwJbJvlUVR2wwO1IkibR5a6e0xeywao6DDgMoO3xv8KiL0mj0+Wunutp7uIB2IRmGcYbqsq7cSRpGerS47/1AmySAPsCj1yIxqvqNOC0hTiXJKmbWc3OWY0vA3/ZUx5JUs+6DPU8c9zmBjT39f+ht0SSpF51uavnqeO+Xg9cQTPcI0lahrqM8buwuiTdiXRZiGX7JMcmubb9+GI75YIkaRnqcnH348BxNPPy3xv4SrtPkrQMdSn8K6rq41W1vv04CljRcy5JUk+6FP5fJDkgyYbtxwHAL/oOJknqR5fCfxDw18DPaGbo3A/wgq8kLVNd7ur5MTCnmTglSUtPlwe4dgAO4Y5LL/rDQJKWoS4PcH0Z+CjN3Ty39BtHkpaeO9uCTl0K/x+q6r0L3rIkaVF0KfzvSXI4cBK3X4HrnN5SSZJ606XwPwB4HvAEbhvqqXZbkrTMdCn8fwX8aVX9se8wkqT+dbmP/wJgq76DSJJGo0uPfyvgkiTf5fZj/N7OKUnLUJfCf3jvKSRJI9Plyd3Tx28neQywP3D65O+QJC1lXXr8JHkI8ByaC72XA1/sM5QkqT9TFv4kO9P07PcHfg58DkhVPX5E2SRJPZiux38J8A3gKVX1Q4AkLx1JKklSb6a7nfOZNNMwn5rkw0n2BDKaWJKkvkxZ+Kvqy1X1bOB+wKnAS4B7JTkiyRNHFVCStLBmfICrqm6oqk9X1VOB7YHvAa+ea4NJ7pPk1CQXJbkwyaFzPZckafa6PLl7q6r6VVUdWVV7zqPN9cDLq2pX4JHAi5LsOo/zSZJmYVaFfyFU1TVjM3tW1fXAxcB2o84hSUPV6T7+viRZBTwE+M4kr60B1gCsXLlypLkkLU2LuSDKncnIe/xjktyV5kGwl1TVbya+3g4pra6q1StWrBh9QEm6k1qUwp9kY5qif0xVfWkxMkjSUI288CcJzRq+F1fVu0bdviQN3WL0+B9Nu6JXknPbjycvQg5JGqSRX9ytqm/iE8CStGgW7eKuJGlxWPglaWAs/JI0MBZ+SRoYC78kDYyFX5IGxsIvSQNj4ZekgbHwS9LAWPglaWAs/JI0MBZ+SRqYRV2B687O1YIkLUX2+CVpYCz8kjQwFn5JGhgLvyQNjIVfkgbGwi9JA2Phl6SBsfBL0sBY+CVpYCz8kjQwFn5JGhgLvyQNjIVfkgZmUQp/kr2TXJrkh0lesxgZJGmoRl74k2wIfAB4ErArsH+SXUedQ5KGajF6/A8HflhVP6qqPwKfBfZdhBySNEiLsRDLdsBPxm1fBTxi4kFJ1gBr2s3fJrl0BNm62Br4+WKHmIEZ52+p54Oln3Gp54NlkDFvm1fG+062c8muwFVVRwJHLnaOiZKsrarVi51jOmacv6WeD5Z+xqWeD4abcTGGeq4G7jNue/t2nyRpBBaj8H8X2CnJDkk2AZ4NHLcIOSRpkEY+1FNV65P8A3AisCHwsaq6cNQ55mHJDT9Nwozzt9TzwdLPuNTzwUAzpqoW+pySpCXMJ3claWAs/JI0MBb+aSTZMMn3knx1mmOelaSSLMotYTNlTPLXSS5KcmGSTy+lfElWJjm1ff28JE9ehHxXJDk/yblJ1k7yepK8t51e5Lwkuy/BjM9ts52f5NtJHrSU8o077mFJ1ifZb5T52rZnzJjkce3rFyY5fSnlS3K3JF9J8v023/Pn096SvY9/iTgUuBjYcrIXk2zRHvOdUYaaYMqMSXYCDgMeXVW/SnKvUYdj+j/D1wKfr6oj2mk7/h+waoTZxjy+qqZ6QOZJwE7txyOAI5jkgcMRmC7j5cBj27/jJ9FcDBx1xunyjU3V8jbgpNFFuoMpMybZCvggsHdVXblI/1em+zN8EXBRVT01yQrg0iTHtLMfzJo9/ikk2R7YB/jINIe9keYf8x9GEmqCDhn/HvhAVf0KoKquHVU26JSvuO0Hwt2An44i1yztC3yiGmcBWyXZdrFDjVdV3x77OwbOonk2Zqk5BPgiMNJ/g7PwHOBLVXUljP7/SgcFbJEkwF2BXwLr53oyC//U3g28CrhlshfbX/nvU1XHjzTV7U2bEdgZ2DnJt5KclWTv0UUDZs73OuCAJFfR9PYPGVGu8Qo4Kcm6dpqQiSabYmS7kSS7zUwZxzsY+NoIMo03bb4k2wHPoPltabHM9Ge4M3D3JKe1x/zNEsv3fuB/0HSOzgcOraqp/l/NyKGeSSR5CnBtVa1L8rhJXt8AeBdw4Iijjc8wbcbWRjRDFI+j6QWekeQBVfVfSyTf/sBRVfWvSR4FfDLJbvP5Bz0Hj6mqq9tf7U9OcklVnTHC9rvolDHJ42kK/2OWWL53A6+uqluaDuuimCnjRsBDgT2BuwBnJjmrqi5bIvn+EjgXeAKwY3vMN6rqN3NpzB7/5B4NPC3JFTSzhz4hyafGvb4FsBtwWnvMI4HjRnyBd6aM0PROj6uqm6rqcuAymh8ESyXfwcDnAarqTGBTmkmzRqaqrm4/XwscSzN77HiLPsVIh4wkeSDNkNq+VfWLJZZvNfDZ9t/CfsAHkzx9iWW8Cjixqm5ox9nPAEZ2kbxDvufTDEVVVf2Q5rrO/ebToB/TfND0lr86wzGnAauXWkZgb+Do9uutaYYs7rmE8n0NOLD9euzX2Iww1+bAFuO+/jbNxb3xx+zT5gzND/izR/xn1yXjSuCHwB6L8Hc7Y74Jxx8F7LfUMrb//k6h6flvBlwA7LaE8h0BvK79ehuazsfWc23ToZ5ZSPIGYG1VLdm5hSZkPBF4YpKLgJuBV9aIe4Mz5Hs58OEkL6UZ4zyw2n/ZI7INcGw7/LAR8OmqOiHJCwGq6kM01x6eTFNYf0fT8xqlLhn/GbgnTU8aYH2NbsbJLvkW24wZq+riJCcA59Fck/pIVV2wVPLR3EhyVJLzaTohr65p7qKaiVM2SNLAOMYvSQNj4ZekgbHwS9LAWPglaWAs/JI0MBZ+DUo7A+NkM4VOun8B2nt6OwHd2PZpXR70S7LtQuRJsqK9TVG6lYVf6tfTgV1nPOqOXgZ8eL6NV9V1wDVJHj3fc+nOw8KvJSXJ5kmOb+cdvyDJ/2z3PzTJ6e0kVieOzZDZ9qDf085jfkGSh7f7H57kzDRz/X87yS6zzPCxJGe379+33X9gki8lOSHJD5K8fdx7Dk5yWfueDyd5f5I9gKcB72jz7dge/lftcZcl+bMpYjwLOKE994ZJ3tl+f+clOaTdf0WSf2nPvTbJ7u2fzX+MPfzT+jLw3K7fv+78fHJXS83ewE+rah+4dQGKjYH30cxDc137w+DNwEHtezarqgcn+XPgYzTzKF0C/FlVrU+yF/AWmmLaxT8CX6+qg9LM0352kn9vX3sw8BDgRpo50d9H81T0PwG7A9cDXwe+X1XfTnIczXQVX2i/H4CNqurhaRaeORzYa3zjSXYAflVVN7a71tCsU/Dg9vu5x7jDr2y/9/9NMx3Co2nmPLoAGHtqdi3wpo7fuwbAwq+l5nzgX5O8jaZgfiPJbjTF/OS2cG4IXDPuPZ8BqKozkmzZFustgKPTLEZTwMazyPBEmgnmXtFub0ozHw7AKVX1a4B2Koz70syDdHpV/bLd/2800/xO5Uvt53VMvvDMtsB147b3Aj5UVevb7/OX414bmz7kfOCuVXU9cH2SG5NsVc1MrNcC957+W9aQWPi1pFTVZWnWOngy8KYkp9DMVnhhVT1qqrdNsv1G4NSqekaSVTQT6XUV4FlVdentdiaPoOnpj7mZuf0fGjvHVO//Pc0Pm9mc65YJ2W4Zd+5N23NKgGP8WmKS3Bv4XVV9CngHzfDJpcCKNHP2k2TjJPcf97ax6wCPAX7d9sjvxm3TJx84yxgnAoek/fUiyUNmOP67wGOT3D3JRtx+SOl6mt8+ZuMybv+bwMnAC9pzM2Gop4udaYZ+JMDCr6XnATRj6ufSjH+/qZp1RfcD3pbk+zQLUuwx7j1/SPI9mjHtg9t9bwf+pd0/2175G2mGhs5LcmG7PaVq5lJ/C3A28C3gCuDX7cufBV7ZXiTecfIz3OF8NwD/keS/t7s+AlzZ5vk+zTKBs/F4YDFXitMS4+ycWtaSnAa8oqrWLnKOu1bVb9te+bHAx6rq2Hmc7xnAQ6vqtQuQ7QyaC+O/mvFgDYI9fmlhvK79LeUCmtWRvjyfk7U/NK6Yb6gkK4B3WfQ1nj1+SRoYe/ySNDAWfkkaGAu/JA2MhV+SBsbCL0kD8/8BXQP/bGAvHMgAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"source": [
"Shapiro–Wilk test on the specific feature data"
],
"metadata": {
"id": "OxAVey-R1wav"
}
},
{
"cell_type": "code",
"source": [
"stat, p = shapiro(data[target_feature_name])\n",
"print('Statistics=%.3f, p=%.3f' % (stat, p))\n",
"\n",
"alpha = 0.05\n",
"if p > alpha:\n",
"\tprint('Sample looks Gaussian (fail to reject H0)')\n",
"else:\n",
"\tprint('Sample does not look Gaussian (reject H0)')"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ZJbFYLaW1392",
"outputId": "afac74a8-5737-4d83-b567-d9d23458be8e"
},
"execution_count": 67,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Statistics=0.978, p=0.460\n",
"Sample looks Gaussian (fail to reject H0)\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"# Kolmogorov–Smirnov test on generated data"
],
"metadata": {
"id": "5PnXRefj48XN"
}
},
{
"cell_type": "markdown",
"source": [
"Generate Normal distribution"
],
"metadata": {
"id": "FcctJ38f65f-"
}
},
{
"cell_type": "code",
"source": [
"x1 = np.random.normal(loc=10,scale=math.sqrt(10),size=40)\n",
"x2 = np.random.normal(loc=15,scale=math.sqrt(15),size=40)\n",
"x3 = np.random.normal(loc=20,scale=math.sqrt(20),size=40)\n",
"x4 = np.random.normal(loc=25,scale=math.sqrt(25),size=40)\n",
"x5 = np.random.normal(loc=30,scale=math.sqrt(30),size=40)\n",
"\n",
"x = np.append(np.append(np.append(x1, x1), np.append(x3, x4)), x5)\n",
"\n",
"plt.hist(x)\n",
"plt.title('Normal distribution with given mean and std deviation')\n",
"plt.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 281
},
"id": "jhs-mBve5BPO",
"outputId": "0a955591-529f-4f73-e63c-7aa2d18c5014"
},
"execution_count": 149,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"source": [
"Generate Chi-squarred distribution"
],
"metadata": {
"id": "4Byjyjwk68QZ"
}
},
{
"cell_type": "code",
"source": [
"y1 = np.random.chisquare(10,40)\n",
"y2 = np.random.chisquare(15,40)\n",
"y3 = np.random.chisquare(20,40)\n",
"y4 = np.random.chisquare(25,40)\n",
"y5 = np.random.chisquare(30,40)\n",
"\n",
"y = np.append(np.append(np.append(y1, y2), np.append(y3, y4)), y5)\n",
"\n",
"plt.hist(y)\n",
"plt.title('Chi-squarred distribution with given degrees of freedom')\n",
"plt.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 281
},
"id": "w6YzAx4C8J7v",
"outputId": "5e0a45e6-8a8c-42cc-8e17-f4686867f39c"
},
"execution_count": 144,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"source": [
"Kolmogorov–Smirnov test on 2 distributions"
],
"metadata": {
"id": "P-4wteSe90E5"
}
},
{
"cell_type": "code",
"source": [
"stat, p = ks_2samp(x, y)\n",
"print('Statistics=%.3f, p=%.3f' % (stat, p))\n",
"\n",
"alpha = 0.05\n",
"if p >= alpha:\n",
"\tprint('2 distributions are probably similar')\n",
"else:\n",
"\tprint('2 distributions are probably different')"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "aLuTSiiW97IG",
"outputId": "3340d122-e467-45ff-eaf6-042ba37382fc"
},
"execution_count": 150,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Statistics=0.125, p=0.088\n",
"2 distributions are probably similar\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"# Kolmogorov–Smirnov test on data from dataset"
],
"metadata": {
"id": "303-rJJPAYOj"
}
},
{
"cell_type": "markdown",
"source": [
"Reading the dataset"
],
"metadata": {
"id": "wONarAtMAlWH"
}
},
{
"cell_type": "code",
"source": [
"data = pd.read_csv(\"https://drive.google.com/uc?id=1od2L_Iokq5UPkq6Lv4DWWquC4xtqsHh-\", delimiter=r\"\\s+\", header=0)\n",
"\n",
"data = pd.DataFrame(data, columns=['country', 'population', 'area', 'gdp', 'ind'])\n",
"\n",
"data = data.loc[data['area'].notnull()].loc[data['area'] > 10].loc[data['population'].notnull()]\n",
"\n",
"data.head()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 225
},
"id": "Ab1NfmGbAakx",
"outputId": "b08bad41-d85b-4dc2-b594-fcd1836d036f"
},
"execution_count": 196,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"1105\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>country</th>\n",
" <th>population</th>\n",
" <th>area</th>\n",
" <th>gdp</th>\n",
" <th>ind</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>China</td>\n",
" <td>1319498000</td>\n",
" <td>9640821.0</td>\n",
" <td>2630113.0</td>\n",
" <td>ind</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>India</td>\n",
" <td>1169016000</td>\n",
" <td>3287263.0</td>\n",
" <td>886867.0</td>\n",
" <td>ind</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>USA</td>\n",
" <td>302425000</td>\n",
" <td>9629091.0</td>\n",
" <td>13244550.0</td>\n",
" <td>ind</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Indonesia</td>\n",
" <td>231627000</td>\n",
" <td>1904569.0</td>\n",
" <td>364239.0</td>\n",
" <td>ind</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Brazil</td>\n",
" <td>186736000</td>\n",
" <td>8514877.0</td>\n",
" <td>1067706.0</td>\n",
" <td>ind</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" country population area gdp ind\n",
"0 China 1319498000 9640821.0 2630113.0 ind\n",
"1 India 1169016000 3287263.0 886867.0 ind\n",
"2 USA 302425000 9629091.0 13244550.0 ind\n",
"3 Indonesia 231627000 1904569.0 364239.0 ind\n",
"4 Brazil 186736000 8514877.0 1067706.0 ind"
]
},
"metadata": {},
"execution_count": 196
}
]
},
{
"cell_type": "code",
"source": [
"population_log = np.log10(np.log10(data['population']))\n",
"area_log = np.log10(np.log10(data['area']))\n",
"\n",
"\n",
"def func(x, a, b):\n",
" y = a*x + b\n",
" return y\n",
"\n",
"alpha = curve_fit(func, xdata = area_log, ydata = population_log)[0]\n",
"b1 = alpha[0]\n",
"b2 = alpha[1]\n",
"\n",
"cst_fun = lambda t: t*b1 + b2\n",
"vfunc = np.vectorize(cst_fun)\n",
"f_area_log = vfunc(area_log)\n",
"\n",
"plt.hist(population_log)\n",
"plt.title('log10(log10(population))')\n",
"plt.show()\n",
"\n",
"plt.hist(f_area_log)\n",
"plt.title('least squares population_log to area_log')\n",
"plt.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 545
},
"id": "c10pW4ITJraQ",
"outputId": "1ac917df-7b68-4776-8471-2272f0f6be5b"
},
"execution_count": 249,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"source": [
"Kolmogorov–Smirnov test on 2 distributions"
],
"metadata": {
"id": "W6f4YoEERbDG"
}
},
{
"cell_type": "code",
"source": [
"stat, p = ks_2samp(population_log, f_area_log)\n",
"print('Statistics=%.3f, p=%.3f' % (stat, p))\n",
"\n",
"alpha = 0.05\n",
"if p >= alpha:\n",
"\tprint('2 distributions are probably similar')\n",
"else:\n",
"\tprint('2 distributions are probably different')"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "fjAFX7q4RdtH",
"outputId": "a3cf19c6-f3a7-4e6d-d756-76c38ebbd1f6"
},
"execution_count": 250,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Statistics=0.116, p=0.111\n",
"2 distributions are probably similar\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"# Chi-squarred test"
],
"metadata": {
"id": "4evN5WFTTw8G"
}
},
{
"cell_type": "markdown",
"source": [
"Loading dataset"
],
"metadata": {
"id": "qdJwQGkcT4na"
}
},
{
"cell_type": "code",
"source": [
"data = pd.read_csv(\"https://drive.google.com/uc?id=1CfnyUBYOvRNMG8tUqqr1BUbTkwjANe3H\", header=0)\n",
"\n",
"data = pd.DataFrame(data, columns=['Hair', 'Eye', 'Sex', 'Freq'])\n",
"\n",
"data = data.loc[data['Eye'].notnull()].loc[data['Sex'] == 'Female'].loc[data['Hair'].notnull()]\n",
"\n",
"\n",
"\n",
"data.head()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "L_ZVlOxJT4L9",
"outputId": "9dddee02-1682-4b7e-ec4a-31b8dba92c72"
},
"execution_count": 268,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Hair</th>\n",
" <th>Eye</th>\n",
" <th>Sex</th>\n",
" <th>Freq</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>Black</td>\n",
" <td>Brown</td>\n",
" <td>Female</td>\n",
" <td>36</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>Brown</td>\n",
" <td>Brown</td>\n",
" <td>Female</td>\n",
" <td>66</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>Red</td>\n",
" <td>Brown</td>\n",
" <td>Female</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>Blond</td>\n",
" <td>Brown</td>\n",
" <td>Female</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>Black</td>\n",
" <td>Blue</td>\n",
" <td>Female</td>\n",
" <td>9</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Hair Eye Sex Freq\n",
"16 Black Brown Female 36\n",
"17 Brown Brown Female 66\n",
"18 Red Brown Female 16\n",
"19 Blond Brown Female 4\n",
"20 Black Blue Female 9"
]
},
"metadata": {},
"execution_count": 268
}
]
},
{
"cell_type": "markdown",
"source": [
"Transform strings to numbers"
],
"metadata": {
"id": "cGNOuoDKXSJ4"
}
},
{
"cell_type": "code",
"source": [
"color_dict =\t{\n",
" \"Brown\": 1,\n",
" \"Blue\": 2,\n",
" \"Hazel\": 3,\n",
" \"Green\": 4,\n",
" \"Black\": 5,\n",
" \"Red\": 6,\n",
" \"Blond\": 7\n",
"}\n",
"\n",
"eye_df = data['Eye'].apply(lambda x: color_dict[x])\n",
"hair_df = data['Hair'].apply(lambda x: color_dict[x])"
],
"metadata": {
"id": "av72pi-3XV2M"
},
"execution_count": 276,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"Test contingency"
],
"metadata": {
"id": "N587t7-AWQOU"
}
},
{
"cell_type": "code",
"source": [
"info = [eye_df, hair_df]\n",
"\n",
"stat, p_value, dof = chi2_contingency(hair_and_eye_mx)[0:3]\n",
" \n",
"significance_level = 0.05\n",
"print(\"p value: \" + str(p_value)) \n",
"if p_value <= significance_level: \n",
" print('Values are dependent') \n",
"else: \n",
" print('Values are independent') "
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ehW4PzyBWTsS",
"outputId": "85199485-db8c-484b-d60b-5989a10f6638"
},
"execution_count": 292,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"p value: 1.0\n",
"Values are independent\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"# T-student test"
],
"metadata": {
"id": "9WcplqDVeAsb"
}
},
{
"cell_type": "markdown",
"source": [
"Loading dataset"
],
"metadata": {
"id": "AXh1U6fNeERj"
}
},
{
"cell_type": "code",
"source": [
"data = pd.read_csv(\"https://drive.google.com/uc?id=170LKMRahhjDYcEB9DzdJY9X1lqNTOZPk\", delimiter=r\"\\s+\", header=0)\n",
" \n",
"\n",
"data = pd.DataFrame(data, columns=['Score', 'LearningType'])\n",
"\n",
"draDf = data.loc[data['LearningType'] == 'DRA']['Score']\n",
"scDf = data.loc[data['LearningType'] == 'SC']['Score']\n",
"\n",
"data.head()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "EWORJmSFeD4k",
"outputId": "47c832d4-141a-4624-85e2-612749734222"
},
"execution_count": 300,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Score</th>\n",
" <th>LearningType</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>24</td>\n",
" <td>DRA</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>43</td>\n",
" <td>DRA</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>58</td>\n",
" <td>DRA</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>71</td>\n",
" <td>DRA</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>43</td>\n",
" <td>DRA</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Score LearningType\n",
"0 24 DRA\n",
"1 43 DRA\n",
"2 58 DRA\n",
"3 71 DRA\n",
"4 43 DRA"
]
},
"metadata": {},
"execution_count": 300
}
]
},
{
"cell_type": "markdown",
"source": [
"Perform t-student test"
],
"metadata": {
"id": "nJjsqdFGfK9Z"
}
},
{
"cell_type": "code",
"source": [
"t_stat, p = ttest_ind(draDf, scDf)\n",
"\n",
"alpha = 0.05\n",
"\n",
"print(\"p value: \" + str(p)) \n",
"if p < alpha: \n",
" print('Values are different') \n",
"else: \n",
" print('Values may be similar') "
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "5hT-AAU4fNIS",
"outputId": "72ebdbd9-a94a-4215-ec62-4986841e42a2"
},
"execution_count": 309,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"p value: 0.028629482832245753\n",
"Values are different\n"
]
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment