1149 lines
402 KiB
Plaintext
1149 lines
402 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "TQqrOdkY6nsy"
|
||
},
|
||
"source": [
|
||
"# **Klasyfikacja za pomocą naiwnej metody bayesowskiej z rozkładem normalnym**"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "AlcfRFCPSXIj"
|
||
},
|
||
"source": [
|
||
"# **Twierdzenie Bayesa**\n",
|
||
""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "rcpTnWjOh5dq"
|
||
},
|
||
"source": [
|
||
"P(A) -- oznacza prawdopodobieństwo a-priori wystąpienia klasy A (tj. prawdopodobieństwo, że dowolny przykład należy do klasy A)\n",
|
||
"\n",
|
||
"P(B|A) -- oznacza prawdopodobieństwo a-posteriori, że B należy do \n",
|
||
"klasy A\n",
|
||
"\n",
|
||
"P(B) -- znacza prawdopodobieństwo a-priori wystąpienia przykładu B "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"**Naiwny klasyfikator bayesowski jest naiwny, ponieważ zakłada, że poszczególne cechy są niezależne od siebie**"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "SSaJsYOhz8h8"
|
||
},
|
||
"source": [
|
||
""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 46,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"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</th>\n",
|
||
" <th>sepal.width</th>\n",
|
||
" <th>petal.length</th>\n",
|
||
" <th>petal.width</th>\n",
|
||
" <th>variety</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>Setosa</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>Setosa</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>Setosa</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>Setosa</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>Setosa</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>145</th>\n",
|
||
" <td>6.7</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>5.2</td>\n",
|
||
" <td>2.3</td>\n",
|
||
" <td>Virginica</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>146</th>\n",
|
||
" <td>6.3</td>\n",
|
||
" <td>2.5</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>1.9</td>\n",
|
||
" <td>Virginica</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>147</th>\n",
|
||
" <td>6.5</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>5.2</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>Virginica</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>148</th>\n",
|
||
" <td>6.2</td>\n",
|
||
" <td>3.4</td>\n",
|
||
" <td>5.4</td>\n",
|
||
" <td>2.3</td>\n",
|
||
" <td>Virginica</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>149</th>\n",
|
||
" <td>5.9</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>5.1</td>\n",
|
||
" <td>1.8</td>\n",
|
||
" <td>Virginica</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>150 rows × 5 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" sepal.length sepal.width petal.length petal.width variety\n",
|
||
"0 5.1 3.5 1.4 0.2 Setosa\n",
|
||
"1 4.9 3.0 1.4 0.2 Setosa\n",
|
||
"2 4.7 3.2 1.3 0.2 Setosa\n",
|
||
"3 4.6 3.1 1.5 0.2 Setosa\n",
|
||
"4 5.0 3.6 1.4 0.2 Setosa\n",
|
||
".. ... ... ... ... ...\n",
|
||
"145 6.7 3.0 5.2 2.3 Virginica\n",
|
||
"146 6.3 2.5 5.0 1.9 Virginica\n",
|
||
"147 6.5 3.0 5.2 2.0 Virginica\n",
|
||
"148 6.2 3.4 5.4 2.3 Virginica\n",
|
||
"149 5.9 3.0 5.1 1.8 Virginica\n",
|
||
"\n",
|
||
"[150 rows x 5 columns]"
|
||
]
|
||
},
|
||
"execution_count": 46,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"iris_data = pd.read_csv(\"iris.csv\")\n",
|
||
"iris_data"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 47,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<matplotlib.collections.PathCollection at 0x7fd5194d9f40>"
|
||
]
|
||
},
|
||
"execution_count": 47,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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Go1Go9GjR49G77777gXPaW1tjd57773RqampaDgcjno8nuh7772naomWYmb/zz33XPTpp59WvTTL8fl80cHBwegXv/jFaCAQWPQ5ut57M3vX9b6fP38++o9//GP266effjr64x//eMHznn/++ehjjz0WjUaj0b6+vujnP//56IULF5St0yrM7v/RRx+N/v73v0/K91TyCT0cDqOnpwc1NTUAgJqaGvT09Cz4f6tXX30VX/3qV2EYBnJzc3Hrrbeio6NDxRItxez+daWiomLZc2Z1vfdm9q4rOTk5uPnmm2e/vvHGGzE4OLjgeX/5y19w5513AgCKi4tRVlaGv//978rWaRVm959MlBT0UCiE/Px8pKenAwDS09Oxdu1ahEKhBc9bt27d7NeFhYUYGhpSsURLMbt/AHjllVdQW1uLe++9F2+//bbqpaYMXe+9WXS/75FIBIcPH8aWLVsWXBscHITL5Zr9Wsd7v9T+AeC3v/0tamtrsXPnTpw5c0b6+6QsPpdZyI4dO/Dtb38bGRkZePPNN7Fz5068+uqrWLNmTaqXxliIE+77vn37sGrVKtx1112pXkpKWGr/P/zhD3HdddfBMAwcPXoU9913H15//fXZD4AiKPmEXlhYiOHhYUxNTQGINcDOnTu34J+ihYWFV/yTJBQKoaCgQMUSLcXs/q+77jpkZGQAADZt2oTCwkL09vYqX28q0PXem0H3+97U1IR3330XP/vZzxakAwLAunXrEAwGZ7/W7d4vt//8/PzZx++44w5cunRJ+l8oSgp6Xl4eSktL0d7eDgBob29HaWkpcnNzr3hedXU1jhw5gkgkgpGREbz++uvYunWriiVaitn9Dw8Pz/73O++8g2AwiE996lNK15oqdL33ZtD5vj/77LPw+/144YUXkJmZuehzqqur8Yc//AEA0N/fj3//+9/weDwql2kZZvY/9/57vV4YhoH8/Hyp76csPvfMmTNoaGjABx98gOzsbDQ1NWH9+vW4//778cADD2Djxo2YmprCE088gTfffBMAcP/99882S+yOmf0/+uij6O7uhmEYyMjIwAMPPIAvfOELqV56wjz55JP461//ivfffx9r1qxBTk4OXnnlFUfcezN71/W+9/b2oqamBsXFxcjKygIAFBUV4YUXXsC2bdvw4osvIj8/H5cuXUJDQwPeeecdGIaBXbt24dZbb03x6hPH7P6//vWvIxwOIy0tDatXr8YjjzyCG2+8Uep7ch46wzCMJvBvijIMw2gCF3SGYRhN4ILOMAyjCVzQGYZhNIELOsMwjCZwQWcYhtEELugMwzCawAWdYRhGE/4/jUl+ttYbYWsAAAAASUVORK5CYII=\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import numpy as np\n",
|
||
"fig = plt.figure()\n",
|
||
"ax = fig.add_subplot(111)\n",
|
||
"setosa = iris_data[:50]\n",
|
||
"versicolor = iris_data[50:100]\n",
|
||
"virginica = iris_data[100:150]\n",
|
||
"# ax.scatter(setosa['sepal.length'],np.arange(50), color='blue', lw=2)\n",
|
||
"# ax.scatter(versicolor['sepal.length'],np.arange(50), color='orange', lw=2)\n",
|
||
"# ax.scatter(virginica['sepal.length'],np.arange(50), color='green', lw=2) \n",
|
||
"\n",
|
||
"ax.scatter(setosa['petal.width'],np.arange(50), color='blue', lw=2)\n",
|
||
"ax.scatter(versicolor['petal.width'],np.arange(50), color='orange', lw=2)\n",
|
||
"ax.scatter(virginica['petal.width'],np.arange(50), color='green', lw=2)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 42,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"ShapiroResult(statistic=0.9776989221572876, pvalue=0.4595281183719635)\n",
|
||
"ShapiroResult(statistic=0.9778355956077576, pvalue=0.46473264694213867)\n",
|
||
"ShapiroResult(statistic=0.9711798429489136, pvalue=0.25832483172416687)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from scipy import stats\n",
|
||
"print(stats.shapiro(setosa['sepal.length']))\n",
|
||
"print(stats.shapiro(versicolor['sepal.length']))\n",
|
||
"print(stats.shapiro(virginica['sepal.length']))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "Yabcm4Rei2ue"
|
||
},
|
||
"source": [
|
||
""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "dsf6FnlgjiOL"
|
||
},
|
||
"source": [
|
||
"# Funkcja gęstości prawdopodobieństwa rozkładu normalnego \n",
|
||
""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"metadata": {
|
||
"id": "v0oeHebytjNp"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import numpy as np\n",
|
||
"import pandas as pd\n",
|
||
"import scipy.stats as stats\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import seaborn as sns\n",
|
||
"from sklearn.model_selection import train_test_split\n",
|
||
"sns.set(style=\"whitegrid\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"metadata": {
|
||
"id": "fOYTA3VVtjNw"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"class NaiveBayesClassifier():\n",
|
||
" def calc_prior(self, features, target):\n",
|
||
" '''\n",
|
||
" Wyliczenie prawdopodobieństwa a priori\n",
|
||
" '''\n",
|
||
" self.prior = (features.groupby(target).apply(lambda x: len(x)) / self.rows).to_numpy()\n",
|
||
"\n",
|
||
" return self.prior\n",
|
||
" \n",
|
||
" def calc_statistics(self, features, target):\n",
|
||
" '''\n",
|
||
" Wyliczenie średnich i wariancji dla danych\n",
|
||
" ''' \n",
|
||
" self.mean = features.groupby(target).apply(np.mean).to_numpy()\n",
|
||
" self.var = features.groupby(target).apply(np.var).to_numpy()\n",
|
||
" \n",
|
||
" return self.mean, self.var\n",
|
||
" \n",
|
||
" def gaussian_density(self, class_idx, x): \n",
|
||
" '''\n",
|
||
" Wyliczenie prawdopodobieństwa z rozkładu normalnego \n",
|
||
" (1/√2pi*σ) * exp((-1/2)*((x-μ)^2)/(2*σ²))\n",
|
||
" μ -średnia\n",
|
||
" σ² - wariancja\n",
|
||
" σ - odchylenie standardowe\n",
|
||
" '''\n",
|
||
" mean = self.mean[class_idx]\n",
|
||
" var = self.var[class_idx]\n",
|
||
" \n",
|
||
" numerator = np.exp((-1/2)*((x-mean)**2) / (2 * var)) # Licznik wzoru na gęstość rozkładu normalnego \n",
|
||
" denominator = np.sqrt(2 * np.pi * var) # Mianownik wzoru na gęstość rozkładu normalnego \n",
|
||
" prob = numerator / denominator\n",
|
||
" \n",
|
||
" return prob\n",
|
||
" \n",
|
||
" def classify(self, x):\n",
|
||
" '''\n",
|
||
" Wyliczenie prawdopodobieństwa a posteriori i zwrócenie klasy, dla której prawdopodobieństwo jest najwyższe\n",
|
||
" '''\n",
|
||
" posteriors = []\n",
|
||
" posteriors_no_log = []\n",
|
||
"\n",
|
||
" # calculate posterior probability for each class\n",
|
||
" for i in range(self.count):\n",
|
||
" prior = np.log(self.prior[i]) # Do predykcji używane jest prawodopodobieństwo logarytmiczne\n",
|
||
" prior_no_log = self.prior[i] # Zwykłe prawdopodobieństwo liczymy, żeby zwrócić je z predykcjami\n",
|
||
"\n",
|
||
" conditional = np.sum(np.log(self.gaussian_density(i, x))) \n",
|
||
" conditional_no_log = np.prod(self.gaussian_density(i, x))\n",
|
||
"\n",
|
||
" posterior = prior + conditional\n",
|
||
" posterior_no_log = prior_no_log * conditional_no_log\n",
|
||
"\n",
|
||
" posteriors.append(posterior)\n",
|
||
" posteriors_no_log.append(posterior_no_log)\n",
|
||
"\n",
|
||
" # Zwracamy klasę o największym prawdopodobieństwie\n",
|
||
" return self.classes[np.argmax(posteriors)], np.max(posteriors_no_log)\n",
|
||
"\n",
|
||
" def fit(self, features, target):\n",
|
||
" '''\n",
|
||
" Główna metoda trenująca model\n",
|
||
" '''\n",
|
||
" self.classes = np.unique(target)\n",
|
||
" self.count = len(self.classes)\n",
|
||
" self.feature_nums = features.shape[1]\n",
|
||
" self.rows = features.shape[0]\n",
|
||
" \n",
|
||
" self.calc_statistics(features, target)\n",
|
||
" self.calc_prior(features, target)\n",
|
||
" \n",
|
||
" def predict(self, features):\n",
|
||
" '''\n",
|
||
" Predykcja wartości dla każdego wiersza\n",
|
||
" '''\n",
|
||
" preds = [self.classify(f) for f in features.to_numpy()]\n",
|
||
" return preds\n",
|
||
"\n",
|
||
" def accuracy(self, y_test, y_pred):\n",
|
||
" '''\n",
|
||
" Wyliczenie accuracy modelu\n",
|
||
" '''\n",
|
||
" accuracy = np.sum(y_test == y_pred) / len(y_test)\n",
|
||
" return accuracy\n",
|
||
"\n",
|
||
" def visualize(self, y_true, y_pred, target):\n",
|
||
" '''\n",
|
||
" Narysowanie wykresu porównującego rozkład klas prawdziwych i przewidzianych\n",
|
||
" '''\n",
|
||
" tr = pd.DataFrame(data=y_true, columns=[target])\n",
|
||
" pr = pd.DataFrame(data=y_pred, columns=[target])\n",
|
||
" \n",
|
||
" \n",
|
||
" fig, ax = plt.subplots(1, 2, sharex='col', sharey='row', figsize=(15,6))\n",
|
||
" \n",
|
||
" sns.countplot(x=target, data=tr, ax=ax[0], alpha=0.7, hue=target, dodge=False)\n",
|
||
" sns.countplot(x=target, data=pr, ax=ax[1], alpha=0.7, hue=target, dodge=False)\n",
|
||
" \n",
|
||
" ax[0].tick_params(labelsize=12)\n",
|
||
" ax[1].tick_params(labelsize=12)\n",
|
||
" ax[0].set_title(\"Prawdziwe wartości\", fontsize=18)\n",
|
||
" ax[1].set_title(\"Predykcje\", fontsize=18)\n",
|
||
" plt.show()\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Pitność wody"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/",
|
||
"height": 382
|
||
},
|
||
"id": "5-riUAGntjN2",
|
||
"outputId": "f87f047d-bc71-41ef-a43a-17b6f7cf84c3"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"(2948, 9) (2948,)\n",
|
||
"(328, 9) (328,)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Preprocessing danych\n",
|
||
"\n",
|
||
"# Uzupełnienie pustych wartości w kolumnach\n",
|
||
"def fill_nan(df):\n",
|
||
" for index, column in enumerate(df.columns[:9]):\n",
|
||
" df[column] = df[column].fillna(df.groupby('Potability')[column].transform('mean'))\n",
|
||
" return df\n",
|
||
"\n",
|
||
"# Wczytywanie danych\n",
|
||
"df = pd.read_csv(\"water_potability.csv\")\n",
|
||
"\n",
|
||
"df = fill_nan(df)\n",
|
||
"\n",
|
||
"# Zrandomizowanie kolejności danych w datasecie\n",
|
||
"df = df.sample(frac=1, random_state=10).reset_index(drop=True)\n",
|
||
"\n",
|
||
"# Podział na atrybuty i przewidywane wartości\n",
|
||
"X, y = df.iloc[:, :-1], df.iloc[:, -1]\n",
|
||
"\n",
|
||
"# Normalizacja i skalowanie danych\n",
|
||
"from sklearn.preprocessing import StandardScaler\n",
|
||
"sc = StandardScaler()\n",
|
||
"X = sc.fit_transform(X.to_numpy())\n",
|
||
"X = pd.DataFrame(X, columns=df.columns.values.tolist()[:-1])\n",
|
||
"\n",
|
||
"# Podział na dane trenujące i testowe, z uwzględnieniem równego rozłożenia danych\n",
|
||
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, stratify=y, random_state=1)\n",
|
||
"\n",
|
||
"print(X_train.shape, y_train.shape)\n",
|
||
"print(X_test.shape, y_test.shape)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"metadata": {
|
||
"id": "O82SGzK6tjN5"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"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>ph</th>\n",
|
||
" <th>Hardness</th>\n",
|
||
" <th>Solids</th>\n",
|
||
" <th>Chloramines</th>\n",
|
||
" <th>Sulfate</th>\n",
|
||
" <th>Conductivity</th>\n",
|
||
" <th>Organic_carbon</th>\n",
|
||
" <th>Trihalomethanes</th>\n",
|
||
" <th>Turbidity</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>1022</th>\n",
|
||
" <td>0.003078</td>\n",
|
||
" <td>0.688791</td>\n",
|
||
" <td>0.846257</td>\n",
|
||
" <td>1.428934</td>\n",
|
||
" <td>-0.858263</td>\n",
|
||
" <td>0.002792</td>\n",
|
||
" <td>0.913790</td>\n",
|
||
" <td>0.232417</td>\n",
|
||
" <td>2.319505</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3191</th>\n",
|
||
" <td>-0.587365</td>\n",
|
||
" <td>0.223203</td>\n",
|
||
" <td>-0.731867</td>\n",
|
||
" <td>0.397503</td>\n",
|
||
" <td>0.759893</td>\n",
|
||
" <td>0.330607</td>\n",
|
||
" <td>0.094379</td>\n",
|
||
" <td>0.282563</td>\n",
|
||
" <td>0.235024</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>13</th>\n",
|
||
" <td>0.003078</td>\n",
|
||
" <td>-0.241037</td>\n",
|
||
" <td>0.773051</td>\n",
|
||
" <td>0.580019</td>\n",
|
||
" <td>1.334369</td>\n",
|
||
" <td>-0.049130</td>\n",
|
||
" <td>-1.121422</td>\n",
|
||
" <td>-0.200432</td>\n",
|
||
" <td>-0.946356</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2068</th>\n",
|
||
" <td>-2.176058</td>\n",
|
||
" <td>1.443006</td>\n",
|
||
" <td>-1.626771</td>\n",
|
||
" <td>-4.164610</td>\n",
|
||
" <td>-0.033706</td>\n",
|
||
" <td>-1.050763</td>\n",
|
||
" <td>-0.391328</td>\n",
|
||
" <td>-0.398649</td>\n",
|
||
" <td>-0.298341</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1484</th>\n",
|
||
" <td>0.213047</td>\n",
|
||
" <td>0.403036</td>\n",
|
||
" <td>-0.464729</td>\n",
|
||
" <td>0.070417</td>\n",
|
||
" <td>0.021560</td>\n",
|
||
" <td>-0.952776</td>\n",
|
||
" <td>-0.213330</td>\n",
|
||
" <td>0.111419</td>\n",
|
||
" <td>-0.235893</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>691</th>\n",
|
||
" <td>0.003078</td>\n",
|
||
" <td>1.199106</td>\n",
|
||
" <td>-0.003483</td>\n",
|
||
" <td>-0.670308</td>\n",
|
||
" <td>-0.069513</td>\n",
|
||
" <td>0.185754</td>\n",
|
||
" <td>-0.466010</td>\n",
|
||
" <td>0.031975</td>\n",
|
||
" <td>0.676276</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1283</th>\n",
|
||
" <td>-2.034004</td>\n",
|
||
" <td>-1.508135</td>\n",
|
||
" <td>0.255310</td>\n",
|
||
" <td>0.083839</td>\n",
|
||
" <td>-1.413707</td>\n",
|
||
" <td>0.694074</td>\n",
|
||
" <td>-1.110579</td>\n",
|
||
" <td>0.232996</td>\n",
|
||
" <td>2.544703</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2818</th>\n",
|
||
" <td>-0.702987</td>\n",
|
||
" <td>-0.575677</td>\n",
|
||
" <td>0.755056</td>\n",
|
||
" <td>0.664695</td>\n",
|
||
" <td>0.021560</td>\n",
|
||
" <td>-0.489334</td>\n",
|
||
" <td>0.371852</td>\n",
|
||
" <td>-2.272990</td>\n",
|
||
" <td>-1.764684</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1330</th>\n",
|
||
" <td>1.525943</td>\n",
|
||
" <td>0.497074</td>\n",
|
||
" <td>-0.714355</td>\n",
|
||
" <td>-1.024237</td>\n",
|
||
" <td>-1.022037</td>\n",
|
||
" <td>-0.327074</td>\n",
|
||
" <td>-1.107341</td>\n",
|
||
" <td>0.517432</td>\n",
|
||
" <td>-1.230528</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1926</th>\n",
|
||
" <td>-0.043558</td>\n",
|
||
" <td>-0.882359</td>\n",
|
||
" <td>-0.456141</td>\n",
|
||
" <td>-0.770271</td>\n",
|
||
" <td>0.795189</td>\n",
|
||
" <td>0.560306</td>\n",
|
||
" <td>-1.086081</td>\n",
|
||
" <td>-1.356820</td>\n",
|
||
" <td>0.172521</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>2948 rows × 9 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" ph Hardness Solids Chloramines Sulfate Conductivity \\\n",
|
||
"1022 0.003078 0.688791 0.846257 1.428934 -0.858263 0.002792 \n",
|
||
"3191 -0.587365 0.223203 -0.731867 0.397503 0.759893 0.330607 \n",
|
||
"13 0.003078 -0.241037 0.773051 0.580019 1.334369 -0.049130 \n",
|
||
"2068 -2.176058 1.443006 -1.626771 -4.164610 -0.033706 -1.050763 \n",
|
||
"1484 0.213047 0.403036 -0.464729 0.070417 0.021560 -0.952776 \n",
|
||
"... ... ... ... ... ... ... \n",
|
||
"691 0.003078 1.199106 -0.003483 -0.670308 -0.069513 0.185754 \n",
|
||
"1283 -2.034004 -1.508135 0.255310 0.083839 -1.413707 0.694074 \n",
|
||
"2818 -0.702987 -0.575677 0.755056 0.664695 0.021560 -0.489334 \n",
|
||
"1330 1.525943 0.497074 -0.714355 -1.024237 -1.022037 -0.327074 \n",
|
||
"1926 -0.043558 -0.882359 -0.456141 -0.770271 0.795189 0.560306 \n",
|
||
"\n",
|
||
" Organic_carbon Trihalomethanes Turbidity \n",
|
||
"1022 0.913790 0.232417 2.319505 \n",
|
||
"3191 0.094379 0.282563 0.235024 \n",
|
||
"13 -1.121422 -0.200432 -0.946356 \n",
|
||
"2068 -0.391328 -0.398649 -0.298341 \n",
|
||
"1484 -0.213330 0.111419 -0.235893 \n",
|
||
"... ... ... ... \n",
|
||
"691 -0.466010 0.031975 0.676276 \n",
|
||
"1283 -1.110579 0.232996 2.544703 \n",
|
||
"2818 0.371852 -2.272990 -1.764684 \n",
|
||
"1330 -1.107341 0.517432 -1.230528 \n",
|
||
"1926 -1.086081 -1.356820 0.172521 \n",
|
||
"\n",
|
||
"[2948 rows x 9 columns]"
|
||
]
|
||
},
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"X_train"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {
|
||
"id": "a3jkTMFLtjN6"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Trenowanie modelu klasyfikatora\n",
|
||
"x = NaiveBayesClassifier()\n",
|
||
"x.fit(X_train, y_train)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"metadata": {
|
||
"id": "CoC22aNgtjN9"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0"
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Predykcja wartości dla danych testowych\n",
|
||
"predictions = x.predict(X_test)\n",
|
||
"\n",
|
||
"# Prawdopodobieństwa kolejnych predykcji\n",
|
||
"probabilities = [p[1] for p in predictions]\n",
|
||
"\n",
|
||
"# Przewidziana wartość\n",
|
||
"predictions = [p[0] for p in predictions]\n",
|
||
"predictions[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"metadata": {
|
||
"id": "JR06zodmtjN9"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.6280487804878049"
|
||
]
|
||
},
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Wyliczenie accuracy modelu\n",
|
||
"x.accuracy(y_test, predictions)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"metadata": {
|
||
"id": "1jW0QPootjN_"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.14084507042253522"
|
||
]
|
||
},
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"from sklearn.metrics import f1_score\n",
|
||
"\n",
|
||
"f1_score(y_test, predictions)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"metadata": {
|
||
"id": "vEVogTmAtjOA"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0 0.609756\n",
|
||
"1 0.390244\n",
|
||
"Name: Potability, dtype: float64"
|
||
]
|
||
},
|
||
"execution_count": 11,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"y_test.value_counts(normalize=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"metadata": {
|
||
"id": "jCVOdBZytjOB"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA4QAAAGQCAYAAAD2lq6fAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABASUlEQVR4nO3deViVdf7/8RcgBz0Hwtw1NQ0FNBJRFFccLLfC3HJqMtpsMRPNSculsm2G1EknGcPRHJtsstKGEu1ySR21As3GcjRwwVwzN5SEo6z37w+/nJ9HUECWA9zPx3V5DedePvf7nBzevs79ue/bzTAMQwAAAAAA03F3dQEAAAAAANcgEAIAAACASREIAQAAAMCkCIQAAAAAYFIEQgAAAAAwKQIhANM4efKkYmNjlZSU5OpSAAAAqgQCIVAOAgICNGXKlFLvN2XKFAUEBFRARbhadna2xo0bp6SkJAUHB5d6/23btikgIED//ve/K6A6AEB5OXbsmAICAhQbG3tD+5d3b6Z/oKqr5eoCYF7btm3Tww8/7LTMarWqdevWGjJkiB566CF5eHi4qDq40ldffaXk5GRFR0eX25gzZsyQYRj6+9//rjp16pTbuACAy+jrQPVEIITLRUZGKjw8XIZh6NSpU4qPj9ef//xnHThwQG+88Yary6tQb7zxhl577TVXl1HlfPXVV4qPjy+3QPjrr7/qlltu0Ysvvihvb+8bGqNLly7atWuXatXi1yYAXI+Z+3pR6B+o6vibCZdr3769hgwZ4nj94IMPatCgQVq+fLkmTJigBg0aFLlfRkbGDf/jvqrw9PR0dQlVSkX9N23SpInGjRtXpjHc3d3l5eVVThUBQM11I329JvT0a6F/oKrjGkJUOd7e3goJCZFhGDp69KgkqW/fvoqKitJPP/2k0aNHq3Pnzrr33nslXW4ic+fO1ciRIxUWFqagoCD169dPf/nLX3Tx4kXHuNnZ2erQoYNefPFFp+O98sorCggI0Jtvvum0/LnnnlOnTp2Um5vrWLZ//36NHj1aHTt2VNeuXfX888/r7Nmzhd5DVFSUAgICivzTt29fx3ZXX6cQHx+vgIAAp5ue5OTkKCQkRAEBAfrpp58cyzMyMnT77bdrxowZTsf+3//+p2effdbxWQwYMEBxcXFO7+NaoqKinOqTpFWrVikgIMDxeRf46KOPFBAQoB9//FGSlJ+fr7i4OI0aNUo9e/ZUUFCQfve732nGjBk6d+6c075XXt/x5Zdfavjw4erQoYPefPNNRUVFKT4+XpKcPrcrr71ISUlxvMc77rhDd999txYtWqS8vDyn45w4cUJTp05VRESEgoKC1L17dz3wwAOO8QsYhqFPP/1UI0eOVEhIiEJCQjR48GC98847jm24BgQAbszVff16PV2SDh06pMmTJ6tXr14KCgpS3759NXPmTNnt9kJj79ixQw888IA6dOigHj166PXXXy+03U8//aSAgADNnTu3yPqeeuopderUqcjxC1y6dEnPPPOMgoKCtHLlSsfysvQPwzD00Ucfafjw4QoODlZISIiioqK48RkqHWcIUeUYhqHDhw9Lkm6++WbH8l9++UWPPPKIBg4cqP79+zt+cZ88eVIrVqxQ//79FRkZqVq1amn79u167733lJycrMWLF0uSLBaLQkJCtG3bNqfjJSYmyt3d3Wm5YRjavn27QkNDHVM8jh49qlGjRik7O1ujRo1S06ZNtWnTJj3xxBOF3sOYMWN03333OS07evSoYmNjVb9+/Wu+927dukmSkpKSHD//+OOPstvtcnd3V1JSktq3by/pchPMzc11bCdJ//nPfzRu3Djdeuutevzxx+Xr66sffvhB8+bNU3JysubNm3e9j17dunXTvHnzdOTIEbVs2dLp89m3b5/S0tJUr149R43e3t4KCgqSdDm4Ll68WP3799edd96pOnXq6H//+58+++wz/fe//9Vnn30mi8XidLyvvvpKS5cu1R/+8Ac98MAD8vb2lq+vr/Lz87Vjxw7NmjXLsW2nTp0kXQ68UVFRqlWrlkaNGqUGDRpo06ZN+stf/qKUlBS9/fbbkqTc3Fw99thjOnnypB588EG1atVKGRkZ2rt3r3bs2KFhw4Y5xp48ebISEhIUHBysMWPGyMfHRwcPHtTatWs1YcKE635mAIDrK6qvX6un7969W4888ohuuukm3X///WrcuLFSUlK0dOlS7dy5U0uXLnXMrvnxxx/12GOPyWaz6cknn5SPj4++/PLLQl/8tm/fXrfffrvi4+M1fvx4p+sYT548qa+//lojRoyQ1Wotsv5z587pmWee0b59+7Rw4UL16NHDsa4s/WPy5MlavXq1BgwYoOHDhys7O1sJCQl6/PHHFRsbqzvvvLOUnzRwgwzARZKSkgx/f38jNjbWOHv2rHH27FkjOTnZmD59uuHv72/8/ve/d2wbERFh+Pv7G59++mmhcbKysozs7OxCy+fOnWv4+/sbP/74o2PZu+++a/j7+xs///yzYRiGcfz4ccPf39+YNGmS4e/vb5w+fdowDMNISUkx/P39jcWLFzv2/eMf/2j4+/sbiYmJjmX5+fnG2LFjDX9/f+PFF1+85ns9f/68MWDAAKNr167G4cOHHctffPFFw9/f32nbfv36Gffff7/jdWxsrBEWFmaMHj3aeOKJJxzLY2JijICAAOPs2bOGYRjGpUuXjB49ehgPPvigkZOT4zTmkiVLDH9/fyMpKemaNRqGYezYscPw9/c3PvnkE8eyvn37Oj6f1atXO953WFiY8fTTTzt9FhcvXiw05qeffuq0r2EYxtGjRw1/f3+jffv2xoEDBwrtU9TnUuD+++832rVrZyQnJzsde/z48Ya/v7/x7bffGoZhGMnJyYa/v7+xcOHC677n1atXO/4O5OXlOa278nXB39fPPvvsuuMBgFmVtK9fr6cPHjzYGDBggHHhwgWn5evWrSv0O/j+++83br/9duPgwYOOZVlZWcaIESMMf39/Y968eY7lH3/8seHv72/85z//cRq34N8FV/5b4coedPToUWPAgAFGz549jT179jjtW5b+UfB+Pv74Y6f9cnJyjGHDhhkRERFGfn5+oc8HqAhMGYXLxcbGqnv37urevbuGDBmizz77TH379tX8+fOdtqtbt66GDx9eaH+LxeL4tjA3N1fp6elKS0tzfINXMKVRcj4DV/C/Hh4eio6Olpubm2N5wdnCgu3z8/O1ceNGBQUFOZ2Rc3NzK/IM4ZVycnIUHR2tY8eOaf78+Y4zb9fSrVs37d69W5mZmY5awsLC1KNHD+3YsUM5OTmO5f7+/o4zdt98843OnDmj4cOH67ffflNaWprjT3h4uGOb6+nQoYOsVqvjczh+/LiOHTumyMhI+fv7O5bv3btX586dK/RZ1K5dW5KUl5fnqKFgm127dhU6Xp8+feTn53fdmq509uxZ7dy5U3379lVgYKDTsZ955hlJ0vr16yVJPj4+js+pqGm9BRISEiRJL774otzdnX8lXv0aAFC8kvT1onr63r17tXfvXkVGRio7O9upj3Xu3FlWq9XRx67sB61bt3aMYbFY9OijjxaqKTIyUlarVStWrHAsMwxDn332mfz9/dWhQ4dC+yQnJ+uBBx6QYRhatmyZY4ZOgbL0j5UrV8pms+muu+5yep+//fab+vbtq+PHj+vQoUPXHQMoL0wZhcvdf//9GjhwoNzc3FSnTh21atVKdevWLbRdixYtrnm76n/961/6+OOPdeDAAeXn5zutS09Pd/x8xx13yGazKSkpSQ888ICSkpIUFBSkli1bOgJPZGSkkpKSVLduXbVr107S5cZjt9t12223FTp2mzZtrvv+XnnlFW3btk0zZ85UaGhocR+HunXrpk8++UQ7duxQWFiYfvjhB02bNk3BwcGaOXOmdu3aJT8/P6WkpCgqKsqxX2pqqiRp2rRp1xz7zJkz1z22p6enOnfu7AjEiYmJqlWrlkJDQxUWFqYtW7ZI+v+B+spAKElffvmllixZouTkZEdwLXDlf4cCrVq1um49Vzt27Jikoj/z2267Te7u7o7rTm+55RaNGTNGCxcuVK9evdSuXTt169ZNAwcOdGr8hw8fVsOGDa958yIAQOmUpK8X1dML+lhsbOw1nyFY0McKfteXtC/bbDZFRkYqPj7ecfnDtm3bdPTo0Wv2zVGjRslms2nZsmWOL1+vVJb+kZqaqszMTKfpp1c7e/asU9gFKgqBEC536623XvcXYoFrPTtuyZIleuutt9SrVy89/PDDatSokTw9PXXy5ElNmTJFhmE4ti0IN9u2bZNhGEpKStLQoUMlXQ43GzZsUH5+vr777jt169ZNbm5uZXpvCxYs0L///W8988wzjuMUJywszHG20tPTU9nZ2erWrZujoSYmJurs2bPKz893CmQF7/OFF15wBNmrNWrUqNjjd+vWTVu3btX+/fuVlJTkCNHdunXT0qVL9csvvygpKUk333yz0w1x1q1bp4kTJ6pDhw6aNm2amjZtKi8vL+Xl5emJJ55w+u9QoKKfBzhx4kTdd999+s9//qMdO3ZoxYoVWrx4sZ544glNnjy5Qo8NAGZVkr5+vd//jz/+uHr37l3kuptuuumG6/r973+vTz/9VJ9//rkef/xxrVixQhaLxemOqFeKjIzUJ598oqVLl5b79eSGYahevXqO696L0rZt23I9JnAtBEJUe1988YVuueUWLVq0yGmKRsHZrKt169ZNmzdv1po1a3Ty5El1795dktS9e3f985//1Lp16/Tbb785ha169erJarXq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\n",
|
||
"text/plain": [
|
||
"<Figure size 1080x432 with 2 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"x.visualize(y_test, predictions, 'Potability')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"metadata": {
|
||
"id": "aw8Tefprhjnn"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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yhEp7V01Fu/P7bpUSvvyUsp61mquY97jvoc0IvLer/Ru3nca1zTV6BjYCtNGhZmeb2y/G7JOQlulBwD4+6nRM0SNC9eFpGVZis1avHXnqXt0pFQqkBDVDbOT+9qMcea4xxu9/tZI2eau2i+OxELOV7t9/551HLeqDA5vd0tjeFifEBw7U24zR2qnD3g0yK72rhyLddelliN5ef9rgVKpgNEo0MnG+jYnNr+HtHz5chw4cADXrl1DYGAgAgICsGfPHkmd156mOfOSXVNz1yluY3hizIC84647lu29fOZoDjVmma4i533kDFw/15A6lm2eIS1atAiLFi1yanBELQlziEgaj3sPiYiImicWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgUWJCIikgVJBencuXOYPHky4uPjMXnyZJw/f97FYRE1H8wfImm8pDR644038Nvf/hZjx47Fzp07sXjxYmzevLlRC/4m7xI27zuNa5pqdAxshWmjwjAismuj+pTSt6Vp67b9G/tzLsJoFFAqFUiI6obZyX3r9bto3Xc4fva6U2J0uY8vuzsCixQKQIh7f/uolTAYBe4a/vvEx5ehUgIG472Hvt4qqL2UuF2lR8fAVhjwaBCOnSl36rhx5VgEmi5/ANR7zt5tVdvnVU01lEqFKReMRlG/4ceX4eutwh2dod6+bDZknDu21O6X2v1mbv/4biutl1ONHTtSXjulUghhfThdv34d8fHxyMnJgUqlgsFgQFRUFA4cOID27dtb7bympgYFBQUIDw9HQUEBIiMjAdwb+Gu2HkeN3mBq66NWYc6kPk55cbHUNwCz0x79VYDZQjN68K8w8GEDIiMjPasYtSCNHTdSx2Ldsezj4yO5f2flT91lmotZpVRAocAvhd0Ma9vKXJ/UMjRm7Kzb9m/s/eFCg/ajB/+qXlGSmj82L9mVlpaic+fOUKlU94JXqRAUFITS0lJbs1q0ed/pBgO/Rm/A5n2nHe5TSt+WplkqNPtzLpr+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\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 6 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"ph_val = X_test[\"ph\"]\n",
|
||
"sulfate_val = X_test[\"Sulfate\"]\n",
|
||
"hard_val = X_test[\"Hardness\"]\n",
|
||
"carb_val = X_test[\"Organic_carbon\"]\n",
|
||
"turb_val = X_test[\"Turbidity\"]\n",
|
||
"ch_val = X_test[\"Chloramines\"]\n",
|
||
"\n",
|
||
"\n",
|
||
"figure, axes = plt.subplots(nrows=3, ncols=2)\n",
|
||
"\n",
|
||
"axes[0, 0].plot(ph_val, predictions, 'bo')\n",
|
||
"axes[0, 0].set_title(\"pH\")\n",
|
||
"\n",
|
||
"axes[0, 1].plot(sulfate_val, predictions, 'bo')\n",
|
||
"axes[0, 1].set_title(\"Sulfate\")\n",
|
||
"\n",
|
||
"axes[1, 0].plot(hard_val, predictions, 'bo')\n",
|
||
"axes[1, 0].set_title(\"Hardness\")\n",
|
||
"\n",
|
||
"axes[1, 1].plot(carb_val, predictions, 'bo')\n",
|
||
"axes[1, 1].set_title(\"Organic carbon\")\n",
|
||
"\n",
|
||
"axes[2, 0].plot(turb_val, predictions, 'bo')\n",
|
||
"axes[2, 0].set_title(\"Turbidity\")\n",
|
||
"\n",
|
||
"axes[2, 1].plot(ch_val, predictions, 'bo')\n",
|
||
"axes[2, 1].set_title(\"Chloramines\")\n",
|
||
"\n",
|
||
"figure.tight_layout()\n",
|
||
"plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<matplotlib.collections.PathCollection at 0x7fd5199264c0>"
|
||
]
|
||
},
|
||
"execution_count": 14,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"from sklearn.decomposition import PCA\n",
|
||
"\n",
|
||
"pca = PCA(n_components=2)\n",
|
||
"pca.fit(X_test)\n",
|
||
"X_pca = pca.transform(X_test)\n",
|
||
"\n",
|
||
"plt.scatter(X_pca[:, 0], X_pca[:, 1], c=predictions, s=50, cmap='viridis')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<matplotlib.collections.PathCollection at 0x7fd51990eaf0>"
|
||
]
|
||
},
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"plt.scatter(X_pca[:, 0], X_pca[:, 1], c=y_test, s=50, cmap='viridis')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Irysy"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"(105, 4) (105,)\n",
|
||
"(45, 4) (45,)\n",
|
||
"0.9333333333333333\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Preprocessing danych\n",
|
||
"\n",
|
||
"\n",
|
||
"# Wczytywanie danych\n",
|
||
"df = pd.read_csv(\"iris.csv\")\n",
|
||
"\n",
|
||
"# Zrandomizowanie kolejności danych w datasecie\n",
|
||
"df = df.sample(frac=1, random_state=10).reset_index(drop=True)\n",
|
||
"\n",
|
||
"# Podział na atrybuty i przewidywane wartości\n",
|
||
"X, y = df.iloc[:, :-1], df.iloc[:, -1]\n",
|
||
"\n",
|
||
"# Normalizacja i skalowanie danych\n",
|
||
"from sklearn.preprocessing import StandardScaler\n",
|
||
"sc = StandardScaler()\n",
|
||
"X = sc.fit_transform(X.to_numpy())\n",
|
||
"X = pd.DataFrame(X, columns=df.columns.values.tolist()[:-1])\n",
|
||
"\n",
|
||
"# Podział na dane trenujące i testowe, z uwzględnieniem równego rozłożenia danych\n",
|
||
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, stratify=y, random_state=1)\n",
|
||
"\n",
|
||
"print(X_train.shape, y_train.shape)\n",
|
||
"print(X_test.shape, y_test.shape)\n",
|
||
"\n",
|
||
"\n",
|
||
"# Trenowanie modelu klasyfikatora\n",
|
||
"x = NaiveBayesClassifier()\n",
|
||
"x.fit(X_train, y_train)\n",
|
||
"\n",
|
||
"\n",
|
||
"# Predykcja wartości dla danych testowych\n",
|
||
"predictions = x.predict(X_test)\n",
|
||
"\n",
|
||
"# Prawdopodobieństwa kolejnych predykcji\n",
|
||
"probabilities = [p[1] for p in predictions]\n",
|
||
"\n",
|
||
"# Przewidziana wartość\n",
|
||
"predictions = [p[0] for p in predictions]\n",
|
||
"\n",
|
||
"\n",
|
||
"# Wyliczenie accuracy modelu\n",
|
||
"print(x.accuracy(y_test, predictions))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.9326599326599326"
|
||
]
|
||
},
|
||
"execution_count": 17,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"f1_score(y_test, predictions, average=\"macro\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<matplotlib.collections.PathCollection at 0x7fd519886fd0>"
|
||
]
|
||
},
|
||
"execution_count": 18,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"pca = PCA(n_components=2)\n",
|
||
"pca.fit(X_test)\n",
|
||
"X_pca = pca.transform(X_test)\n",
|
||
"\n",
|
||
"df_pred = pd.DataFrame(predictions).replace({'Virginica': 0, 'Versicolor': 1, \"Setosa\": 2}, regex=True)\n",
|
||
"df_pred = np.array(df_pred).reshape(1, -1)\n",
|
||
"plt.scatter(X_pca[:, 0], X_pca[:, 1], c=df_pred[0], s=50, cmap='viridis')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 19,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 4 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"sep_len = X_test[\"sepal.length\"]\n",
|
||
"sep_with = X_test[\"sepal.width\"]\n",
|
||
"pet_len = X_test[\"petal.length\"]\n",
|
||
"pet_with = X_test[\"petal.width\"]\n",
|
||
"\n",
|
||
"figure, axes = plt.subplots(nrows=2, ncols=2)\n",
|
||
"\n",
|
||
"axes[0, 0].plot(sep_len, predictions, 'bo')\n",
|
||
"axes[0, 0].set_title(\"Sepal lenght\")\n",
|
||
"\n",
|
||
"axes[0, 1].plot(sep_with, predictions, 'bo')\n",
|
||
"axes[0, 1].set_title(\"Sepal width\")\n",
|
||
"\n",
|
||
"axes[1, 0].plot(pet_len, predictions, 'bo')\n",
|
||
"axes[1, 0].set_title(\"Petal length\")\n",
|
||
"\n",
|
||
"axes[1, 1].plot(pet_with, predictions, 'bo')\n",
|
||
"axes[1, 1].set_title(\"Petal width\")\n",
|
||
"\n",
|
||
"figure.tight_layout()\n",
|
||
"plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"colab": {
|
||
"collapsed_sections": [],
|
||
"name": "naive_bayes.ipynb",
|
||
"provenance": []
|
||
},
|
||
"kernelspec": {
|
||
"display_name": "Python 3 (ipykernel)",
|
||
"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.8.12"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 4
|
||
}
|