From 99555bb2743606de013d126a94523c2f678c3c1f Mon Sep 17 00:00:00 2001 From: SergeyZ06 Date: Sat, 8 May 2021 19:10:55 +0300 Subject: [PATCH 1/3] Solving the sixth hometask without supplementary tasks yet --- 1th_task.ipynb | 1469 ++++++++++++++++++++++++++++++++++++ 2th_task.ipynb | 420 +++++++++++ 3th_task.ipynb | 292 +++++++ 4th_task.ipynb | 1888 ++++++++++++++++++++++++++++++++++++++++++++++ data/x_test.pkl | Bin 0 -> 17920 bytes data/x_train.pkl | Bin 0 -> 40546 bytes data/y_test.pkl | Bin 0 -> 3224 bytes data/y_train.pkl | Bin 0 -> 6458 bytes score/scores.pkl | Bin 0 -> 798 bytes 9 files changed, 4069 insertions(+) create mode 100644 1th_task.ipynb create mode 100644 2th_task.ipynb create mode 100644 3th_task.ipynb create mode 100644 4th_task.ipynb create mode 100644 data/x_test.pkl create mode 100644 data/x_train.pkl create mode 100644 data/y_test.pkl create mode 100644 data/y_train.pkl create mode 100644 score/scores.pkl diff --git a/1th_task.ipynb b/1th_task.ipynb new file mode 100644 index 0000000..458053a --- /dev/null +++ b/1th_task.ipynb @@ -0,0 +1,1469 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "b8e01db7", + "metadata": {}, + "source": [ + "### Задание 1" + ] + }, + { + "cell_type": "markdown", + "id": "f56dd684", + "metadata": {}, + "source": [ + "Импортируйте библиотеки pandas и numpy" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "7b6be97f", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "id": "d3e4295d", + "metadata": {}, + "source": [ + "Загрузите \"Boston House Prices dataset\" из встроенных наборов данных библиотеки sklearn. Создайте датафреймы X и y из этих данных." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e0dd0aaf", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.datasets import load_boston" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "992c81bc", + "metadata": {}, + "outputs": [], + "source": [ + "boston = load_boston()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "76613d69", + "metadata": {}, + "outputs": [], + "source": [ + "x = pd.DataFrame(boston.data, columns = boston.feature_names)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "c8b73627", + "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", + "
CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTAT
00.0063218.02.310.00.5386.57565.24.09001.0296.015.3396.904.98
10.027310.07.070.00.4696.42178.94.96712.0242.017.8396.909.14
20.027290.07.070.00.4697.18561.14.96712.0242.017.8392.834.03
30.032370.02.180.00.4586.99845.86.06223.0222.018.7394.632.94
40.069050.02.180.00.4587.14754.26.06223.0222.018.7396.905.33
\n", + "
" + ], + "text/plain": [ + " CRIM ZN INDUS CHAS NOX RM AGE DIS RAD TAX \\\n", + "0 0.00632 18.0 2.31 0.0 0.538 6.575 65.2 4.0900 1.0 296.0 \n", + "1 0.02731 0.0 7.07 0.0 0.469 6.421 78.9 4.9671 2.0 242.0 \n", + "2 0.02729 0.0 7.07 0.0 0.469 7.185 61.1 4.9671 2.0 242.0 \n", + "3 0.03237 0.0 2.18 0.0 0.458 6.998 45.8 6.0622 3.0 222.0 \n", + "4 0.06905 0.0 2.18 0.0 0.458 7.147 54.2 6.0622 3.0 222.0 \n", + "\n", + " PTRATIO B LSTAT \n", + "0 15.3 396.90 4.98 \n", + "1 17.8 396.90 9.14 \n", + "2 17.8 392.83 4.03 \n", + "3 18.7 394.63 2.94 \n", + "4 18.7 396.90 5.33 " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "6d4d6c4c", + "metadata": {}, + "outputs": [], + "source": [ + "y = pd.DataFrame(boston.target, columns = ['Price'])" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "687ecc51", + "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", + "
Price
024.0
121.6
234.7
333.4
436.2
\n", + "
" + ], + "text/plain": [ + " Price\n", + "0 24.0\n", + "1 21.6\n", + "2 34.7\n", + "3 33.4\n", + "4 36.2" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y.head()" + ] + }, + { + "cell_type": "markdown", + "id": "4fd3308a", + "metadata": {}, + "source": [ + "Разбейте эти датафреймы на тренировочные (X_train, y_train) и тестовые (X_test, y_test) с помощью функции train_test_split так, чтобы размер тестовой выборки составлял 30% от всех данных, при этом аргумент random_state должен быть равен 42." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "ca9dadc2", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.model_selection import train_test_split" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c3f658ee", + "metadata": {}, + "outputs": [], + "source": [ + "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.3, random_state = 42)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "0e66bbdb", + "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", + "
CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTAT
count506.000000506.000000506.000000506.000000506.000000506.000000506.000000506.000000506.000000506.000000506.000000506.000000506.000000
mean3.61352411.36363611.1367790.0691700.5546956.28463468.5749013.7950439.549407408.23715418.455534356.67403212.653063
std8.60154523.3224536.8603530.2539940.1158780.70261728.1488612.1057108.707259168.5371162.16494691.2948647.141062
min0.0063200.0000000.4600000.0000000.3850003.5610002.9000001.1296001.000000187.00000012.6000000.3200001.730000
25%0.0820450.0000005.1900000.0000000.4490005.88550045.0250002.1001754.000000279.00000017.400000375.3775006.950000
50%0.2565100.0000009.6900000.0000000.5380006.20850077.5000003.2074505.000000330.00000019.050000391.44000011.360000
75%3.67708312.50000018.1000000.0000000.6240006.62350094.0750005.18842524.000000666.00000020.200000396.22500016.955000
max88.976200100.00000027.7400001.0000000.8710008.780000100.00000012.12650024.000000711.00000022.000000396.90000037.970000
\n", + "
" + ], + "text/plain": [ + " CRIM ZN INDUS CHAS NOX RM \\\n", + "count 506.000000 506.000000 506.000000 506.000000 506.000000 506.000000 \n", + "mean 3.613524 11.363636 11.136779 0.069170 0.554695 6.284634 \n", + "std 8.601545 23.322453 6.860353 0.253994 0.115878 0.702617 \n", + "min 0.006320 0.000000 0.460000 0.000000 0.385000 3.561000 \n", + "25% 0.082045 0.000000 5.190000 0.000000 0.449000 5.885500 \n", + "50% 0.256510 0.000000 9.690000 0.000000 0.538000 6.208500 \n", + "75% 3.677083 12.500000 18.100000 0.000000 0.624000 6.623500 \n", + "max 88.976200 100.000000 27.740000 1.000000 0.871000 8.780000 \n", + "\n", + " AGE DIS RAD TAX PTRATIO B \\\n", + "count 506.000000 506.000000 506.000000 506.000000 506.000000 506.000000 \n", + "mean 68.574901 3.795043 9.549407 408.237154 18.455534 356.674032 \n", + "std 28.148861 2.105710 8.707259 168.537116 2.164946 91.294864 \n", + "min 2.900000 1.129600 1.000000 187.000000 12.600000 0.320000 \n", + "25% 45.025000 2.100175 4.000000 279.000000 17.400000 375.377500 \n", + "50% 77.500000 3.207450 5.000000 330.000000 19.050000 391.440000 \n", + "75% 94.075000 5.188425 24.000000 666.000000 20.200000 396.225000 \n", + "max 100.000000 12.126500 24.000000 711.000000 22.000000 396.900000 \n", + "\n", + " LSTAT \n", + "count 506.000000 \n", + "mean 12.653063 \n", + "std 7.141062 \n", + "min 1.730000 \n", + "25% 6.950000 \n", + "50% 11.360000 \n", + "75% 16.955000 \n", + "max 37.970000 " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "61c8df99", + "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", + "
CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTAT
count354.000000354.000000354.000000354.000000354.000000354.000000354.000000354.000000354.000000354.000000354.000000354.000000354.000000
mean3.46988711.40395511.1330510.0734460.5572596.32567268.7997183.7658749.437853407.04237318.277966359.70180812.421130
std8.31583122.6084576.9386510.2612370.1167920.71921127.6653602.1260328.639971166.5222372.25679286.9247797.112402
min0.0090600.0000001.2100000.0000000.3850003.8630002.9000001.1296001.000000187.00000012.6000000.3200001.730000
25%0.0823200.0000005.1300000.0000000.4500005.88950046.0250002.0737004.000000279.00000016.650000376.7825006.862500
50%0.2565100.0000009.6900000.0000000.5380006.22750077.3500003.1073005.000000330.00000018.600000391.60000010.925000
75%3.28168820.00000018.1000000.0000000.6310006.68175093.4750005.40070024.000000666.00000020.200000396.17250016.225000
max88.97620095.00000027.7400001.0000000.8710008.780000100.00000012.12650024.000000711.00000022.000000396.90000037.970000
\n", + "
" + ], + "text/plain": [ + " CRIM ZN INDUS CHAS NOX RM \\\n", + "count 354.000000 354.000000 354.000000 354.000000 354.000000 354.000000 \n", + "mean 3.469887 11.403955 11.133051 0.073446 0.557259 6.325672 \n", + "std 8.315831 22.608457 6.938651 0.261237 0.116792 0.719211 \n", + "min 0.009060 0.000000 1.210000 0.000000 0.385000 3.863000 \n", + "25% 0.082320 0.000000 5.130000 0.000000 0.450000 5.889500 \n", + "50% 0.256510 0.000000 9.690000 0.000000 0.538000 6.227500 \n", + "75% 3.281688 20.000000 18.100000 0.000000 0.631000 6.681750 \n", + "max 88.976200 95.000000 27.740000 1.000000 0.871000 8.780000 \n", + "\n", + " AGE DIS RAD TAX PTRATIO B \\\n", + "count 354.000000 354.000000 354.000000 354.000000 354.000000 354.000000 \n", + "mean 68.799718 3.765874 9.437853 407.042373 18.277966 359.701808 \n", + "std 27.665360 2.126032 8.639971 166.522237 2.256792 86.924779 \n", + "min 2.900000 1.129600 1.000000 187.000000 12.600000 0.320000 \n", + "25% 46.025000 2.073700 4.000000 279.000000 16.650000 376.782500 \n", + "50% 77.350000 3.107300 5.000000 330.000000 18.600000 391.600000 \n", + "75% 93.475000 5.400700 24.000000 666.000000 20.200000 396.172500 \n", + "max 100.000000 12.126500 24.000000 711.000000 22.000000 396.900000 \n", + "\n", + " LSTAT \n", + "count 354.000000 \n", + "mean 12.421130 \n", + "std 7.112402 \n", + "min 1.730000 \n", + "25% 6.862500 \n", + "50% 10.925000 \n", + "75% 16.225000 \n", + "max 37.970000 " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "1c13b16b", + "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", + "
CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTAT
count152.000000152.000000152.000000152.000000152.000000152.000000152.000000152.000000152.000000152.000000152.000000152.000000152.000000
mean3.94804611.26973711.1454610.0592110.5487236.18905968.0513163.8629759.809211411.01973718.869079349.62250013.193224
std9.25284424.9838286.6970320.2367990.1138770.65470729.3308442.0629358.885388173.6662121.876845100.6932187.201917
min0.0063200.0000000.4600000.0000000.3920003.5610006.2000001.1691001.000000188.00000013.0000002.5200002.880000
25%0.0797100.0000005.6925000.0000000.4487505.87275039.7000002.2167504.000000280.00000017.800000370.1450007.482500
50%0.2430350.0000009.6900000.0000000.5320006.15950078.5000003.5849505.000000330.00000019.200000390.93000012.020000
75%4.3671630.00000018.1000000.0000000.6140006.46350095.0000005.03567524.000000666.00000020.200000396.30750017.665000
max73.534100100.00000027.7400001.0000000.8710008.725000100.00000010.71030024.000000711.00000022.000000396.90000036.980000
\n", + "
" + ], + "text/plain": [ + " CRIM ZN INDUS CHAS NOX RM \\\n", + "count 152.000000 152.000000 152.000000 152.000000 152.000000 152.000000 \n", + "mean 3.948046 11.269737 11.145461 0.059211 0.548723 6.189059 \n", + "std 9.252844 24.983828 6.697032 0.236799 0.113877 0.654707 \n", + "min 0.006320 0.000000 0.460000 0.000000 0.392000 3.561000 \n", + "25% 0.079710 0.000000 5.692500 0.000000 0.448750 5.872750 \n", + "50% 0.243035 0.000000 9.690000 0.000000 0.532000 6.159500 \n", + "75% 4.367163 0.000000 18.100000 0.000000 0.614000 6.463500 \n", + "max 73.534100 100.000000 27.740000 1.000000 0.871000 8.725000 \n", + "\n", + " AGE DIS RAD TAX PTRATIO B \\\n", + "count 152.000000 152.000000 152.000000 152.000000 152.000000 152.000000 \n", + "mean 68.051316 3.862975 9.809211 411.019737 18.869079 349.622500 \n", + "std 29.330844 2.062935 8.885388 173.666212 1.876845 100.693218 \n", + "min 6.200000 1.169100 1.000000 188.000000 13.000000 2.520000 \n", + "25% 39.700000 2.216750 4.000000 280.000000 17.800000 370.145000 \n", + "50% 78.500000 3.584950 5.000000 330.000000 19.200000 390.930000 \n", + "75% 95.000000 5.035675 24.000000 666.000000 20.200000 396.307500 \n", + "max 100.000000 10.710300 24.000000 711.000000 22.000000 396.900000 \n", + "\n", + " LSTAT \n", + "count 152.000000 \n", + "mean 13.193224 \n", + "std 7.201917 \n", + "min 2.880000 \n", + "25% 7.482500 \n", + "50% 12.020000 \n", + "75% 17.665000 \n", + "max 36.980000 " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_test.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "1efdc5fa", + "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", + "
Price
count506.000000
mean22.532806
std9.197104
min5.000000
25%17.025000
50%21.200000
75%25.000000
max50.000000
\n", + "
" + ], + "text/plain": [ + " Price\n", + "count 506.000000\n", + "mean 22.532806\n", + "std 9.197104\n", + "min 5.000000\n", + "25% 17.025000\n", + "50% 21.200000\n", + "75% 25.000000\n", + "max 50.000000" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "01c09fd3", + "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", + "
Price
count354.000000
mean23.015819
std9.388585
min5.000000
25%17.400000
50%21.750000
75%26.600000
max50.000000
\n", + "
" + ], + "text/plain": [ + " Price\n", + "count 354.000000\n", + "mean 23.015819\n", + "std 9.388585\n", + "min 5.000000\n", + "25% 17.400000\n", + "50% 21.750000\n", + "75% 26.600000\n", + "max 50.000000" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_train.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "eb6a8d0d", + "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", + "
Price
count152.000000
mean21.407895
std8.660633
min5.000000
25%16.325000
50%20.000000
75%24.125000
max50.000000
\n", + "
" + ], + "text/plain": [ + " Price\n", + "count 152.000000\n", + "mean 21.407895\n", + "std 8.660633\n", + "min 5.000000\n", + "25% 16.325000\n", + "50% 20.000000\n", + "75% 24.125000\n", + "max 50.000000" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_test.describe()" + ] + }, + { + "cell_type": "markdown", + "id": "fafc1d21", + "metadata": {}, + "source": [ + "Создайте модель линейной регрессии под названием lr с помощью класса LinearRegression из модуля sklearn.linear_model." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "ee2c5fc1", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.linear_model import LinearRegression" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "31f423ca", + "metadata": {}, + "outputs": [], + "source": [ + "lr = LinearRegression()" + ] + }, + { + "cell_type": "markdown", + "id": "061127fe", + "metadata": {}, + "source": [ + "Обучите модель на тренировочных данных (используйте все признаки) и сделайте предсказание на тестовых." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "b6b64a8f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "LinearRegression()" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lr.fit(x_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "b657274c", + "metadata": {}, + "outputs": [], + "source": [ + "y_pred = lr.predict(x_test)" + ] + }, + { + "cell_type": "markdown", + "id": "8e9e2228", + "metadata": {}, + "source": [ + "Вычислите R2 полученных предказаний с помощью r2_score из модуля sklearn.metrics." + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "1f9547b7", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.metrics import r2_score" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "7e15062a", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.711226005748496" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lr_r2_score = r2_score(y_test, y_pred)\n", + "lr_r2_score" + ] + }, + { + "cell_type": "markdown", + "id": "6ae23844", + "metadata": {}, + "source": [ + "Сохранение результатов для использования в следующих заданиях" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "888b0771", + "metadata": {}, + "outputs": [], + "source": [ + "x_train.to_pickle('data/x_train.pkl')\n", + "y_train.to_pickle('data/y_train.pkl')\n", + "\n", + "x_test.to_pickle('data/x_test.pkl')\n", + "y_test.to_pickle('data/y_test.pkl')" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "7644ca78", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
lr_r2_score
00.711226
\n", + "
" + ], + "text/plain": [ + " lr_r2_score\n", + "0 0.711226" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "scores = pd.DataFrame()\n", + "scores['lr_r2_score'] = [lr_r2_score]\n", + "scores" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "ff3ebdac", + "metadata": {}, + "outputs": [], + "source": [ + "scores.to_pickle('score/scores.pkl')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44a16517", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/2th_task.ipynb b/2th_task.ipynb new file mode 100644 index 0000000..94ee83e --- /dev/null +++ b/2th_task.ipynb @@ -0,0 +1,420 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "6b09e506", + "metadata": {}, + "source": [ + "### Задание 2" + ] + }, + { + "cell_type": "markdown", + "id": "60671eb0", + "metadata": {}, + "source": [ + "Создайте модель под названием model с помощью RandomForestRegressor из модуля sklearn.ensemble." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d131b423", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "from sklearn.ensemble import RandomForestRegressor" + ] + }, + { + "cell_type": "markdown", + "id": "36eba70b", + "metadata": {}, + "source": [ + "Сделайте агрумент n_estimators равным 1000,\n", + "max_depth должен быть равен 12 и random_state сделайте равным 42." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d520c5ac", + "metadata": {}, + "outputs": [], + "source": [ + "model = RandomForestRegressor( n_estimators = 1000,\n", + " max_depth = 12,\n", + " random_state = 42)" + ] + }, + { + "cell_type": "markdown", + "id": "5aefeaca", + "metadata": {}, + "source": [ + "Обучите модель на тренировочных данных аналогично тому, как вы обучали модель LinearRegression,\n", + "но при этом в метод fit вместо датафрейма y_train поставьте y_train.values[:, 0],\n", + "чтобы получить из датафрейма одномерный массив Numpy,\n", + "так как для класса RandomForestRegressor в данном методе для аргумента y предпочтительно применение массивов вместо датафрейма." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "4d77514d", + "metadata": {}, + "outputs": [], + "source": [ + "x_train = pd.read_pickle('data/x_train.pkl')\n", + "y_train = pd.read_pickle('data/y_train.pkl')\n", + "\n", + "x_test = pd.read_pickle('data/x_test.pkl')\n", + "y_test = pd.read_pickle('data/y_test.pkl')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "d8b1f148", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(354, 13)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "b4ab3cbe", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(354, 1)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c36ea22b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(152, 13)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_test.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "de82d32b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(152, 1)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_test.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "8910b188", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "RandomForestRegressor(max_depth=12, n_estimators=1000, random_state=42)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.fit(x_train, y_train.values[:, 0])" + ] + }, + { + "cell_type": "markdown", + "id": "2e94fe97", + "metadata": {}, + "source": [ + "Сделайте предсказание на тестовых данных и посчитайте R2." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "bd44a8ba", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.metrics import r2_score" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "9ec5c4f1", + "metadata": {}, + "outputs": [], + "source": [ + "y_pred = model.predict(x_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "74bdd189", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.87472606157312" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rfr = r2_score(y_test, y_pred)\n", + "rfr" + ] + }, + { + "cell_type": "markdown", + "id": "96ac37ce", + "metadata": {}, + "source": [ + "Сравните с результатом из предыдущего задания." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "fa012958", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
lr_r2_score
00.711226
\n", + "
" + ], + "text/plain": [ + " lr_r2_score\n", + "0 0.711226" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "scores = pd.read_pickle('score/scores.pkl')\n", + "scores" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "d413281f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
lr_r2_scorerfr_r2_score
00.7112260.874726
\n", + "
" + ], + "text/plain": [ + " lr_r2_score rfr_r2_score\n", + "0 0.711226 0.874726" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "scores['rfr_r2_score'] = [rfr]\n", + "scores.to_pickle('score/scores.pkl')\n", + "scores" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "f7c628db", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model \"Random Forest Regression\" is more accurate than model \"Linear Regression\"!\n" + ] + } + ], + "source": [ + "if scores['lr_r2_score'].values[0] > scores['rfr_r2_score'].values[0]:\n", + " print(f'Model \"Linear Regression\" is more accurate than model \"Random Forest Regression\"!')\n", + "elif scores['lr_r2_score'].values[0] == scores['rfr_r2_score'].values[0]:\n", + " print(f'Model \"Linear Regression\" has the same accuracy as model \"Random Forest Regression\"!')\n", + "elif scores['lr_r2_score'].values[0] < scores['rfr_r2_score'].values[0]:\n", + " print(f'Model \"Random Forest Regression\" is more accurate than model \"Linear Regression\"!')" + ] + }, + { + "cell_type": "markdown", + "id": "fb9138d7", + "metadata": {}, + "source": [ + "Напишите в комментариях к коду, какая модель в данном случае работает лучше." + ] + }, + { + "cell_type": "markdown", + "id": "a5fa7c0c", + "metadata": {}, + "source": [ + "RandomForestRegressor" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f0829d1e", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/3th_task.ipynb b/3th_task.ipynb new file mode 100644 index 0000000..558e3bf --- /dev/null +++ b/3th_task.ipynb @@ -0,0 +1,292 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fa9c98d3", + "metadata": {}, + "source": [ + "### *Задание 3" + ] + }, + { + "cell_type": "markdown", + "id": "07cc21bb", + "metadata": {}, + "source": [ + "Вызовите документацию для класса RandomForestRegressor, найдите информацию об атрибуте feature_importances_." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "f97b27dc", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "from sklearn.ensemble import RandomForestRegressor" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "b1b12422", + "metadata": {}, + "outputs": [], + "source": [ + "? RandomForestRegressor" + ] + }, + { + "cell_type": "markdown", + "id": "96f3059f", + "metadata": {}, + "source": [ + "feature_importances_ : ndarray of shape (n_features,)\n", + " The impurity-based feature importances.\n", + " The higher, the more important the feature.\n", + " The importance of a feature is computed as the (normalized)\n", + " total reduction of the criterion brought by that feature. It is also\n", + " known as the Gini importance.\n", + "\n", + " Warning: impurity-based feature importances can be misleading for\n", + " high cardinality features (many unique values). See\n", + " :func:`sklearn.inspection.permutation_importance` as an alternative." + ] + }, + { + "cell_type": "markdown", + "id": "d7004d95", + "metadata": {}, + "source": [ + "С помощью этого атрибута найдите сумму всех показателей важности,\n", + "установите, какие два признака показывают наибольшую важность." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "745c9be1", + "metadata": {}, + "outputs": [], + "source": [ + "x_train = pd.read_pickle('data/x_train.pkl')\n", + "y_train = pd.read_pickle('data/y_train.pkl')\n", + "\n", + "x_test = pd.read_pickle('data/x_test.pkl')\n", + "y_test = pd.read_pickle('data/y_test.pkl')" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "fd0cfe6f", + "metadata": {}, + "outputs": [], + "source": [ + "model = RandomForestRegressor( n_estimators = 1000,\n", + " max_depth = 12,\n", + " random_state = 42)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "b7de19ab", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "RandomForestRegressor(max_depth=12, n_estimators=1000, random_state=42)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.fit(x_train, y_train.values[:, 0])" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "7b36b206", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.03167574, 0.00154252, 0.00713813, 0.00123624, 0.01426897,\n", + " 0.40268179, 0.01429864, 0.06397257, 0.00528122, 0.01152493,\n", + " 0.01808108, 0.01245085, 0.41584732])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.feature_importances_" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "5229466a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1.0" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.feature_importances_.sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "814158fc", + "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", + "
CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTAT
00.0316760.0015430.0071380.0012360.0142690.4026820.0142990.0639730.0052810.0115250.0180810.0124510.415847
\n", + "
" + ], + "text/plain": [ + " CRIM ZN INDUS CHAS NOX RM AGE \\\n", + "0 0.031676 0.001543 0.007138 0.001236 0.014269 0.402682 0.014299 \n", + "\n", + " DIS RAD TAX PTRATIO B LSTAT \n", + "0 0.063973 0.005281 0.011525 0.018081 0.012451 0.415847 " + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "feature_importances = pd.DataFrame([model.feature_importances_], columns = x_test.columns)\n", + "feature_importances" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "14becbc9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "LSTAT 0.415847\n", + "RM 0.402682\n", + "dtype: float64" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "feature_importances.max().nlargest(n = 2, keep = 'first')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d4a0b4d4", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/4th_task.ipynb b/4th_task.ipynb new file mode 100644 index 0000000..ab2d27f --- /dev/null +++ b/4th_task.ipynb @@ -0,0 +1,1888 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "6f6067a1", + "metadata": {}, + "source": [ + "### *Задание 4" + ] + }, + { + "cell_type": "markdown", + "id": "2a1b6811", + "metadata": {}, + "source": [ + "В этом задании мы будем работать с датасетом, с которым мы уже знакомы по домашнему заданию по библиотеке Matplotlib, это датасет Credit Card Fraud Detection.Для этого датасета мы будем решать задачу классификации - будем определять,какие из транзакциции по кредитной карте являются мошенническими.Данный датасет сильно несбалансирован (так как случаи мошенничества относительно редки),так что применение метрики accuracy не принесет пользы и не поможет выбрать лучшую модель.Мы будем вычислять AUC, то есть площадь под кривой ROC." + ] + }, + { + "cell_type": "markdown", + "id": "6f202fcb", + "metadata": {}, + "source": [ + "Импортируйте из соответствующих модулей RandomForestClassifier, GridSearchCV и train_test_split." + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "55193f37", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "from sklearn.model_selection import GridSearchCV" + ] + }, + { + "cell_type": "markdown", + "id": "2c00f911", + "metadata": {}, + "source": [ + "Загрузите датасет creditcard.csv и создайте датафрейм df." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "58d24857", + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_csv('../4th hometask/creditcard.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "793caebd", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TimeV1V2V3V4V5V6V7V8V9...V21V22V23V24V25V26V27V28AmountClass
count284807.0000002.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+05...2.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+05284807.000000284807.000000
mean94813.8595751.168375e-153.416908e-16-1.379537e-152.074095e-159.604066e-161.487313e-15-5.556467e-161.213481e-16-2.406331e-15...1.654067e-16-3.568593e-162.578648e-164.473266e-155.340915e-161.683437e-15-3.660091e-16-1.227390e-1688.3496190.001727
std47488.1459551.958696e+001.651309e+001.516255e+001.415869e+001.380247e+001.332271e+001.237094e+001.194353e+001.098632e+00...7.345240e-017.257016e-016.244603e-016.056471e-015.212781e-014.822270e-014.036325e-013.300833e-01250.1201090.041527
min0.000000-5.640751e+01-7.271573e+01-4.832559e+01-5.683171e+00-1.137433e+02-2.616051e+01-4.355724e+01-7.321672e+01-1.343407e+01...-3.483038e+01-1.093314e+01-4.480774e+01-2.836627e+00-1.029540e+01-2.604551e+00-2.256568e+01-1.543008e+010.0000000.000000
25%54201.500000-9.203734e-01-5.985499e-01-8.903648e-01-8.486401e-01-6.915971e-01-7.682956e-01-5.540759e-01-2.086297e-01-6.430976e-01...-2.283949e-01-5.423504e-01-1.618463e-01-3.545861e-01-3.171451e-01-3.269839e-01-7.083953e-02-5.295979e-025.6000000.000000
50%84692.0000001.810880e-026.548556e-021.798463e-01-1.984653e-02-5.433583e-02-2.741871e-014.010308e-022.235804e-02-5.142873e-02...-2.945017e-026.781943e-03-1.119293e-024.097606e-021.659350e-02-5.213911e-021.342146e-031.124383e-0222.0000000.000000
75%139320.5000001.315642e+008.037239e-011.027196e+007.433413e-016.119264e-013.985649e-015.704361e-013.273459e-015.971390e-01...1.863772e-015.285536e-011.476421e-014.395266e-013.507156e-012.409522e-019.104512e-027.827995e-0277.1650000.000000
max172792.0000002.454930e+002.205773e+019.382558e+001.687534e+013.480167e+017.330163e+011.205895e+022.000721e+011.559499e+01...2.720284e+011.050309e+012.252841e+014.584549e+007.519589e+003.517346e+003.161220e+013.384781e+0125691.1600001.000000
\n", + "

8 rows × 31 columns

\n", + "
" + ], + "text/plain": [ + " Time V1 V2 V3 V4 \\\n", + "count 284807.000000 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", + "mean 94813.859575 1.168375e-15 3.416908e-16 -1.379537e-15 2.074095e-15 \n", + "std 47488.145955 1.958696e+00 1.651309e+00 1.516255e+00 1.415869e+00 \n", + "min 0.000000 -5.640751e+01 -7.271573e+01 -4.832559e+01 -5.683171e+00 \n", + "25% 54201.500000 -9.203734e-01 -5.985499e-01 -8.903648e-01 -8.486401e-01 \n", + "50% 84692.000000 1.810880e-02 6.548556e-02 1.798463e-01 -1.984653e-02 \n", + "75% 139320.500000 1.315642e+00 8.037239e-01 1.027196e+00 7.433413e-01 \n", + "max 172792.000000 2.454930e+00 2.205773e+01 9.382558e+00 1.687534e+01 \n", + "\n", + " V5 V6 V7 V8 V9 \\\n", + "count 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", + "mean 9.604066e-16 1.487313e-15 -5.556467e-16 1.213481e-16 -2.406331e-15 \n", + "std 1.380247e+00 1.332271e+00 1.237094e+00 1.194353e+00 1.098632e+00 \n", + "min -1.137433e+02 -2.616051e+01 -4.355724e+01 -7.321672e+01 -1.343407e+01 \n", + "25% -6.915971e-01 -7.682956e-01 -5.540759e-01 -2.086297e-01 -6.430976e-01 \n", + "50% -5.433583e-02 -2.741871e-01 4.010308e-02 2.235804e-02 -5.142873e-02 \n", + "75% 6.119264e-01 3.985649e-01 5.704361e-01 3.273459e-01 5.971390e-01 \n", + "max 3.480167e+01 7.330163e+01 1.205895e+02 2.000721e+01 1.559499e+01 \n", + "\n", + " ... V21 V22 V23 V24 \\\n", + "count ... 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", + "mean ... 1.654067e-16 -3.568593e-16 2.578648e-16 4.473266e-15 \n", + "std ... 7.345240e-01 7.257016e-01 6.244603e-01 6.056471e-01 \n", + "min ... -3.483038e+01 -1.093314e+01 -4.480774e+01 -2.836627e+00 \n", + "25% ... -2.283949e-01 -5.423504e-01 -1.618463e-01 -3.545861e-01 \n", + "50% ... -2.945017e-02 6.781943e-03 -1.119293e-02 4.097606e-02 \n", + "75% ... 1.863772e-01 5.285536e-01 1.476421e-01 4.395266e-01 \n", + "max ... 2.720284e+01 1.050309e+01 2.252841e+01 4.584549e+00 \n", + "\n", + " V25 V26 V27 V28 Amount \\\n", + "count 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 284807.000000 \n", + "mean 5.340915e-16 1.683437e-15 -3.660091e-16 -1.227390e-16 88.349619 \n", + "std 5.212781e-01 4.822270e-01 4.036325e-01 3.300833e-01 250.120109 \n", + "min -1.029540e+01 -2.604551e+00 -2.256568e+01 -1.543008e+01 0.000000 \n", + "25% -3.171451e-01 -3.269839e-01 -7.083953e-02 -5.295979e-02 5.600000 \n", + "50% 1.659350e-02 -5.213911e-02 1.342146e-03 1.124383e-02 22.000000 \n", + "75% 3.507156e-01 2.409522e-01 9.104512e-02 7.827995e-02 77.165000 \n", + "max 7.519589e+00 3.517346e+00 3.161220e+01 3.384781e+01 25691.160000 \n", + "\n", + " Class \n", + "count 284807.000000 \n", + "mean 0.001727 \n", + "std 0.041527 \n", + "min 0.000000 \n", + "25% 0.000000 \n", + "50% 0.000000 \n", + "75% 0.000000 \n", + "max 1.000000 \n", + "\n", + "[8 rows x 31 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.describe()" + ] + }, + { + "cell_type": "markdown", + "id": "f4fba9cd", + "metadata": {}, + "source": [ + "С помощью метода value_counts с аргументом normalize=True убедитесь в том, что выборка несбалансирована." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "392ebbbf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Time V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V21 V22 V23 V24 V25 V26 V27 V28 Amount Class\n", + "163152.0 -1.196037 1.585949 2.883976 3.378471 1.511706 3.717077 0.585362 -0.156001 0.122648 4.217934 1.385525 -0.709405 -0.256168 -1.564352 1.693218 -0.785210 -0.228008 -0.412833 0.234834 1.375790 -0.370294 0.524395 -0.355170 -0.869790 -0.133198 0.327804 -0.035702 -0.858197 7.56 0 0.000063\n", + " -1.203617 1.574009 2.889277 3.381404 1.538663 3.698747 0.560211 -0.150911 0.124136 4.220998 1.384569 -0.706897 -0.256274 -1.562583 1.692915 -0.787338 -0.226776 -0.412354 0.234322 1.385597 -0.366727 0.522223 -0.357329 -0.870174 -0.134166 0.327019 -0.042648 -0.855262 1.51 0 0.000063\n", + "43153.0 -2.086016 2.203265 1.654339 2.941050 -1.683045 0.529728 -1.352162 1.793449 -0.723686 0.600365 -0.982212 -0.551636 -1.337000 0.834403 1.251862 0.033455 1.067978 0.160510 0.213087 0.079002 0.216444 0.567241 -0.035345 0.370201 0.157378 0.440341 0.210230 0.090558 0.76 0 0.000032\n", + "170731.0 2.033492 0.766969 -2.107555 3.631952 1.348594 -0.499907 0.945159 -0.286392 -1.370581 1.653073 -1.600434 -1.510901 -2.143280 1.189850 -0.875588 0.175808 -0.419433 -0.464717 -1.414528 -0.430560 0.241894 0.658545 -0.102644 0.580535 0.643637 0.347240 -0.116618 -0.078601 0.76 0 0.000032\n", + "68207.0 -13.192671 12.785971 -9.906650 3.320337 -4.801176 5.760059 -18.750889 -37.353443 -0.391540 -5.052502 4.406806 -4.610756 -1.909488 -9.072711 -0.226074 -6.211557 -6.248145 -3.149247 0.051576 -3.493050 27.202839 -8.887017 5.303607 -0.639435 0.263203 -0.108877 1.269566 0.939407 1.00 1 0.000021\n", + " ... \n", + "65149.0 -0.608037 0.277482 2.333740 0.713876 -0.686327 0.424502 0.158410 0.277078 0.005665 -0.574444 -0.383596 0.063757 0.435809 -0.294166 1.561564 0.430549 -0.512260 0.321857 -1.089111 0.192164 0.425425 1.077523 0.095700 0.080007 -0.087784 -0.253436 0.077868 0.055774 115.98 0 0.000004\n", + " 0.890428 -0.914533 0.916273 0.533497 -1.417793 -0.283902 -0.520284 0.002223 -1.050330 0.827726 1.336306 0.961705 0.778165 0.101997 0.352339 -0.892199 -0.538873 1.792922 -1.092627 -0.119284 -0.239564 -0.634749 -0.018377 0.482486 0.102384 -0.559266 0.040121 0.067240 192.05 0 0.000004\n", + "65150.0 -0.819167 1.289630 1.155617 -0.356589 0.742668 -1.179886 1.114827 -0.105033 -1.169136 -1.218791 1.841286 0.558376 0.081792 -1.028918 -0.400824 0.722658 0.402985 0.613975 -0.605494 -0.014715 -0.011025 -0.125263 -0.385443 0.449483 0.536560 0.252429 -0.020876 0.072608 0.76 0 0.000004\n", + " -0.283939 1.355339 0.553398 0.255501 0.561040 -1.338352 1.056880 -0.229176 -0.738105 -1.157676 0.000759 -0.543236 -0.313497 -1.370815 0.770587 0.452886 1.064176 0.458320 -0.199074 -0.019922 -0.076192 -0.211969 -0.256209 0.259185 0.096589 0.327896 0.021232 0.083294 0.76 0 0.000004\n", + "172792.0 -0.533413 -0.189733 0.703337 -0.506271 -0.012546 -0.649617 1.577006 -0.414650 0.486180 -0.915427 -1.040458 -0.031513 -0.188093 -0.084316 0.041333 -0.302620 -0.660377 0.167430 -0.256117 0.382948 0.261057 0.643078 0.376777 0.008797 -0.473649 -0.818267 -0.002415 0.013649 217.00 0 0.000004\n", + "Length: 283726, dtype: float64" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.value_counts(normalize = True)" + ] + }, + { + "cell_type": "markdown", + "id": "b6deb0d7", + "metadata": {}, + "source": [ + "Используя метод info, проверьте, все ли столбцы содержат числовые данные и нет ли в них пропусков." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "0dd0d108", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 284807 entries, 0 to 284806\n", + "Data columns (total 31 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Time 284807 non-null float64\n", + " 1 V1 284807 non-null float64\n", + " 2 V2 284807 non-null float64\n", + " 3 V3 284807 non-null float64\n", + " 4 V4 284807 non-null float64\n", + " 5 V5 284807 non-null float64\n", + " 6 V6 284807 non-null float64\n", + " 7 V7 284807 non-null float64\n", + " 8 V8 284807 non-null float64\n", + " 9 V9 284807 non-null float64\n", + " 10 V10 284807 non-null float64\n", + " 11 V11 284807 non-null float64\n", + " 12 V12 284807 non-null float64\n", + " 13 V13 284807 non-null float64\n", + " 14 V14 284807 non-null float64\n", + " 15 V15 284807 non-null float64\n", + " 16 V16 284807 non-null float64\n", + " 17 V17 284807 non-null float64\n", + " 18 V18 284807 non-null float64\n", + " 19 V19 284807 non-null float64\n", + " 20 V20 284807 non-null float64\n", + " 21 V21 284807 non-null float64\n", + " 22 V22 284807 non-null float64\n", + " 23 V23 284807 non-null float64\n", + " 24 V24 284807 non-null float64\n", + " 25 V25 284807 non-null float64\n", + " 26 V26 284807 non-null float64\n", + " 27 V27 284807 non-null float64\n", + " 28 V28 284807 non-null float64\n", + " 29 Amount 284807 non-null float64\n", + " 30 Class 284807 non-null int64 \n", + "dtypes: float64(30), int64(1)\n", + "memory usage: 67.4 MB\n" + ] + } + ], + "source": [ + "df.info()" + ] + }, + { + "cell_type": "markdown", + "id": "8c98fba9", + "metadata": {}, + "source": [ + "Примените следующую настройку, чтобы можно было просматривать все столбцы датафрейма:\n", + "pd.options.display.max_columns = 100." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "16a2b2cc", + "metadata": {}, + "outputs": [], + "source": [ + "pd.options.display.max_columns = 100" + ] + }, + { + "cell_type": "markdown", + "id": "79d14576", + "metadata": {}, + "source": [ + "Просмотрите первые 10 строк датафрейма df." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "a072aecf", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TimeV1V2V3V4V5V6V7V8V9V10V11V12V13V14V15V16V17V18V19V20V21V22V23V24V25V26V27V28AmountClass
00.0-1.359807-0.0727812.5363471.378155-0.3383210.4623880.2395990.0986980.3637870.090794-0.551600-0.617801-0.991390-0.3111691.468177-0.4704010.2079710.0257910.4039930.251412-0.0183070.277838-0.1104740.0669280.128539-0.1891150.133558-0.021053149.620
10.01.1918570.2661510.1664800.4481540.060018-0.082361-0.0788030.085102-0.255425-0.1669741.6127271.0652350.489095-0.1437720.6355580.463917-0.114805-0.183361-0.145783-0.069083-0.225775-0.6386720.101288-0.3398460.1671700.125895-0.0089830.0147242.690
21.0-1.358354-1.3401631.7732090.379780-0.5031981.8004990.7914610.247676-1.5146540.2076430.6245010.0660840.717293-0.1659462.345865-2.8900831.109969-0.121359-2.2618570.5249800.2479980.7716790.909412-0.689281-0.327642-0.139097-0.055353-0.059752378.660
31.0-0.966272-0.1852261.792993-0.863291-0.0103091.2472030.2376090.377436-1.387024-0.054952-0.2264870.1782280.507757-0.287924-0.631418-1.059647-0.6840931.965775-1.232622-0.208038-0.1083000.005274-0.190321-1.1755750.647376-0.2219290.0627230.061458123.500
42.0-1.1582330.8777371.5487180.403034-0.4071930.0959210.592941-0.2705330.8177390.753074-0.8228430.5381961.345852-1.1196700.175121-0.451449-0.237033-0.0381950.8034870.408542-0.0094310.798278-0.1374580.141267-0.2060100.5022920.2194220.21515369.990
52.0-0.4259660.9605231.141109-0.1682520.420987-0.0297280.4762010.260314-0.568671-0.3714071.3412620.359894-0.358091-0.1371340.5176170.401726-0.0581330.068653-0.0331940.084968-0.208254-0.559825-0.026398-0.371427-0.2327940.1059150.2538440.0810803.670
64.01.2296580.1410040.0453711.2026130.1918810.272708-0.0051590.0812130.464960-0.099254-1.416907-0.153826-0.7510630.1673720.050144-0.4435870.002821-0.611987-0.045575-0.219633-0.167716-0.270710-0.154104-0.7800550.750137-0.2572370.0345070.0051684.990
77.0-0.6442691.4179641.074380-0.4921990.9489340.4281181.120631-3.8078640.6153751.249376-0.6194680.2914741.757964-1.3238650.686133-0.076127-1.222127-0.3582220.324505-0.1567421.943465-1.0154550.057504-0.649709-0.415267-0.051634-1.206921-1.08533940.800
87.0-0.8942860.286157-0.113192-0.2715262.6695993.7218180.3701450.851084-0.392048-0.410430-0.705117-0.110452-0.2862540.074355-0.328783-0.210077-0.4997680.1187650.5703280.052736-0.073425-0.268092-0.2042331.0115920.373205-0.3841570.0117470.14240493.200
99.0-0.3382621.1195931.044367-0.2221870.499361-0.2467610.6515830.069539-0.736727-0.3668461.0176140.8363901.006844-0.4435230.1502190.739453-0.5409800.4766770.4517730.203711-0.246914-0.633753-0.120794-0.385050-0.0697330.0941990.2462190.0830763.680
\n", + "
" + ], + "text/plain": [ + " Time V1 V2 V3 V4 V5 V6 V7 \\\n", + "0 0.0 -1.359807 -0.072781 2.536347 1.378155 -0.338321 0.462388 0.239599 \n", + "1 0.0 1.191857 0.266151 0.166480 0.448154 0.060018 -0.082361 -0.078803 \n", + "2 1.0 -1.358354 -1.340163 1.773209 0.379780 -0.503198 1.800499 0.791461 \n", + "3 1.0 -0.966272 -0.185226 1.792993 -0.863291 -0.010309 1.247203 0.237609 \n", + "4 2.0 -1.158233 0.877737 1.548718 0.403034 -0.407193 0.095921 0.592941 \n", + "5 2.0 -0.425966 0.960523 1.141109 -0.168252 0.420987 -0.029728 0.476201 \n", + "6 4.0 1.229658 0.141004 0.045371 1.202613 0.191881 0.272708 -0.005159 \n", + "7 7.0 -0.644269 1.417964 1.074380 -0.492199 0.948934 0.428118 1.120631 \n", + "8 7.0 -0.894286 0.286157 -0.113192 -0.271526 2.669599 3.721818 0.370145 \n", + "9 9.0 -0.338262 1.119593 1.044367 -0.222187 0.499361 -0.246761 0.651583 \n", + "\n", + " V8 V9 V10 V11 V12 V13 V14 \\\n", + "0 0.098698 0.363787 0.090794 -0.551600 -0.617801 -0.991390 -0.311169 \n", + "1 0.085102 -0.255425 -0.166974 1.612727 1.065235 0.489095 -0.143772 \n", + "2 0.247676 -1.514654 0.207643 0.624501 0.066084 0.717293 -0.165946 \n", + "3 0.377436 -1.387024 -0.054952 -0.226487 0.178228 0.507757 -0.287924 \n", + "4 -0.270533 0.817739 0.753074 -0.822843 0.538196 1.345852 -1.119670 \n", + "5 0.260314 -0.568671 -0.371407 1.341262 0.359894 -0.358091 -0.137134 \n", + "6 0.081213 0.464960 -0.099254 -1.416907 -0.153826 -0.751063 0.167372 \n", + "7 -3.807864 0.615375 1.249376 -0.619468 0.291474 1.757964 -1.323865 \n", + "8 0.851084 -0.392048 -0.410430 -0.705117 -0.110452 -0.286254 0.074355 \n", + "9 0.069539 -0.736727 -0.366846 1.017614 0.836390 1.006844 -0.443523 \n", + "\n", + " V15 V16 V17 V18 V19 V20 V21 \\\n", + "0 1.468177 -0.470401 0.207971 0.025791 0.403993 0.251412 -0.018307 \n", + "1 0.635558 0.463917 -0.114805 -0.183361 -0.145783 -0.069083 -0.225775 \n", + "2 2.345865 -2.890083 1.109969 -0.121359 -2.261857 0.524980 0.247998 \n", + "3 -0.631418 -1.059647 -0.684093 1.965775 -1.232622 -0.208038 -0.108300 \n", + "4 0.175121 -0.451449 -0.237033 -0.038195 0.803487 0.408542 -0.009431 \n", + "5 0.517617 0.401726 -0.058133 0.068653 -0.033194 0.084968 -0.208254 \n", + "6 0.050144 -0.443587 0.002821 -0.611987 -0.045575 -0.219633 -0.167716 \n", + "7 0.686133 -0.076127 -1.222127 -0.358222 0.324505 -0.156742 1.943465 \n", + "8 -0.328783 -0.210077 -0.499768 0.118765 0.570328 0.052736 -0.073425 \n", + "9 0.150219 0.739453 -0.540980 0.476677 0.451773 0.203711 -0.246914 \n", + "\n", + " V22 V23 V24 V25 V26 V27 V28 \\\n", + "0 0.277838 -0.110474 0.066928 0.128539 -0.189115 0.133558 -0.021053 \n", + "1 -0.638672 0.101288 -0.339846 0.167170 0.125895 -0.008983 0.014724 \n", + "2 0.771679 0.909412 -0.689281 -0.327642 -0.139097 -0.055353 -0.059752 \n", + "3 0.005274 -0.190321 -1.175575 0.647376 -0.221929 0.062723 0.061458 \n", + "4 0.798278 -0.137458 0.141267 -0.206010 0.502292 0.219422 0.215153 \n", + "5 -0.559825 -0.026398 -0.371427 -0.232794 0.105915 0.253844 0.081080 \n", + "6 -0.270710 -0.154104 -0.780055 0.750137 -0.257237 0.034507 0.005168 \n", + "7 -1.015455 0.057504 -0.649709 -0.415267 -0.051634 -1.206921 -1.085339 \n", + "8 -0.268092 -0.204233 1.011592 0.373205 -0.384157 0.011747 0.142404 \n", + "9 -0.633753 -0.120794 -0.385050 -0.069733 0.094199 0.246219 0.083076 \n", + "\n", + " Amount Class \n", + "0 149.62 0 \n", + "1 2.69 0 \n", + "2 378.66 0 \n", + "3 123.50 0 \n", + "4 69.99 0 \n", + "5 3.67 0 \n", + "6 4.99 0 \n", + "7 40.80 0 \n", + "8 93.20 0 \n", + "9 3.68 0 " + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head(10)" + ] + }, + { + "cell_type": "markdown", + "id": "4637cfc8", + "metadata": {}, + "source": [ + "Создайте датафрейм X из датафрейма df, исключив столбец Class." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "1457947a", + "metadata": {}, + "outputs": [], + "source": [ + "x = df.drop(['Class'], axis = 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "a98f6859", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TimeV1V2V3V4V5V6V7V8V9V10V11V12V13V14V15V16V17V18V19V20V21V22V23V24V25V26V27V28Amount
count284807.0000002.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+052.848070e+05284807.000000
mean94813.8595751.168375e-153.416908e-16-1.379537e-152.074095e-159.604066e-161.487313e-15-5.556467e-161.213481e-16-2.406331e-152.239053e-151.673327e-15-1.247012e-158.190001e-161.207294e-154.887456e-151.437716e-15-3.772171e-169.564149e-161.039917e-156.406204e-161.654067e-16-3.568593e-162.578648e-164.473266e-155.340915e-161.683437e-15-3.660091e-16-1.227390e-1688.349619
std47488.1459551.958696e+001.651309e+001.516255e+001.415869e+001.380247e+001.332271e+001.237094e+001.194353e+001.098632e+001.088850e+001.020713e+009.992014e-019.952742e-019.585956e-019.153160e-018.762529e-018.493371e-018.381762e-018.140405e-017.709250e-017.345240e-017.257016e-016.244603e-016.056471e-015.212781e-014.822270e-014.036325e-013.300833e-01250.120109
min0.000000-5.640751e+01-7.271573e+01-4.832559e+01-5.683171e+00-1.137433e+02-2.616051e+01-4.355724e+01-7.321672e+01-1.343407e+01-2.458826e+01-4.797473e+00-1.868371e+01-5.791881e+00-1.921433e+01-4.498945e+00-1.412985e+01-2.516280e+01-9.498746e+00-7.213527e+00-5.449772e+01-3.483038e+01-1.093314e+01-4.480774e+01-2.836627e+00-1.029540e+01-2.604551e+00-2.256568e+01-1.543008e+010.000000
25%54201.500000-9.203734e-01-5.985499e-01-8.903648e-01-8.486401e-01-6.915971e-01-7.682956e-01-5.540759e-01-2.086297e-01-6.430976e-01-5.354257e-01-7.624942e-01-4.055715e-01-6.485393e-01-4.255740e-01-5.828843e-01-4.680368e-01-4.837483e-01-4.988498e-01-4.562989e-01-2.117214e-01-2.283949e-01-5.423504e-01-1.618463e-01-3.545861e-01-3.171451e-01-3.269839e-01-7.083953e-02-5.295979e-025.600000
50%84692.0000001.810880e-026.548556e-021.798463e-01-1.984653e-02-5.433583e-02-2.741871e-014.010308e-022.235804e-02-5.142873e-02-9.291738e-02-3.275735e-021.400326e-01-1.356806e-025.060132e-024.807155e-026.641332e-02-6.567575e-02-3.636312e-033.734823e-03-6.248109e-02-2.945017e-026.781943e-03-1.119293e-024.097606e-021.659350e-02-5.213911e-021.342146e-031.124383e-0222.000000
75%139320.5000001.315642e+008.037239e-011.027196e+007.433413e-016.119264e-013.985649e-015.704361e-013.273459e-015.971390e-014.539234e-017.395934e-016.182380e-016.625050e-014.931498e-016.488208e-015.232963e-013.996750e-015.008067e-014.589494e-011.330408e-011.863772e-015.285536e-011.476421e-014.395266e-013.507156e-012.409522e-019.104512e-027.827995e-0277.165000
max172792.0000002.454930e+002.205773e+019.382558e+001.687534e+013.480167e+017.330163e+011.205895e+022.000721e+011.559499e+012.374514e+011.201891e+017.848392e+007.126883e+001.052677e+018.877742e+001.731511e+019.253526e+005.041069e+005.591971e+003.942090e+012.720284e+011.050309e+012.252841e+014.584549e+007.519589e+003.517346e+003.161220e+013.384781e+0125691.160000
\n", + "
" + ], + "text/plain": [ + " Time V1 V2 V3 V4 \\\n", + "count 284807.000000 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", + "mean 94813.859575 1.168375e-15 3.416908e-16 -1.379537e-15 2.074095e-15 \n", + "std 47488.145955 1.958696e+00 1.651309e+00 1.516255e+00 1.415869e+00 \n", + "min 0.000000 -5.640751e+01 -7.271573e+01 -4.832559e+01 -5.683171e+00 \n", + "25% 54201.500000 -9.203734e-01 -5.985499e-01 -8.903648e-01 -8.486401e-01 \n", + "50% 84692.000000 1.810880e-02 6.548556e-02 1.798463e-01 -1.984653e-02 \n", + "75% 139320.500000 1.315642e+00 8.037239e-01 1.027196e+00 7.433413e-01 \n", + "max 172792.000000 2.454930e+00 2.205773e+01 9.382558e+00 1.687534e+01 \n", + "\n", + " V5 V6 V7 V8 V9 \\\n", + "count 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", + "mean 9.604066e-16 1.487313e-15 -5.556467e-16 1.213481e-16 -2.406331e-15 \n", + "std 1.380247e+00 1.332271e+00 1.237094e+00 1.194353e+00 1.098632e+00 \n", + "min -1.137433e+02 -2.616051e+01 -4.355724e+01 -7.321672e+01 -1.343407e+01 \n", + "25% -6.915971e-01 -7.682956e-01 -5.540759e-01 -2.086297e-01 -6.430976e-01 \n", + "50% -5.433583e-02 -2.741871e-01 4.010308e-02 2.235804e-02 -5.142873e-02 \n", + "75% 6.119264e-01 3.985649e-01 5.704361e-01 3.273459e-01 5.971390e-01 \n", + "max 3.480167e+01 7.330163e+01 1.205895e+02 2.000721e+01 1.559499e+01 \n", + "\n", + " V10 V11 V12 V13 V14 \\\n", + "count 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", + "mean 2.239053e-15 1.673327e-15 -1.247012e-15 8.190001e-16 1.207294e-15 \n", + "std 1.088850e+00 1.020713e+00 9.992014e-01 9.952742e-01 9.585956e-01 \n", + "min -2.458826e+01 -4.797473e+00 -1.868371e+01 -5.791881e+00 -1.921433e+01 \n", + "25% -5.354257e-01 -7.624942e-01 -4.055715e-01 -6.485393e-01 -4.255740e-01 \n", + "50% -9.291738e-02 -3.275735e-02 1.400326e-01 -1.356806e-02 5.060132e-02 \n", + "75% 4.539234e-01 7.395934e-01 6.182380e-01 6.625050e-01 4.931498e-01 \n", + "max 2.374514e+01 1.201891e+01 7.848392e+00 7.126883e+00 1.052677e+01 \n", + "\n", + " V15 V16 V17 V18 V19 \\\n", + "count 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", + "mean 4.887456e-15 1.437716e-15 -3.772171e-16 9.564149e-16 1.039917e-15 \n", + "std 9.153160e-01 8.762529e-01 8.493371e-01 8.381762e-01 8.140405e-01 \n", + "min -4.498945e+00 -1.412985e+01 -2.516280e+01 -9.498746e+00 -7.213527e+00 \n", + "25% -5.828843e-01 -4.680368e-01 -4.837483e-01 -4.988498e-01 -4.562989e-01 \n", + "50% 4.807155e-02 6.641332e-02 -6.567575e-02 -3.636312e-03 3.734823e-03 \n", + "75% 6.488208e-01 5.232963e-01 3.996750e-01 5.008067e-01 4.589494e-01 \n", + "max 8.877742e+00 1.731511e+01 9.253526e+00 5.041069e+00 5.591971e+00 \n", + "\n", + " V20 V21 V22 V23 V24 \\\n", + "count 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", + "mean 6.406204e-16 1.654067e-16 -3.568593e-16 2.578648e-16 4.473266e-15 \n", + "std 7.709250e-01 7.345240e-01 7.257016e-01 6.244603e-01 6.056471e-01 \n", + "min -5.449772e+01 -3.483038e+01 -1.093314e+01 -4.480774e+01 -2.836627e+00 \n", + "25% -2.117214e-01 -2.283949e-01 -5.423504e-01 -1.618463e-01 -3.545861e-01 \n", + "50% -6.248109e-02 -2.945017e-02 6.781943e-03 -1.119293e-02 4.097606e-02 \n", + "75% 1.330408e-01 1.863772e-01 5.285536e-01 1.476421e-01 4.395266e-01 \n", + "max 3.942090e+01 2.720284e+01 1.050309e+01 2.252841e+01 4.584549e+00 \n", + "\n", + " V25 V26 V27 V28 Amount \n", + "count 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 284807.000000 \n", + "mean 5.340915e-16 1.683437e-15 -3.660091e-16 -1.227390e-16 88.349619 \n", + "std 5.212781e-01 4.822270e-01 4.036325e-01 3.300833e-01 250.120109 \n", + "min -1.029540e+01 -2.604551e+00 -2.256568e+01 -1.543008e+01 0.000000 \n", + "25% -3.171451e-01 -3.269839e-01 -7.083953e-02 -5.295979e-02 5.600000 \n", + "50% 1.659350e-02 -5.213911e-02 1.342146e-03 1.124383e-02 22.000000 \n", + "75% 3.507156e-01 2.409522e-01 9.104512e-02 7.827995e-02 77.165000 \n", + "max 7.519589e+00 3.517346e+00 3.161220e+01 3.384781e+01 25691.160000 " + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x.describe()" + ] + }, + { + "cell_type": "markdown", + "id": "034d2fd7", + "metadata": {}, + "source": [ + "Создайте объект Series под названием y из столбца Class." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "ae733d3b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "pandas.core.series.Series" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(df['Class'])" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "567dea79", + "metadata": {}, + "outputs": [], + "source": [ + "y = df['Class']" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "a535e52d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "pandas.core.series.Series" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(y)" + ] + }, + { + "cell_type": "markdown", + "id": "7cdc19cf", + "metadata": {}, + "source": [ + "Разбейте X и y на тренировочный и тестовый наборы данных при помощи функции train_test_split, используя аргументы: test_size=0.3, random_state=100, stratify=y.\n", + "\n", + "У вас должны получиться объекты X_train, X_test, y_train и y_test." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "b6876e1d", + "metadata": {}, + "outputs": [], + "source": [ + "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.3, random_state = 100, stratify = y)" + ] + }, + { + "cell_type": "markdown", + "id": "f1d467ff", + "metadata": {}, + "source": [ + "Просмотрите информацию о их форме." + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "19181cba", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(199364, 30)" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "39dfce0d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(85443, 30)" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_test.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "3d6c948b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(199364,)" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "879bac5e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(85443,)" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_test.shape" + ] + }, + { + "cell_type": "markdown", + "id": "d3fd9970", + "metadata": {}, + "source": [ + "Для поиска по сетке параметров задайте такие параметры:\n", + "\n", + "parameters = [{'n_estimators': [10, 15],\n", + "\n", + "'max_features': np.arange(3, 5),\n", + "\n", + "'max_depth': np.arange(4, 7)}]" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "c3eee1ef", + "metadata": {}, + "outputs": [], + "source": [ + "parameters = [{'n_estimators': [10, 15],\n", + " 'max_features': np.arange(3, 5),\n", + " 'max_depth': np.arange(4, 7)}]" + ] + }, + { + "cell_type": "markdown", + "id": "bd4eb9e3", + "metadata": {}, + "source": [ + "Создайте модель GridSearchCV со следующими аргументами:\n", + "\n", + "estimator=RandomForestClassifier(random_state=100),\n", + "\n", + "param_grid=parameters,\n", + "\n", + "scoring='roc_auc',\n", + "\n", + "cv=3." + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "ef708920", + "metadata": {}, + "outputs": [], + "source": [ + "clf = GridSearchCV( estimator = RandomForestClassifier(random_state = 100), \n", + " param_grid = parameters,\n", + " scoring = 'roc_auc',\n", + " cv = 3)" + ] + }, + { + "cell_type": "markdown", + "id": "83498585", + "metadata": {}, + "source": [ + "Обучите модель на тренировочном наборе данных (может занять несколько минут)." + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "15ae214e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "GridSearchCV(cv=3, estimator=RandomForestClassifier(random_state=100),\n", + " param_grid=[{'max_depth': array([4, 5, 6]),\n", + " 'max_features': array([3, 4]),\n", + " 'n_estimators': [10, 15]}],\n", + " scoring='roc_auc')" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "clf.fit(x_train, y_train)" + ] + }, + { + "cell_type": "markdown", + "id": "af25d4e4", + "metadata": {}, + "source": [ + "Просмотрите параметры лучшей модели с помощью атрибута best_params_." + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "fd2acffd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'max_depth': 6, 'max_features': 3, 'n_estimators': 15}" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "clf.best_params_" + ] + }, + { + "cell_type": "markdown", + "id": "f824c005", + "metadata": {}, + "source": [ + "Предскажите вероятности классов с помощью полученнной модели и метода predict_proba." + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "cbaef3e2", + "metadata": {}, + "outputs": [], + "source": [ + "y_pred_proba = clf.predict_proba(x_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "1216945d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(85443, 2)" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_pred_proba.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "3c8982ef", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[9.99070828e-01, 9.29171738e-04],\n", + " [9.99704794e-01, 2.95206364e-04],\n", + " [9.99717846e-01, 2.82154033e-04],\n", + " ...,\n", + " [9.99717846e-01, 2.82154033e-04],\n", + " [9.99317795e-01, 6.82204754e-04],\n", + " [9.87539019e-01, 1.24609813e-02]])" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_pred_proba" + ] + }, + { + "cell_type": "markdown", + "id": "1d4cabbd", + "metadata": {}, + "source": [ + "Из полученного результата (массив Numpy) выберите столбец с индексом 1 (вероятность класса 1) и запишите в массив y_pred_proba." + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "80070310", + "metadata": {}, + "outputs": [], + "source": [ + "y_pred_proba = y_pred_proba[:, 1]" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "546b38e2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(85443,)" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_pred_proba.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "569d8dae", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.00092917, 0.00029521, 0.00028215, ..., 0.00028215, 0.0006822 ,\n", + " 0.01246098])" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_pred_proba" + ] + }, + { + "cell_type": "markdown", + "id": "b36472b1", + "metadata": {}, + "source": [ + "Из модуля sklearn.metrics импортируйте метрику roc_auc_score." + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "ccafc28f", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.metrics import roc_auc_score" + ] + }, + { + "cell_type": "markdown", + "id": "6630030f", + "metadata": {}, + "source": [ + "Вычислите AUC на тестовых данных и сравните с результатом, полученным на тренировочных данных, используя в качестве аргументов массивы y_test и y_pred_proba." + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "44a72323", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.9462664156037156" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "roc_auc_score(y_test, y_pred_proba)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fd57c08d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/data/x_test.pkl b/data/x_test.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f8d590e4837f23c4d0c56a10f96d1e630b0c2dd7 GIT binary patch literal 17920 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�-PJssGlwvBS8YDEau}bUNqI13brRmCJRcH{&`vo(~~@5FSqZ z$nlZ!n(f+tu7>rq&^NPF%T<5tcKtNI+2g4^xBMpiOEe4@Ur(C*pK&~uc}d-L;yd23 z{?x*}1F7~tOnJQ_U$};KmsM0(9vF>vzHEwbN;lMdneT;4y)`G?$@Yh?5!Sn1*Zi)p z$H-6de7v2HHXeGm$#j!({E_id@I>jaMgE{F8wag8U#QD5${Uf#5|7G{fYXs$<$>|Z zF>ln|R4HWKsRvzlFRNH7oOz{VT;RMB;}7|%IOov+gRC}ta-2Z>IOQ37lf2hChU%6+ zAi5Ey*#*zvAIY;T@b?#@0nc4AZaD6bw1a-k6MaB_6Fi~JH^I$;Pycj>{2q9%kR>_d zo8ZCno8Tt#4e(m#I^vf_%r52zW>@XELCo%De;K5u_FEt37tC$UZOvZhcINix4(5*L zPG)a&XS0vlSNp{d{yMp7hRs^V$J@7yw=e!kib?#ciOpQYS|v{V6_hmFNO`%+6jM@$ z_ClDon)nr!Sn*n#%~~xkW4!nslVtJV%4tdC$7nxA5~76E3aOwyO@=8WP5w4WtoW4@ z@sljtub}YHv&2q}PdCY*MHwmHYf4WSKfIznNo+!rX`KA8t0^gIQf6B0*o+kM$)@!9 S*d$Y2d{UZiPFhBs_x}M=Kguuw literal 0 HcmV?d00001 diff --git a/data/x_train.pkl b/data/x_train.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a96911ebdf170f74a84cc94be88e78eb277eebdf GIT binary patch literal 40546 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 literal 0 HcmV?d00001 diff --git a/data/y_test.pkl b/data/y_test.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f4b88d3af41b3c120bcbb1e45c171932eb668330 GIT binary patch literal 3224 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 IGEJ8J1!HzSHUIzs literal 0 HcmV?d00001 From cd8d36c3a4961245677e1d9b9b366cfc8ffda591 Mon Sep 17 00:00:00 2001 From: SergeyZ06 Date: Mon, 10 May 2021 13:07:10 +0300 Subject: [PATCH 2/3] Supplementary tasks have been solved --- 5th_task.ipynb | 2372 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2372 insertions(+) create mode 100644 5th_task.ipynb diff --git a/5th_task.ipynb b/5th_task.ipynb new file mode 100644 index 0000000..a1d2b4f --- /dev/null +++ b/5th_task.ipynb @@ -0,0 +1,2372 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "cdbabd90", + "metadata": {}, + "source": [ + "### *Дополнительные задания:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "5b166c46", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "id": "4dc0a817", + "metadata": {}, + "source": [ + "1). Загрузите датасет Wine из встроенных датасетов sklearn.datasets с помощью функции load_wine в переменную data." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "82aa9de9", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.datasets import load_wine" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "07c48f45", + "metadata": {}, + "outputs": [], + "source": [ + "data = load_wine()" + ] + }, + { + "cell_type": "markdown", + "id": "aa8ff8b5", + "metadata": {}, + "source": [ + "2). Полученный датасет не является датафреймом. Это структура данных, имеющая ключи аналогично словарю. Просмотрите тип данных этой структуры данных и создайте список data_keys, содержащий ее ключи." + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "06bff2ae", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "sklearn.utils.Bunch" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "c581a8dc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names'])" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_keys = data.keys()\n", + "data_keys" + ] + }, + { + "cell_type": "markdown", + "id": "7fde60f3", + "metadata": {}, + "source": [ + "3). Просмотрите данные, описание и названия признаков в датасете. Описание нужно вывести в виде привычного, аккуратно оформленного текста, без обозначений переноса строки, но с самими переносами и т.д." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "2c2d7986", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1.423e+01, 1.710e+00, 2.430e+00, ..., 1.040e+00, 3.920e+00,\n", + " 1.065e+03],\n", + " [1.320e+01, 1.780e+00, 2.140e+00, ..., 1.050e+00, 3.400e+00,\n", + " 1.050e+03],\n", + " [1.316e+01, 2.360e+00, 2.670e+00, ..., 1.030e+00, 3.170e+00,\n", + " 1.185e+03],\n", + " ...,\n", + " [1.327e+01, 4.280e+00, 2.260e+00, ..., 5.900e-01, 1.560e+00,\n", + " 8.350e+02],\n", + " [1.317e+01, 2.590e+00, 2.370e+00, ..., 6.000e-01, 1.620e+00,\n", + " 8.400e+02],\n", + " [1.413e+01, 4.100e+00, 2.740e+00, ..., 6.100e-01, 1.600e+00,\n", + " 5.600e+02]])" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.data" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "3eb94690", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + ".. _wine_dataset:\n", + "\n", + "Wine recognition dataset\n", + "------------------------\n", + "\n", + "**Data Set Characteristics:**\n", + "\n", + " :Number of Instances: 178 (50 in each of three classes)\n", + " :Number of Attributes: 13 numeric, predictive attributes and the class\n", + " :Attribute Information:\n", + " \t\t- Alcohol\n", + " \t\t- Malic acid\n", + " \t\t- Ash\n", + "\t\t- Alcalinity of ash \n", + " \t\t- Magnesium\n", + "\t\t- Total phenols\n", + " \t\t- Flavanoids\n", + " \t\t- Nonflavanoid phenols\n", + " \t\t- Proanthocyanins\n", + "\t\t- Color intensity\n", + " \t\t- Hue\n", + " \t\t- OD280/OD315 of diluted wines\n", + " \t\t- Proline\n", + "\n", + " - class:\n", + " - class_0\n", + " - class_1\n", + " - class_2\n", + "\t\t\n", + " :Summary Statistics:\n", + " \n", + " ============================= ==== ===== ======= =====\n", + " Min Max Mean SD\n", + " ============================= ==== ===== ======= =====\n", + " Alcohol: 11.0 14.8 13.0 0.8\n", + " Malic Acid: 0.74 5.80 2.34 1.12\n", + " Ash: 1.36 3.23 2.36 0.27\n", + " Alcalinity of Ash: 10.6 30.0 19.5 3.3\n", + " Magnesium: 70.0 162.0 99.7 14.3\n", + " Total Phenols: 0.98 3.88 2.29 0.63\n", + " Flavanoids: 0.34 5.08 2.03 1.00\n", + " Nonflavanoid Phenols: 0.13 0.66 0.36 0.12\n", + " Proanthocyanins: 0.41 3.58 1.59 0.57\n", + " Colour Intensity: 1.3 13.0 5.1 2.3\n", + " Hue: 0.48 1.71 0.96 0.23\n", + " OD280/OD315 of diluted wines: 1.27 4.00 2.61 0.71\n", + " Proline: 278 1680 746 315\n", + " ============================= ==== ===== ======= =====\n", + "\n", + " :Missing Attribute Values: None\n", + " :Class Distribution: class_0 (59), class_1 (71), class_2 (48)\n", + " :Creator: R.A. Fisher\n", + " :Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)\n", + " :Date: July, 1988\n", + "\n", + "This is a copy of UCI ML Wine recognition datasets.\n", + "https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data\n", + "\n", + "The data is the results of a chemical analysis of wines grown in the same\n", + "region in Italy by three different cultivators. There are thirteen different\n", + "measurements taken for different constituents found in the three types of\n", + "wine.\n", + "\n", + "Original Owners: \n", + "\n", + "Forina, M. et al, PARVUS - \n", + "An Extendible Package for Data Exploration, Classification and Correlation. \n", + "Institute of Pharmaceutical and Food Analysis and Technologies,\n", + "Via Brigata Salerno, 16147 Genoa, Italy.\n", + "\n", + "Citation:\n", + "\n", + "Lichman, M. (2013). UCI Machine Learning Repository\n", + "[https://archive.ics.uci.edu/ml]. Irvine, CA: University of California,\n", + "School of Information and Computer Science. \n", + "\n", + ".. topic:: References\n", + "\n", + " (1) S. Aeberhard, D. Coomans and O. de Vel, \n", + " Comparison of Classifiers in High Dimensional Settings, \n", + " Tech. Rep. no. 92-02, (1992), Dept. of Computer Science and Dept. of \n", + " Mathematics and Statistics, James Cook University of North Queensland. \n", + " (Also submitted to Technometrics). \n", + "\n", + " The data was used with many others for comparing various \n", + " classifiers. The classes are separable, though only RDA \n", + " has achieved 100% correct classification. \n", + " (RDA : 100%, QDA 99.4%, LDA 98.9%, 1NN 96.1% (z-transformed data)) \n", + " (All results using the leave-one-out technique) \n", + "\n", + " (2) S. Aeberhard, D. Coomans and O. de Vel, \n", + " \"THE CLASSIFICATION PERFORMANCE OF RDA\" \n", + " Tech. Rep. no. 92-01, (1992), Dept. of Computer Science and Dept. of \n", + " Mathematics and Statistics, James Cook University of North Queensland. \n", + " (Also submitted to Journal of Chemometrics).\n", + "\n" + ] + } + ], + "source": [ + "for line in data.DESCR.split('\\n'):\n", + " print(line)" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "8442a37e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['alcohol',\n", + " 'malic_acid',\n", + " 'ash',\n", + " 'alcalinity_of_ash',\n", + " 'magnesium',\n", + " 'total_phenols',\n", + " 'flavanoids',\n", + " 'nonflavanoid_phenols',\n", + " 'proanthocyanins',\n", + " 'color_intensity',\n", + " 'hue',\n", + " 'od280/od315_of_diluted_wines',\n", + " 'proline']" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.feature_names" + ] + }, + { + "cell_type": "markdown", + "id": "7e607194", + "metadata": {}, + "source": [ + "4). Сколько классов содержит целевая переменная датасета? Выве\n", + "дите названия классов." + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "1b9a5e70", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['class_0', 'class_1', 'class_2'], dtype='\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
alcoholmalic_acidashalcalinity_of_ashmagnesiumtotal_phenolsflavanoidsnonflavanoid_phenolsproanthocyaninscolor_intensityhueod280/od315_of_diluted_winesproline
014.231.712.4315.6127.02.803.060.282.295.641.043.921065.0
113.201.782.1411.2100.02.652.760.261.284.381.053.401050.0
213.162.362.6718.6101.02.803.240.302.815.681.033.171185.0
314.371.952.5016.8113.03.853.490.242.187.800.863.451480.0
413.242.592.8721.0118.02.802.690.391.824.321.042.93735.0
\n", + "" + ], + "text/plain": [ + " alcohol malic_acid ash alcalinity_of_ash magnesium total_phenols \\\n", + "0 14.23 1.71 2.43 15.6 127.0 2.80 \n", + "1 13.20 1.78 2.14 11.2 100.0 2.65 \n", + "2 13.16 2.36 2.67 18.6 101.0 2.80 \n", + "3 14.37 1.95 2.50 16.8 113.0 3.85 \n", + "4 13.24 2.59 2.87 21.0 118.0 2.80 \n", + "\n", + " flavanoids nonflavanoid_phenols proanthocyanins color_intensity hue \\\n", + "0 3.06 0.28 2.29 5.64 1.04 \n", + "1 2.76 0.26 1.28 4.38 1.05 \n", + "2 3.24 0.30 2.81 5.68 1.03 \n", + "3 3.49 0.24 2.18 7.80 0.86 \n", + "4 2.69 0.39 1.82 4.32 1.04 \n", + "\n", + " od280/od315_of_diluted_wines proline \n", + "0 3.92 1065.0 \n", + "1 3.40 1050.0 \n", + "2 3.17 1185.0 \n", + "3 3.45 1480.0 \n", + "4 2.93 735.0 " + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x.head()" + ] + }, + { + "cell_type": "markdown", + "id": "38a4a1cf", + "metadata": {}, + "source": [ + "6). Выясните размер датафрейма X и установите, имеются ли в нем пропущенные значения." + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "213659ec", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(178, 13)" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "1a8083ca", + "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", + "
alcoholmalic_acidashalcalinity_of_ashmagnesiumtotal_phenolsflavanoidsnonflavanoid_phenolsproanthocyaninscolor_intensityhueod280/od315_of_diluted_winesproline
count178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000
mean13.0006182.3363482.36651719.49494499.7415732.2951122.0292700.3618541.5908995.0580900.9574492.611685746.893258
std0.8118271.1171460.2743443.33956414.2824840.6258510.9988590.1244530.5723592.3182860.2285720.709990314.907474
min11.0300000.7400001.36000010.60000070.0000000.9800000.3400000.1300000.4100001.2800000.4800001.270000278.000000
25%12.3625001.6025002.21000017.20000088.0000001.7425001.2050000.2700001.2500003.2200000.7825001.937500500.500000
50%13.0500001.8650002.36000019.50000098.0000002.3550002.1350000.3400001.5550004.6900000.9650002.780000673.500000
75%13.6775003.0825002.55750021.500000107.0000002.8000002.8750000.4375001.9500006.2000001.1200003.170000985.000000
max14.8300005.8000003.23000030.000000162.0000003.8800005.0800000.6600003.58000013.0000001.7100004.0000001680.000000
\n", + "
" + ], + "text/plain": [ + " alcohol malic_acid ash alcalinity_of_ash magnesium \\\n", + "count 178.000000 178.000000 178.000000 178.000000 178.000000 \n", + "mean 13.000618 2.336348 2.366517 19.494944 99.741573 \n", + "std 0.811827 1.117146 0.274344 3.339564 14.282484 \n", + "min 11.030000 0.740000 1.360000 10.600000 70.000000 \n", + "25% 12.362500 1.602500 2.210000 17.200000 88.000000 \n", + "50% 13.050000 1.865000 2.360000 19.500000 98.000000 \n", + "75% 13.677500 3.082500 2.557500 21.500000 107.000000 \n", + "max 14.830000 5.800000 3.230000 30.000000 162.000000 \n", + "\n", + " total_phenols flavanoids nonflavanoid_phenols proanthocyanins \\\n", + "count 178.000000 178.000000 178.000000 178.000000 \n", + "mean 2.295112 2.029270 0.361854 1.590899 \n", + "std 0.625851 0.998859 0.124453 0.572359 \n", + "min 0.980000 0.340000 0.130000 0.410000 \n", + "25% 1.742500 1.205000 0.270000 1.250000 \n", + "50% 2.355000 2.135000 0.340000 1.555000 \n", + "75% 2.800000 2.875000 0.437500 1.950000 \n", + "max 3.880000 5.080000 0.660000 3.580000 \n", + "\n", + " color_intensity hue od280/od315_of_diluted_wines proline \n", + "count 178.000000 178.000000 178.000000 178.000000 \n", + "mean 5.058090 0.957449 2.611685 746.893258 \n", + "std 2.318286 0.228572 0.709990 314.907474 \n", + "min 1.280000 0.480000 1.270000 278.000000 \n", + "25% 3.220000 0.782500 1.937500 500.500000 \n", + "50% 4.690000 0.965000 2.780000 673.500000 \n", + "75% 6.200000 1.120000 3.170000 985.000000 \n", + "max 13.000000 1.710000 4.000000 1680.000000 " + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "f5c9e3a7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 178 entries, 0 to 177\n", + "Data columns (total 13 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 alcohol 178 non-null float64\n", + " 1 malic_acid 178 non-null float64\n", + " 2 ash 178 non-null float64\n", + " 3 alcalinity_of_ash 178 non-null float64\n", + " 4 magnesium 178 non-null float64\n", + " 5 total_phenols 178 non-null float64\n", + " 6 flavanoids 178 non-null float64\n", + " 7 nonflavanoid_phenols 178 non-null float64\n", + " 8 proanthocyanins 178 non-null float64\n", + " 9 color_intensity 178 non-null float64\n", + " 10 hue 178 non-null float64\n", + " 11 od280/od315_of_diluted_wines 178 non-null float64\n", + " 12 proline 178 non-null float64\n", + "dtypes: float64(13)\n", + "memory usage: 18.2 KB\n" + ] + } + ], + "source": [ + "x.info()" + ] + }, + { + "cell_type": "markdown", + "id": "dfa52f83", + "metadata": {}, + "source": [ + "7). Добавьте в датафрейм поле с классами вин в виде чисел, имеющих тип данных numpy.int64. Название поля - 'target'." + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "8a03f527", + "metadata": {}, + "outputs": [], + "source": [ + "x['target'] = pd.Series(data = data.target, dtype = 'int64')" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "0e5a5b85", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 178 entries, 0 to 177\n", + "Data columns (total 14 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 alcohol 178 non-null float64\n", + " 1 malic_acid 178 non-null float64\n", + " 2 ash 178 non-null float64\n", + " 3 alcalinity_of_ash 178 non-null float64\n", + " 4 magnesium 178 non-null float64\n", + " 5 total_phenols 178 non-null float64\n", + " 6 flavanoids 178 non-null float64\n", + " 7 nonflavanoid_phenols 178 non-null float64\n", + " 8 proanthocyanins 178 non-null float64\n", + " 9 color_intensity 178 non-null float64\n", + " 10 hue 178 non-null float64\n", + " 11 od280/od315_of_diluted_wines 178 non-null float64\n", + " 12 proline 178 non-null float64\n", + " 13 target 178 non-null int64 \n", + "dtypes: float64(13), int64(1)\n", + "memory usage: 19.6 KB\n" + ] + } + ], + "source": [ + "x.info()" + ] + }, + { + "cell_type": "markdown", + "id": "4b1f744b", + "metadata": {}, + "source": [ + "8). Постройте матрицу корреляций для всех полей X. Дайте полученному датафрейму название X_corr." + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "id": "567874ea", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import seaborn as sn" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "id": "bb009194", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
alcoholmalic_acidashalcalinity_of_ashmagnesiumtotal_phenolsflavanoidsnonflavanoid_phenolsproanthocyaninscolor_intensityhueod280/od315_of_diluted_winesprolinetarget
alcohol1.000.000.00-0.310.000.000.000.000.000.550.000.000.64-0.33
malic_acid0.001.000.000.000.00-0.34-0.410.000.000.00-0.56-0.370.000.44
ash0.000.001.000.440.000.000.000.000.000.000.000.000.000.00
alcalinity_of_ash-0.310.000.441.000.00-0.32-0.350.360.000.000.000.00-0.440.52
magnesium0.000.000.000.001.000.000.000.000.000.000.000.000.390.00
total_phenols0.00-0.340.00-0.320.001.000.86-0.450.610.000.430.700.50-0.72
flavanoids0.00-0.410.00-0.350.000.861.00-0.540.650.000.540.790.49-0.85
nonflavanoid_phenols0.000.000.000.360.00-0.45-0.541.00-0.370.000.00-0.50-0.310.49
proanthocyanins0.000.000.000.000.000.610.65-0.371.000.000.300.520.33-0.50
color_intensity0.550.000.000.000.000.000.000.000.001.00-0.52-0.430.320.00
hue0.00-0.560.000.000.000.430.540.000.30-0.521.000.570.00-0.62
od280/od315_of_diluted_wines0.00-0.370.000.000.000.700.79-0.500.52-0.430.571.000.31-0.79
proline0.640.000.00-0.440.390.500.49-0.310.330.320.000.311.00-0.63
target-0.330.440.000.520.00-0.72-0.850.49-0.500.00-0.62-0.79-0.631.00
\n", + "
" + ], + "text/plain": [ + " alcohol malic_acid ash alcalinity_of_ash \\\n", + "alcohol 1.00 0.00 0.00 -0.31 \n", + "malic_acid 0.00 1.00 0.00 0.00 \n", + "ash 0.00 0.00 1.00 0.44 \n", + "alcalinity_of_ash -0.31 0.00 0.44 1.00 \n", + "magnesium 0.00 0.00 0.00 0.00 \n", + "total_phenols 0.00 -0.34 0.00 -0.32 \n", + "flavanoids 0.00 -0.41 0.00 -0.35 \n", + "nonflavanoid_phenols 0.00 0.00 0.00 0.36 \n", + "proanthocyanins 0.00 0.00 0.00 0.00 \n", + "color_intensity 0.55 0.00 0.00 0.00 \n", + "hue 0.00 -0.56 0.00 0.00 \n", + "od280/od315_of_diluted_wines 0.00 -0.37 0.00 0.00 \n", + "proline 0.64 0.00 0.00 -0.44 \n", + "target -0.33 0.44 0.00 0.52 \n", + "\n", + " magnesium total_phenols flavanoids \\\n", + "alcohol 0.00 0.00 0.00 \n", + "malic_acid 0.00 -0.34 -0.41 \n", + "ash 0.00 0.00 0.00 \n", + "alcalinity_of_ash 0.00 -0.32 -0.35 \n", + "magnesium 1.00 0.00 0.00 \n", + "total_phenols 0.00 1.00 0.86 \n", + "flavanoids 0.00 0.86 1.00 \n", + "nonflavanoid_phenols 0.00 -0.45 -0.54 \n", + "proanthocyanins 0.00 0.61 0.65 \n", + "color_intensity 0.00 0.00 0.00 \n", + "hue 0.00 0.43 0.54 \n", + "od280/od315_of_diluted_wines 0.00 0.70 0.79 \n", + "proline 0.39 0.50 0.49 \n", + "target 0.00 -0.72 -0.85 \n", + "\n", + " nonflavanoid_phenols proanthocyanins \\\n", + "alcohol 0.00 0.00 \n", + "malic_acid 0.00 0.00 \n", + "ash 0.00 0.00 \n", + "alcalinity_of_ash 0.36 0.00 \n", + "magnesium 0.00 0.00 \n", + "total_phenols -0.45 0.61 \n", + "flavanoids -0.54 0.65 \n", + "nonflavanoid_phenols 1.00 -0.37 \n", + "proanthocyanins -0.37 1.00 \n", + "color_intensity 0.00 0.00 \n", + "hue 0.00 0.30 \n", + "od280/od315_of_diluted_wines -0.50 0.52 \n", + "proline -0.31 0.33 \n", + "target 0.49 -0.50 \n", + "\n", + " color_intensity hue \\\n", + "alcohol 0.55 0.00 \n", + "malic_acid 0.00 -0.56 \n", + "ash 0.00 0.00 \n", + "alcalinity_of_ash 0.00 0.00 \n", + "magnesium 0.00 0.00 \n", + "total_phenols 0.00 0.43 \n", + "flavanoids 0.00 0.54 \n", + "nonflavanoid_phenols 0.00 0.00 \n", + "proanthocyanins 0.00 0.30 \n", + "color_intensity 1.00 -0.52 \n", + "hue -0.52 1.00 \n", + "od280/od315_of_diluted_wines -0.43 0.57 \n", + "proline 0.32 0.00 \n", + "target 0.00 -0.62 \n", + "\n", + " od280/od315_of_diluted_wines proline target \n", + "alcohol 0.00 0.64 -0.33 \n", + "malic_acid -0.37 0.00 0.44 \n", + "ash 0.00 0.00 0.00 \n", + "alcalinity_of_ash 0.00 -0.44 0.52 \n", + "magnesium 0.00 0.39 0.00 \n", + "total_phenols 0.70 0.50 -0.72 \n", + "flavanoids 0.79 0.49 -0.85 \n", + "nonflavanoid_phenols -0.50 -0.31 0.49 \n", + "proanthocyanins 0.52 0.33 -0.50 \n", + "color_intensity -0.43 0.32 0.00 \n", + "hue 0.57 0.00 -0.62 \n", + "od280/od315_of_diluted_wines 1.00 0.31 -0.79 \n", + "proline 0.31 1.00 -0.63 \n", + "target -0.79 -0.63 1.00 " + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_corr = x.corr()\n", + "x_corr = np.round(x_corr, 2)\n", + "x_corr[np.abs(x_corr) < 0.3] = 0\n", + "\n", + "x_corr" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "id": "73472f2b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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09NzXt++fTtdu3alRo0aNGjQgPHjx3Pnzh1AP+w/ODiYS5f0H6rh4eF8/fXXBtvv3bs37733nsH6ERERtG/fnpCQEHr06MGFCxeYM2cOTZo0oU6dOrz77rtkZmaapvILIC0tFQAnJxej1xwdnUi/97qlkvzmZe35AbISk8iIizd3jAKx5vq35uwg+c1N8puXpeVPydD/jsrt/nsne7uc1/Ny4Nxlwj6Yxad/bqB8CS9eaV4757WXGoQQFZfA5L83EX/nLjeTU/h65XZirt8iXZ1l2h3JB0ure1G0SONfFMikSZPo27cvq1atonz58owdO5ZZs2YxefJkfvnlF65evcq0adMAiI+PZ8iQIVStWpVly5axfPlyatSowUcffcSNGzcA+P333/m///s/3njjDVasWEG9evX47rvvjN53ypQpvP766yxbtowaNWrwySefcPnyZUDfsH/77bfp3r07a9asYeLEiezatYvhw4cDcPv2bYYPH063bt1Yu3Yt3333HZGRkUyZMuWZ6mLy5MlMmjSJxYsXc+vWLXr16kVUVBQ///wzn376KevXr2fJkiXP9B7PQqvVAhgMHTNg4fdQSX7zsvb81s6a69+as4PkNzfJb16Wll+r0z32dQWPz1PauxgLRvTii1faczc9kz7TfuVWsr4R3bVhdd59qTkrIk7QesIcWn08m8sJiXRrVAMHu8IfJG1pdS+KFhn2LwqkU6dOtGnTBoCePXuybds2Ro8eTc2aNQFo27YtW7duBUCtVvPWW28xZMgQlPeG7NxvwMfExODj48OCBQvo27cvPXr0AOCNN97g1KlTnDx50uB9Bw4cSMuWLQEYN24cS5cu5ejRowQGBjJnzhx69OhBnz59AChVqhRffPEFPXr04PTp0wBkZWXh5+eHv78//v7+zJkzB41Gw7N46623cvb7hRde4LfffuOLL77AycmJcuXKsWDBAqKjo5/pPZ6Fs4sr8OBK8sPS09NwcjLfY2zyQ/Kbl7Xnt3bWXP/WnB0kv7lJfvOytPz3e/xTM9RGr6VlqnF5woz8vh6u+Hro9ymkdEk6fTGfpfuOMbR1QwD6t6hL72a1uHLzDm5ODni6OvPhb2txd3J83GafC0ure4shFz1MQhr/okDKlCmT8/8dHfUfjA/PkG9vb09Wln6oVGBgIF27duWXX37h7NmzxMbGcubMGUB/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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize = (15, 10))\n", + "\n", + "sn.set(font_scale = 1.4)\n", + "\n", + "sn.heatmap(x_corr, annot = True, cmap = 'coolwarm', linewidth = 0.5)" + ] + }, + { + "cell_type": "markdown", + "id": "0023496e", + "metadata": {}, + "source": [ + "9). Создайте список high_corr из признаков, корреляция которых с полем target по абсолютному значению превышает 0.5 (причем, само поле target не должно входить в этот список)." + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "id": "bf1eef64", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "alcalinity_of_ash 0.52\n", + "total_phenols -0.72\n", + "flavanoids -0.85\n", + "hue -0.62\n", + "od280/od315_of_diluted_wines -0.79\n", + "proline -0.63\n", + "Name: target, dtype: float64" + ] + }, + "execution_count": 114, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "high_corr = x_corr['target'][(np.abs(x_corr['target']) > 0.5) & (x_corr['target'].keys() != 'target')]\n", + "high_corr" + ] + }, + { + "cell_type": "markdown", + "id": "d9935f3c", + "metadata": {}, + "source": [ + "10). Удалите из датафрейма X поле с целевой переменной. Для всех признаков, названия которых содержатся в списке high_corr, вычислите квадрат их значений и добавьте в датафрейм X соответствующие поля с суффиксом '_2', добавленного к первоначальному названию признака. Итоговый датафрейм должен содержать все поля, которые, были в нем изначально, а также поля с признаками из списка high_corr, возведенными в квадрат. Выведите описание полей датафрейма X с помощью метода describe." + ] + }, + { + "cell_type": "code", + "execution_count": 157, + "id": "d5ff48b7", + "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", + "
alcoholmalic_acidashalcalinity_of_ashmagnesiumtotal_phenolsflavanoidsnonflavanoid_phenolsproanthocyaninscolor_intensityhueod280/od315_of_diluted_winesproline
014.231.712.4315.6127.02.803.060.282.295.641.043.921065.0
113.201.782.1411.2100.02.652.760.261.284.381.053.401050.0
213.162.362.6718.6101.02.803.240.302.815.681.033.171185.0
314.371.952.5016.8113.03.853.490.242.187.800.863.451480.0
413.242.592.8721.0118.02.802.690.391.824.321.042.93735.0
\n", + "
" + ], + "text/plain": [ + " alcohol malic_acid ash alcalinity_of_ash magnesium total_phenols \\\n", + "0 14.23 1.71 2.43 15.6 127.0 2.80 \n", + "1 13.20 1.78 2.14 11.2 100.0 2.65 \n", + "2 13.16 2.36 2.67 18.6 101.0 2.80 \n", + "3 14.37 1.95 2.50 16.8 113.0 3.85 \n", + "4 13.24 2.59 2.87 21.0 118.0 2.80 \n", + "\n", + " flavanoids nonflavanoid_phenols proanthocyanins color_intensity hue \\\n", + "0 3.06 0.28 2.29 5.64 1.04 \n", + "1 2.76 0.26 1.28 4.38 1.05 \n", + "2 3.24 0.30 2.81 5.68 1.03 \n", + "3 3.49 0.24 2.18 7.80 0.86 \n", + "4 2.69 0.39 1.82 4.32 1.04 \n", + "\n", + " od280/od315_of_diluted_wines proline \n", + "0 3.92 1065.0 \n", + "1 3.40 1050.0 \n", + "2 3.17 1185.0 \n", + "3 3.45 1480.0 \n", + "4 2.93 735.0 " + ] + }, + "execution_count": 157, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = x.drop(labels = ['target'], axis = 1)\n", + "x.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 158, + "id": "6d8da08a", + "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", + "
alcalinity_of_ash_2total_phenols_2flavanoids_2hue_2od280/od315_of_diluted_wines_2proline_2
0243.367.84009.36361.081615.36641134225.0
1125.447.02257.61761.102511.56001102500.0
2345.967.840010.49761.060910.04891404225.0
3282.2414.822512.18010.739611.90252190400.0
4441.007.84007.23611.08168.5849540225.0
.....................
173420.252.82240.37210.40963.0276547600.0
174529.003.24000.56250.49002.4336562500.0
175400.002.52810.47610.34812.4336697225.0
176400.002.72250.46240.36002.6244705600.0
177600.254.20250.57760.37212.5600313600.0
\n", + "

178 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " alcalinity_of_ash_2 total_phenols_2 flavanoids_2 hue_2 \\\n", + "0 243.36 7.8400 9.3636 1.0816 \n", + "1 125.44 7.0225 7.6176 1.1025 \n", + "2 345.96 7.8400 10.4976 1.0609 \n", + "3 282.24 14.8225 12.1801 0.7396 \n", + "4 441.00 7.8400 7.2361 1.0816 \n", + ".. ... ... ... ... \n", + "173 420.25 2.8224 0.3721 0.4096 \n", + "174 529.00 3.2400 0.5625 0.4900 \n", + "175 400.00 2.5281 0.4761 0.3481 \n", + "176 400.00 2.7225 0.4624 0.3600 \n", + "177 600.25 4.2025 0.5776 0.3721 \n", + "\n", + " od280/od315_of_diluted_wines_2 proline_2 \n", + "0 15.3664 1134225.0 \n", + "1 11.5600 1102500.0 \n", + "2 10.0489 1404225.0 \n", + "3 11.9025 2190400.0 \n", + "4 8.5849 540225.0 \n", + ".. ... ... \n", + "173 3.0276 547600.0 \n", + "174 2.4336 562500.0 \n", + "175 2.4336 697225.0 \n", + "176 2.6244 705600.0 \n", + "177 2.5600 313600.0 \n", + "\n", + "[178 rows x 6 columns]" + ] + }, + "execution_count": 158, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_2 = x[high_corr.keys()] ** 2\n", + "x_2 = pd.DataFrame(data = x_2.values, columns = list(high_corr.keys() + '_2'))\n", + "x_2" + ] + }, + { + "cell_type": "code", + "execution_count": 160, + "id": "73e17206", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
alcoholmalic_acidashalcalinity_of_ashmagnesiumtotal_phenolsflavanoidsnonflavanoid_phenolsproanthocyaninscolor_intensityhueod280/od315_of_diluted_winesprolinealcalinity_of_ash_2total_phenols_2flavanoids_2hue_2od280/od315_of_diluted_wines_2proline_2
014.231.712.4315.6127.02.803.060.282.295.641.043.921065.0243.367.84009.36361.081615.36641134225.0
113.201.782.1411.2100.02.652.760.261.284.381.053.401050.0125.447.02257.61761.102511.56001102500.0
213.162.362.6718.6101.02.803.240.302.815.681.033.171185.0345.967.840010.49761.060910.04891404225.0
314.371.952.5016.8113.03.853.490.242.187.800.863.451480.0282.2414.822512.18010.739611.90252190400.0
413.242.592.8721.0118.02.802.690.391.824.321.042.93735.0441.007.84007.23611.08168.5849540225.0
............................................................
17313.715.652.4520.595.01.680.610.521.067.700.641.74740.0420.252.82240.37210.40963.0276547600.0
17413.403.912.4823.0102.01.800.750.431.417.300.701.56750.0529.003.24000.56250.49002.4336562500.0
17513.274.282.2620.0120.01.590.690.431.3510.200.591.56835.0400.002.52810.47610.34812.4336697225.0
17613.172.592.3720.0120.01.650.680.531.469.300.601.62840.0400.002.72250.46240.36002.6244705600.0
17714.134.102.7424.596.02.050.760.561.359.200.611.60560.0600.254.20250.57760.37212.5600313600.0
\n", + "

178 rows × 19 columns

\n", + "
" + ], + "text/plain": [ + " alcohol malic_acid ash alcalinity_of_ash magnesium total_phenols \\\n", + "0 14.23 1.71 2.43 15.6 127.0 2.80 \n", + "1 13.20 1.78 2.14 11.2 100.0 2.65 \n", + "2 13.16 2.36 2.67 18.6 101.0 2.80 \n", + "3 14.37 1.95 2.50 16.8 113.0 3.85 \n", + "4 13.24 2.59 2.87 21.0 118.0 2.80 \n", + ".. ... ... ... ... ... ... \n", + "173 13.71 5.65 2.45 20.5 95.0 1.68 \n", + "174 13.40 3.91 2.48 23.0 102.0 1.80 \n", + "175 13.27 4.28 2.26 20.0 120.0 1.59 \n", + "176 13.17 2.59 2.37 20.0 120.0 1.65 \n", + "177 14.13 4.10 2.74 24.5 96.0 2.05 \n", + "\n", + " flavanoids nonflavanoid_phenols proanthocyanins color_intensity hue \\\n", + "0 3.06 0.28 2.29 5.64 1.04 \n", + "1 2.76 0.26 1.28 4.38 1.05 \n", + "2 3.24 0.30 2.81 5.68 1.03 \n", + "3 3.49 0.24 2.18 7.80 0.86 \n", + "4 2.69 0.39 1.82 4.32 1.04 \n", + ".. ... ... ... ... ... \n", + "173 0.61 0.52 1.06 7.70 0.64 \n", + "174 0.75 0.43 1.41 7.30 0.70 \n", + "175 0.69 0.43 1.35 10.20 0.59 \n", + "176 0.68 0.53 1.46 9.30 0.60 \n", + "177 0.76 0.56 1.35 9.20 0.61 \n", + "\n", + " od280/od315_of_diluted_wines proline alcalinity_of_ash_2 \\\n", + "0 3.92 1065.0 243.36 \n", + "1 3.40 1050.0 125.44 \n", + "2 3.17 1185.0 345.96 \n", + "3 3.45 1480.0 282.24 \n", + "4 2.93 735.0 441.00 \n", + ".. ... ... ... \n", + "173 1.74 740.0 420.25 \n", + "174 1.56 750.0 529.00 \n", + "175 1.56 835.0 400.00 \n", + "176 1.62 840.0 400.00 \n", + "177 1.60 560.0 600.25 \n", + "\n", + " total_phenols_2 flavanoids_2 hue_2 od280/od315_of_diluted_wines_2 \\\n", + "0 7.8400 9.3636 1.0816 15.3664 \n", + "1 7.0225 7.6176 1.1025 11.5600 \n", + "2 7.8400 10.4976 1.0609 10.0489 \n", + "3 14.8225 12.1801 0.7396 11.9025 \n", + "4 7.8400 7.2361 1.0816 8.5849 \n", + ".. ... ... ... ... \n", + "173 2.8224 0.3721 0.4096 3.0276 \n", + "174 3.2400 0.5625 0.4900 2.4336 \n", + "175 2.5281 0.4761 0.3481 2.4336 \n", + "176 2.7225 0.4624 0.3600 2.6244 \n", + "177 4.2025 0.5776 0.3721 2.5600 \n", + "\n", + " proline_2 \n", + "0 1134225.0 \n", + "1 1102500.0 \n", + "2 1404225.0 \n", + "3 2190400.0 \n", + "4 540225.0 \n", + ".. ... \n", + "173 547600.0 \n", + "174 562500.0 \n", + "175 697225.0 \n", + "176 705600.0 \n", + "177 313600.0 \n", + "\n", + "[178 rows x 19 columns]" + ] + }, + "execution_count": 160, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = pd.concat([x, x_2], axis = 1)\n", + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 161, + "id": "a087aca7", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
alcoholmalic_acidashalcalinity_of_ashmagnesiumtotal_phenolsflavanoidsnonflavanoid_phenolsproanthocyaninscolor_intensityhueod280/od315_of_diluted_winesprolinealcalinity_of_ash_2total_phenols_2flavanoids_2hue_2od280/od315_of_diluted_wines_2proline_2
count178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.000000178.0000001.780000e+02
mean13.0006182.3363482.36651719.49494499.7415732.2951122.0292700.3618541.5908995.0580900.9574492.611685746.893258391.1428655.6570305.1100490.9686617.3221556.564591e+05
std0.8118271.1171460.2743443.33956414.2824840.6258510.9988590.1244530.5723592.3182860.2285720.709990314.907474133.6717752.9362944.2114410.4437983.5843165.558591e+05
min11.0300000.7400001.36000010.60000070.0000000.9800000.3400000.1300000.4100001.2800000.4800001.270000278.000000112.3600000.9604000.1156000.2304001.6129007.728400e+04
25%12.3625001.6025002.21000017.20000088.0000001.7425001.2050000.2700001.2500003.2200000.7825001.937500500.500000295.8400003.0363251.4521000.6123253.7540752.505010e+05
50%13.0500001.8650002.36000019.50000098.0000002.3550002.1350000.3400001.5550004.6900000.9650002.780000673.500000380.2500005.5460504.5582500.9312507.7284004.536045e+05
75%13.6775003.0825002.55750021.500000107.0000002.8000002.8750000.4375001.9500006.2000001.1200003.170000985.000000462.2500007.8400008.2657001.25440010.0489009.702250e+05
max14.8300005.8000003.23000030.000000162.0000003.8800005.0800000.6600003.58000013.0000001.7100004.0000001680.000000900.00000015.05440025.8064002.92410016.0000002.822400e+06
\n", + "
" + ], + "text/plain": [ + " alcohol malic_acid ash alcalinity_of_ash magnesium \\\n", + "count 178.000000 178.000000 178.000000 178.000000 178.000000 \n", + "mean 13.000618 2.336348 2.366517 19.494944 99.741573 \n", + "std 0.811827 1.117146 0.274344 3.339564 14.282484 \n", + "min 11.030000 0.740000 1.360000 10.600000 70.000000 \n", + "25% 12.362500 1.602500 2.210000 17.200000 88.000000 \n", + "50% 13.050000 1.865000 2.360000 19.500000 98.000000 \n", + "75% 13.677500 3.082500 2.557500 21.500000 107.000000 \n", + "max 14.830000 5.800000 3.230000 30.000000 162.000000 \n", + "\n", + " total_phenols flavanoids nonflavanoid_phenols proanthocyanins \\\n", + "count 178.000000 178.000000 178.000000 178.000000 \n", + "mean 2.295112 2.029270 0.361854 1.590899 \n", + "std 0.625851 0.998859 0.124453 0.572359 \n", + "min 0.980000 0.340000 0.130000 0.410000 \n", + "25% 1.742500 1.205000 0.270000 1.250000 \n", + "50% 2.355000 2.135000 0.340000 1.555000 \n", + "75% 2.800000 2.875000 0.437500 1.950000 \n", + "max 3.880000 5.080000 0.660000 3.580000 \n", + "\n", + " color_intensity hue od280/od315_of_diluted_wines proline \\\n", + "count 178.000000 178.000000 178.000000 178.000000 \n", + "mean 5.058090 0.957449 2.611685 746.893258 \n", + "std 2.318286 0.228572 0.709990 314.907474 \n", + "min 1.280000 0.480000 1.270000 278.000000 \n", + "25% 3.220000 0.782500 1.937500 500.500000 \n", + "50% 4.690000 0.965000 2.780000 673.500000 \n", + "75% 6.200000 1.120000 3.170000 985.000000 \n", + "max 13.000000 1.710000 4.000000 1680.000000 \n", + "\n", + " alcalinity_of_ash_2 total_phenols_2 flavanoids_2 hue_2 \\\n", + "count 178.000000 178.000000 178.000000 178.000000 \n", + "mean 391.142865 5.657030 5.110049 0.968661 \n", + "std 133.671775 2.936294 4.211441 0.443798 \n", + "min 112.360000 0.960400 0.115600 0.230400 \n", + "25% 295.840000 3.036325 1.452100 0.612325 \n", + "50% 380.250000 5.546050 4.558250 0.931250 \n", + "75% 462.250000 7.840000 8.265700 1.254400 \n", + "max 900.000000 15.054400 25.806400 2.924100 \n", + "\n", + " od280/od315_of_diluted_wines_2 proline_2 \n", + "count 178.000000 1.780000e+02 \n", + "mean 7.322155 6.564591e+05 \n", + "std 3.584316 5.558591e+05 \n", + "min 1.612900 7.728400e+04 \n", + "25% 3.754075 2.505010e+05 \n", + "50% 7.728400 4.536045e+05 \n", + "75% 10.048900 9.702250e+05 \n", + "max 16.000000 2.822400e+06 " + ] + }, + "execution_count": 161, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "478bc498", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 679cb454270be3a54a91b4dfcc7a7c402b5e6cc7 Mon Sep 17 00:00:00 2001 From: SergeyZ06 Date: Sat, 15 May 2021 20:31:29 +0300 Subject: [PATCH 3/3] All files have been placed into folder "6th hometask" in order not to mix up this task with other ones --- 1th_task.ipynb => 6th hometask/1th_task.ipynb | 0 2th_task.ipynb => 6th hometask/2th_task.ipynb | 0 3th_task.ipynb => 6th hometask/3th_task.ipynb | 0 4th_task.ipynb => 6th hometask/4th_task.ipynb | 0 5th_task.ipynb => 6th hometask/5th_task.ipynb | 0 {data => 6th hometask/data}/x_test.pkl | Bin {data => 6th hometask/data}/x_train.pkl | Bin {data => 6th hometask/data}/y_test.pkl | Bin {data => 6th hometask/data}/y_train.pkl | Bin {score => 6th hometask/score}/scores.pkl | Bin 10 files changed, 0 insertions(+), 0 deletions(-) rename 1th_task.ipynb => 6th hometask/1th_task.ipynb (100%) rename 2th_task.ipynb => 6th hometask/2th_task.ipynb (100%) rename 3th_task.ipynb => 6th hometask/3th_task.ipynb (100%) rename 4th_task.ipynb => 6th hometask/4th_task.ipynb (100%) rename 5th_task.ipynb => 6th hometask/5th_task.ipynb (100%) rename {data => 6th hometask/data}/x_test.pkl (100%) rename {data => 6th hometask/data}/x_train.pkl (100%) rename {data => 6th hometask/data}/y_test.pkl (100%) rename {data => 6th hometask/data}/y_train.pkl (100%) rename {score => 6th hometask/score}/scores.pkl (100%) diff --git a/1th_task.ipynb b/6th hometask/1th_task.ipynb similarity index 100% rename from 1th_task.ipynb rename to 6th hometask/1th_task.ipynb diff --git a/2th_task.ipynb b/6th hometask/2th_task.ipynb similarity index 100% rename from 2th_task.ipynb rename to 6th hometask/2th_task.ipynb diff --git a/3th_task.ipynb b/6th hometask/3th_task.ipynb similarity index 100% rename from 3th_task.ipynb rename to 6th hometask/3th_task.ipynb diff --git a/4th_task.ipynb b/6th hometask/4th_task.ipynb similarity index 100% rename from 4th_task.ipynb rename to 6th hometask/4th_task.ipynb diff --git a/5th_task.ipynb b/6th hometask/5th_task.ipynb similarity index 100% rename from 5th_task.ipynb rename to 6th hometask/5th_task.ipynb diff --git a/data/x_test.pkl b/6th hometask/data/x_test.pkl similarity index 100% rename from data/x_test.pkl rename to 6th hometask/data/x_test.pkl diff --git a/data/x_train.pkl b/6th hometask/data/x_train.pkl similarity index 100% rename from data/x_train.pkl rename to 6th hometask/data/x_train.pkl diff --git a/data/y_test.pkl b/6th hometask/data/y_test.pkl similarity index 100% rename from data/y_test.pkl rename to 6th hometask/data/y_test.pkl diff --git a/data/y_train.pkl b/6th hometask/data/y_train.pkl similarity index 100% rename from data/y_train.pkl rename to 6th hometask/data/y_train.pkl diff --git a/score/scores.pkl b/6th hometask/score/scores.pkl similarity index 100% rename from score/scores.pkl rename to 6th hometask/score/scores.pkl