{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "0063a986", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "UsageError: Line magic function `%python` not found (But cell magic `%%python` exists, did you mean that instead?).\n" ] } ], "source": [ "%python -m kaggle datasets download -d ulrikthygepedersen/diamonds" ] }, { "cell_type": "code", "execution_count": 4, "id": "5bc46bfd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "diamonds.zip: Skipping, found more recently modified local copy (use --force to force download)\n" ] } ], "source": [ "!kaggle datasets download -d shivam2503/diamonds" ] }, { "cell_type": "code", "execution_count": 28, "id": "75024e0f", "metadata": {}, "outputs": [], "source": [ "!tar -xf diamonds.zip\n", "## rozpakowanie archiwum .zip w windowsie" ] }, { "cell_type": "code", "execution_count": 3, "id": "99c20a95", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", " \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", " \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", " \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", " \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", " \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", "
Unnamed: 0caratcutcolorclaritydepthtablepricexyz
010.23IdealESI261.555.03263.953.982.43
120.21PremiumESI159.861.03263.893.842.31
230.23GoodEVS156.965.03274.054.072.31
340.29PremiumIVS262.458.03344.204.232.63
450.31GoodJSI263.358.03354.344.352.75
....................................
53935539360.72IdealDSI160.857.027575.755.763.50
53936539370.72GoodDSI163.155.027575.695.753.61
53937539380.70Very GoodDSI162.860.027575.665.683.56
53938539390.86PremiumHSI261.058.027576.156.123.74
53939539400.75IdealDSI262.255.027575.835.873.64
\n", "

53940 rows × 11 columns

\n", "
" ], "text/plain": [ " Unnamed: 0 carat cut color clarity depth table price x \\\n", "0 1 0.23 Ideal E SI2 61.5 55.0 326 3.95 \n", "1 2 0.21 Premium E SI1 59.8 61.0 326 3.89 \n", "2 3 0.23 Good E VS1 56.9 65.0 327 4.05 \n", "3 4 0.29 Premium I VS2 62.4 58.0 334 4.20 \n", "4 5 0.31 Good J SI2 63.3 58.0 335 4.34 \n", "... ... ... ... ... ... ... ... ... ... \n", "53935 53936 0.72 Ideal D SI1 60.8 57.0 2757 5.75 \n", "53936 53937 0.72 Good D SI1 63.1 55.0 2757 5.69 \n", "53937 53938 0.70 Very Good D SI1 62.8 60.0 2757 5.66 \n", "53938 53939 0.86 Premium H SI2 61.0 58.0 2757 6.15 \n", "53939 53940 0.75 Ideal D SI2 62.2 55.0 2757 5.83 \n", "\n", " y z \n", "0 3.98 2.43 \n", "1 3.84 2.31 \n", "2 4.07 2.31 \n", "3 4.23 2.63 \n", "4 4.35 2.75 \n", "... ... ... \n", "53935 5.76 3.50 \n", "53936 5.75 3.61 \n", "53937 5.68 3.56 \n", "53938 6.12 3.74 \n", "53939 5.87 3.64 \n", "\n", "[53940 rows x 11 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "diamonds = pd.read_csv('diamonds.csv')\n", "#Wyświetlenie zbioru danych\n", "diamonds" ] }, { "cell_type": "code", "execution_count": 4, "id": "122b0b57", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", " \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", " \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", " \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", " \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", " \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", "
idcaratcutcolorclaritydepthtablepricexyz
010.23IdealESI261.555.03263.953.982.43
120.21PremiumESI159.861.03263.893.842.31
230.23GoodEVS156.965.03274.054.072.31
340.29PremiumIVS262.458.03344.204.232.63
450.31GoodJSI263.358.03354.344.352.75
....................................
53935539360.72IdealDSI160.857.027575.755.763.50
53936539370.72GoodDSI163.155.027575.695.753.61
53937539380.70Very GoodDSI162.860.027575.665.683.56
53938539390.86PremiumHSI261.058.027576.156.123.74
53939539400.75IdealDSI262.255.027575.835.873.64
\n", "

53940 rows × 11 columns

\n", "
" ], "text/plain": [ " id carat cut color clarity depth table price x y \\\n", "0 1 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 \n", "1 2 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 \n", "2 3 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 \n", "3 4 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 \n", "4 5 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 \n", "... ... ... ... ... ... ... ... ... ... ... \n", "53935 53936 0.72 Ideal D SI1 60.8 57.0 2757 5.75 5.76 \n", "53936 53937 0.72 Good D SI1 63.1 55.0 2757 5.69 5.75 \n", "53937 53938 0.70 Very Good D SI1 62.8 60.0 2757 5.66 5.68 \n", "53938 53939 0.86 Premium H SI2 61.0 58.0 2757 6.15 6.12 \n", "53939 53940 0.75 Ideal D SI2 62.2 55.0 2757 5.83 5.87 \n", "\n", " z \n", "0 2.43 \n", "1 2.31 \n", "2 2.31 \n", "3 2.63 \n", "4 2.75 \n", "... ... \n", "53935 3.50 \n", "53936 3.61 \n", "53937 3.56 \n", "53938 3.74 \n", "53939 3.64 \n", "\n", "[53940 rows x 11 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#przydzielanie nazwy kolumny z id\n", "diamonds = diamonds.rename(columns={diamonds.columns[0]: 'id'})\n", "diamonds" ] }, { "cell_type": "code", "execution_count": 5, "id": "a489dab8", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", " \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", " \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", " \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", " \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", " \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", "
idcaratcutcolorclaritydepthtablepricexyz
010.23idealESI261.555.03263.953.982.43
120.21premiumESI159.861.03263.893.842.31
230.23goodEVS156.965.03274.054.072.31
340.29premiumIVS262.458.03344.204.232.63
450.31goodJSI263.358.03354.344.352.75
....................................
53935539360.72idealDSI160.857.027575.755.763.50
53936539370.72goodDSI163.155.027575.695.753.61
53937539380.70very goodDSI162.860.027575.665.683.56
53938539390.86premiumHSI261.058.027576.156.123.74
53939539400.75idealDSI262.255.027575.835.873.64
\n", "

53940 rows × 11 columns

\n", "
" ], "text/plain": [ " id carat cut color clarity depth table price x y \\\n", "0 1 0.23 ideal E SI2 61.5 55.0 326 3.95 3.98 \n", "1 2 0.21 premium E SI1 59.8 61.0 326 3.89 3.84 \n", "2 3 0.23 good E VS1 56.9 65.0 327 4.05 4.07 \n", "3 4 0.29 premium I VS2 62.4 58.0 334 4.20 4.23 \n", "4 5 0.31 good J SI2 63.3 58.0 335 4.34 4.35 \n", "... ... ... ... ... ... ... ... ... ... ... \n", "53935 53936 0.72 ideal D SI1 60.8 57.0 2757 5.75 5.76 \n", "53936 53937 0.72 good D SI1 63.1 55.0 2757 5.69 5.75 \n", "53937 53938 0.70 very good D SI1 62.8 60.0 2757 5.66 5.68 \n", "53938 53939 0.86 premium H SI2 61.0 58.0 2757 6.15 6.12 \n", "53939 53940 0.75 ideal D SI2 62.2 55.0 2757 5.83 5.87 \n", "\n", " z \n", "0 2.43 \n", "1 2.31 \n", "2 2.31 \n", "3 2.63 \n", "4 2.75 \n", "... ... \n", "53935 3.50 \n", "53936 3.61 \n", "53937 3.56 \n", "53938 3.74 \n", "53939 3.64 \n", "\n", "[53940 rows x 11 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Convert to lowerCase\n", "\n", "diamonds['cut'] = diamonds['cut'].str.lower()\n", "diamonds\n", "\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "1836b2a3", "metadata": {}, "outputs": [], "source": [ "import sklearn\n", "from sklearn.model_selection import train_test_split" ] }, { "cell_type": "code", "execution_count": 7, "id": "fcf6448a", "metadata": {}, "outputs": [], "source": [ "#podział danych na train/test/dev w proporcji 4:1:1\n", "#losować ustawiona na 10\n", "\n", "#1. Dzielimy na zbiór treningowy 80 % i resztę danych\n", "diamonds_train, diamonds_test_dev = sklearn.model_selection.train_test_split(diamonds, test_size=0.2, random_state=10)\n", "\n", "#2. Podział reszty danych na zbiór testowy 10% i walidacyjny 10%\n", "diamonds_test, diamonds_dev = train_test_split(diamonds_test_dev, test_size=0.5, random_state=10)\n" ] }, { "cell_type": "code", "execution_count": 8, "id": "9476846a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Rozmiar diamonds: (53940, 11)\n", "Rozmiar diamonds_train: (43152, 11)\n", "Rozmiar diamonds_test: (5394, 11)\n", "Rozmiar diamonds_dev: (5394, 11)\n" ] } ], "source": [ "#Wyświetlenie rozmiarów zbiorów danych train/test/dev\n", "print(\"Rozmiar diamonds: \", diamonds.shape)\n", "print(\"Rozmiar diamonds_train: \", diamonds_train.shape)\n", "print(\"Rozmiar diamonds_test: \", diamonds_test.shape)\n", "print(\"Rozmiar diamonds_dev: \", diamonds_dev.shape)\n" ] }, { "cell_type": "code", "execution_count": 9, "id": "7e1f11cb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " id carat depth table price \\\n", "count 53940.000000 53940.000000 53940.000000 53940.000000 53940.000000 \n", "mean 26970.500000 0.797940 61.749405 57.457184 3932.799722 \n", "std 15571.281097 0.474011 1.432621 2.234491 3989.439738 \n", "min 1.000000 0.200000 43.000000 43.000000 326.000000 \n", "25% 13485.750000 0.400000 61.000000 56.000000 950.000000 \n", "50% 26970.500000 0.700000 61.800000 57.000000 2401.000000 \n", "75% 40455.250000 1.040000 62.500000 59.000000 5324.250000 \n", "max 53940.000000 5.010000 79.000000 95.000000 18823.000000 \n", "\n", " x y z \n", "count 53940.000000 53940.000000 53940.000000 \n", "mean 5.731157 5.734526 3.538734 \n", "std 1.121761 1.142135 0.705699 \n", "min 0.000000 0.000000 0.000000 \n", "25% 4.710000 4.720000 2.910000 \n", "50% 5.700000 5.710000 3.530000 \n", "75% 6.540000 6.540000 4.040000 \n", "max 10.740000 58.900000 31.800000 \n" ] } ], "source": [ "# średnią, minimum, maksimum, odchylenia standardowe, medianę wartości poszczególnych parametrów)\n", "print(diamonds.describe())" ] }, { "cell_type": "code", "execution_count": 10, "id": "88a89b38", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " id carat depth table price \\\n", "count 43152.000000 43152.000000 43152.000000 43152.000000 43152.000000 \n", "mean 26971.712111 0.795979 61.748241 57.448355 3920.786939 \n", "std 15565.585777 0.472184 1.426394 2.224297 3975.894633 \n", "min 3.000000 0.200000 43.000000 44.000000 327.000000 \n", "25% 13469.750000 0.400000 61.000000 56.000000 946.000000 \n", "50% 27019.500000 0.700000 61.800000 57.000000 2400.000000 \n", "75% 40439.250000 1.040000 62.500000 59.000000 5313.250000 \n", "max 53938.000000 5.010000 79.000000 76.000000 18823.000000 \n", "\n", " x y z \n", "count 43152.000000 43152.000000 43152.000000 \n", "mean 5.726933 5.731011 3.535791 \n", "std 1.119635 1.147069 0.693846 \n", "min 0.000000 0.000000 0.000000 \n", "25% 4.710000 4.720000 2.910000 \n", "50% 5.690000 5.710000 3.520000 \n", "75% 6.540000 6.530000 4.030000 \n", "max 10.740000 58.900000 8.060000 \n" ] } ], "source": [ "print(diamonds_train.describe())" ] }, { "cell_type": "code", "execution_count": 11, "id": "80b5060f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " id carat depth table price \\\n", "count 5394.000000 5394.000000 5394.000000 5394.000000 5394.000000 \n", "mean 26951.351316 0.802666 61.760808 57.470189 3970.308676 \n", "std 15565.740253 0.482062 1.464893 2.309900 4083.195823 \n", "min 1.000000 0.210000 52.300000 43.000000 326.000000 \n", "25% 13519.750000 0.400000 61.000000 56.000000 958.000000 \n", "50% 27013.500000 0.700000 61.900000 57.000000 2375.500000 \n", "75% 40342.250000 1.050000 62.500000 59.000000 5273.750000 \n", "max 53930.000000 3.510000 78.200000 95.000000 18806.000000 \n", "\n", " x y z \n", "count 5394.000000 5394.000000 5394.000000 \n", "mean 5.738817 5.739106 3.542097 \n", "std 1.132069 1.123925 0.701446 \n", "min 3.840000 3.780000 0.000000 \n", "25% 4.710000 4.710000 2.900000 \n", "50% 5.690000 5.700000 3.530000 \n", "75% 6.550000 6.540000 4.040000 \n", "max 9.660000 9.630000 6.030000 \n" ] } ], "source": [ "print(diamonds_test.describe())" ] }, { "cell_type": "code", "execution_count": 12, "id": "31f4af56", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " id carat depth table price \\\n", "count 5394.000000 5394.000000 5394.000000 5394.000000 5394.000000 \n", "mean 26979.951798 0.808901 61.747312 57.514813 3991.393029 \n", "std 15625.161644 0.480344 1.449816 2.238671 4002.742530 \n", "min 2.000000 0.200000 53.200000 51.000000 326.000000 \n", "25% 13525.500000 0.400000 61.000000 56.000000 961.000000 \n", "50% 26529.500000 0.710000 61.850000 57.000000 2484.500000 \n", "75% 40665.500000 1.050000 62.500000 59.000000 5465.250000 \n", "max 53940.000000 3.040000 73.600000 68.000000 18779.000000 \n", "\n", " x y z \n", "count 5394.000000 5394.000000 5394.000000 \n", "mean 5.757290 5.758066 3.558910 \n", "std 1.128191 1.120344 0.797759 \n", "min 3.790000 3.750000 0.000000 \n", "25% 4.730000 4.740000 2.930000 \n", "50% 5.710000 5.730000 3.540000 \n", "75% 6.560000 6.540000 4.040000 \n", "max 9.510000 9.460000 31.800000 \n" ] } ], "source": [ "print(diamonds_dev.describe())" ] }, { "cell_type": "code", "execution_count": 13, "id": "eab3e1f9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ideal 17292\n", "premium 10954\n", "very good 9708\n", "good 3929\n", "fair 1269\n", "Name: cut, dtype: int64" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Wyświetlenie częstości przykładów dla poszczególnych klas diamentów\n", "diamonds_train[\"cut\"].value_counts()" ] }, { "cell_type": "code", "execution_count": 14, "id": "2e7c37d9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ideal 2184\n", "premium 1385\n", "very good 1183\n", "good 473\n", "fair 169\n", "Name: cut, dtype: int64" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diamonds_test[\"cut\"].value_counts()" ] }, { "cell_type": "code", "execution_count": 15, "id": "a7ccece5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ideal 2075\n", "premium 1452\n", "very good 1191\n", "good 504\n", "fair 172\n", "Name: cut, dtype: int64" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diamonds_dev[\"cut\"].value_counts()" ] }, { "cell_type": "code", "execution_count": 16, "id": "17223f54", "metadata": {}, "outputs": [ { "data": { "image/png": "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aZc6FGb+/PkKCQlR3rx5VblyZX3//fdptimjx9Qvv/xSoaGh8vLysr5v+vTpk+5z+zigRxkPLLX3q0yZMtZlCxcuVLdu3dS0aVMtWrRICQkJmjRpksLCwvTzzz/rySeflKQ0B8sbN24oIiJCycnJ8vHxMX28pUuXqkePHurTp48++OADOTg4WNedPn1aVatW1dKlS1W6dGkdP35c/fv3V9GiRSVJUVFRGjhwoP7++2+9/vrr1ttFRkZq3rx5Gj58uJo0aaJ9+/apQ4cOunLlSrrbn5SUpBYtWmjTpk0aPHiwGjZsqKSkJEVFRenkyZOqU6eOnnvuOTVv3tzmdsuWLdM777xj/ceakpKitm3batOmTRoxYoTq1KmjEydOaPTo0QoLC9POnTvl5uam48ePq2XLlqpXr55mzZql/Pnz6++//9aqVat069YtFSpUSKtWrVLz5s3Vt29fPffcc5JkDc8bN25UkyZNVKlSJc2cOVMuLi6aPn26WrdurUWLFqlz586SpKFDh2r+/Pl68803VbVqVV27dk379u3TxYsXrdvw008/qXXr1goJCdHUqVNVtGhRHT9+XKtXr073ebvTzz//rLZt26p27dpavHixkpOTNWnSpDQfwMwkJCTo0qVLGj58uAoXLqxbt25p7dq16tChg2bPnq0ePXrc9bbXrl1TkyZNVKJECX300Ufy9/dXTEyM1q9fb93/Gdl/GTF9+nQtWrRIb775pnUIU+p+mTBhgkaNGqWuXbtqwoQJunjxosaMGaPatWtrx44dKl26tOrXry8nJyetXbvWGvbWrl0rNzc3bdy4UYmJiXJyctK5c+e0b98+/fvf/75nPWPHjtXYsWPVt29fPfPMMzp16pQiIyOVnJys4ODge972zJkz8vX11cSJE1WwYEFdunRJc+fOVWhoqH799dc0tx81apQaNGigOXPm6Pjx4xo+fLi6du0qR0dHVa5cWYsWLdKvv/6qUaNGycPDQ++//771tv3799ecOXM0aNAgvf3227p06ZLGjRunOnXq6LfffpO/v7+1bUxMjLp166Zhw4Zp9OjR+uabbzRy5EgFBgaqR48eqlatmmbPnq3evXvr//7v/6wfMJ544glJGTt2lS9fXoUKFdLatWv17LPP2uyHP//8U2fOnFFgYKCSkpK0ceNGPf/88/d8LufMmaPevXurbdu2mjJl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sQoNDdXq1avl4eFhbT9t2jQ5OjqqU6dOunHjhho1aqQ5c+bIwcHB2mbBggUaNGiQdXaMNm3a6MMPP7Sud3Bw0MqVKzVgwADVrVtXbm5uCg8P1+TJk7Np6wEAAJCb5ap5lB92zKNsH8yjDAAAMuqhnUcZAAAAyC0IygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmLB7UP7vf/+r1q1bKzAwUBaLRcuXL7dZ36tXL1ksFptLrVq1bNokJCRo4MCBKlCggNzd3dWmTRudPn3apk1sbKwiIiLk5eUlLy8vRUREKC4uzqbNyZMn1bp1a7m7u6tAgQIaNGiQbt26lR2bDQAAgFzO7kH52rVrqly5sj788MO7tmnevLmio6Otlx9++MFm/eDBg/XNN99o8eLF2rx5s65evapWrVop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OnVKP/zwg73LQzYoVaqUli5dmmZo1ZIlS1S6dGk7VYXskpycrHz58kn6JzSfOXNGwcHBKlasmA4ePGjn6nIfgjLuy969e9W4cWN5eXnp+PHjioyMlI+Pj7755hudOHFC8+bNs3eJAO5D/fr19ddff+mjjz7SgQMHZBiGOnTooAEDBigwMNDe5SEbjB07Vp07d9Z///tf1a1bVxaLRZs3b9bPP/+spUuX2rs8ZLEKFSpo7969KlmypEJDQzVp0iQ5Ozvrs88+U8mSJe1dXq7D0Avcl8aNG6tatWqaNGmSdR7lkiVLasuWLQoPD2d6uEdMgwYN7jldFEMvgIfbrl27NG3aNO3fv1+GYahcuXIaNmyYqlatau/SkAVu/2W+n376SdevX1f79u119OhRtWrVSgcOHJCvr6+WLFmihg0b2rvcXIWgjPvi5eWl3bt3KygoyCYonzhxQsHBwYxpe8TcedZ7YmKi9uzZo3379qlnz55677337FQZskNcXJxmzpyp/fv3y2KxqFy5curTp4+8vLzsXRqA++Dg4KDo6Gj5+fmpZMmS2rFjh3x9fa3rL126JG9vb+bPNsHQC9wXV1dXXb58Oc3ygwcPqmDBgnaoCNlp2rRppsvHjBlj/VEKPBp27typZs2ayc3NTTVr1pRhGJo6dareeustrV69WtWqVbN3icgGycnJWr58uc2HozZt2sjBwcHepSEL5M+fX8eOHZOfn5+OHz+ulJQUm/U+Pj52qiz3o0cZ96Vfv346f/68li5dKh8fH+3du1cODg5q166dnnrqKb377rv2LhE54PDhw6pZs6YuXbpk71KQRerVq6dSpUppxowZcnT8py8lKSlJzz33nI4ePar//ve/dq4QWe3w4cNq2bKlTp8+reDgYBmGob/++ktFihTRypUrFRQUZO8S8YD69eunefPmqVChQjp58qSeeOKJu34IOnr0aA5Xl7sRlHFfLl++rKefflp//PGHrly5osDAQMXExKh27dr64Ycf5O7ubu8SkQPmz5+vl19+WWfOnLF3Kcgibm5u+vXXX1W2bFmb5X/++adq1Kih69ev26kyZJenn35ahmFowYIF1p7Fixcvqnv37sqTJ49Wrlxp5wqRFVatWqXDhw9r0KBBGjdunDw8PEzb/ec//8nhynI3hl7gvnh6emrz5s1at26ddu/erZSUFFWrVk2N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sVIAyH4MMgSQrvPnz8vPzy/N8mvXrslisdihImSXjz/+WH369FHv3r0VEBBg2qZo0aKaOXNmDlcGADmPoRcA0vWvf/1LK1eutF5PDcczZsxQ7dq17VUWslhSUpK6deum7t273zUkS5Kzs7N69uyZg5UBgH0w9AJAurZs2aLmzZurW7dumjNnjvr3768//vhDW7du1caNG1W9enV7l4gs4uHhod9//13Fixe3dykAYHf0KANIV506dbRlyxZdv35dQUFBWr16tfz9/bV161ZC8iOmUaNG2rBhg73LAIBcgTHKAO4pMTFR/fr102uvvaa5c+fauxxksxYtWmjkyJHat2+fqlevLnd3d5v1bdq0sVNlAJDzGHoBIF358+fX7t27VbJkSXuXgmx2++wWd7JYLEpOTs7BagDAvhh6ASBd7du31/Lly+1dBnJASkrKXS+EZACPG4ZeAEhXqVKl9MYbb2jLli2mX8cPGjTITpUhO928edPmB2YA4HHD0AsA6SpRosRd11ksFh09ejQHq0F2Sk5O1vjx4/XJJ5/o7Nmz+uuvv1SyZEm99tprKl68uPr27WvvEgEgx9CjDCBdx44ds/6d+tmaHxp5NL311luaO3euJk2apMjISOvyihUratq0aQRlAI8VxigDyJCZM2eqQoUKcnV1laurqypUqKDPP//c3mUhi82bN0+fffaZunXrJgcHB+vySpUq6cCBA3asDAByHj3KANL12muvadq0aRo4cKD1l/i2bt2qIUOG6Pjx43rzzTftXCGyyt9//61SpUqlWZ6SkqLExEQ7VAQA9kNQBpCujz/+WDNmzFDXrl2ty9q0aaNKlSpp4MCBBOVHSPny5bVp0yYVK1bMZvmXX36pqlWr2qkqALAPgjKAdCUnJ6tGjRppllevXl1JSUl2qAjZZfTo0YqIiNDff/+tlJQULVu2TAcPHtS8efP0/fff27s8AMhRjFEGkK7u3bvr448/TrM8dSwrHh2tW7fWkiVL9MMPP8hisej111/X/v379d1336lJkyb2Lg8AchTTwwFI18CBAzVv3jwVKVJEtWrVkiRFRUXp1KlT6tGjh5ycnKxtp06daq8yAQDIUgRlAOlq0KBBhtpZLBatW7cum6tBdurdu7e6d++uhg0bMgUggMceQRkAYNWmTRutXr1avr6+6tKli7p3785JfAAeWwRlAICNuLg4LV26VAsXLtSmTZsUHBys7t27Kzw8XMWLF7d3eQCQYwjKAIC7On36tBYtWqRZs2bp0KFDzHIC4LHCrBcAAFOJiYnauXOntm3bpuPHj8vf39/eJQFAjiIoAwBsrF+/XpGRkfL391fPnj3l4eGh7777TqdOnbJ3aQCQoxh6AQCweuKJJ3Tx4kU1a9ZM3bp1U+vWreXq6mrvsgDALgjKAACrzz77TM8++6y8vb3tXQoA2B1BGQAAADDBGGUAAADABEEZAAAAMEFQBgAAAEwQlAEAGdarVy+1a9fOej0sLEyDBw+2Xr9+/bo6duwoT09PWSwWxcXF5XiNAJBVCMoA8Jg5d+6c+vfvr6JFi8rFxUUBAQFq1qyZtm7dmun7WrZsmd544w3r9blz52rTpk3asmWLoqOj5eXllZWlA0COcrR3AQCAnNWxY0clJiZq7ty5KlmypM6ePauff/5Zly5dyvR9+fj42Fw/cuSIQkJCVKFChawqFwDshqAMAI+RuLg4bd68WRs2bFD9+vUlScWKFVPNmjUlSXPmzFHv3r3T3G706NEaM2ZMmuVhYWGqUqWK3n33XYWFhWnjxo2SJIvFovr162vDhg3Zti0AkN0YegEAj5F8+fIpX758Wr58uRISEtKs79y5s6Kjo62XRYsWydHRUXXr1k33vpctW6bIyEjVrl1b0dHRWrZsWXZsAgDkGIIyADxGHB0dNWfOHM2dO1f58+dX3bp1NWrUKO3du1eS5ObmpoCAAAUEBOjatWt68cUXNX78eDVp0iTd+/bx8VHevHnl7OysgICANMMyAOBhQ1AGgMdMx44ddebMGa1YsULNmjXThg0bVK1aNc2ZM8faJj4+Xq1atVKLFi300ksv2a9YALAjgjIAPIZcXV3VpEkTvf7669qyZYt69eql0aNHS5KSk5PVuXNneXp6asaMGXauFADsh6AMAFC5cuV07do1SdKQIUP0+++/65tvvpGrq6udKwMA+2HWCwB4jFy8eFHPPvus+vTpo0qVKsnDw0M7d+7UpEmT1LZtW82ePVvTp0/XN998ozx58igmJkbS/04CBIDHCUEZAB4j+fLlU2hoqKZNm6YjR44oMTFRRYoUUWRkpEaNGqV///vfSk5OVps2bWxud7fp4QDgUWYxDMOwdxEAAABAbsMYZQAAAMAEQRkAAAAwQVAGAAAATBCUAQAAABMEZQAAAMAEQRkAAAAwQVAGAAAATBCUAQAAABMEZQAAAMAEQRkAAAAwQVAGAAAATBCUAQAAABP/DxndsyBsy3f0AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "plt.figure(figsize=(8, 6))\n", "diamonds['cut'].value_counts().plot(kind='bar')\n", "plt.title('Rozkład częstości dla szlifów diamentów dla zbioru diamonds')\n", "plt.xlabel('Szlif')\n", "plt.ylabel('Liczba wystąpień')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 17, "id": "8633ea7c", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAJaCAYAAAA28GEDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABw/klEQVR4nO3dd3QUZf/+8WtJJ5AlIaQhvYQSOg9V6QSQDko1VIM+KkizgI8UCyAKWLEgvaMigmgEpAjSwYBUqQKSUFOoISTz+4Nf9suSgSSYZAO8X+fsOdmZe2Y/s7M7e2X2nnsthmEYAgAAAGAnl6MLAAAAAHIigjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjKQRebMmSMPDw+tX7/e0aU8Ej7++GN5eXkpMjLS0aU80pYuXSpXV1f98ssvji4FAP41gnIWmjFjhiwWi+3m7OyswMBAdenSRYcOHcqyx+3Vq5fy5MmTZrsGDRqoQYMGmfrYRYsWVa9evTJ1ndnh6tWrGjVqlNauXZsp69u/f79eeOEFzZ49W0888USGlk153Rw/fvy+HnvUqFGyWCx203LqfrFYLBo1apTt/tq1a2WxWFLth08++UQlS5aUq6urLBaLYmNj7eZv3bpVw4cP13fffafKlStned13uvO9dPz4cVksFs2YMSPba8kKp0+f1qhRo9L8J+TYsWPq1auXvvrqKzVr1ix7irtNr169VLRoUbtpd77GsoPFYtFLL72UZru7vd5zqjuPIw9a/ffL7Jh6v8aMGaMlS5Zkyrqyw8N2LLsfzo4u4FEwffp0lSlTRtevX9fvv/+ud999V2vWrNGBAwfk7e3t6PKgW0F59OjRkvSv/3m4evWqnn76ab377rt66qmnMrx8y5YttWnTJgUGBv6rOh5EVatW1aZNm1SuXDnbtMjISA0YMEDPPvusevbsKWdnZ+XNm9c2/+LFi+rcubMmT56spk2bOqLsVAIDA7Vp0yaVKFHC0aVkitOnT2v06NEqWrToXf8RuXHjhjp16qRBgwblyH/KciKz1/uD5EGv3xHGjBmjp556Su3atXN0KenysB3L7gdBORuEhISoevXqkm6FsKSkJI0cOVJLlixR7969HVwdMlvu3Lm1Z8+e+16+QIECKlCgQCZW9ODw8vJSrVq17Kbt3btXkhQeHq4aNWqkWsbHx0fHjh3LlvrSy83NLdV2POxcXV21bds2R5fxQDF7vf8bV69eVe7cuTNtfWnJ7Pph79q1a3J3d8+0s9n341E8lt2JrhcOkBKaz5w5Yzd96dKlql27tnLnzq28efOqadOm2rRpk12b27ty3Hm711f1v//+u3x9fdWqVStduXLlru1Gjx6tmjVrysfHR15eXqpataqmTp0qwzDs2iUmJurVV19VQECAcufOrccff1xbt25N93OQkJCgt956S2XLlpW7u7vy58+vhg0bauPGjZL+76sus9vtZ6tu3Lihd955R2XKlJGbm5sKFCig3r1769y5c3aPt3r1ajVo0ED58+eXh4eHChcurI4dO+rq1as6fvy4LZiOHj3a9HE2bNigxo0bK2/evMqdO7fq1Kmj5cuX2z3G1atXNXToUBUrVkzu7u7y8fFR9erVNX/+fLt2W7ZsUevWrZU/f365u7urRIkSGjhwoG1+RrpeLF++XJUrV5abm5uKFSumDz74IB3PvnT9+nUNGTJElStXltVqlY+Pj2rXrq0ffvghXcv/8ccfatWqlfz8/OTm5qagoCC1bNlSp06dkpT+/XenO7/KbdCggZ555hlJUs2aNVMtP23aNFWqVMn2fLdv31779++3e34sFotdgPvuu+9ksVjUsmVLu8euWLGiOnbseM/tNgxD48ePV5EiReTu7q6qVavq559/TtXO7OvKw4cPq3fv3ipVqpRy586tggULqnXr1vrzzz9Nn4N58+bptddeU2BgoPLkyaPWrVvrzJkzunTpkvr16ydfX1/5+vqqd+/eunz5cqo6J0+erMqVK8vDw0Pe3t566qmndPToUbt2DRo0UEhIiLZt26YnnnhCuXPnVvHixTVu3DglJyfb6vnPf/4jSerdu7dtP97enSGtY9fevXtlsVj0zTff2Kbt2LFDFotF5cuXt6upTZs2qlat2j33g3TrfRIcHCw3NzeVLVtWs2bNSnMZSTp37pxeeOEFlStXTnny5JGfn58aNWqUrmsJ7uxOd/vN7JuoL7/8UqVLl5abm5vKlSunBQsW2M2/W9eF9HwWpLzHdu7cqaeeekre3t62s35361Zn1jXFTHqP72b1b9++XV26dFHRokXl4eGhokWLqmvXrvr777/tlk15LlevXq3w8HDlz59fXl5e6tGjh65cuaLo6Gh16tRJ+fLlU2BgoIYOHarExES7dVy8eFEvvPCCChYsKFdXVxUvXlxvvPGGEhIS7NqldIWZPXu2ypYtq9y5c6tSpUr68ccfU21Teo+p33zzjWrWrCmr1Wp73/Tp0+eez6vFYtGVK1c0c+bMVK+blOdjxYoV6tOnjwoUKKDcuXMrISEhw8eO+fPn64033lBQUJC8vLzUpEkTHTx40K7t3brjpacbWXrrkaTY2FgNGTJExYsXl5ubm/z8/PTkk0/qwIEDtjbp/RxPSEjQkCFDbK/LevXqaceOHabbsmfPHrVt21be3t5yd3dX5cqVNXPmzHvsnbvjjLIDpJz9Kl26tG3avHnz1L17d4WGhmr+/PlKSEjQ+PHj1aBBA/366696/PHHJSnVwfLatWsKCwtTUlKSfHx8TB9v0aJF6tGjh/r06aNPPvlETk5OtnmnTp1SlSpVtGjRIpUqVUrHjx/Xc889p8KFC0uSNm/erP79++uff/7RiBEjbMuFh4dr1qxZGjp0qJo2bao9e/aoQ4cOunTpUprbf/PmTbVo0ULr16/XwIED1ahRI928eVObN2/WiRMnVKdOHT377LNq3ry53XKLFy/W+++/b/tgTU5OVtu2bbV+/Xq9+uqrqlOnjv7++2+NHDlSDRo00Pbt2+Xh4aHjx4+rZcuWeuKJJzRt2jTly5dP//zzjyIiInTjxg0FBgYqIiJCzZs3V9++ffXss89Kki08r1u3Tk2bNlXFihU1depUubm5afLkyWrdurXmz5+vzp07S5IGDx6s2bNn65133lGVKlV05coV7dmzRxcuXLBtwy+//KLWrVurbNmymjhxogoXLqzjx49rxYoVaT5vd/r111/Vtm1b1a5dWwsWLFBSUpLGjx+f6h8wMwkJCbp48aKGDh2qggUL6saNG1q1apU6dOig6dOnq0ePHndd9sqVK2ratKmKFSumzz77TP7+/oqOjtaaNWts+z89+y89Jk+erPnz5+udd96xdWFK2S9jx47V8OHD1bVrV40dO1YXLlzQqFGjVLt2bW3btk2lSpVS/fr15eLiolWrVtnC3qpVq+Th4aF169YpMTFRLi4uOnv2rPbs2aP//ve/96xn9OjRGj16tPr27aunnnpKJ0+eVHh4uJKSkhQcHHzPZU+fPq38+fNr3LhxKlCggC5evKiZM2eqZs2a+uOPP1ItP3z4cDVs2FAzZszQ8ePHNXToUHXt2lXOzs6qVKmS5s+frz/++EPDhw9X3rx59fHHH9uWfe655zRjxgwNGDBA7733ni5evKi33npLderU0a5du+Tv729rGx0dre7du2vIkCEaOXKkvv/+ew0bNkxBQUHq0aOHqlatqunTp6t379763//+Z/sH47HHHpOUvmNX+fLlFRgYqFWrVunpp5+22w/79u3T6dOnFRQUpJs3b2rdunV6/vnn7/lczpgxQ71791bbtm01YcIExcXFadSoUUpISFCuXPc+/3Px4kVJ0siRIxUQEKDLly/r+++/t9V7r65XKd2ibrdp0yYNHjw41et66dKlWrNmjd566y15enpq8uTJtv13ry5Z6f0sSNGhQwd16dJFzz///D1PgmTEvzm+Hz9+XMHBwerSpYt8fHwUFRWlzz//XP/5z3+0b98++fr62rV/9tln1aFDBy1YsMD2er5586YOHjyoDh06qF+/flq1apXee+89BQUFafDgwZJu/bPfsGFDHTlyRKNHj1bFihW1fv16jR07VpGRkalOZCxfvlzbtm3TW2+9pTx58mj8+PFq3769Dh48qOLFi0tK/zF106ZN6ty5szp37qxRo0bJ3d1df//9t1avXn3P52bTpk1q1KiRGjZsqDfffFPSrbPyt+vTp49atmyp2bNn68qVK3JxcbmvY0fdunX19ddfKz4+Xq+99ppat26t/fv3233+36/01nPp0iU9/vjjOn78uF577TXVrFlTly9f1m+//aaoqCiVKVMm3Z/j0q1/1BcuXKhXX31VjRo10r59+9S+fXvFx8fb1Xfw4EHVqVNHfn5++vjjj5U/f37NmTNHvXr10pkzZ/Tqq69mbIMNZJnp06cbkozNmzcbiYmJxqVLl4yIiAgjICDAqFevnpGYmGgYhmEkJSUZQUFBRoUKFYykpCTb8pcuXTL8/PyMOnXqmK7/5s2bRtu2bY08efIYO3bssE3v2bOn4enpaRiGYYwbN85wcnIy3nvvPbtlr1+/blSsWNHw8vIyZs+ebbr+pKQkIzEx0XjrrbeM/PnzG8nJyYZhGMb+/fsNScagQYPs2s+dO9eQZPTs2fOez8usWbMMScaUKVPu2e5269evN9zd3Y3u3bvb6pg/f74hyfjuu+/s2m7bts2QZEyePNkwDMP49ttvDUlGZGTkXdd/7tw5Q5IxcuTIVPNq1apl+Pn5GZcuXbJNu3nzphESEmI89thjtnpCQkKMdu3a3XM7SpQoYZQoUcK4du3aXdukvG6OHTt2z3XVrFnTCAoKsltXfHy84ePjY9z51i5SpMg998vNmzeNxMREo2/fvkaVKlXu+bjbt283JBlLliy5Z7vbme0/wzBSPedr1qwxJBlr1qyxTUt5PrZt22abFhMTY3h4eBhPPvmk3eOcOHHCcHNzM7p162ab9vjjjxuNGjWy3S9ZsqTxyiuvGLly5TLWrVtnGMb/vXb/+uuvu25DTEyM4e7ubrRv395u+u+//25IMurXr2+bduzYMUOSMX369Luu7+bNm8aNGzeMUqVK2b2XUp6D1q1b27UfOHCgIckYMGCA3fR27doZPj4+tvubNm0yJBkTJkywa3fy5EnDw8PDePXVV23T6tevb0gytmzZYte2XLlyRrNmzWz3U95Td25PRo5dzzzzjFG8eHHb/SZNmhjh4eGGt7e3MXPmTMMw/u+5XLFihfmTdttjVq1a1e61dPz4ccPFxcUoUqSIXfu7va9TpLz2GzdunGrfpuXAgQNG/vz5jYYNGxoJCQl2j+nh4WFER0fbPU6ZMmWMkiVL2qbd+XrPyPM5cuRIQ5IxYsSIVHXVr1/f7vWYomfPnqmenztl5Phu9n69082bN43Lly8bnp6exkcffWSbnvK+7t+/v137du3aGZKMiRMn2k2vXLmyUbVqVdv9L774wpBkLFq0yK7de++9l+o1JMnw9/c34uPjbdOio6ONXLlyGWPHjrVNS+8x9YMPPjAkGbGxsXfd7rvx9PQ0PRanPB89evRIcx1pHTvuPC4uWrTIkGRs2rTJNu1unwl3vnb+zbHsrbfeMiQZK1euvOuy6f0c37t3ryHJeO2110yXv31bunTpYri5uRknTpywa9uiRQsjd+7cGd5vdL3IBrVq1ZKLi4vy5s2r5s2by9vbWz/88IOcnW+d0D948KBOnz6tsLAwu7MhefLkUceOHbV582ZdvXo11XpfeuklLV++XN98842qVq1qN88wDD333HMaOXKk5s2bZ/cf1MmTJ1WtWjXt3btXVapUsX21Ld3qotCkSRNZrVY5OTnJxcVFI0aM0IULF3T27FlJ0po1ayRJ3bt3t3vMTp062bbpXn7++We5u7un+TVViv3796tNmzaqU6eOpk2bZuuv9eOPPypfvnxq3bq1bt68abtVrlxZAQEBtq8DK1euLFdXV/Xr108zZ85M9fXzvVy5ckVbtmzRU089ZTeSiJOTk8LCwnTq1CnbV1o1atTQzz//rNdff11r167VtWvX7Nb1119/6ciRI+rbt6/c3d3TXcPd6tq2bZs6dOhgt668efOqdevW6VrHN998o7p16ypPnjxydnaWi4uLpk6datd1wUzJkiXl7e2t1157TV988YX27dt3z/Z323//xqZNm3Tt2rVUX7cVKlRIjRo10q+//mqb1rhxY/3++++6du2a/v77bx0+fFhdunRR5cqVtXLlSkm3zm4WLlxYpUqVuudjXr9+PdXrvk6dOipSpEiaNd+8eVNjxoxRuXLl5OrqKmdnZ7m6uurQoUOmz3mrVq3s7pctW1aSUnUZKVu2rC5evGjrfvHjjz/KYrHomWeesXtfBAQEqFKlSqm+5g8ICEjV97tixYqpvio3k5FjV+PGjXX06FEdO3ZM169f14YNG9S8eXM1bNjQbj+4ubmlOmtq9pjdunWzey0VKVJEderUSbNmSfriiy9UtWpVubu72177v/76a5qv/dtFR0erefPmCgwM1Pfffy9XV1e7+Y0bN7Y7c+/k5KTOnTvr8OHDti5Kd9u2jHwWpNVdKKP+7fH98uXLeu2111SyZEk5OzvL2dlZefLk0ZUrV/716/z21+Tq1avl6emZ6ux8yjHh9mOAJDVs2NDuImB/f3/5+fnZ1pmRY2rKt1OdOnXSokWL9M8//9z9Cckgs/2Z0WNHmzZt7O5XrFhRktL1nk6P9Nbz888/q3Tp0mrSpMld15Xez/F169ZJuvWc3+6pp55K9bpcvXq1GjdurEKFCtlN79Wrl65evZrqW6G0EJSzwaxZs7Rt2zatXr1azz33nPbv36+uXbva5qd8NW82ykFQUJCSk5MVExNjN/2dd97RF198oS+//DLVV9zSrT4/CxcuVPny5dWiRQu7eYGBgXrnnXdSfRht3bpVoaGhkqQpU6bo999/17Zt2/TGG29Iki34pdQbEBBgt7yzs7Py58+f5vNx7tw5BQUFpfkVqXTrK57mzZvrscce0+LFi+0+jM6cOaPY2Fi5urrKxcXF7hYdHa3z589LkkqUKKFVq1bJz89PL774okqUKKESJUroo48+SvPxY2JiZBjGXfeN9H/Px8cff6zXXntNS5YsUcOGDeXj46N27drZhgJM6W+V8pX1vxETE6Pk5ORU+0BKvV/MLF68WJ06dVLBggU1Z84cbdq0Sdu2bVOfPn10/fr1ey5rtVq1bt06Va5cWcOHD1f58uUVFBSkkSNHpupDeK/992+k9Z65vbtLkyZNlJCQoA0bNmjlypXy9fVVlSpV1KRJE61atUrSrQ/Vex3Mb3/M+33OBw8erDfffFPt2rXTsmXLtGXLFm3btk2VKlVK9U+VpFRdqVKeu7tNT9lvZ86ckWEY8vf3T/W+2Lx5s+19kcLsPevm5mZa050ycuxKeX5XrVqlDRs2KDExUY0aNVKTJk1soWbVqlWqW7eu7avWez3m/e6HiRMn6r///a9q1qyp7777Tps3b9a2bdvUvHnzdG2zdOsr5SeffFKJiYn6+eefZbVa01VLyrTbX5+3u5/PgsweHeffHt+7deumTz/9VM8++6x++eUXbd26Vdu2bVOBAgX+9ev89mPThQsXFBAQkOofbz8/Pzk7O6d6jtN6nWfkmFqvXj0tWbJEN2/eVI8ePfTYY48pJCQk1fUo98Nsf2b02HHntrq5uUlSul/faUlvPefOnUvz8y69n+Mp+/P2fz4l89flhQsX0vWZnV70Uc4GZcuWtV3A17BhQyUlJenrr7/Wt99+q6eeesq2k6OiolIte/r0aeXKlctuGLkZM2bozTff1KhRo+56VtbNzU1r1qxRs2bN1KRJE0VERNjW4ezsrHbt2unDDz+0W2bBggVycXHRjz/+aPcf9Z1jPqbUGx0drYIFC9qm37x5M10vwAIFCmjDhg1KTk6+Z1iOj4/Xk08+qeTkZP3000+pPox8fX2VP39+RUREmC5/+9mDJ554Qk888YSSkpK0fft2ffLJJxo4cKD8/f3VpUuXu9bg7e2tXLly3XXfpNQhSZ6enrY+rGfOnLGdXW7durUOHDhg61t7t7NJGeHt7S2LxaLo6OhU88ym3WnOnDkqVqyYFi5caPdBc+dFMHdToUIFLViwQIZhaPfu3ZoxY4beeusteXh46PXXX5eU9v77N9J6z9zeD7JmzZrKkyePVq1apePHj6tx48ayWCxq3LixJkyYoG3btunEiRNpBuXbX/d3io6OTvMiqTlz5qhHjx4aM2aM3fTz588rX75891w2I3x9fWWxWLR+/XrbB+TtzKbdr4wcux577DGVLl1aq1atUtGiRVW9enXly5dPjRs31gsvvKAtW7Zo8+bNtmEa03rMf/Pab9CggT7//HO76enpfyvdutCtY8eOOnLkiNavX3/XIHCv+u4WODP6WSDJ9Bsad3d3xcXFpZp+5z9J96rhfo7vcXFx+vHHHzVy5EjbcUD6v2siMlP+/Pm1ZcsWGYZh9xycPXtWN2/eTNUXOi0ZPaa2bdtWbdu2VUJCgjZv3qyxY8eqW7duKlq0qGrXrp3xDfr/zPZnVhw73N3dTY/358+fT/O5S289BQoUSPPzLr2f4ymvyzNnzqT5usyfP3+6PrPTizPKDjB+/Hh5e3trxIgRSk5OVnBwsAoWLKh58+bZjS5x5coVfffdd7arnyUpIiJC4eHh6tOnj0aOHHnPx6lSpYrWrVunU6dOqUGDBrauE3eT8qMot3f2v3btmmbPnm3XLuVil7lz59pNX7RokW7evJnm9rdo0ULXr1+/5wDmN27cUPv27XX8+HH9/PPPph9GrVq10oULF5SUlKTq1aunupldXOXk5KSaNWvqs88+kyTt3LlT0t3/4/b09FTNmjW1ePFiu3nJycmaM2eO7cP/Tv7+/urVq5e6du2qgwcP6urVqypdurRKlCihadOmpTuQ3o2np6dq1KihxYsX251luXTpkpYtW5bm8haLxfbjHSmio6PTPerF7eupVKmSJk2apHz58tmez/Tsv3+jdu3a8vDw0Jw5c+ymnzp1yva1WwoXFxfVq1dPK1eu1OrVq21jLT/xxBNydnbW//73P1twvpdatWrJ3d091et+48aN6fpK02KxpAqpy5cvz9SvbaVb7wvDMPTPP/+Yvi8qVKiQ4XXe7f2RkWOXdOus8urVq7Vy5UrbfihdurQKFy6sESNGKDExMc1/WIKDgxUYGKj58+fbPebff/9tGzXnXsz2w+7du9P9dWzfvn21du1aLV682PaVtplff/3V7iKwpKQkLVy4UCVKlLjr+yGjz+fdFC1aVH/99ZfdcebChQvpen7+zfHdYrHIMIxUz+/XX3+tpKSkNB87Ixo3bqzLly+nOpGTMvpJWu/nO93vMdXNzU3169fXe++9J+nWiED3kt5va26XFceOokWLavfu3XbT/vrrr1SjY/ybelq0aKG//vrrnhc5pvdzvF69epKkhQsX2i3/7bffpnpdNm7cWKtXr7YF4xSzZs1S7ty5MzzcHWeUHcDb21vDhg3Tq6++qnnz5umZZ57R+PHj1b17d7Vq1UrPPfecEhIS9P777ys2Nlbjxo2TdGu0jKefflrFixdX7969tXnzZrv1VqlSJdWLt2zZslq/fr2aNGmievXqadWqVXc9SLds2VITJ05Ut27d1K9fP124cEEffPCB6TqfeeYZffjhh3JxcVGTJk20Z88effDBB6mu4DXTtWtXTZ8+Xc8//7wOHjyohg0bKjk5WVu2bFHZsmXVpUsXDRo0SKtXr9aYMWN0+fJlu20tUKCASpQooS5dumju3Ll68skn9fLLL6tGjRpycXHRqVOntGbNGrVt21bt27fXF198odWrV6tly5YqXLiwrl+/rmnTpkn6v6+D8+bNqyJFiuiHH35Q48aN5ePjI19fXxUtWlRjx45V06ZN1bBhQw0dOlSurq6aPHmy9uzZo/nz59vCZs2aNdWqVStVrFhR3t7e2r9/v2bPnm334fbZZ5+pdevWqlWrlgYNGqTChQvrxIkT+uWXX1J9MKXl7bffVvPmzdW0aVMNGTJESUlJeu+99+Tp6Znm2ZtWrVpp8eLFeuGFF2yjN7z99tsKDAxM81cjf/zxR02ePFnt2rVT8eLFZRiGFi9erNjYWFv4Sc/++zfy5cunN998U8OHD1ePHj3UtWtXXbhwQaNHj5a7u3uqfyIbN26sIUOGSPq/fe7h4aE6depoxYoVqlixovz8/O75mN7e3ho6dKjeeecdPfvss3r66ad18uRJjRo1Kl1f+bdq1UozZsxQmTJlVLFiRe3YsUPvv/9+pv8TUbduXfXr10+9e/fW9u3bVa9ePXl6eioqKkobNmxQhQoV0hzd404lSpSQh4eH5s6dq7JlyypPnjwKCgpSUFBQuo5dKRo3bqzJkyfr/Pnzdt9oNW7cWNOnT5e3t3eaQ8PlypVLb7/9tp599lm1b99e4eHhio2NzdB+ePvttzVy5EjVr19fBw8e1FtvvaVixYqlGQTff/99zZ49W/3795enp6fd69rLy8vuhzd8fX3VqFEjvfnmm7ZRLw4cOJBqiLg7ty0jz+fdhIWF6csvv9Qzzzyj8PBwXbhwQePHj0/X8fnfHN+9vLxUr149vf/++7bj57p16zR16tRM/dZEknr06KHPPvtMPXv21PHjx1WhQgVt2LBBY8aM0ZNPPpnmP1xm0ntMHTFihE6dOqXGjRvrscceU2xsrD766CO5uLiofv3693yMChUqaO3atVq2bJkCAwOVN2/eNEfMyYpjR1hYmJ555hm98MIL6tixo/7++2+NHz8+XWP4p7eegQMHauHChWrbtq1ef/111ahRQ9euXdO6devUqlUrNWzYMN2f4+XLl1fXrl01YcIEOTk5qVGjRtq7d68mTJggq9Vq9+30yJEj9eOPP6phw4YaMWKEfHx8NHfuXC1fvlzjx4/P+LebGbr0DxlidrV+imvXrhmFCxc2SpUqZdy8edMwDMNYsmSJUbNmTcPd3d3w9PQ0GjdubPz++++2ZVKuaL3bLWWUhNtHvUhx6tQpo0yZMkbRokWNI0eOGIZhfmX0tGnTjODgYMPNzc0oXry4MXbsWGPq1KmpRmFISEgwhgwZYvj5+Rnu7u5GrVq1jE2bNqU5usLt2z9ixAijVKlShqurq5E/f36jUaNGxsaNG2213W07b19/YmKi8cEHHxiVKlUy3N3dDTc3N0OS8dxzzxmHDh0yDOPWKADt27c3ihQpYri5uRn58+c36tevbyxdutSuplWrVhlVqlSxreP2x1m/fr3RqFEjw9PT0/Dw8DBq1aplLFu2zG75119/3ahevbrh7e1te/4GDRpknD9/3q7dpk2bjBYtWhhWq9Vwc3MzSpQoYXelcHpHvTAMw1i6dKlRsWJFw9XV1ShcuLAxbtw429XwtzPbL+PGjTOKFi1quLm5GWXLljWmTJliuuydDhw4YHTt2tUoUaKE4eHhYVitVqNGjRrGjBkzbG3Su/90n6NepPj6669t22+1Wo22bdsae/fuTdVu165dhiSjVKlSdtPfffddQ5IxePDge25ziuTkZGPs2LFGoUKFDFdXV6NixYrGsmXL0nWleExMjNG3b1/Dz8/PyJ07t/H4448b69evT7VsynPwzTff2D323Z6HlH127tw5u+nTpk0zatasaXvNlihRwujRo4exfft2W5v69esb5cuXT7WdZqMjzJ8/3yhTpozh4uKSar+ldey6/TnIlSuX4enpady4ccM2PWVEhQ4dOqRa5m6+/vpr2/GjdOnSxrRp00zrvrPWhIQEY+jQoUbBggUNd3d3o2rVqsaSJUvSNSJEz5497/q6vn0fSjJefPFFY/LkyUaJEiUMFxcXo0yZMsbcuXPt1ne3USPS83zebb+nmDlzplG2bFnD3d3dKFeunLFw4cJ0bWPKc5Se47tZ/adOnTI6duxoeHt7G3nz5jWaN29u7NmzJ9WyGX09m32uXbhwwXj++eeNwMBAw9nZ2ShSpIgxbNgw4/r163btUvbHncyOi+k5pv74449GixYtjIIFCxqurq6Gn5+f8eSTTxrr16+/19NqGIZhREZGGnXr1jVy585t97q513Hu3x47zI5HycnJxvjx443ixYsb7u7uRvXq1Y3Vq1ff9Vh2+/E9vfWktH355ZeNwoULGy4uLoafn5/RsmVL48CBA7Y2d36O58mTxyhTpozd57hh3Bqta/Dgwalel1arNdUoLX/++afRunVrw2q1Gq6urkalSpXuOXLHvVgM445fkgAeYKNHj1ZiYqLeeecdR5cCAMADbdeuXapcubKWLVuWaoSS2+3fv1/du3fX77//fs+LcTPbxo0bVbduXc2dO1fdunXLkseg6wUeKosXL9aLL76o69evm/ajAgAAaVuzZo2+/vprubq6phqC9k5TpkxRSEiIXF1ddfnyZbvhVDPLypUrtWnTJlWrVk0eHh7atWuXxo0bp1KlSqlDhw6Z/ngpuJgPD5WwsDC9+uqrKlCgQKZfJAUAwKOiadOm2rp1q6ZPn24bWu1umjVrZhvb+rvvvsuSery8vLRixQqFhYWpWbNmGj9+vFq0aKF169b9698muBe6XgAAAAAmOKMMAAAAmCAoAwAAACYIygAAAIAJRr3IRMnJyTp9+rTy5s1r+jOUAAAAcCzDMHTp0iUFBQXZ/ViJGYJyJjp9+rQKFSrk6DIAAACQhpMnT6b5C4cE5UyUN29eSbee+PT8VCgAAACyV3x8vAoVKmTLbfdCUM5EKd0tvLy8CMoAAAA5WHq6yXIxHwAAAGCCoAwAAACYICgDAAAAJgjKAAAAgAmCMgAAAGCCoAwAAACYICgDAAAAJgjKAAAAgAmCMgAAAGCCoAwAAACYcHhQ/u2339S6dWsFBQXJYrFoyZIldvMtFovp7f3337e1adCgQar5Xbp0sVtPTEyMwsLCZLVaZbVaFRYWptjYWLs2J06cUOvWreXp6SlfX18NGDBAN27cyKpNBwAAQA7m8KB85coVVapUSZ9++qnp/KioKLvbtGnTZLFY1LFjR7t24eHhdu2+/PJLu/ndunVTZGSkIiIiFBERocjISIWFhdnmJyUlqWXLlrpy5Yo2bNigBQsW6LvvvtOQIUMyf6MBAACQ4zk7uoAWLVqoRYsWd50fEBBgd/+HH35Qw4YNVbx4cbvpuXPnTtU2xf79+xUREaHNmzerZs2akqQpU6aodu3aOnjwoIKDg7VixQrt27dPJ0+eVFBQkCRpwoQJ6tWrl9599115eXn9m80EAADAA8bhZ5Qz4syZM1q+fLn69u2bat7cuXPl6+ur8uXLa+jQobp06ZJt3qZNm2S1Wm0hWZJq1aolq9WqjRs32tqEhITYQrIkNWvWTAkJCdqxY4dpPQkJCYqPj7e7AQAA4OHg8DPKGTFz5kzlzZtXHTp0sJvevXt3FStWTAEBAdqzZ4+GDRumXbt2aeXKlZKk6Oho+fn5pVqfn5+foqOjbW38/f3t5nt7e8vV1dXW5k5jx47V6NGjM2PTAAAAkMM8UEF52rRp6t69u9zd3e2mh4eH2/4OCQlRqVKlVL16de3cuVNVq1aVdOuiwDsZhmE3PT1tbjds2DANHjzYdj8+Pl6FChXK2EYBAAAgR3pgul6sX79eBw8e1LPPPptm26pVq8rFxUWHDh2SdKuf85kzZ1K1O3funO0sckBAQKozxzExMUpMTEx1pjmFm5ubvLy87G4AAAB4ODwwQXnq1KmqVq2aKlWqlGbbvXv3KjExUYGBgZKk2rVrKy4uTlu3brW12bJli+Li4lSnTh1bmz179igqKsrWZsWKFXJzc1O1atUyeWsAAACQ0zm868Xly5d1+PBh2/1jx44pMjJSPj4+Kly4sKRbXRq++eYbTZgwIdXyR44c0dy5c/Xkk0/K19dX+/bt05AhQ1SlShXVrVtXklS2bFk1b95c4eHhtmHj+vXrp1atWik4OFiSFBoaqnLlyiksLEzvv/++Ll68qKFDhyo8PJwzxQAAAI8ghwfl7du3q2HDhrb7KX1+e/bsqRkzZkiSFixYIMMw1LVr11TLu7q66tdff9VHH32ky5cvq1ChQmrZsqVGjhwpJycnW7u5c+dqwIABCg0NlSS1adPGbuxmJycnLV++XC+88ILq1q0rDw8PdevWTR988EFWbHaWKPr6ckeX4BDHx7V0dAkAAOAhZDEMw3B0EQ+L+Ph4Wa1WxcXFOeQsNEEZAADg3jKS1x6YPsoAAABAdiIoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABggqAMAAAAmCAoAwAAACYIygAAAIAJgjIAAABgwuFB+bffflPr1q0VFBQki8WiJUuW2M3v1auXLBaL3a1WrVp2bRISEtS/f3/5+vrK09NTbdq00alTp+zaxMTEKCwsTFarVVarVWFhYYqNjbVrc+LECbVu3Vqenp7y9fXVgAEDdOPGjazYbAAAAORwDg/KV65cUaVKlfTpp5/etU3z5s0VFRVlu/3000928wcOHKjvv/9eCxYs0IYNG3T58mW1atVKSUlJtjbdunVTZGSkIiIiFBERocjISIWFhdnmJyUlqWXLlrpy5Yo2bNigBQsW6LvvvtOQIUMyf6MBAACQ4zk7uoAWLVqoRYsW92zj5uamgIAA03lxcXGaOnWqZs+erSZNmkiS5syZo0KFCmnVqlVq1qyZ9u/fr4iICG3evFk1a9aUJE2ZMkW1a9fWwYMHFRwcrBUrVmjfvn06efKkgoKCJEkTJkxQr1699O6778rLyysTtxoAAAA5ncPPKKfH2rVr5efnp9KlSys8PFxnz561zduxY4cSExMVGhpqmxYUFKSQkBBt3LhRkrRp0yZZrVZbSJakWrVqyWq12rUJCQmxhWRJatasmRISErRjxw7TuhISEhQfH293AwAAwMMhxwflFi1aaO7cuVq9erUmTJigbdu2qVGjRkpISJAkRUdHy9XVVd7e3nbL+fv7Kzo62tbGz88v1br9/Pzs2vj7+9vN9/b2lqurq63NncaOHWvr82y1WlWoUKF/vb0AAADIGRze9SItnTt3tv0dEhKi6tWrq0iRIlq+fLk6dOhw1+UMw5DFYrHdv/3vf9PmdsOGDdPgwYNt9+Pj4wnLAAAAD4kcf0b5ToGBgSpSpIgOHTokSQoICNCNGzcUExNj1+7s2bO2M8QBAQE6c+ZMqnWdO3fOrs2dZ45jYmKUmJiY6kxzCjc3N3l5edndAAAA8HB44ILyhQsXdPLkSQUGBkqSqlWrJhcXF61cudLWJioqSnv27FGdOnUkSbVr11ZcXJy2bt1qa7NlyxbFxcXZtdmzZ4+ioqJsbVasWCE3NzdVq1YtOzYNAAAAOYjDu15cvnxZhw8ftt0/duyYIiMj5ePjIx8fH40aNUodO3ZUYGCgjh8/ruHDh8vX11ft27eXJFmtVvXt21dDhgxR/vz55ePjo6FDh6pChQq2UTDKli2r5s2bKzw8XF9++aUkqV+/fmrVqpWCg4MlSaGhoSpXrpzCwsL0/vvv6+LFixo6dKjCw8M5UwwAAPAIcnhQ3r59uxo2bGi7n9Lnt2fPnvr888/1559/atasWYqNjVVgYKAaNmyohQsXKm/evLZlJk2aJGdnZ3Xq1EnXrl1T48aNNWPGDDk5OdnazJ07VwMGDLCNjtGmTRu7sZudnJy0fPlyvfDCC6pbt648PDzUrVs3ffDBB1n9FAAAACAHshiGYTi6iIdFfHy8rFar4uLiHHIWuujry7P9MXOC4+NaOroEAADwgMhIXnvg+igDAAAA2YGgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYMLhQfm3335T69atFRQUJIvFoiVLltjmJSYm6rXXXlOFChXk6empoKAg9ejRQ6dPn7ZbR4MGDWSxWOxuXbp0sWsTExOjsLAwWa1WWa1WhYWFKTY21q7NiRMn1Lp1a3l6esrX11cDBgzQjRs3smrTAQAAkIM5PChfuXJFlSpV0qeffppq3tWrV7Vz5069+eab2rlzpxYvXqy//vpLbdq0SdU2PDxcUVFRttuXX35pN79bt26KjIxURESEIiIiFBkZqbCwMNv8pKQktWzZUleuXNGGDRu0YMECfffddxoyZEjmbzQAAAByPGdHF9CiRQu1aNHCdJ7VatXKlSvtpn3yySeqUaOGTpw4ocKFC9um586dWwEBAabr2b9/vyIiIrR582bVrFlTkjRlyhTVrl1bBw8eVHBwsFasWKF9+/bp5MmTCgoKkiRNmDBBvXr10rvvvisvL6/M2FwAAAA8IBx+Rjmj4uLiZLFYlC9fPrvpc+fOla+vr8qXL6+hQ4fq0qVLtnmbNm2S1Wq1hWRJqlWrlqxWqzZu3GhrExISYgvJktSsWTMlJCRox44dprUkJCQoPj7e7gYAAICHg8PPKGfE9evX9frrr6tbt252Z3i7d++uYsWKKSAgQHv27NGwYcO0a9cu29no6Oho+fn5pVqfn5+foqOjbW38/f3t5nt7e8vV1dXW5k5jx47V6NGjM2vzAAAAkIM8MEE5MTFRXbp0UXJysiZPnmw3Lzw83PZ3SEiISpUqperVq2vnzp2qWrWqJMlisaRap2EYdtPT0+Z2w4YN0+DBg2334+PjVahQoYxtGAAAAHKkB6LrRWJiojp16qRjx45p5cqVafYXrlq1qlxcXHTo0CFJUkBAgM6cOZOq3blz52xnkQMCAlKdOY6JiVFiYmKqM80p3Nzc5OXlZXcDAADAwyHHB+WUkHzo0CGtWrVK+fPnT3OZvXv3KjExUYGBgZKk2rVrKy4uTlu3brW12bJli+Li4lSnTh1bmz179igqKsrWZsWKFXJzc1O1atUyeasAAACQ0zm868Xly5d1+PBh2/1jx44pMjJSPj4+CgoK0lNPPaWdO3fqxx9/VFJSku2sr4+Pj1xdXXXkyBHNnTtXTz75pHx9fbVv3z4NGTJEVapUUd26dSVJZcuWVfPmzRUeHm4bNq5fv35q1aqVgoODJUmhoaEqV66cwsLC9P777+vixYsaOnSowsPDOVMMAADwCHL4GeXt27erSpUqqlKliiRp8ODBqlKlikaMGKFTp05p6dKlOnXqlCpXrqzAwEDbLWW0CldXV/36669q1qyZgoODNWDAAIWGhmrVqlVycnKyPc7cuXNVoUIFhYaGKjQ0VBUrVtTs2bNt852cnLR8+XK5u7urbt266tSpk9q1a6cPPvgge58QAAAA5AgWwzAMRxfxsIiPj5fValVcXJxDzkIXfX15tj9mTnB8XEtHlwAAAB4QGclrDj+jDAAAAOREBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADAhPP9LJScnKzDhw/r7NmzSk5OtptXr169TCkMAAAAcKQMB+XNmzerW7du+vvvv2UYht08i8WipKSkTCsOAAAAcJQ0u16sWLFCsbGxtvvPP/+8qlevrj179ujixYuKiYmx3S5evJiVtQIAAADZJs0zyufPn1fdunW1fPlyFS1aVIcOHdK3336rkiVLZkd9AAAAgEOkGZS7desmX19ftWnTRrt371bNmjV1+PBhgjIAAAAeaunqoxwaGqqVK1dKkvr3768hQ4YoOjpaFSpUkIuLi13bihUrZn6VAAAAQDZL98V8/v7+kqSOHTtKkvr06WObZ7FYZBgGF/MBAADgoZHhUS+OHTuWFXUAAAAAOUqGg3KRIkWyog4AAAAgR7mvX+abPXu26tatq6CgIP3999+SpA8//FA//PBDphYHAAAAOEqGzyh//vnnGjFihAYOHKh3333X1ic5X758+vDDD9W2bdtMLxJAakVfX+7oEhzi+LiWji4BAPCIyPAZ5U8++URTpkzRG2+8IScnJ9v06tWr688//8zU4gAAAABHyXBQPnbsmKpUqZJqupubm65cuZIpRQEAAACOluGgXKxYMUVGRqaa/vPPP6tcuXKZURMAAADgcBnuo/zKK6/oxRdf1PXr12UYhrZu3ar58+dr7Nix+vrrr7OiRgAAACDbZTgo9+7dWzdv3tSrr76qq1evqlu3bipYsKA++ugjdenSJStqBAAAALJdhoOyJIWHhys8PFznz59XcnKy/Pz8MrsuAAAAwKHuKyin8PX1zaw6AAAAgBwlXUG5atWq+vXXX+Xt7a0qVarIYrHcte3OnTszrTgAAADAUdIVlNu2bSs3NzdJUrt27bKyHgAAACBHSFdQHjlypOnfAAAAwMPqvvsob9++Xfv375fFYlHZsmVVrVq1zKwLAAAAcKgMB+VTp06pa9eu+v3335UvXz5JUmxsrOrUqaP58+erUKFCmV0jAAAAkO0y/Mt8ffr0UWJiovbv36+LFy/q4sWL2r9/vwzDUN++fbOiRgAAACDbZfiM8vr167Vx40YFBwfbpgUHB+uTTz5R3bp1M7U4AAAAwFEyfEa5cOHCSkxMTDX95s2bKliwYKYUBQAAADhahoPy+PHj1b9/f23fvl2GYUi6dWHfyy+/rA8++CDTCwQAAAAcIcNdL3r16qWrV6+qZs2acna+tfjNmzfl7OysPn36qE+fPra2Fy9ezLxKAQAAgGyU4aD84YcfZkEZAAAAQM6S4aDcs2fPrKgDAAAAyFEy3Ef5dteuXVN8fLzdTZIMw9Crr76arnX89ttvat26tYKCgmSxWLRkyRK7+YZhaNSoUQoKCpKHh4caNGigvXv32rVJSEhQ//795evrK09PT7Vp00anTp2yaxMTE6OwsDBZrVZZrVaFhYUpNjbWrs2JEyfUunVreXp6ytfXVwMGDNCNGzcy9qQAAADgoZDhoHzlyhW99NJL8vPzU548eeTt7W13++abbxQTE6M5c+ake32VKlXSp59+ajp//Pjxmjhxoj799FNt27ZNAQEBatq0qS5dumRrM3DgQH3//fdasGCBNmzYoMuXL6tVq1ZKSkqytenWrZsiIyMVERGhiIgIRUZGKiwszDY/KSlJLVu21JUrV7RhwwYtWLBA3333nYYMGZLRpwgAAAAPgQx3vXj11Ve1Zs0aTZ48WT169NBnn32mf/75R19++aXGjh2rzZs3q1+/fmrfvn261teiRQu1aNHCdJ5hGPrwww/1xhtvqEOHDpKkmTNnyt/fX/PmzdNzzz2nuLg4TZ06VbNnz1aTJk0kSXPmzFGhQoW0atUqNWvWTPv371dERIQ2b96smjVrSpKmTJmi2rVr6+DBgwoODtaKFSu0b98+nTx5UkFBQZKkCRMmqFevXnr33Xfl5eWV0acKAAAAD7AMn1FetmyZJk+erKeeekrOzs564okn9L///U9jxozRvHnzNGHCBMXExGjatGn/urhjx44pOjpaoaGhtmlubm6qX7++Nm7cKEnasWOHEhMT7doEBQUpJCTE1mbTpk2yWq22kCxJtWrVktVqtWsTEhJiC8mS1KxZMyUkJGjHjh2m9SUkJJh2PQEAAMCDL8NB+eLFiypWrJgkycvLyzYE3OOPP67ffvstU4uLjo6WJPn7+9tN9/f3t82Ljo6Wq6urvL2979nGz88v1fr9/Pzs2tz5ON7e3nJ1dbW1udPYsWNtfZ6tVqsKFSp0H1sJAACAnCjDQbl48eI6fvy4JKlcuXJatGiRpFtnmvPly5eZtdlYLBa7+4ZhpJp2pzvbmLW/nza3GzZsmOLi4my3kydP3rMmAAAAPDgyHJR79+6tXbt2SboVFCdPniw3NzcNGjRIr7zySqYWFxAQIEmpzuiePXvWdvY3ICBAN27cUExMzD3bnDlzJtX6z507Z9fmzseJiYlRYmJiqjPNKdzc3OTl5WV3AwAAwMMhw0F50KBBGjBggCSpYcOGOnDggObPn6+dO3fq5ZdfztTiihUrpoCAAK1cudI27caNG1q3bp3q1KkjSapWrZpcXFzs2kRFRWnPnj22NrVr11ZcXJy2bt1qa7NlyxbFxcXZtdmzZ4+ioqJsbVasWCE3NzdVq1YtU7cLAAAAOV+GR72YNWuWOnfuLDc3N0lS4cKFVbhwYd24cUOzZs1Sjx49MrS+y5cv6/Dhw7b7x44dU2RkpHx8fFS4cGENHDhQY8aMUalSpVSqVCmNGTNGuXPnVrdu3SRJVqtVffv21ZAhQ5Q/f375+Pho6NChqlChgm0UjLJly6p58+YKDw/Xl19+KUnq16+fWrVqpeDgYElSaGioypUrp7CwML3//vu6ePGihg4dqvDwcM4UAwAAPILuq+tFXFxcqumXLl1S7969M1zA9u3bVaVKFVWpUkWSNHjwYFWpUkUjRoyQdGs4uoEDB+qFF15Q9erV9c8//2jFihXKmzevbR2TJk1Su3bt1KlTJ9WtW1e5c+fWsmXL5OTkZGszd+5cVahQQaGhoQoNDVXFihU1e/Zs23wnJyctX75c7u7uqlu3rjp16qR27drpgw8+yPA2AQAA4MFnMQzDyMgCuXLl0pkzZ1SgQAG76bt27VLDhg1to2A8iuLj42W1WhUXF+eQs9BFX1+e7Y+ZExwf19LRJTgE+xsAgIzLSF5Ld9eLKlWqyGKxyGKxqHHjxnJ2/r9Fk5KSdOzYMTVv3vz+qwYAAABykHQH5Xbt2kmSIiMj1axZM+XJk8c2z9XVVUWLFlXHjh0zvUAAAN8gAIAjpDsojxw5UpJUtGhRdenSxXYxHwAAAPAwyvDFfI0aNdK5c+ds97du3aqBAwfqq6++ytTCAAAAAEfKcFDu1q2b1qxZI+nWD4E0adJEW7du1fDhw/XWW29leoEAAACAI2Q4KO/Zs0c1atSQJC1atEgVKlTQxo0bNW/ePM2YMSOz6wMAAAAcIsNBOTEx0dY/edWqVWrTpo0kqUyZMna/agcAAAA8yDIclMuXL68vvvhC69ev18qVK21Dwp0+fVr58+fP9AIBAAAAR8hwUH7vvff05ZdfqkGDBuratasqVaokSVq6dKmtSwYAAADwoEv38HApGjRooPPnzys+Pl7e3t626f369VPu3LkztTgAAADAUTJ8RnnUqFE6deqUXUiWbo2v7Ofnl2mFAQAAAI6U4aC8bNkylShRQo0bN9a8efN0/fr1rKgLAAAAcKgMB+UdO3Zo586dqlixogYNGqTAwED997//1bZt27KiPgAAAMAhMhyUJalixYqaNGmS/vnnH02bNk3//POP6tatqwoVKuijjz5SXFxcZtcJAAAAZKv7CsopkpOTdePGDSUkJMgwDPn4+Ojzzz9XoUKFtHDhwsyqEQAAAMh29xWUd+zYoZdeekmBgYEaNGiQqlSpov3792vdunU6cOCARo4cqQEDBmR2rQAAAEC2yXBQrlixomrVqqVjx45p6tSpOnnypMaNG6eSJUva2vTo0UPnzp3L1EIBAACA7JThcZSffvpp9enTRwULFrxrmwIFCig5OflfFQYAAAA4UobPKHfp0uWeIRkAAAB4GGT4jHJwcLACAwNVv3591a9fXw0aNFBwcHBW1AYAAAA4TIbPKEdFRemDDz6Ql5eXJk2apLJlyyowMFBdunTRF198kRU1AgAAANkuw0HZ399fXbt21RdffKEDBw7or7/+UrNmzfTdd9/pxRdfzIoaAQAAgGyX4a4Xly9f1oYNG7R27VqtW7dOkZGRKlu2rPr376/69etnRY0AAABAtstwUPb29paPj4/CwsL0v//9T48//risVmtW1AYAAAA4TIaDcsuWLbVhwwbNnj1bJ0+e1IkTJ9SgQQOVLVs2K+oDAAAAHCLDfZSXLFmi8+fPa+XKlXr88cf166+/qkGDBgoICFCXLl2yokYAAAAg22X4jHKKihUrKikpSYmJiUpISFBERIQWL16cmbUBAAAADpPhM8qTJk1S27Zt5ePjoxo1amj+/PkKDg7W999/r/Pnz2dFjQAAAEC2y/AZ5blz56pBgwYKDw9XvXr15OXllRV1AQAAAA6V4aC8ffv2rKgDAAAAyFEy3PUCAAAAeBQQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEzc1w+OfPvtt1q0aJFOnDihGzdu2M3buXNnphQGAAAAOFKGzyh//PHH6t27t/z8/PTHH3+oRo0ayp8/v44ePaoWLVpkRY0AAABAtstwUJ48ebK++uorffrpp3J1ddWrr76qlStXasCAAYqLi8uKGgEAAIBsl+GgfOLECdWpU0eS5OHhoUuXLkmSwsLCNH/+/MytDgAAAHCQDAflgIAAXbhwQZJUpEgRbd68WZJ07NgxGYaRudUBAAAADpLhoNyoUSMtW7ZMktS3b18NGjRITZs2VefOndW+fftMLxAAAABwhAyPevHVV18pOTlZkvT888/Lx8dHGzZsUOvWrfX8889neoEAAACAI2Q4KOfKlUu5cv3fiehOnTqpU6dOmVoUAAAA4Gj3NY5yTEyMpk6dqv3798tisahs2bLq3bu3fHx8Mrs+AAAAwCEy3Ed53bp1KlasmD7++GPFxMTo4sWL+vjjj1WsWDGtW7cuK2oEAAAAsl2Gzyi/+OKL6tSpkz7//HM5OTlJkpKSkvTCCy/oxRdf1J49ezK9SAAAACC7ZfiM8pEjRzRkyBBbSJYkJycnDR48WEeOHMnU4gAAAABHyXBQrlq1qvbv359q+v79+1W5cuXMqAkAAABwuHR1vdi9e7ft7wEDBujll1/W4cOHVatWLUnS5s2b9dlnn2ncuHFZUyUAAACQzdIVlCtXriyLxWL3y3uvvvpqqnbdunVT586dM686AAAAwEHSFZSPHTuW1XUAAAAAOUq6gnKRIkWyug4AAAAgR8nwxXxOTk5q2LChLl68aDf9zJkzdiNhAAAAAA+yDAdlwzCUkJCg6tWrpxoz+fY+zJmlaNGislgsqW4vvviiJKlXr16p5qVcZJgiISFB/fv3l6+vrzw9PdWmTRudOnXKrk1MTIzCwsJktVpltVoVFham2NjYTN8eAAAAPBgyHJQtFou+++47tW7dWnXq1NEPP/xgNy+zbdu2TVFRUbbbypUrJUlPP/20rU3z5s3t2vz000926xg4cKC+//57LViwQBs2bNDly5fVqlUrJSUl2dp069ZNkZGRioiIUEREhCIjIxUWFpbp2wMAAIAHQ4Z/mc8wDDk5Oemjjz5S+fLl1blzZ/3vf//Ts88+mxX1qUCBAnb3x40bpxIlSqh+/fq2aW5ubgoICDBdPi4uTlOnTtXs2bPVpEkTSdKcOXNUqFAhrVq1Ss2aNdP+/fsVERGhzZs3q2bNmpKkKVOmqHbt2jp48KCCg4OzZNsAAACQc2X4jPLt+vXrp4iICH344YfZcvb1xo0bmjNnjvr06WN39nrt2rXy8/NT6dKlFR4errNnz9rm7dixQ4mJiQoNDbVNCwoKUkhIiDZu3ChJ2rRpk6xWqy0kS1KtWrVktVptbcwkJCQoPj7e7gYAAICHQ4aDcpEiRewu2mvQoIE2b96cqs9vVliyZIliY2PVq1cv27QWLVpo7ty5Wr16tSZMmKBt27apUaNGSkhIkCRFR0fL1dVV3t7eduvy9/dXdHS0rY2fn1+qx/Pz87O1MTN27Fhbn2ar1apChQplwlYCAAAgJ8hw1wuzMZVLliypP/74Q2fOnMmUou5m6tSpatGihYKCgmzTbv+Bk5CQEFWvXl1FihTR8uXL1aFDh7uuyzAMu7PSZv2r72xzp2HDhmnw4MG2+/Hx8YRlAACAh0SGzyhv27ZNW7ZsSTV9165dOnfuXKYUZebvv//WqlWr0uwLHRgYqCJFiujQoUOSpICAAN24cUMxMTF27c6ePSt/f39bG7OQf+7cOVsbM25ubvLy8rK7AQAA4OGQ4aD84osv6uTJk6mm//PPP7Yh27LC9OnT5efnp5YtW96z3YULF3Ty5EkFBgZKkqpVqyYXFxfbaBmSFBUVpT179qhOnTqSpNq1aysuLk5bt261tdmyZYvi4uJsbQAAAPBoyXDXi3379qlq1aqpplepUkX79u3LlKLulJycrOnTp6tnz55ydv6/ki9fvqxRo0apY8eOCgwM1PHjxzV8+HD5+vqqffv2kiSr1aq+fftqyJAhyp8/v3x8fDR06FBVqFDBNgpG2bJl1bx5c4WHh+vLL7+UdOtCxVatWjHiBQAAwCMqw2eU3dzcTLspREVF2YXYzLRq1SqdOHFCffr0sZvu5OSkP//8U23btlXp0qXVs2dPlS5dWps2bVLevHlt7SZNmqR27dqpU6dOqlu3rnLnzq1ly5bZXZQ4d+5cVahQQaGhoQoNDVXFihU1e/bsLNkeAAAA5HwZTrZNmzbVsGHD9MMPP8hqtUqSYmNjNXz4cDVt2jTTC5Sk0NBQ01/98/Dw0C+//JLm8u7u7vrkk0/0ySef3LWNj4+P5syZ86/qBAAAwMMjw0F5woQJqlevnooUKaIqVapIkiIjI+Xv788ZWAAAADw0MhyUCxYsqN27d2vu3LnatWuXPDw81Lt3b3Xt2lUuLi5ZUSMAAACQ7e6rU7Gnp6f69euX2bUAAAAAOUa6gvLSpUvVokULubi4aOnSpfds26ZNm0wpDAAAAHCkdAXldu3a2X7muV27dndtZ7FYlJSUlFm1AQAAAA6TrqCcnJxs+jcAAADwsMrwOMp3c/LkyVTjHAMAAAAPqkwLyhcvXtTMmTMza3UAAACAQ2VaUAYAAAAeJgRlAAAAwARBGQAAADCR7h8c6dChwz3nx8bG/ttaAAAAgBwj3UHZarWmOb9Hjx7/uiAAAAAgJ0h3UJ4+fXpW1gEAAADkKPRRBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADARI4PyqNGjZLFYrG7BQQE2OYbhqFRo0YpKChIHh4eatCggfbu3Wu3joSEBPXv31++vr7y9PRUmzZtdOrUKbs2MTExCgsLk9VqldVqVVhYmGJjY7NjEwEAAJAD5figLEnly5dXVFSU7fbnn3/a5o0fP14TJ07Up59+qm3btikgIEBNmzbVpUuXbG0GDhyo77//XgsWLNCGDRt0+fJltWrVSklJSbY23bp1U2RkpCIiIhQREaHIyEiFhYVl63YCAAAg53B2dAHp4ezsbHcWOYVhGPrwww/1xhtvqEOHDpKkmTNnyt/fX/PmzdNzzz2nuLg4TZ06VbNnz1aTJk0kSXPmzFGhQoW0atUqNWvWTPv371dERIQ2b96smjVrSpKmTJmi2rVr6+DBgwoODs6+jQUAAECO8ECcUT506JCCgoJUrFgxdenSRUePHpUkHTt2TNHR0QoNDbW1dXNzU/369bVx40ZJ0o4dO5SYmGjXJigoSCEhIbY2mzZtktVqtYVkSapVq5asVqutjZmEhATFx8fb3QAAAPBwyPFBuWbNmpo1a5Z++eUXTZkyRdHR0apTp44uXLig6OhoSZK/v7/dMv7+/rZ50dHRcnV1lbe39z3b+Pn5pXpsPz8/WxszY8eOtfVptlqtKlSo0L/aVgAAAOQcOT4ot2jRQh07dlSFChXUpEkTLV++XNKtLhYpLBaL3TKGYaSadqc725i1T2s9w4YNU1xcnO128uTJdG0TAAAAcr4cH5Tv5OnpqQoVKujQoUO2fst3nvU9e/as7SxzQECAbty4oZiYmHu2OXPmTKrHOnfuXKqz1bdzc3OTl5eX3Q0AAAAPhwcuKCckJGj//v0KDAxUsWLFFBAQoJUrV9rm37hxQ+vWrVOdOnUkSdWqVZOLi4tdm6ioKO3Zs8fWpnbt2oqLi9PWrVttbbZs2aK4uDhbGwAAADxacvyoF0OHDlXr1q1VuHBhnT17Vu+8847i4+PVs2dPWSwWDRw4UGPGjFGpUqVUqlQpjRkzRrlz51a3bt0kSVarVX379tWQIUOUP39++fj4aOjQobauHJJUtmxZNW/eXOHh4fryyy8lSf369VOrVq0Y8QIAAOARleOD8qlTp9S1a1edP39eBQoUUK1atbR582YVKVJEkvTqq6/q2rVreuGFFxQTE6OaNWtqxYoVyps3r20dkyZNkrOzszp16qRr166pcePGmjFjhpycnGxt5s6dqwEDBthGx2jTpo0+/fTT7N1YAAAA5BgWwzAMRxfxsIiPj5fValVcXJxD+isXfX15tj9mTnB8XEtHl+AQ7O9HC/sbADJHRvLaA9dHGQAAAMgOBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEwQlAEAAAATBGUAAADABEEZAAAAMEFQBgAAAEw4O7oAAABgr+jryx1dgkMcH9fS0SUAdjijDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACACYIyAAAAYIKgDAAAAJggKAMAAAAmCMoAAACAiRwflMeOHav//Oc/yps3r/z8/NSuXTsdPHjQrk2vXr1ksVjsbrVq1bJrk5CQoP79+8vX11eenp5q06aNTp06ZdcmJiZGYWFhslqtslqtCgsLU2xsbFZvIgAAAHKgHB+U161bpxdffFGbN2/WypUrdfPmTYWGhurKlSt27Zo3b66oqCjb7aeffrKbP3DgQH3//fdasGCBNmzYoMuXL6tVq1ZKSkqytenWrZsiIyMVERGhiIgIRUZGKiwsLFu2EwAAADmLs6MLSEtERITd/enTp8vPz087duxQvXr1bNPd3NwUEBBguo64uDhNnTpVs2fPVpMmTSRJc+bMUaFChbRq1So1a9ZM+/fvV0REhDZv3qyaNWtKkqZMmaLatWvr4MGDCg4OzqItBAAAQE6U488o3ykuLk6S5OPjYzd97dq18vPzU+nSpRUeHq6zZ8/a5u3YsUOJiYkKDQ21TQsKClJISIg2btwoSdq0aZOsVqstJEtSrVq1ZLVabW3ulJCQoPj4eLsbAAAAHg4PVFA2DEODBw/W448/rpCQENv0Fi1aaO7cuVq9erUmTJigbdu2qVGjRkpISJAkRUdHy9XVVd7e3nbr8/f3V3R0tK2Nn59fqsf08/OztbnT2LFjbf2ZrVarChUqlFmbCgAAAAfL8V0vbvfSSy9p9+7d2rBhg930zp072/4OCQlR9erVVaRIES1fvlwdOnS46/oMw5DFYrHdv/3vu7W53bBhwzR48GDb/fj4eMIyAADAQ+KBOaPcv39/LV26VGvWrNFjjz12z7aBgYEqUqSIDh06JEkKCAjQjRs3FBMTY9fu7Nmz8vf3t7U5c+ZMqnWdO3fO1uZObm5u8vLysrsBAADg4ZDjg7JhGHrppZe0ePFirV69WsWKFUtzmQsXLujkyZMKDAyUJFWrVk0uLi5auXKlrU1UVJT27NmjOnXqSJJq166tuLg4bd261dZmy5YtiouLs7UBAADAoyPHd7148cUXNW/ePP3www/Kmzevrb+w1WqVh4eHLl++rFGjRqljx44KDAzU8ePHNXz4cPn6+qp9+/a2tn379tWQIUOUP39++fj4aOjQoapQoYJtFIyyZcuqefPmCg8P15dffilJ6tevn1q1asWIFwAAAI+gHB+UP//8c0lSgwYN7KZPnz5dvXr1kpOTk/7880/NmjVLsbGxCgwMVMOGDbVw4ULlzZvX1n7SpElydnZWp06ddO3aNTVu3FgzZsyQk5OTrc3cuXM1YMAA2+gYbdq00aeffpr1GwkAAIAcJ8cHZcMw7jnfw8NDv/zyS5rrcXd31yeffKJPPvnkrm18fHw0Z86cDNcIAACAh0+O76MMAAAAOAJBGQAAADBBUAYAAABMEJQBAAAAEwRlAAAAwARBGQAAADBBUAYAAABMEJQBAAAAEwRlAAAAwARBGQAAADBBUAYAAABMEJQBAAAAEwRlAAAAwARBGQAAADBBUAYAAABMEJQBAAAAEwRlAAAAwARBGQAAADBBUAYAAABMEJQBAAAAEwRlAAAAwARBGQAAADBBUAYAAABMEJQBAAAAEwRlAAAAwISzowsAAAB4lBV9fbmjS3CI4+NaOrqENHFGGQAAADBBUAYAAABMEJQBAAAAEwRlAAAAwARBGQAAADBBUAYAAABMEJQBAAAAEwRlAAAAwARBGQAAADBBUAYAAABMEJQBAAAAEwRlAAAAwARBGQAAADBBUAYAAABMEJQBAAAAEwRlAAAAwARBGQAAADBBUAYAAABMEJQBAAAAEwRlAAAAwARBGQAAADBBUAYAAABMEJQBAAAAEwRlAAAAwARBGQAAADBBUAYAAABMEJQBAAAAEwTlO0yePFnFihWTu7u7qlWrpvXr1zu6JAAAADgAQfk2Cxcu1MCBA/XGG2/ojz/+0BNPPKEWLVroxIkTji4NAAAA2YygfJuJEyeqb9++evbZZ1W2bFl9+OGHKlSokD7//HNHlwYAAIBs5uzoAnKKGzduaMeOHXr99dftpoeGhmrjxo2myyQkJCghIcF2Py4uTpIUHx+fdYXeQ3LCVYc8rqM56vl2NPb3o4X9/Whhfz9a2N+OeVzDMNJsS1D+/86fP6+kpCT5+/vbTff391d0dLTpMmPHjtXo0aNTTS9UqFCW1Ahz1g8dXQGyE/v70cL+frSwvx8tjt7fly5dktVqvWcbgvIdLBaL3X3DMFJNSzFs2DANHjzYdj85OVkXL15U/vz577rMwyg+Pl6FChXSyZMn5eXl5ehykMXY348W9vejhf39aHlU97dhGLp06ZKCgoLSbEtQ/v98fX3l5OSU6uzx2bNnU51lTuHm5iY3Nze7afny5cuqEnM8Ly+vR+qN9qhjfz9a2N+PFvb3o+VR3N9pnUlOwcV8/5+rq6uqVaumlStX2k1fuXKl6tSp46CqAAAA4CicUb7N4MGDFRYWpurVq6t27dr66quvdOLECT3//POOLg0AAADZjKB8m86dO+vChQt66623FBUVpZCQEP30008qUqSIo0vL0dzc3DRy5MhU3VDwcGJ/P1rY348W9vejhf2dNouRnrExAAAAgEcMfZQBAAAAEwRlAAAAwARBGQAAADBBUAYAAABMEJQBAAAeAUlJSVq3bp1iYmIcXcoDg1EvAOARN3jw4HS3nThxYhZWAiCrubu7a//+/SpWrJijS3kgMI4yADzi/vjjD7v7O3bsUFJSkoKDgyVJf/31l5ycnFStWjVHlIcs8PHHH6e77YABA7KwEmS3ChUq6OjRowTldOKMMtKNA+uj7fr169q9e7fOnj2r5ORku3lt2rRxUFXIbBMnTtTatWs1c+ZMeXt7S5JiYmLUu3dvPfHEExoyZIiDK0RmuDMknTt3TlevXlW+fPkkSbGxscqdO7f8/Px09OhRB1SIrLJixQq99tprevvtt1WtWjV5enrazffy8nJQZTkTQRnplt7/Pi0WCwfWh0xERIR69Oih8+fPp5pnsViUlJTkgKqQFQoWLKgVK1aofPnydtP37Nmj0NBQnT592kGVIavMmzdPkydP1tSpU23fIhw8eFDh4eF67rnn1L17dwdXiMyUK9f/XZ5msVhsfxuGwfHcBEEZQJpKliypZs2aacSIEfL393d0OchCefPm1Q8//KBGjRrZTV+9erXatm2rS5cuOagyZJUSJUro22+/VZUqVeym79ixQ0899ZSOHTvmoMqQFdatW3fP+fXr18+mSh4M9FEGkKazZ89q8ODBhORHQPv27dW7d29NmDBBtWrVkiRt3rxZr7zyijp06ODg6pAVoqKilJiYmGp6UlKSzpw544CKkJUIwhnDGWXct1OnTmnp0qU6ceKEbty4YTePK+MfLn369FHdunXVt29fR5eCLHb16lUNHTpU06ZNs4UnZ2dn9e3bV++//36q/ox48LVu3VonTpzQ1KlTVa1aNVksFm3fvl3h4eEqVKiQli5d6ugS8S/t3r1bISEhypUrl3bv3n3PthUrVsymqh4MBGXcl19//VVt2rRRsWLFdPDgQYWEhOj48eMyDENVq1bV6tWrHV0iMtHVq1f19NNPq0CBAqpQoYJcXFzs5nPx5sPnypUrOnLkiAzDUMmSJQnID7Fz586pZ8+eioiIsL23b968qWbNmmnGjBny8/NzcIX4t3LlyqXo6Gj5+fkpV65cslgsMot/9FFOjaCM+1KjRg01b95cb731lvLmzatdu3bJz89P3bt3V/PmzfXf//7X0SUiE3399dd6/vnn5eHhofz589tdAMLFmw+vU6dOyWKxqGDBgo4uBdngr7/+0v79+yVJZcuWVenSpR1cETLL33//rcKFC8tisejvv/++Z9siRYpkU1UPBoIy7kvevHkVGRmpEiVKyNvbWxs2bFD58uW1a9cutW3bVsePH3d0ichEAQEBGjBggF5//XW7K6bx8ElOTtY777yjCRMm6PLly5Juvd+HDBmiN954g/3/kEuJBLf/Mww8yriYD/fF09NTCQkJkqSgoCAdOXLENpyU2RBieLDduHFDnTt3JiQ9At544w1NnTpV48aNU926dWUYhn7//XeNGjVK169f17vvvuvoEpEFZs2apffff1+HDh2SJJUuXVqvvPKKwsLCHFwZssq+fftMrzFiXHx7BGXcl1q1aun3339XuXLl1LJlSw0ZMkR//vmnFi9ebLtSHg+Pnj17auHChRo+fLijS0EWmzlzpr7++mu7D8tKlSqpYMGCeuGFFwjKD6GJEyfqzTff1EsvvWT3z9Hzzz+v8+fPa9CgQY4uEZno6NGjat++vf7880+7vsop3yLQR9keXS9wX44eParLly+rYsWKtqvkN2zYoJIlS2rSpEn0cXrIDBgwQLNmzVKlSpVUsWLFVBfzMcrJw8Pd3V27d+9O1T/14MGDqly5sq5du+agypBVihUrptGjR6tHjx5202fOnKlRo0YxjvJDpnXr1nJyctKUKVNUvHhxbd26VRcu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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "plt.figure(figsize=(8, 6))\n", "diamonds_train['cut'].value_counts().plot(kind='bar')\n", "plt.title('Rozkład częstości dla szlifów diamentów dla zbioru diamonds tranującego')\n", "plt.xlabel('Szlif')\n", "plt.ylabel('Liczba wystąpień')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 18, "id": "ab567b6f", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsEAAAJaCAYAAADOEJr0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABjRElEQVR4nO3deXxMZ///8ffILpJIQjZLEGopsd5iae1r7dXaKrY0tFpuSrXab4suqLbo3d6qVbUVpa0qpW7RlJvatapatLaixJ7YI5Lr94df5jYSJO3E4Lyej8c8HplzrpnzmXPOnHnPyXWusRljjAAAAAALyefqAgAAAIDbjRAMAAAAyyEEAwAAwHIIwQAAALAcQjAAAAAshxAMAAAAyyEEAwAAwHIIwQAAALAcQjAAAAAshxAMONEnn3wiHx8frV692tWlWMK//vUv+fv7a+vWra4uxdIWLVokT09P/ec//3F1KQCQY4RgJ5s+fbpsNpv95u7urvDwcHXp0kW///57ni23V69eKlCgwC3bNWjQQA0aNHDqskuUKKFevXo59TlvhwsXLmjkyJFauXKlU55vx44d6t+/v2bNmqUHH3wwV4/N3G/279//l5Y9cuRI2Ww2h2l36nax2WwaOXKk/f7KlStls9mybId3331XpUuXlqenp2w2m5KTkx3mb9y4US+88IK++OILValSJc/rvt7176X9+/fLZrNp+vTpt72WvHD48GGNHDnyll8w9u3bp169eunDDz9U8+bNb09x1+jVq5dKlCjhMO36fex2sNlsevrpp2/Z7kb7+53q+uPI3Vb/X5XdMfWvGj16tBYuXOiU57qRX3/9VSNHjvzLnyFWRQjOI9OmTdO6deu0YsUKPf3001q0aJEeeOABnT592tWl4f+7cOGCRo0a5ZSD+YULF/Too4/q9ddf1yOPPJLrx7dq1Urr1q1TeHj4367lblOtWjWtW7dO1apVs0/bunWrBg4cqIYNGyoxMVHr1q2Tn5+fff6pU6fUuXNnTZo0SU2bNnVF2VmEh4dr3bp1atWqlatLcYrDhw9r1KhRNw3Bly9fVqdOnTR48OA78gvXnSi7/f1ucrfX7wq3KwSPGjWKEJxL7q4u4F5VsWJF1ahRQ9LVM0bp6ekaMWKEFi5cqN69e7u4Ojhb/vz5tX379r/8+MKFC6tw4cJOrOju4e/vr1q1ajlM++WXXyRJ8fHxqlmzZpbHBAUFad++fbelvpzy8vLK8jrudZ6entq0aZOry7irZLe//x0XLlxQ/vz5nfZ8t+Ls+gFX4kzwbZIZiI8ePeowfdGiRapdu7by588vPz8/NW3aVOvWrXNoc233iutvN/vW9/3336tQoUJq3bq1zp8/f8N2o0aNUkxMjIKCguTv769q1app6tSpMsY4tEtLS9OwYcMUFham/Pnz64EHHtDGjRtzvA5SU1P1yiuvqHz58vL29lZwcLAaNmyotWvXSvrfv5+yu117luny5ct67bXXVK5cOXl5ealw4cLq3bu3jh8/7rC8xMRENWjQQMHBwfLx8VHx4sXVsWNHXbhwQfv377eHzlGjRmW7nDVr1qhx48by8/NT/vz5VadOHS1ZssRhGRcuXNDQoUNVsmRJeXt7KygoSDVq1NDcuXMd2m3YsEFt2rRRcHCwvL29FRUVpUGDBtnn56Y7xJIlS1SlShV5eXmpZMmSeuutt3Kw9qVLly5pyJAhqlKligICAhQUFKTatWvrq6++ytHjf/zxR7Vu3VohISHy8vJSRESEWrVqpUOHDknK+fa73vX/Xm3QoIG6d+8uSYqJicny+I8//liVK1e2r+8OHTpox44dDuvHZrM5hLMvvvhCNpsty1na6OhodezY8aav2xijcePGKTIyUt7e3qpWrZq++eabLO2y6w6xe/du9e7dW2XKlFH+/PlVpEgRtWnTRj///HO262DOnDl67rnnFB4ergIFCqhNmzY6evSozp49q759+6pQoUIqVKiQevfurXPnzmWpc9KkSapSpYp8fHwUGBioRx55RHv37nVo16BBA1WsWFGbNm3Sgw8+qPz586tUqVIaO3asMjIy7PX84x//kCT17t3bvh2v7WJwq2PXL7/8IpvNps8++8w+bcuWLbLZbLr//vsdamrbtq2qV69+0+0gXX2flC1bVl5eXipfvrxmzpx5y8dI0vHjx9W/f39VqFBBBQoUUEhIiBo1apSjvvvXd3G79pZd17IPPvhA9913n7y8vFShQgV9+umnDvNv1J0gJ58Fme+xH374QY888ogCAwMVFRUl6cZd3bLrLpKdnB7fs6t/8+bN6tKli0qUKCEfHx+VKFFCXbt21R9//OHw2Mx1mZiYqPj4eAUHB8vf3189evTQ+fPnlZSUpE6dOqlgwYIKDw/X0KFDlZaW5vAcp06dUv/+/VWkSBF5enqqVKlSevHFF5WamurQLrN7yqxZs1S+fHnlz59flStX1tdff53lNeX0mPrZZ58pJiZGAQEB9vdNnz59brpebTabzp8/rxkzZmS73yQlJalfv34qWrSoPD09VbJkSY0aNUpXrlxxeJ73339flStXVoECBeTn56dy5crphRdesK/XRx99VJLUsGFD+3KuPRbl5XEzp8ceY4xGjx5tP5bWqFFDCQkJ2e67Bw4cUPfu3e2fN+XLl9fbb79tP0Y5jYFTTZs2zUgymzZtcpj+3nvvGUnmiy++sE+bPXu2kWSaNWtmFi5caObNm2eqV69uPD09zerVq+3t1q1b53BLTEw0RYoUMWFhYSYlJcUYY0zPnj2Nr6+v/THz5s0zXl5e5sknnzRXrlyxT69fv76JiooyVapUMb/99psxxphevXqZqVOnmoSEBJOQkGBeffVV4+PjY0aNGuXwGnr27GlsNpt59tlnzfLly8348eNNkSJFjL+/v+nZs+dN10taWppp2LChcXd3N0OHDjVLly41ixYtMi+88IKZO3euMcaYgwcPZnmtzz77rJFkxo0bZ4wxJj093bRo0cL4+vqaUaNGmYSEBPPRRx+ZIkWKmAoVKpgLFy4YY4zZt2+f8fb2Nk2bNjULFy40K1euNLNnzzaxsbHm9OnT5tKlS2bZsmVGkomLi7Mvb/fu3cYYY1auXGk8PDxM9erVzbx588zChQtNs2bNjM1mM59++qn9dfXr18/kz5/fjB8/3nz33Xfm66+/NmPHjjXvvvuuvc2yZcuMh4eHiY6ONtOnTzeJiYnm448/Nl26dMmy3+zbt++m63HFihXGzc3NPPDAA2bBggXms88+M//4xz9M8eLFzfVv58jISIftkpycbHr16mVmzZplEhMTzbJly8zQoUNNvnz5zIwZM2663HPnzpng4GBTo0YNM3/+fLNq1Sozb94888QTT5hff/01x9vPGGMkmREjRtjvf/fdd0aS+e6774wxxvzyyy/m//7v/4wkM23aNIftMnr0aCPJdO3a1SxZssTMnDnTlCpVygQEBNj357NnzxoPDw8zevRo+zKeeOIJ4+PjY3x9fc3ly5eNMcYcPXrU2Gw2M2nSpJu+9hEjRtj3k2+++cZ8+OGH9vdf/fr17e327dtnrznTqlWrzJAhQ8znn39uVq1aZb788kvTvn174+PjY3bu3JllHURGRppevXqZZcuWmcmTJ5sCBQqYhg0bmqZNm5qhQ4ea5cuXmzfeeMO4ubmZAQMGONQZHx9vPDw8zJAhQ8yyZcvMnDlzTLly5UxoaKhJSkqyt6tfv74JDg42ZcqUMZMnTzYJCQmmf//+RpJ9P0hJSbHvk//3f/9n354HDx40xuT82BUeHm769u1rvz927Fjj4+NjJJk///zTGHP12ODv72+GDRt20+2QWU+7du3M4sWLzSeffGJKly5tihUrZiIjIx3aXr+P7dy50zz55JPm008/NStXrjRff/21iYuLM/ny5bPvdzdy7NixLPv1+PHjjSTTv39/h2UWK1bMVKhQwcydO9csWrTItGjRwkgyn332mb3d9ft7btZn5r4YGRlpnnvuOZOQkGAWLlxojLm6Xa/dHzP17Nkzy/rJTk6P79nV/9lnn5mXX37ZfPnll2bVqlXm008/NfXr1zeFCxc2x48ft7fL3IYlS5Y0Q4YMcdifu3btaqpVq2Zee+01k5CQYJ577jkjybz99tv2x1+8eNFER0cbX19f89Zbb5nly5ebl156ybi7u5uHHnrI4fVIMiVKlDA1a9Y08+fPN0uXLjUNGjQw7u7uZs+ePfZ2OT2mrl271thsNtOlSxezdOlSk5iYaKZNm2ZiY2Nvul7XrVtnfHx8zEMPPWTff3755RdjjDFHjhyx778ffPCBWbFihXn11VeNl5eX6dWrl/055s6daySZAQMGmOXLl5sVK1aYyZMnm4EDBxpjru6jmcfGf//73/blHDt2zBiT98fNnB57hg8fbiSZvn37mmXLlpkpU6aY4sWLm/DwcId999ixY6ZIkSKmcOHCZvLkyWbZsmXm6aefNpLMk08+edP1nVuEYCfLfJOvX7/epKWlmbNnz5ply5aZsLAwU69ePZOWlmaMuRrmIiIiTKVKlUx6err98WfPnjUhISGmTp062T7/lStXTLt27UyBAgXMli1b7NOvDcFjx441bm5u5o033nB47KVLl0x0dLTx9/c3s2bNyvb509PTTVpamnnllVdMcHCwycjIMMYYs2PHDiPJDB482KF95sH7ViF45syZRpKZMmXKTdtda/Xq1cbb29s89thj9joyDwbXfpkwxphNmzYZSfY35ueff24kma1bt97w+Y8fP57lwzJTrVq1TEhIiDl7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UFeXgzzi5+enr776So0aNXKYnpiYqHbt2uns2bMuqgx5JSoqSp9//rmqVq3qMH3Lli165JFHtG/fPhdVhrywatWqm86vX7/+bark7kCfYAA6duyYnnnmGQLwPa5Dhw7q3bu33n77bdWqVUuStH79ej377LN6+OGHXVwd8sKRI0eUlpaWZXp6erqOHj3qgoqQlwi5ucOZYNzQoUOHtGjRIh04cECXL192mMdV5PeWPn36qG7duoqLi3N1KchDFy5c0NChQ/Xxxx/bg5G7u7vi4uL05ptvZuk/iLtfmzZtdODAAU2dOlXVq1eXzWbT5s2bFR8fr2LFimnRokWuLhF/07Zt21SxYkXly5dP27Ztu2nb6Ojo21TV3YEQjGx9++23atu2rUqWLKldu3apYsWK2r9/v4wxqlatmhITE11dIpzowoULevTRR1W4cGFVqlRJHh4eDvO5EPLecv78ee3Zs0fGGJUuXZrwew87fvy4evbsqWXLltnf11euXFHz5s01ffp0hYSEuLhC/F358uVTUlKSQkJClC9fPtlsNmUX7egTnBUhGNmqWbOmWrRooVdeeUV+fn766aefFBISoscee0wtWrTQk08+6eoS4UQfffSRnnjiCfn4+Cg4ONjhggouhLw3HTp0SDabTUWKFHF1KbgNfvvtN+3YsUOSVL58ed13330urgjO8scff6h48eKy2Wz6448/bto2MjLyNlV1dyAEI1t+fn7aunWroqKiFBgYqDVr1uj+++/XTz/9pHbt2mn//v2uLhFOFBYWpoEDB+r55593uLoY95aMjAy99tprevvtt3Xu3DlJV9/rQ4YM0Ysvvsi2v8dlftxf+yUXsDIujEO2fH19lZqaKkmKiIjQnj177MMqZTeMFu5uly9fVufOnQlB97gXX3xRU6dO1dixY1W3bl0ZY/T9999r5MiRunTpkl5//XVXl4g8MHPmTL355pv6/fffJUn33Xefnn32WcXGxrq4MuSVX3/9NdvreRjz3REhGNmqVauWvv/+e1WoUEGtWrXSkCFD9PPPP2vBggX2q8px7+jZs6fmzZunF154wdWlIA/NmDFDH330kcMHYeXKlVWkSBH179+fEHwPGj9+vF566SU9/fTTDl98nnjiCZ04cUKDBw92dYlwor1796pDhw76+eefHfoGZ579p0+wI7pDIFt79+7VuXPnFB0dbb+ifM2aNSpdurQmTJhAv6J7zMCBAzVz5kxVrlxZ0dHRWS6MYzSQe4O3t7e2bduWpT/orl27VKVKFV28eNFFlSGvlCxZUqNGjVKPHj0cps+YMUMjR45knOB7TJs2beTm5qYpU6aoVKlS2rhxo06ePKkhQ4borbfe0oMPPujqEu8ohGAAatiw4Q3n2Ww2RgO5R8TExCgmJibLT6QPGDBAmzZt0vr1611UGfKKt7e3tm/frtKlSztM//3331WpUiVdunTJRZUhLxQqVEiJiYmKjo5WQECANm7cqLJlyyoxMVFDhgzRjz/+6OoS7yh0h8ANJScn6/PPP9eePXv07LPPKigoSD/88INCQ0O5ovwe891337m6BNwG48aNU6tWrbRixQrVrl1bNptNa9eu1cGDB7V06VJXl4c8ULp0ac2fPz9LV6d58+apTJkyLqoKeSU9PV0FChSQdDUQHz58WGXLllVkZKR27drl4uruPIRgZGvbtm1q0qSJAgICtH//fsXHxysoKEhffvml/vjjD82cOdPVJQLIpfr16+u3337Tv//9b+3cuVPGGD388MPq37+/IiIiXF0e8sCoUaPUuXNn/fe//1XdunVls9m0Zs0affvtt5o/f76ry4OTVaxYUdu2bVOpUqUUExOjcePGydPTUx9++KFKlSrl6vLuOHSHQLaaNGmiatWqady4cfZxgkuVKqW1a9eqW7duDJF2j2nYsOFNh02iOwRw99qyZYsmTJigHTt2yBijChUqaMiQIapataqrS4MTXPuLcf/5z3904cIFdejQQXv37lXr1q21c+dOBQcHa968eWrUqJGry72jEIKRrYCAAP3www+KiopyCMF//PGHypYtSz+ye8z1V4inpaVp69at2r59u3r27Kl33nnHRZXB2ZKTkzV16lTt2LFDNptNFSpUUJ8+fRQQEODq0gD8BW5ubjpy5IhCQkJUqlQpbdq0ScHBwfb5p06dUmBgIONDZ4PuEMiWt7e3zpw5k2X6rl27VLhwYRdUhLw0YcKEbKePHDnS/qMKuPtt3rxZzZs3l4+Pj2rWrCljjMaPH6/XX39dy5cvV7Vq1VxdIvJAenq6Fi5c6PDFp23btnJzc3N1aXCCggULat++fQoJCdH+/fuVkZHhMD8oKMhFld35OBOMbPXt21fHjx/X/PnzFRQUpG3btsnNzU3t27dXvXr1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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "plt.figure(figsize=(8, 6))\n", "diamonds_test['cut'].value_counts().plot(kind='bar')\n", "plt.title('Rozkład częstości dla szlifów diamentów dla zbioru diamonds testowego')\n", "plt.xlabel('Szlif')\n", "plt.ylabel('Liczba wystąpień')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 19, "id": "18e61963", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAskAAAJaCAYAAADdx9oAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABwiElEQVR4nO3deXxMZ///8ffILiQE2TSCWErt3La2xL7vra2139GWctu60FvRBdWW9tZbV7UrXVS1NBW13NROUS1qLVqxJ/aI5Pr94ZfzNSdBUolJeD0fj3k8Mudcc+Zz5pw5856T61zjMMYYAQAAALDkcnUBAAAAQHZDSAYAAABsCMkAAACADSEZAAAAsCEkAwAAADaEZAAAAMCGkAwAAADYEJIBAAAAG0IyAAAAYENIBm4we/Zs+fj4aPXq1a4u5b7wn//8R35+ftq2bZurS7mvLVq0SJ6envrhhx9cXQoAZBuEZJvp06fL4XBYN3d3d4WEhKhz587au3dvlj1vz549lSdPntu2i4yMVGRkZKY+d9GiRdWzZ89MXebdcOnSJY0ePVorV67MlOXt2rVL/fr106xZs/Too49m6LEp+82hQ4f+1nOPHj1aDofDaVp23S4Oh0OjR4+27q9cuVIOhyPVdpg8ebJKlCghT09PORwOxcXFOc3fuHGjRowYoa+++kqVKlXK8rrt7O+lQ4cOyeFwaPr06Xe9lqzw119/afTo0bf9AnLw4EH17NlTH330kZo0aXJ3irtBz549VbRoUadp9n3sbnA4HHr22Wdv2+5m+3t2ZT+O5LT6/660jqnZVXqPqWlJ6/3jClmRTbIDd1cXkF1NmzZNDz74oK5cuaKffvpJr7/+ulasWKHdu3crf/78ri4Puh6Sx4wZI0l3/Oa8dOmSHn/8cb3++ut67LHHMvz4Fi1aaN26dQoJCbmjOnKiKlWqaN26dSpbtqw1bdu2bRo4cKD++c9/qkePHnJ3d1fevHmt+WfOnFGnTp00ZcoUNWrUyBVlpxISEqJ169YpIiLC1aVkir/++ktjxoxR0aJFb/ol5OrVq+rYsaMGDx6cLb+QZUdp7e85SU6v/36QE7fRlClTXF1CliAk30S5cuVUrVo1SdcDWFJSkkaNGqWFCxeqV69eLq4OmS137tzauXPn3358oUKFVKhQoUysKOfw8/NTzZo1nab9+uuvkqSoqChVr1491WMCAgJ08ODBu1Jfenl5eaVaj3udp6enNm3a5OoycpS09vc7cenSJeXOnTvTlnc7mV0/Ml9O3EY5KdBnBN0t0iklMB8/ftxp+qJFi1SrVi3lzp1befPmVaNGjbRu3TqnNjd237DfbvXv+Z9++kkFCxZUy5YtdfHixZu2GzNmjGrUqKGAgAD5+fmpSpUqmjp1qowxTu0SExP1/PPPKzg4WLlz59YjjzyijRs3pvs1SEhI0CuvvKIyZcrI29tbBQoUUL169bR27VpJ//fvrbRuN56lunr1ql577TU9+OCD8vLyUqFChdSrVy+dPHnS6fmWL1+uyMhIFShQQD4+PipSpIg6dOigS5cu6dChQ1YoHTNmTJrPs2bNGjVo0EB58+ZV7ty5Vbt2bS1evNjpOS5duqRhw4apWLFi8vb2VkBAgKpVq6bPPvvMqd2GDRvUqlUrFShQQN7e3oqIiNCgQYOs+RnpbrF48WJVqlRJXl5eKlasmN566610vPrSlStXNHToUFWqVEn+/v4KCAhQrVq19M0336Tr8T///LNatmypwMBAeXl5KTQ0VC1atNDRo0clpX/72dn/NRgZGaknn3xSklSjRo1Uj//0009VsWJF6/Vu166ddu3a5fT6OBwOp/D21VdfyeFwqEWLFk7PXaFCBXXo0OGW622M0YQJExQeHi5vb29VqVJF33//fap2aXW32Ldvn3r16qWSJUsqd+7cKly4sFq1aqVffvklzddg7ty5euGFFxQSEqI8efKoVatWOn78uM6fP6++ffuqYMGCKliwoHr16qULFy6kqnPKlCmqVKmSfHx8lD9/fj322GM6cOCAU7vIyEiVK1dOmzZt0qOPPqrcuXOrePHiGj9+vJKTk616/vGPf0iSevXqZW3HG/+le7tj16+//iqHw6EvvvjCmrZlyxY5HA499NBDTjW1bt1aVatWveV2kK6/T0qXLi0vLy+VKVNGM2fOvO1jJOnkyZPq16+fypYtqzx58igwMFD169dP17UD9i50N97S+g/Uhx9+qFKlSsnLy0tly5bVvHnznObf7F/h6fksSHmPbd26VY899pjy589v/efiZv+uTu+/09N7fE+r/s2bN6tz584qWrSofHx8VLRoUXXp0kV//PGH02NTXsvly5crKipKBQoUkJ+fn7p3766LFy8qNjZWHTt2VL58+RQSEqJh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y09KSjKJiYnmlVdeMQUKFDDJycnGGGN27dplJJnBgwc7tU85uN8uJM+cOdNIMh9//PEt291o9erVxtvb2zzxxBNWHZ999lmqLxvGGLNp0yYjyQo8X375pZFktm3bdtPlnzx5MtXBJUXNmjVNYGCgOX/+vDXt2rVrply5cuaBBx6w6ilXrpxp27btLdcjIiLCREREmMuXL9+0TXpDco0aNUxoaKjTss6dO2cCAgJuG5Ltrl27ZhITE02fPn1M5cqVb/m8mzdvNpKsD+T0SGv7GZOxA/qNXzbPnj1rfHx8Un0YHj582Hh5eZmuXbta0x555BFTv359636JEiXMc889Z3LlymVWrVpljPm/fTclXKfl7Nmzxtvb27Rr185p+k8//WQk3TYk2127ds1cvXrVlCxZ0um9lPIatGrVyqn9oEGDjCQzcOBAp+lt27Y1AQEB1v1169alChTGXP/i4uPj4xRA69ataySZDRs2OLUtW7asadKkiXU/5T1lX5+MHLuefPJJU7x4cet+w4YNTVRUlMmfP78VyFNey6VLl6b9ot3wnFWqVHHalw4dOmQ8PDxuG5LtUvb9Bg0apNq2t7N7925ToEABU69ePZOQkOD0nD4+Pk5fSK5du2YefPBBU6JECWuafX/PyOuZEpJffvnlVHXdSUjOyPE9rfer3bVr18yFCxeMr6+veffdd63pKe9r+xe8tm3bGklm4sSJTtMrVapkqlSpYt1PCZyff/65U7s33ngj1T4kyQQFBVmh0xhjYmNjTa5cucy4ceOsaek9pr711ltGklM4S499+/YZSWbmzJnGGGPWrFljJJnnn3/eFCtWzGrXqFGjm37uG3PrffZ2x9SMvn9udLNMcODAAePm5maeeOKJW65/jx49TGBgoNN75Y033jC5cuVy+ry7WUguX76804m+jRs3GknWyTVjjHnwwQdN5cqVrXyVomXLliYkJMR6Xz3++OPG19fXKeQmJSWZsmXLOn3+prwfbvwSbIwxGzZsMJLMiBEjbrnON6K7xU3UrFlTHh4eyps3r5o2bar8+fPrm2++kbv79W7ce/bs0V9//aVu3bopV67/exnz5MmjDh06aP369bp06VKq5T777LNavHixvvjiC1WpUsVpnjFGTz31lEaNGqW5c+fq+eeft+YdOXJEVatW1a+//qrKlStb/86WrndLaNiwofz9/eXm5iYPDw+9/PLLOn36tE6cOCFJWrFihSTpiSeecHrOjh07Wut0K99//728vb1v+6+pFLt27VLr1q1Vu3Ztffrpp9ZVxt99953y5cunVq1a6dq1a9atUqVKCg4Otv69VKlSJXl6eqpv376aMWNGqn8538rFixe1YcMGPfbYY04jhri5ualbt246evSo9uzZI0mqXr26vv/+e7344otauXKlLl++7LSs33//Xfv371efPn3k7e2d7hpuVtemTZvUvn17p2XlzZtXrVq1StcyvvjiCz388MPKkyeP3N3d5eHhoalTpzp1V0hLiRIllD9/fr3wwgv64IMP9Ntvv92y/c22351Yt26dLl++nKrrRlhYmOrXr68ff/zRmtagQQP99NNPunz5sv744w/t27dPnTt3VqVKlRQTEyNJWrZsmYoUKaKSJUve8jmvXLmSar+vXbu2wsPDb1vztWvXNHbsWJUtW1aenp5yd3eXp6en9u7dm+Zr3rJlS6f7ZcqUkaRU3UTKlCmjM2fOWF0uvvvuOzkcDj355JNO74vg4GBVrFgx1b9dg4ODU/X1rlChQqp/j6clI8euBg0a6MCBAzp48KCuXLmiNWvWqGnTpqpXr57TdvDy8tIjjzxy2+fs2rWr074UHh6u2rVr37ZmSfrggw9UpUoVeXt7W/v+jz/+eNt9/0axsbFq2rSpQkJC9PXXX8vT09NpfoMGDRQUFGTdd3NzU6dOnbRv376b/pv273wW3K6LUEbd6fH9woULeuGFF1SiRAm5u7vL3d1defLk0cWLF+94P79xn1y+fLl8fX1TXRydcky48RggSfXq1XO64DcoKEiBgYHWMjNyTE3pftSxY0d9/vnn+vPPP2/+gtwgIiJCRYsW1bJlyyRJMTExKl++vJ588kkdPHhQ+/fvV0JCgtasWaOGDRs6PTYz9lkp4++f9GSCmJgYJSUlqX///rd87n/96186ceKE1bUkOTlZ77//vlq0aJGubkAtWrSQm5ubdb9ChQqSZG3Dffv2affu3da+e+Pxr3nz5jp27Jj1eb1q1SrVr19fBQsWtJaXK1cudezY0ek5U94P9s+a6tWrq0yZMqn2s1shJN/EzJkztWnTJi1fvlxPPfWUdu3apS5duljzT58+LUlpjmYQGhqq5ORknT171mn6a6+9pg8++EAffvihmjZtmupxV69e1fz5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dU1wOBypAurixYvT/a/a9GrZsqWMMfrzzz/TfF+UL18+w8u82fsjI8cu6frZ5OXLlysmJsbaDqVKlVKRIkX08ssvKzEx8bZfVkqXLq2QkBB99tlnTs/5xx9/WKPj3Epa22HHjh2pRo+4mT59+mjlypVasGCB9e/etPz4449OH8JJSUmaP3++IiIibvp+yOjreTNFixbV77//7nScOX36dLpenzs5vjscDhljUr2+n3zyiZKSkm773BnRoEEDXbhwIVVgSxml4XbvZ7u/e0z18vJS3bp19cYbb0i6PvLP7ep2OBwaOXKkcuXKpTp16ki6/t5YsWKFYmJiVKdOHXl4eFiPudN99kYZef+kNxM0btxYbm5uqUJ8Wtq1a6ciRYpo6NChWrZsmfr165dpP9RSunRplSxZUtu3b0/z2FetWjXr5FndunW1fPlypy+OycnJTqOMSNe/vEhK9VmzadMm7dq1K0P7GWeS0yl//vwaPny4nn/+ec2dO1dPPvmkJkyYoCeeeEItW7bUU089pYSEBL355puKi4vT+PHjJV3/NavHH39cxYsXV69evVINfVK5cuVUb6QyZcpo9erVatiwoerUqaNly5bd9ADdokULTZw4UV27dlXfvn11+vRpvfXWW2ku88knn9Q777wjDw8PNWzYUDt37tRbb70lPz+/265/ly5dNG3aND399NPas2eP6tWrp+TkZG3YsEFlypRR586dNXjwYC1fvlxjx47VhQsXnNa1UKFCioiIUOfOnTVnzhw1b95c//rXv1S9enV5eHjo6NGjWrFihdq0aaN27drpgw8+0PLly9WiRQsVKVJEV65c0aeffirp//4FnDdvXoWHh+ubb75RgwYNFBAQoIIFC6po0aIaN26cGjVqpHr16mnYsGHy9PTUlClTtHPnTn322WfWG7xGjRpq2bKlKlSooPz582vXrl2aNWuW0wfbf//7X7Vq1Uo1a9bU4MGDVaRIER0+fFg//PBDqg+l23n11VfVtGlTNWrUSEOHDlVSUpLeeOMN+fr63vasTcuWLbVgwQL169dPjz32mI4cOaJXX31VISEht/01yO+++05TpkxR27ZtVbx4cRljtGDBAsXFxVnBJz3b707ky5dPI0eO1IgRI9S9e3d16dJFp0+f1pgxY+Tt7Z3qC2SDBg00dOhQSf+3zX18fFS7dm0tXbpUFSpUUGBg4C2fM3/+/Bo2bJhee+01/fOf/9Tjjz+uI0eOaPTo0en6N3/Lli01ffp0Pfjgg6pQoYK2bNmiN998M9O/QDz88MPq27evevXqpc2bN6tOnTry9fXVsWPHtGbNGpUvX17PPPNMhpYZEREhHx8fzZkzR2XKlFGePHkUGhqq0NDQdB27UjRo0EBTpkzRqVOnnP6T1aBBA02bNk358+e/7fBvuXLl0quvvqp//vOfateunaKiohQXF5eh7fDqq69q1KhRqlu3rvbs2aNXXnlFxYoVu20IfPPNNzVr1iwNGDBAvr6+Tvu1n5+f0/iuBQsWVP369TVy5Ej5+vpqypQp2r17d6ph4OzrlpHX82a6deumDz/8UE8++aSioqJ0+vRpTZgwIV3H5zs5vvv5+alOnTp68803rePnqlWrNHXq1Ez9b4kkde/eXf/973/Vo0cPHTp0SOXLl9eaNWs0duxYNW/e/LZfttKS3mPqyy+/rKNHj6pBgwZ64IEHFBcXp3fffVceHh6qW7fuLZ8jMDBQ5cqV09KlS1WvXj3rs6Fhw4Y6c+aMzpw5o4kTJzo95k72WbuMvH/SmwmKFi2qESNG6NVXX9Xly5fVpUsX+fv767ffftOpU6ec/jvk5uam/v3764UXXpCvr2+m//DQhx9+qGbNmqlJkybq2bOnChcurDNnzmjXrl3aunWrFYJfeuklffvtt2rQoIFeeukl+fj46IMPPrCGyE35L3fp0qXVt29fTZ48Wbly5VKzZs106NAhjRw5UmFhYRo8eHD6i0v3JX73iZsNAWfM9eFrihQpYkqWLGldrblw4UJTo0YN4+3tbXx9fU2DBg3MTz/9ZD0m5SrVm91Srsa0DwFnjDFHjx41Dz74oClatKg15E1aV0B/+umnpnTp0sbLy8sUL17cjBs3zkydOjXVaAsJCQlm6NChJjAw0Hh7e5uaNWuadevW3XYUhRvX/+WXXzYlS5Y0np6epkCBAqZ+/fpm7dq1Vm03W88bl5+YmGjeeustU7FiRePt7W28vLyMJPPUU0+ZvXv3GmOuX+3frl07Ex4ebry8vEyBAgVM3bp1zaJFi5xqWrZsmalcubK1jBufZ/Xq1aZ+/frG19fX+Pj4mJo1a5pvv/3W6fEvvviiqVatmsmfP7/1+g0ePNicOnXKqd26detMs2bNjL+/v/Hy8jIRERFOV5Knd3QLY4xZtGiRqVChgvH09DRFihQx48ePt656v1Fa22X8+PGmaNGixsvLy5QpU8Z8/PHHaT7Wbvfu3aZLly4mIiLC+Pj4GH9/f1O9enUzffp0q016t5/+5ugWKT755BNr/f39/U2bNm3Mr7/+mqrd9u3bjSRTsmRJp+mvv/66kWSGDBlyy3VOkZycbMaNG2fCwsKMp6enqVChgvn2229vejX2jaNBnD171vTp08cEBgaa3Llzm0ceecSsXr061WNTXoMbhwq71euQss3sQxF9+umnpkaNGtY+GxERYbp37242b95stalbt6556KGHUq1nWqMgfPbZZ+bBBx80Hh4eqbbb7Y5dN74GuXLlchp+z5j/Gzmhffv2qR5zM5988ol1/ChVqpT59NNP06zbXmtCQoIZNmyYKVy4sPH29jZVqlQxCxcuTNfIDz169Ljpfn3jNpRk+vfvb6ZMmWIiIiKMh4eHefDBB82cOXOclnez0SHS83rebLunmDFjhilTpozx9vY2ZcuWNfPnz0/3EHDpPb6nVf/Ro0dNhw4dTP78+U3evHlN06ZNzc6dO1M9NqP7c1qfa6dPnzZPP/20CQkJMe7u7iY8PNwMHz7cXLlyxaldyvawS+u4mJ5j6nfffWeaNWtmChcubDw9PU1gYKBp3ry50xB9tzJ48GAjybz++utO00uWLGkkmR07djhNz8g+m55jqjHpf/+kNxMYc33kqn/84x/G29vb5MmTx1SuXDnNEX4OHTpkJJmnn346zdenbt26JjIy0rqfcjx98803U7W1r68x14/3HTt2NIGBgcbDw8MEBweb+vXrmw8++MCp3erVq02NGjWMl5eXCQ4ONs8995w1OsqNI5ckJSWZN954w5QqVcp4eHiYggULmieffNIaBjO9HP+/YMBlxowZo8TERL322muuLgUAANhMnjxZAwcO1M6dO1P9uIp0/b/iERER+vLLL+96bY0bN9ahQ4f0+++/Z/qy6W4Bl1uwYIH69++vK1eupNmPCwAA3H0///yzDh48qFdeeUVt2rRJFZB///13rV69Wr/88ovT0LRZZciQIapcubLCwsJ05swZzZkzRzExMdavBGY2ziTD5d566y299tprSkpK0vbt21W8eHFXlwQAwH2vaNGiio2N1aOPPqpZs2al6gPdq1cvffvtt2rdurX++9//3nIoyMzwr3/9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/mrYsKHGjx+v0NBQaxmRkZFatWqV03I7deqkefPmWffPnj2rgQMHatGiRZKk1q1ba/LkycqXL1+mrg8AAAByvgyPk5xi8+bNmjVrlmbPnq0tW7b87QIuXryoihUr6r333ks179KlS9q6datGjhyprVu3asGCBfr999/VunXrVG2joqJ07Ngx6/bhhx86ze/atau2bdum6OhoRUdHa9u2berWrdvfrhsAAAD3rgxfuHf06FF16dJFP/30k3UWNi4uTrVr19Znn32msLCwDC2vWbNmatasWZrz/P39FRMT4zRt8uTJql69ug4fPqwiRYpY03Pnzq3g4OA0l7Nr1y5FR0dr/fr1qlGjhiTp448/Vq1atbRnzx6VLl06QzUDAADg3pbhM8m9e/dWYmKidu3apTNnzujMmTPatWuXjDHq06dPVtToJD4+Xg6HI1U3iTlz5qhgwYJ66KGHNGzYMJ0/f96at27dOvn7+1sBWZJq1qwpf39/rV27Ns3nSUhI0Llz55xuAAAAuD9k+Ezy6tWrtXbtWqezr6VLl9bkyZP18MMPZ2pxdleuXNGLL76orl27ys/Pz5r+xBNPqFixYgoODtbOnTs1fPhwbd++3ToLHRsbm+ZYzoGBgYqNjU3zucaNG6cxY8ZkzYoAAAAgW8twSC5SpIgSExNTTb927ZoKFy6cKUWlJTExUZ07d1ZycrKmTJniNC8qKsr6u1y5cipZsqSqVaumrVu3qkqVKpKU5rB1xpibDmc3fPhwDRkyxLp/7ty5DHclAQAAQM6U4e4WEyZM0IABA7R582YZYyRdv4jvX//6l956661ML1C6HpA7duyogwcPKiYmxuksclqqVKkiDw8P7d27V5IUHBys48ePp2p38uRJBQUFpbkMLy8v+fn5Od0AAABwf8jwmeSePXvq0qVLqlGjhtzdrz/82rVrcnd3V+/evdW7d2+r7ZkzZ+64wJSAvHfvXq1YsUIFChS47WN+/fVXJSYmKiQkRJJUq1YtxcfHa+PGjapevbokacOGDYqPj1ft2rXvuEYAAADcWzIckt95551MLeDChQvat2+fdf/gwYPatm2bAgICFBoaqscee0xbt27Vd999p6SkJKsPcUBAgDw9PbV//37NmTNHzZs3V8GCBfXbb79p6NChqly5stVHukyZMmratKmioqKsoeH69u2rli1bMrIFAAAA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pcOHD2vq1KmqWrWqHA6HNm/erKioKIWFhWnRokWuLhF3aMeOHSpXrpxy5cqlHTt23LJthQoV7lJV9wZCMtL0448/qnXr1ipWrJj27NmjcuXK6dChQzLGqEqVKlq+fLmrS0QmunTpkh5//HEVKlRI5cuXl4eHh9N8LtS8t1y8eFH79++XMUYlSpQgHN/DTp48qR49eig6Otp6X1+7dk1NmjTR9OnTFRgY6OIKcady5cql2NhYBQYGKleuXHI4HEor2tEnOeMIyUhT9erV1bRpU73yyivKmzevtm/frsDAQD3xxBNq2rSpnnnmGVeXiEz0ySef6Omnn5aPj48KFCjgdMEHF2rem44ePSqHw6HChQu7uhTcBb///rt27dolSSpTpoxKlSrl4oqQWf744w8VKVJEDodDf/zxxy3bhoeH36Wq7g2EZKQpb9682rZtmyIiIpQ/f36tWbNGDz30kLZv3642bdro0KFDri4RmSg4OFgDBw7Uiy++6HR1NO4tycnJeu211/T222/rwoULkq6/14cOHaqXXnqJbX+PS/m4v/FLMICb48I9pMnX11cJCQmSpNDQUO3fv98aNiqtYcKQs129elWdOnUiJN3jXnrpJU2dOlXjx4/Xww8/LGOMfvrpJ40ePVpXrlzR66+/7uoSkQVmzpypN998U3v37pUklSpVSs8995y6devm4sqQVX777bc0rydizPuMISQjTTVr1tRPP/2ksmXLqkWLFho6dKh++eUXLViwwLoqHveOHj16aP78+RoxYoSrS0EWmjFjhj755BOnD8qKFSuqcOHC6tevHyH5HjRx4kSNHDlSzz77rNMXo6efflqnTp3S4MGDXV0iMtGBAwfUrl07/fLLL059k1P+e0Cf5IyhuwXSdODAAV24cEEVKlSwrohfs2aNSpQooUmTJtGv6R4zcOBAzZw5UxUrVlSFChVSXbjHaCb3Bm9vb+3YsSNVf9Q9e/aoUqVKunz5sosqQ1YpVqyYxowZo+7duztNnzFjhkaPHs04yfeYVq1ayc3NTR9//LGKFy+ujRs36vTp0xo6dKjeeustPfroo64uMUchJANQvXr1bjrP4XAwmsk9okaNGqpRo0aqn6AfMGCANm3apPXr17uoMmQVb29v7dy5UyVKlHCavnfvXpUvX15XrlxxUWXICgULFtTy5ctVoUIF+fv7a+PGjSpd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FB4ervnz56tmzZrKmzevtm/fruLFi2vfvn2qUqWK9RPGyNkmTpyoadOmac+ePWrevLn++c9/qnnz5sqV6//Ol+zbt08PPvigrl275sJKAcD16HQIQCdPnlRgYGCq6RcvXpTD4XBBRcgK77//vnr37q1evXopODg4zTZFihTR1KlT73JlAJD90N0CgP7xj39o8eLF1v2UYPzxxx+rVq1arioLmejatWt64okn9OSTT940IEuSp6enevTocRcrA4Dsie4WALR27Vo1bdpUTzzxhKZPn66nnnpKv/76q9atW6dVq1apatWqri4RmSBv3rz65ZdfVLRoUVeXAgDZHmeSAah27dpau3atLl26pIiICC1dulRBQUFat24dAfke0qBBA61cudLVZQBAjkCfZOA+l5iYqL59+2rkyJGaMWOGq8tBFmrWrJmGDx+unTt3qmrVqvL19XWa37p1axdVBgDZD90tAChfvnzaunWrihcv7upSkIVuHMXCzuFwKCkp6S5WAwDZG90tAKhdu3ZauHChq8tAFktOTr7pjYAMAM7obgFAJUqU0Kuvvqq1a9em+W/4gQMHuqgyZJUrV644/XAMAMAZ3S0AqFixYjed53A4dODAgbtYDbJKUlKSxo4dqw8++EDHjx/X77//ruLFi2vkyJEqWrSo+vTp4+oSASDb4EwyAB08eND6O+V7Mz8icu95/fXXNWPGDE2YMEFRUVHW9PLly2vSpEmEZAC4AX2SAUiSpk6dqnLlysnb21ve3t4qV66cPvnkE1eXhUw0c+ZMffTRR3riiSfk5uZmTa9QoYJ2797twsoAIPvhTDIAjRw5UpMmTdKAAQOsX9hbt26dBg8erEOHDum1115zcYXIDH/++adKlCiRanpycrISExNdUBEAZF+EZAB6//339fHHH6tLly7WtNatW6tChQoaMGAAIfke8dBDD2n16tUKDw93mv7FF1+ocuXKLqoKALInQjIAJSUlqVq1aqmmV61aVdeuXXNBRcgKo0aNUrdu3fTnn38qOTlZCxYs0J49ezRz5kx99913ri4PALIV+iQD0JNPPqn3338/1fSU/qu4N7Rq1Urz58/XkiVL5HA49PLLL2vXrl369ttv1ahRI1eXBwDZCkPAAdCAAQM0c+ZMhYWFqWbNmpKk9evX68iRI+revbs8PDysthMnTnRVmQAA3DWEZACqV69euto5HA4tX748i6tBVunVq5eefPJJ1a9fnyH+AOA2CMkAcJ9o3bq1li5dqgIFCqhz58568sknuWAPAG6CkAwA95G4uDh9/vnnmjt3rlavXq3SpUvrySefVNeuXVW0aFFXlwcA2QYhGQDuU0ePHtVnn32mTz/9VHv37mUkEwC4AaNbAMB9KDExUZs3b9aGDRt06NAhBQUFubokAMhWCMkAcB9ZsWKFoqKiFBQUpB49eihv3rz69ttvdeTIEVeXBgDZCt0tAOA+8cADD+j06dNq0qSJnnjiCbVq1Ure3t6uLgsAsiVCMgDcJz766CM9/vjjyp8/v6tLAYBsj5AMAAAA2NAnGQAAALAhJAMAAAA2hGQAAADAhpAMAJAk9ezZU23btrXuR0ZGatCgQdb9S5cuqUOHDvLz85PD4VBcXNxdrxEA7hZCMgDcQ06cOKGnnnpKRYoUkZeXl4KDg9WkSROtW7cuw8tasGCBXn31Vev+jBkztHr1aq1du1bHjh2Tv79/ZpYOANmKu6sLAABkng4dOigxMVEzZsxQ8eLFdfz4cf344486c+ZMhpcVEBDgdH///v0qU6aMypUrl1nlAkC2RUgGgHtEXFyc1qxZo5UrV6pu3bqSpPDwcFWvXl2SNH36dPXq1SvV40aNGqXRo0enmh4ZGalKlSrpnXfeUWRkpFatWiVJcjgcqlu3rlauXJll6wIArkZ3CwC4R+TJk0d58uTRwoULlZCQkGp+p06ddOzYMev22Wefyd3dXQ8//PBtl71gwQJFRUWpVq1aOnbsmBYsWJAVqwAA2QYhGQDuEe7u7po+fbpmzJihfPny6eGHH9aIESO0Y8cOSZKPj4+Cg4MVHBysixcv6tlnn9XYsWPVqFGj2y47ICBAuXPnlqenp4KDg1N1xQCAew0hGQDuIR06dNBff/2lRYsWqUmTJlq5cqWqVKmi6dOnW23i4+PVsmVLNWvWTM8995zrigWAbIyQDAD3GG9vbzVq1Egvv/yy1q5dq549e2rUqFGSpKSkJHXq1El+fn76+OOPXVwpAGRfhGQAuMeVLVtWFy9elCQNHjxYv/zyi77++mt5e3u7uDIAyL4Y3QIA7hGnT5/W448/rt69e6tChQrKmzevNm/erAkTJqhNmzaaNm2apkyZoq+//lq5cuVSbGyspP+74A8A8H8IyQBwj8iTJ49q1KihSZMmaf/+/UpMTFRYWJiioqI0YsQIPfPMM0pKSlLr1q2dHnezIeAA4H7mMMYYVxcBAAAAZCf0SQYAAABsCMkAAACADSEZAAAAsCEkAwAAADaEZAAAAMCGkAwAAADYEJIBAAAAG0IyAAAAYENIBgAAAGwIyQAAAIANIRkAAACwISQDAAAANv8Pfbf22eY9l7YAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "plt.figure(figsize=(8, 6))\n", "diamonds_dev['cut'].value_counts().plot(kind='bar')\n", "plt.title('Rozkład częstości dla szlifów diamentów dla zbioru diamonds walidacyjnego')\n", "plt.xlabel('Szlif')\n", "plt.ylabel('Liczba wystąpień')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 20, "id": "1bf608c2", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", " \n", " \n", " \n", " \n", " \n", "
carat
cut
fair0.516404
good0.454054
ideal0.432876
premium0.515262
very good0.459435
\n", "
" ], "text/plain": [ " carat\n", "cut \n", "fair 0.516404\n", "good 0.454054\n", "ideal 0.432876\n", "premium 0.515262\n", "very good 0.459435" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diamonds[[\"cut\",\"carat\"]].groupby(\"cut\").std()" ] }, { "cell_type": "code", "execution_count": 21, "id": "0d6e54d9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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czMvCwAAaqAKl5HU1FS98MILmjhxojIzMxUWFqY+ffooJyfnuuudPXtWkZGReuihh246LAAAqHkqXEaSkpIUHR2tkSNHqn379pozZ44CAgI0b96866737LPPavDgwerWrduvvkZRUZEKCwvtbgAAoGaqUBkpLi5WRkaGwsPD7cbDw8O1cePGa673/vvv68CBA3r55Zdv6HVmzpypevXq2W4BAQEViQkAAKqRCpWRgoIClZSUyN/f327c399feXl55a6zb98+TZgwQcuWLZObm9sNvU5iYqLOnj1rux09erQiMQEAQDVyY+3gFywWi919q9VaZkySSkpKNHjwYE2dOlVt27a94ef38PCQh4fHzUQDAADVTIXKSMOGDeXq6lpmK0h+fn6ZrSWSdO7cOW3ZskWZmZl6/vnnJUmlpaWyWq1yc3PTypUr1atXr1uIDwAAqrsK7aZxd3dXSEiI0tPT7cbT09MVGhpaZvm6detqx44dysrKst1iY2PVrl07ZWVl6YEHHri19AAAoNqr8G6ahIQEDRs2TF26dFG3bt20YMEC5eTkKDY2VtKV+R7Hjx/X0qVL5eLiouDgYLv1/fz85OnpWWYcAAA4pwqXkYiICJ0+fVrTpk1Tbm6ugoODlZaWphYtWkiScnNzf/WcIwAAAFfd1ATWuLg4xcXFlftYSkrKddedMmWKpkyZcjMvCwAAaiCuTQMAAIyijAAAAKMoIwAAwCjKCAAAMIoyAgAAjKKMAAAAoygjAADAKMoIAAAwijICAACMoowAAACjKCMAAMAoyggAADCKMgIAAIyijAAAAKMoIwAAwCjKCAAAMIoyAgAAjKKMAAAAoygjAADAKMoIAAAwijICAACMoowAAACjKCMAAMAoyggAADCKMgIAAIyijAAAAKMoIwAAwCjKCAAAMIoyAgAAjKKMAAAAoygjAADAKMoIAAAwijICAACMoowAAACjKCMAAMAoyggAADCKMgIAAIyijAAAAKMoIwAAwCjKCAAAMIoyAgAAjKKMAAAAoygjAADAKMoIAAAwijICAACMoowAAACjKCMAAMAoyggAADCKMgIAAIyijAAAAKMoIwAAwCjKCAAAMIoyAgAAjKKMAAAAoygjAADAKMoIAAAw6qbKyNy5cxUYGChPT0+FhIRo3bp111z2k08+0SOPPCJfX1/VrVtX3bp101dffXXTgQEAQM1S4TKSmpqqF154QRMnTlRmZqbCwsLUp08f5eTklLv8N998o0ceeURpaWnKyMhQz5491b9/f2VmZt5yeAAAUP1VuIwkJSUpOjpaI0eOVPv27TVnzhwFBARo3rx55S4/Z84cvfjii7r//vvVpk0bvfrqq2rTpo2++OKLWw4PAACqvwqVkeLiYmVkZCg8PNxuPDw8XBs3bryh5ygtLdW5c+fUoEGDay5TVFSkwsJCuxsAAKiZKlRGCgoKVFJSIn9/f7txf39/5eXl3dBzvPnmm7pw4YKefPLJay4zc+ZM1atXz3YLCAioSEwAAFCN3NQEVovFYnffarWWGSvPhx9+qClTpig1NVV+fn7XXC4xMVFnz5613Y4ePXozMQEAQDXgVpGFGzZsKFdX1zJbQfLz88tsLfml1NRURUdH66OPPtLDDz983WU9PDzk4eFRkWgAAKCaqtCWEXd3d4WEhCg9Pd1uPD09XaGhoddc78MPP9TTTz+tDz74QP369bu5pAAAoEaq0JYRSUpISNCwYcPUpUsXdevWTQsWLFBOTo5iY2MlXdnFcvz4cS1dulTSlSISGRmpt956Sw8++KBtq0rt2rVVr1692/hWAABAdVThMhIREaHTp09r2rRpys3NVXBwsNLS0tSiRQtJUm5urt05R9577z1dvnxZf/rTn/SnP/3JNh4VFaWUlJRbfwcAAKBaq3AZkaS4uDjFxcWV+9gvC8aaNWtu5iUAAICT4No0AADAKMoIAAAwijICAACMoowAAACjKCMAAMAoyggAADCKMgIAAIyijAAAAKMoIwAAwCjKCAAAMIoyAgAAjKKMAAAAoygjAADAKMoIAAAwijICAACMoowAAACjKCMAAMAoyggAADCKMgIAAIyijAAAAKMoIwAAwCjKCAAAMIoyAgAAjKKMAAAAoygjAADAKMoIAAAwijICAACMoowAAACjKCMAAMAoyggAADCKMgIAAIyijAAAAKMoIwAAwCjKCAAAMIoyAgAAjKKMAAAAoygjAADAKMoIAAAwijICAACMoowAAACjKCMAAMAoyggAADCKMgIAAIyijAAAAKMoIwAAwCjKCAAAMIoyAgAAjKKMAAAAoygjAADAKMoIAAAwijICAACMoowAAACjKCMAAMAoyggAADCKMgIAAIyijAAAAKNuqozMnTtXgYGB8vT0VEhIiNatW3fd5deuXauQkBB5enqqVatWmj9//k2FBQAANU+Fy0hqaqpeeOEFTZw4UZmZmQoLC1OfPn2Uk5NT7vKHDh1S3759FRYWpszMTL300kuKj4/XP/7xj1sODwAAqr8Kl5GkpCRFR0dr5MiRat++vebMmaOAgADNmzev3OXnz5+v5s2ba86cOWrfvr1GjhypESNG6I033rjl8AAAoPpzq8jCxcXFysjI0IQJE+zGw8PDtXHjxnLX2bRpk8LDw+3GevfureTkZF26dEm1atUqs05RUZGKiops98+ePStJKiwsrEjcCistuujQ568Mjv4aVRY+i6qjJnwWUs34PPgsqg4+i4o9v9Vqve5yFSojBQUFKikpkb+/v924v7+/8vLyyl0nLy+v3OUvX76sgoICNW7cuMw6M2fO1NSpU8uMBwQEVCSuU6o3x3QCXMVnUbXweVQdfBZVR2V9FufOnVO9evWu+XiFyshVFovF7r7Vai0z9mvLlzd+VWJiohISEmz3S0tL9eOPP8rHx+e6r1OVFRYWKiAgQEePHlXdunVNx3F6fB5VB59F1cFnUXXUlM/CarXq3LlzatKkyXWXq1AZadiwoVxdXctsBcnPzy+z9eOqRo0albu8m5ubfHx8yl3Hw8NDHh4edmP169evSNQqq27dutX6P1ZNw+dRdfBZVB18FlVHTfgsrrdF5KoKTWB1d3dXSEiI0tPT7cbT09MVGhpa7jrdunUrs/zKlSvVpUuXcueLAAAA51Lho2kSEhK0aNEiLV68WNnZ2Ro9erRycnIUGxsr6coulsjISNvysbGxOnLkiBISEpSdna3FixcrOTlZY8eOvX3vAgAAVFsVnjMSERGh06dPa9q0acrNzVVwcLDS0tLUokULSVJubq7dOUcCAwOVlpam0aNH691331WTJk309ttv6/HHH79976Ia8PDw0Msvv1xm9xPM4POoOvgsqg4+i6rD2T4Li/XXjrcBAABwIK5NAwAAjKKMAAAAoygjAADAKMoIAAAwijICAACMuqnTwePXlZSUaP369erUqZPuvPNO03EAAFXMzy978muSkpIcmMQ8yoiDuLq6qnfv3srOzqaMGPL222/f8LLx8fEOTAIAZWVmZtrdz8jIUElJidq1aydJ2rt3r1xdXRUSEmIiXqWijDhQx44ddfDgQQUGBpqO4pRmz55td//UqVO6ePGi7TpHZ86ckZeXl/z8/CgjlYByWHX99NNP2r59u/Lz81VaWmr32IABAwylqvm+/vpr27+TkpLk7e2tJUuW2P6A/d///V8NHz5cYWFhpiJWGk565kArV67U+PHj9corrygkJER16tSxe7y6X/yoOvnggw80d+5cJScn2/7q2LNnj2JiYvTss89qyJAhhhPWfDdayi0Wiw4ePOjgNLhqxYoVioyMVEFBQZnHLBaLSkpKDKRyPk2bNtXKlSvVoUMHu/EffvhB4eHhOnHihKFklYMy4kAuLv8/P9hisdj+bbVa+SavZK1bt9bHH3+se++91248IyNDTzzxhA4dOmQoGWBWUFCQevfurcmTJ1/z6utwPG9vb/33f/+3evXqZTe+evVqDRw4UOfOnTOUrHKwm8aBfr4JDmbl5ubq0qVLZcZLSkp08uRJA4mAqiE/P18JCQkUEcMGDRqk4cOH680339SDDz4oSdq8ebPGjRunxx57zHA6x2PLCJxC//79lZOTo+TkZIWEhMhisWjLli2KiYlRQECAPv/8c9MRnc6xY8f0+eefKycnR8XFxXaP1fQjB6qSESNGqHv37oqOjjYdxaldvHhRY8eO1eLFi21/OLm5uSk6Olp/+ctfyuzmr2koI7fZ9u3bFRwcLBcXF23fvv26y3bq1KmSUuHUqVOKiorSihUrVKtWLUnS5cuX1bt3b6WkpMjPz89wQueyatUqDRgwQIGBgdqzZ4+Cg4N1+PBhWa1W3XfffVq9erXpiE7j4sWL+sMf/iBfX1917NjR9v1xFZOJK9eFCxd04MABWa1WBQUF1fgSchVl5DZzcXFRXl6e/Pz85OLiIovFovK+xMwZMWPv3r3Kzs6WJLVv315t27Y1nMg5de3aVY8++qimTZsmb29vbdu2TX5+fhoyZIgeffRRPffcc6YjOo1FixYpNjZWtWvXlo+Pj938NiYTm3Hs2DFZLBY1bdrUdJRKQxm5zY4cOaLmzZvLYrHoyJEj1122RYsWlZQKP3f1v/zPf+iicnl7eysrK0utW7fWnXfeqfXr16tDhw7atm2bBg4cqMOHD5uO6DQaNWqk+Ph4TZgwwW7SPSpXaWmppk+frjfffFPnz5+XdOX7ZMyYMZo4cWKN/2yYwHqb/bxgUDaqlqVLl+ovf/mL9u3bJ0lq27atxo0bp2HDhhlO5nzq1KmjoqIiSVKTJk104MAB2yGN5R1iCscpLi5WREREjf9lV9VNnDhRycnJeu2119S9e3dZrVZt2LBBU6ZM0U8//aQZM2aYjuhQlJFKsGvXrnIn6XEyocqTlJSkSZMm6fnnn7f7Ro+NjVVBQYFGjx5tOqJTefDBB7Vhwwbdfffd6tevn8aMGaMdO3bok08+sR1JgMoRFRWl1NRUvfTSS6ajOLUlS5Zo0aJFdr8XOnfurKZNmyouLq7GlxF20zjQwYMHNWjQIO3YscNu7sjV3QPMGak8gYGBmjp1qiIjI+3GlyxZoilTpnCekUp28OBBnT9/Xp06dbIdRbB+/XoFBQVp9uzZbFWsRPHx8Vq6dKk6d+6sTp06lZnAypFNlcPT01Pbt28vM49tz549uueee/Tvf//bULLKQRlxoP79+8vV1VULFy5Uq1at9N133+n06dMaM2aM3njjDac4xW9V4enpqR9++EFBQUF24/v27VPHjh31008/GUoGmNWzZ89rPmaxWDiyqZI88MADeuCBB8pcNmHUqFH6/vvvtXnzZkPJKge7aRxo06ZNWr16tXx9feXi4iIXFxf16NFDM2fOVHx8fJmLJMFxgoKCtHz58jKbolNTU9WmTRtDqZzbmTNn9PHHH+vAgQMaN26cGjRooK1bt8rf39+pjiIwjZMzVg2zZs1Sv3799K9//UvdunWTxWLRxo0bdfToUaWlpZmO53CUEQcqKSnRHXfcIUlq2LChTpw4oXbt2qlFixbas2eP4XTOZerUqYqIiNA333yj7t27y2KxaP369Vq1apWWL19uOp7T2b59ux5++GHVq1dPhw8fVkxMjBo0aKBPP/1UR44c0dKlS01HBCrVf/zHf2jv3r169913tXv3blmtVj322GOKi4tTkyZNTMdzOMqIAwUHB2v79u1q1aqVHnjgAc2aNUvu7u5asGCBWrVqZTqeU3n88cf17bffavbs2frss89ktVp1991367vvvitzvRo4XkJCgp5++mnNmjVL3t7etvE+ffpo8ODBBpM5n549e173MHd201SeJk2a1PiJqtdCGbnNfn4G1j//+c+6ePGiJGn69On63e9+p7CwMPn4+Cg1NdVwUucTEhKiv/3tb6ZjQNL333+v9957r8x406ZNlZeXZyCR87rnnnvs7l+6dElZWVn64YcfFBUVZSaUkzpz5oySk5OVnZ0ti8Wiu+++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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "diamonds[[\"cut\",\"carat\"]].groupby(\"cut\").mean().plot(kind=\"bar\")" ] }, { "cell_type": "code", "execution_count": 22, "id": "4598d9cf", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", " \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", " \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", " \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", " \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", " \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", "
idcaratcutcolorclaritydepthtablepricexyz
010.006237idealESI20.5138890.2307690.0000000.3677840.0675720.076415
120.002079premiumESI10.4666670.3461540.0000000.3621970.0651950.072642
230.006237goodEVS10.3861110.4230770.0000540.3770950.0691000.072642
340.018711premiumIVS20.5388890.2884620.0004330.3910610.0718170.082704
450.022869goodJSI20.5638890.2884620.0004870.4040970.0738540.086478
....................................
53935539360.108108idealDSI10.4944440.2692310.1314270.5353820.0977930.110063
53936539370.108108goodDSI10.5583330.2307690.1314270.5297950.0976230.113522
53937539380.103950very goodDSI10.5500000.3269230.1314270.5270020.0964350.111950
53938539390.137214premiumHSI20.5000000.2884620.1314270.5726260.1039050.117610
53939539400.114345idealDSI20.5333330.2307690.1314270.5428310.0996600.114465
\n", "

53940 rows × 11 columns

\n", "
" ], "text/plain": [ " id carat cut color clarity depth table price \\\n", "0 1 0.006237 ideal E SI2 0.513889 0.230769 0.000000 \n", "1 2 0.002079 premium E SI1 0.466667 0.346154 0.000000 \n", "2 3 0.006237 good E VS1 0.386111 0.423077 0.000054 \n", "3 4 0.018711 premium I VS2 0.538889 0.288462 0.000433 \n", "4 5 0.022869 good J SI2 0.563889 0.288462 0.000487 \n", "... ... ... ... ... ... ... ... ... \n", "53935 53936 0.108108 ideal D SI1 0.494444 0.269231 0.131427 \n", "53936 53937 0.108108 good D SI1 0.558333 0.230769 0.131427 \n", "53937 53938 0.103950 very good D SI1 0.550000 0.326923 0.131427 \n", "53938 53939 0.137214 premium H SI2 0.500000 0.288462 0.131427 \n", "53939 53940 0.114345 ideal D SI2 0.533333 0.230769 0.131427 \n", "\n", " x y z \n", "0 0.367784 0.067572 0.076415 \n", "1 0.362197 0.065195 0.072642 \n", "2 0.377095 0.069100 0.072642 \n", "3 0.391061 0.071817 0.082704 \n", "4 0.404097 0.073854 0.086478 \n", "... ... ... ... \n", "53935 0.535382 0.097793 0.110063 \n", "53936 0.529795 0.097623 0.113522 \n", "53937 0.527002 0.096435 0.111950 \n", "53938 0.572626 0.103905 0.117610 \n", "53939 0.542831 0.099660 0.114465 \n", "\n", "[53940 rows x 11 columns]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#normalizacja wartości typu float do zakrsu 0.0 - 1.0\n", "#Powyżej wykonano jeszcze konwersję danych typu string na lowerCase\n", "\n", "from sklearn.preprocessing import MinMaxScaler\n", "scaler = MinMaxScaler()\n", "diamonds[['carat', 'depth', 'table', 'price', 'x', 'y', 'z']] = scaler.fit_transform(diamonds[['carat', 'depth', 'table', 'price', 'x', 'y', 'z']])\n", "\n", "#wyświetlenie zbioru\n", "diamonds" ] }, { "cell_type": "code", "execution_count": 23, "id": "97350bed", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", " \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", " \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", " \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", " \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", " \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", "
idcaratcutcolorclaritydepthtablepricexyz
010.006237idealESI20.5138890.2307690.0000000.3677840.0675720.076415
120.002079premiumESI10.4666670.3461540.0000000.3621970.0651950.072642
230.006237goodEVS10.3861110.4230770.0000540.3770950.0691000.072642
340.018711premiumIVS20.5388890.2884620.0004330.3910610.0718170.082704
450.022869goodJSI20.5638890.2884620.0004870.4040970.0738540.086478
....................................
53935539360.108108idealDSI10.4944440.2692310.1314270.5353820.0977930.110063
53936539370.108108goodDSI10.5583330.2307690.1314270.5297950.0976230.113522
53937539380.103950very goodDSI10.5500000.3269230.1314270.5270020.0964350.111950
53938539390.137214premiumHSI20.5000000.2884620.1314270.5726260.1039050.117610
53939539400.114345idealDSI20.5333330.2307690.1314270.5428310.0996600.114465
\n", "

53940 rows × 11 columns

\n", "
" ], "text/plain": [ " id carat cut color clarity depth table price \\\n", "0 1 0.006237 ideal E SI2 0.513889 0.230769 0.000000 \n", "1 2 0.002079 premium E SI1 0.466667 0.346154 0.000000 \n", "2 3 0.006237 good E VS1 0.386111 0.423077 0.000054 \n", "3 4 0.018711 premium I VS2 0.538889 0.288462 0.000433 \n", "4 5 0.022869 good J SI2 0.563889 0.288462 0.000487 \n", "... ... ... ... ... ... ... ... ... \n", "53935 53936 0.108108 ideal D SI1 0.494444 0.269231 0.131427 \n", "53936 53937 0.108108 good D SI1 0.558333 0.230769 0.131427 \n", "53937 53938 0.103950 very good D SI1 0.550000 0.326923 0.131427 \n", "53938 53939 0.137214 premium H SI2 0.500000 0.288462 0.131427 \n", "53939 53940 0.114345 ideal D SI2 0.533333 0.230769 0.131427 \n", "\n", " x y z \n", "0 0.367784 0.067572 0.076415 \n", "1 0.362197 0.065195 0.072642 \n", "2 0.377095 0.069100 0.072642 \n", "3 0.391061 0.071817 0.082704 \n", "4 0.404097 0.073854 0.086478 \n", "... ... ... ... \n", "53935 0.535382 0.097793 0.110063 \n", "53936 0.529795 0.097623 0.113522 \n", "53937 0.527002 0.096435 0.111950 \n", "53938 0.572626 0.103905 0.117610 \n", "53939 0.542831 0.099660 0.114465 \n", "\n", "[53940 rows x 11 columns]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Usuwanie artefaktów\n", "diamonds = diamonds.dropna() ## usuwanie pustych wierszy, które posiadają przynajmniej jedno wystąpienie NULL or NaN\n", "diamonds" ] } ], "metadata": { "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.10.9" } }, "nbformat": 4, "nbformat_minor": 5 }