From 98d05e4f16a235ec17f75f195535f9265bf011b7 Mon Sep 17 00:00:00 2001 From: KonovalovM19AE Date: Thu, 13 May 2021 00:08:51 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=20=D1=81=D0=B4=D0=B0=D1=87=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Konovalov/lab1/Laba_1_v4.ipynb | 4758 +++++++++++++++++++++++++++++++ Konovalov/lab2/Laba_2_v4.ipynb | 2255 +++++++++++++++ Konovalov/lab3/Laba_3_v19.ipynb | 1311 +++++++++ 3 files changed, 8324 insertions(+) create mode 100644 Konovalov/lab1/Laba_1_v4.ipynb create mode 100644 Konovalov/lab2/Laba_2_v4.ipynb create mode 100644 Konovalov/lab3/Laba_3_v19.ipynb diff --git a/Konovalov/lab1/Laba_1_v4.ipynb b/Konovalov/lab1/Laba_1_v4.ipynb new file mode 100644 index 0000000..1345753 --- /dev/null +++ b/Konovalov/lab1/Laba_1_v4.ipynb @@ -0,0 +1,4758 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# ***Лабораторная работа №1***\n", + "## Коновалов И.А. М19-АЭ" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## *NumPy*" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "vec = np.array([1,2,3])\n", + "vec.ndim" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mat = np.array ([[1,2,3], [4,5,6]])\n", + "mat.ndim" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(3,)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "vec.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'int32'" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mat.dtype.name" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mat.itemsize" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### ***Создание массивов***" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 2, 3])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([1,2,3])\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1., 2., 3.])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.array([1,2,3], dtype = float)\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2, 3],\n", + " [4, 5, 6]])" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = np.array([(1,2,3),(4,5,6)])\n", + "B" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0., 0., 0.])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.zeros((3,))" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 1., 1., 1.],\n", + " [1., 1., 1., 1.],\n", + " [1., 1., 1., 1.]])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.ones ((3,4))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0., 0., 0., 0.],\n", + " [0., 1., 0., 0., 0.],\n", + " [0., 0., 1., 0., 0.],\n", + " [0., 0., 0., 1., 0.],\n", + " [0., 0., 0., 0., 1.]])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.identity(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1.20988875e-312, 0.00000000e+000, 1.06395697e+224,\n", + " 2.62651378e+179, 1.45229698e+165],\n", + " [6.52055037e-042, 3.76367466e+179, 4.66904919e-086,\n", + " 3.51151606e+151, 6.32619120e-310]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.empty((2,5))" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 2, 5, 8, 11, 14, 17])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.arange(2, 20, 3)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([2.5, 3.4, 4.3, 5.2, 6.1, 7. , 7.9])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.arange (2.5, 8.7, 0.9)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 2. , 3.23076923, 4.46153846, 5.69230769, 6.92307692,\n", + " 8.15384615, 9.38461538, 10.61538462, 11.84615385, 13.07692308,\n", + " 14.30769231, 15.53846154, 16.76923077, 18. ])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linspace (2, 18, 14)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0, 1, 2],\n", + " [3, 4, 5],\n", + " [6, 7, 8]])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.arange (9).reshape (3,3)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 1, 2],\n", + " [ 3, 4, 5],\n", + " [ 6, 7, 8],\n", + " [ 9, 10, 11],\n", + " [12, 13, 14]])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.arange(15).reshape(5,-1)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 4],\n", + " [2, 5],\n", + " [3, 6]])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B.T" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 0],\n", + " [ 1, 1],\n", + " [ 2, 8],\n", + " [ 3, 27]])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C = np.arange(4).reshape(4,-1)\n", + "np.hstack((C,C**3))" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0],\n", + " [ 1],\n", + " [ 2],\n", + " [ 3],\n", + " [ 0],\n", + " [ 1],\n", + " [ 8],\n", + " [27]])" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.vstack((C,C**3))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 0],\n", + " [ 1, 1],\n", + " [ 2, 8],\n", + " [ 3, 27]])" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.concatenate((C,C**3), axis = 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0, 1, 2, 3, 0, 1, 2, 3],\n", + " [0, 1, 2, 3, 0, 1, 2, 3]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = np.arange(4)\n", + "np.tile(a, (2,2))" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0, 1, 2, 3],\n", + " [0, 1, 2, 3],\n", + " [0, 1, 2, 3],\n", + " [0, 1, 2, 3]])" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.tile(a, (4,1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### *Базовые операции*" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "A = np.arange(9).reshape(3,3)\n", + "B = np.arange(1,10).reshape(3,3)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[0 1 2]\n", + " [3 4 5]\n", + " [6 7 8]]\n", + "[[1 2 3]\n", + " [4 5 6]\n", + " [7 8 9]]\n" + ] + } + ], + "source": [ + "print(A)\n", + "print(B)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "slideshow": { + "slide_type": "subslide" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1, 3, 5],\n", + " [ 7, 9, 11],\n", + " [13, 15, 17]])" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A+B" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0. , 0.5 , 0.66666667],\n", + " [0.75 , 0.8 , 0.83333333],\n", + " [0.85714286, 0.875 , 0.88888889]])" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A*1.0/B" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2, 3],\n", + " [4, 5, 6],\n", + " [7, 8, 9]])" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A+1" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 3, 6],\n", + " [ 9, 12, 15],\n", + " [18, 21, 24]])" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "3*A" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 1, 4],\n", + " [ 9, 16, 25],\n", + " [36, 49, 64]], dtype=int32)" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A**2" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 2, 6],\n", + " [12, 20, 30],\n", + " [42, 56, 72]])" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A*B" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 18, 21, 24],\n", + " [ 54, 66, 78],\n", + " [ 90, 111, 132]])" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.dot(B)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 1, 2],\n", + " [10, 11, 12],\n", + " [20, 21, 22],\n", + " [30, 31, 32]])" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.tile(np.arange(0,40,10), (3,1)).T+np.array([0,1,2])" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1.00000000e+00, 2.71828183e+00, 7.38905610e+00],\n", + " [2.00855369e+01, 5.45981500e+01, 1.48413159e+02],\n", + " [4.03428793e+02, 1.09663316e+03, 2.98095799e+03]])" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.exp (A)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0, 1, 2],\n", + " [3, 4, 5],\n", + " [6, 7, 8]])" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.min()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([6, 7, 8])" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.max(axis=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 3, 12, 21])" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.sum(axis=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### *Индексация*" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = np.arange(10)\n", + "a" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([2, 3, 4])" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[2:5]" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([3, 5, 7])" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[3:8:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8],\n", + " [ 9, 10, 11, 12, 13, 14, 15, 16, 17],\n", + " [18, 19, 20, 21, 22, 23, 24, 25, 26],\n", + " [27, 28, 29, 30, 31, 32, 33, 34, 35],\n", + " [36, 37, 38, 39, 40, 41, 42, 43, 44],\n", + " [45, 46, 47, 48, 49, 50, 51, 52, 53],\n", + " [54, 55, 56, 57, 58, 59, 60, 61, 62],\n", + " [63, 64, 65, 66, 67, 68, 69, 70, 71],\n", + " [72, 73, 74, 75, 76, 77, 78, 79, 80]])" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.arange(81).reshape(9,-1)\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[18, 19, 20, 21, 22, 23, 24, 25, 26],\n", + " [27, 28, 29, 30, 31, 32, 33, 34, 35]])" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A[2:4]" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 2, 3],\n", + " [11, 12],\n", + " [20, 21],\n", + " [29, 30],\n", + " [38, 39],\n", + " [47, 48],\n", + " [56, 57],\n", + " [65, 66],\n", + " [74, 75]])" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A[:, 2:4]" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[20, 21],\n", + " [29, 30]])" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A[2:4, 2:4]" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([72, 73, 74, 75, 76, 77, 78, 79, 80])" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A[-1]" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([18, 37, 48])" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A[[2,4,5],[0,1,3]]" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = np.arange(11)\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0, 1, 2, 4, 5, 6, 7, 9, 10])" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A[A%5 != 3]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0, 1, 2, 4, 5, 6, 9, 10])" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A[np.logical_and(A!=7,A%5!=3)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## *Pandas*" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### *Series*" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 5\n", + "1 6\n", + "2 7\n", + "3 8\n", + "4 9\n", + "5 10\n", + "dtype: int64" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "my_series = pd.Series([5,6,7,8,9,10])\n", + "my_series\n" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "RangeIndex(start=0, stop=6, step=1)" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_series.index" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 5, 6, 7, 8, 9, 10], dtype=int64)" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_series.values" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "9" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_series[4]" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "10" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_series2=pd.Series([5,6,7,8,9,10], index=['a','b','c','d','e','f'])\n", + "my_series2['f']" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 5\n", + "b 6\n", + "f 10\n", + "dtype: int64" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_series2[['a','b','f']]" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 0\n", + "b 0\n", + "c 7\n", + "d 8\n", + "e 9\n", + "f 0\n", + "dtype: int64" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_series2[['a','b','f']]=0\n", + "my_series2" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "c 14\n", + "d 16\n", + "e 18\n", + "dtype: int64" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_series2[my_series2>0]*2" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 5\n", + "b 6\n", + "c 7\n", + "d 8\n", + "dtype: int64" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_series3 = pd.Series({'a':5,'b':6,'c':7,'d':8})\n", + "my_series3" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "letters\n", + "a 5\n", + "b 6\n", + "c 7\n", + "d 8\n", + "Name: numbers, dtype: int64" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_series3.name='numbers'\n", + "my_series3.index.name= 'letters'\n", + "my_series3" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "A 5\n", + "B 6\n", + "C 7\n", + "D 8\n", + "Name: numbers, dtype: int64" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_series3.index=['A','B','C','D']\n", + "my_series3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### *Data Frame*" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "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", + "
countrypopulationsquare
0Казахстан17.042724902
1Россия143.5017125191
2Беларусь9.50207600
3Украина45.50603628
\n", + "
" + ], + "text/plain": [ + " country population square\n", + "0 Казахстан 17.04 2724902\n", + "1 Россия 143.50 17125191\n", + "2 Беларусь 9.50 207600\n", + "3 Украина 45.50 603628" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df=pd.DataFrame({\n", + " 'country':['Казахстан', 'Россия', 'Беларусь', 'Украина'],\n", + " 'population':[17.04, 143.5, 9.5, 45.5],\n", + " 'square':[2724902, 17125191, 207600, 603628]\n", + "})\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 Казахстан\n", + "1 Россия\n", + "2 Беларусь\n", + "3 Украина\n", + "Name: country, dtype: object" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['country']" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['country', 'population', 'square'], dtype='object')" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "RangeIndex(start=0, stop=4, step=1)" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.index" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "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", + "
countrypopulationsquare
KZКазахстан17.042724902
RUРоссия143.5017125191
BYБеларусь9.50207600
UAУкраина45.50603628
\n", + "
" + ], + "text/plain": [ + " country population square\n", + "KZ Казахстан 17.04 2724902\n", + "RU Россия 143.50 17125191\n", + "BY Беларусь 9.50 207600\n", + "UA Украина 45.50 603628" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df=pd.DataFrame({\n", + " 'country':['Казахстан', 'Россия', 'Беларусь', 'Украина'],\n", + " 'population':[17.04, 143.5, 9.5, 45.5],\n", + " 'square':[2724902, 17125191, 207600, 603628]\n", + "}, index=['KZ','RU','BY','UA'])\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "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", + "
countrypopulationsquare
Country Code
KZКазахстан17.042724902
RUРоссия143.5017125191
BYБеларусь9.50207600
UAУкраина45.50603628
\n", + "
" + ], + "text/plain": [ + " country population square\n", + "Country Code \n", + "KZ Казахстан 17.04 2724902\n", + "RU Россия 143.50 17125191\n", + "BY Беларусь 9.50 207600\n", + "UA Украина 45.50 603628" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.index=['KZ','RU','BY','UA']\n", + "df.index.name='Country Code'\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Country Code\n", + "KZ Казахстан\n", + "RU Россия\n", + "BY Беларусь\n", + "UA Украина\n", + "Name: country, dtype: object" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['country']" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "country Казахстан\n", + "population 17.04\n", + "square 2724902\n", + "Name: KZ, dtype: object" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc['KZ']" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "country Казахстан\n", + "population 17.04\n", + "square 2724902\n", + "Name: KZ, dtype: object" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.iloc[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Country Code\n", + "KZ 17.04\n", + "RU 143.50\n", + "Name: population, dtype: float64" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc[['KZ','RU'], 'population']" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "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", + "
countrypopulationsquare
Country Code
KZКазахстан17.042724902
RUРоссия143.5017125191
\n", + "
" + ], + "text/plain": [ + " country population square\n", + "Country Code \n", + "KZ Казахстан 17.04 2724902\n", + "RU Россия 143.50 17125191" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc['KZ':'RU', :]" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "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", + "
countrysquare
Country Code
KZКазахстан2724902
RUРоссия17125191
UAУкраина603628
\n", + "
" + ], + "text/plain": [ + " country square\n", + "Country Code \n", + "KZ Казахстан 2724902\n", + "RU Россия 17125191\n", + "UA Украина 603628" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[df.population>10][['country','square']]" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "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", + "
Country Codecountrypopulationsquare
0KZКазахстан17.042724902
1RUРоссия143.5017125191
2BYБеларусь9.50207600
3UAУкраина45.50603628
\n", + "
" + ], + "text/plain": [ + " Country Code country population square\n", + "0 KZ Казахстан 17.04 2724902\n", + "1 RU Россия 143.50 17125191\n", + "2 BY Беларусь 9.50 207600\n", + "3 UA Украина 45.50 603628" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.reset_index()" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "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", + "
countrypopulationsquaredensity
Country Code
KZКазахстан17.0427249026.253436
RUРоссия143.50171251918.379469
BYБеларусь9.5020760045.761079
UAУкраина45.5060362875.377550
\n", + "
" + ], + "text/plain": [ + " country population square density\n", + "Country Code \n", + "KZ Казахстан 17.04 2724902 6.253436\n", + "RU Россия 143.50 17125191 8.379469\n", + "BY Беларусь 9.50 207600 45.761079\n", + "UA Украина 45.50 603628 75.377550" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['density']=df['population']/df['square']*1000000\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "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", + "
countrypopulationsquare
Country Code
KZКазахстан17.042724902
RUРоссия143.5017125191
BYБеларусь9.50207600
UAУкраина45.50603628
\n", + "
" + ], + "text/plain": [ + " country population square\n", + "Country Code \n", + "KZ Казахстан 17.04 2724902\n", + "RU Россия 143.50 17125191\n", + "BY Беларусь 9.50 207600\n", + "UA Украина 45.50 603628" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.drop(['density'], axis='columns')" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "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", + "
countrypopulationsquaredensity
Country Code
KZКазахстан17.0427249026.253436
RUРоссия143.50171251918.379469
BYБеларусь9.5020760045.761079
UAУкраина45.5060362875.377550
\n", + "
" + ], + "text/plain": [ + " country population square density\n", + "Country Code \n", + "KZ Казахстан 17.04 2724902 6.253436\n", + "RU Россия 143.50 17125191 8.379469\n", + "BY Беларусь 9.50 207600 45.761079\n", + "UA Украина 45.50 603628 75.377550" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df=df.rename(columns={'Country Code':'country_code'})\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### *Группировка и агрегирование в pandas*" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + "\n", + " Name Sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22.0 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "4 Allen, Mr. William Henry male 35.0 0 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "0 0 A/5 21171 7.2500 NaN S \n", + "1 0 PC 17599 71.2833 C85 C \n", + "2 0 STON/O2. 3101282 7.9250 NaN S \n", + "3 0 113803 53.1000 C123 S \n", + "4 0 373450 8.0500 NaN S \n" + ] + } + ], + "source": [ + "tit_df=pd.read_csv('titanic.csv')\n", + "print(tit_df.head())" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sex Survived\n", + "female 0 81\n", + " 1 233\n", + "male 0 468\n", + " 1 109\n", + "Name: PassengerId, dtype: int64\n" + ] + } + ], + "source": [ + "print(tit_df.groupby(['Sex', 'Survived'])['PassengerId'].count())" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pclass Survived\n", + "1 0 80\n", + " 1 136\n", + "2 0 97\n", + " 1 87\n", + "3 0 372\n", + " 1 119\n", + "Name: PassengerId, dtype: int64\n" + ] + } + ], + "source": [ + "print(tit_df.groupby(['Pclass', 'Survived'])['PassengerId'].count())" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "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", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
.......................................
88688702Montvila, Rev. Juozasmale27.00021153613.0000NaNS
88788811Graham, Miss. Margaret Edithfemale19.00011205330.0000B42S
88888903Johnston, Miss. Catherine Helen \"Carrie\"femaleNaN12W./C. 660723.4500NaNS
88989011Behr, Mr. Karl Howellmale26.00011136930.0000C148C
89089103Dooley, Mr. Patrickmale32.0003703767.7500NaNQ
\n", + "

891 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + ".. ... ... ... \n", + "886 887 0 2 \n", + "887 888 1 1 \n", + "888 889 0 3 \n", + "889 890 1 1 \n", + "890 891 0 3 \n", + "\n", + " Name Sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22.0 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "4 Allen, Mr. William Henry male 35.0 0 \n", + ".. ... ... ... ... \n", + "886 Montvila, Rev. Juozas male 27.0 0 \n", + "887 Graham, Miss. Margaret Edith female 19.0 0 \n", + "888 Johnston, Miss. Catherine Helen \"Carrie\" female NaN 1 \n", + "889 Behr, Mr. Karl Howell male 26.0 0 \n", + "890 Dooley, Mr. Patrick male 32.0 0 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "0 0 A/5 21171 7.2500 NaN S \n", + "1 0 PC 17599 71.2833 C85 C \n", + "2 0 STON/O2. 3101282 7.9250 NaN S \n", + "3 0 113803 53.1000 C123 S \n", + "4 0 373450 8.0500 NaN S \n", + ".. ... ... ... ... ... \n", + "886 0 211536 13.0000 NaN S \n", + "887 0 112053 30.0000 B42 S \n", + "888 2 W./C. 6607 23.4500 NaN S \n", + "889 0 111369 30.0000 C148 C \n", + "890 0 370376 7.7500 NaN Q \n", + "\n", + "[891 rows x 12 columns]" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data=pd.read_csv('titanic.csv')\n", + "pass_data" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "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", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "\n", + " Name Sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22.0 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "0 0 A/5 21171 7.2500 NaN S \n", + "1 0 PC 17599 71.2833 C85 C \n", + "2 0 STON/O2. 3101282 7.9250 NaN S " + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',\n", + " 'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'],\n", + " dtype='object')" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "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", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.925NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.100C123S
4503Allen, Mr. William Henrymale35.0003734508.050NaNS
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + "\n", + " Name Sex Age SibSp Parch \\\n", + "2 Heikkinen, Miss. Laina female 26.0 0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 \n", + "4 Allen, Mr. William Henry male 35.0 0 0 \n", + "\n", + " Ticket Fare Cabin Embarked \n", + "2 STON/O2. 3101282 7.925 NaN S \n", + "3 113803 53.100 C123 S \n", + "4 373450 8.050 NaN S " + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data[2:5]" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "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", + "
SurvivedName
11Cumings, Mrs. John Bradley (Florence Briggs Th...
21Heikkinen, Miss. Laina
31Futrelle, Mrs. Jacques Heath (Lily May Peel)
40Allen, Mr. William Henry
\n", + "
" + ], + "text/plain": [ + " Survived Name\n", + "1 1 Cumings, Mrs. John Bradley (Florence Briggs Th...\n", + "2 1 Heikkinen, Miss. Laina\n", + "3 1 Futrelle, Mrs. Jacques Heath (Lily May Peel)\n", + "4 0 Allen, Mr. William Henry" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.iloc[1:5, [1,3]]" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 Braund, Mr. Owen Harris\n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th...\n", + "2 Heikkinen, Miss. Laina\n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel)\n", + "4 Allen, Mr. William Henry\n", + "Name: Name, dtype: object" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data['Name'].head()" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "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", + "
NameSexParch
0Braund, Mr. Owen Harrismale0
1Cumings, Mrs. John Bradley (Florence Briggs Th...female0
2Heikkinen, Miss. Lainafemale0
3Futrelle, Mrs. Jacques Heath (Lily May Peel)female0
4Allen, Mr. William Henrymale0
\n", + "
" + ], + "text/plain": [ + " Name Sex Parch\n", + "0 Braund, Mr. Owen Harris male 0\n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 0\n", + "2 Heikkinen, Miss. Laina female 0\n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 0\n", + "4 Allen, Mr. William Henry male 0" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data[['Name','Sex','Parch']].head()" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "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", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
8913Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)female27.00234774211.1333NaNS
91012Nasser, Mrs. Nicholas (Adele Achem)female14.01023773630.0708NaNC
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "8 9 1 3 \n", + "9 10 1 2 \n", + "\n", + " Name Sex Age SibSp \\\n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "8 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) female 27.0 0 \n", + "9 Nasser, Mrs. Nicholas (Adele Achem) female 14.0 1 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "1 0 PC 17599 71.2833 C85 C \n", + "2 0 STON/O2. 3101282 7.9250 NaN S \n", + "3 0 113803 53.1000 C123 S \n", + "8 2 347742 11.1333 NaN S \n", + "9 0 237736 30.0708 NaN C " + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data[pass_data['Sex']== 'female'].head()" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "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", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
5603Moran, Mr. JamesmaleNaN003308778.4583NaNQ
6701McCarthy, Mr. Timothy Jmale54.0001746351.8625E46S
7803Palsson, Master. Gosta Leonardmale2.03134990921.0750NaNS
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass Name Sex Age \\\n", + "0 1 0 3 Braund, Mr. Owen Harris male 22.0 \n", + "4 5 0 3 Allen, Mr. William Henry male 35.0 \n", + "5 6 0 3 Moran, Mr. James male NaN \n", + "6 7 0 1 McCarthy, Mr. Timothy J male 54.0 \n", + "7 8 0 3 Palsson, Master. Gosta Leonard male 2.0 \n", + "\n", + " SibSp Parch Ticket Fare Cabin Embarked \n", + "0 1 0 A/5 21171 7.2500 NaN S \n", + "4 0 0 373450 8.0500 NaN S \n", + "5 0 0 330877 8.4583 NaN Q \n", + "6 0 0 17463 51.8625 E46 S \n", + "7 3 1 349909 21.0750 NaN S " + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data[(pass_data['Sex']== 'female')&(pass_data['Age']>=60) | (pass_data['Sex']== 'male')].head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### *Пример*" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(25, 12)" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data[(pass_data.Sex =='female') &\n", + " (pass_data.Age > 18) &\n", + " (pass_data.Age < 25) &\n", + " (pass_data.SibSp == 0) &\n", + " (pass_data.Parch == 0)].shape" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 93, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "pass_data.Age.hist(bins=30)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### *Редактирование DataFrame*" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "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", + "
PassengerIdSurvivedPclassNamesexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + "\n", + " Name sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22.0 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "4 Allen, Mr. William Henry male 35.0 0 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "0 0 A/5 21171 7.2500 NaN S \n", + "1 0 PC 17599 71.2833 C85 C \n", + "2 0 STON/O2. 3101282 7.9250 NaN S \n", + "3 0 113803 53.1000 C123 S \n", + "4 0 373450 8.0500 NaN S " + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.rename(columns={'Sex':'sex'}, inplace=True)\n", + "pass_data.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 Braund\n", + "1 Cumings\n", + "2 Heikkinen\n", + "3 Futrelle\n", + "4 Allen\n", + "Name: Name, dtype: object" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def get_last_name(name):\n", + " return name.split(',')[0].strip()\n", + "\n", + "last_names = pass_data['Name'].apply(get_last_name)\n", + "last_names.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "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", + "
PassengerIdSurvivedPclassNamesexAgeSibSpParchTicketFareCabinEmbarkedLast_name
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNSBraund
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85CCumings
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNSHeikkinen
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123SFutrelle
4503Allen, Mr. William Henrymale35.0003734508.0500NaNSAllen
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + "\n", + " Name sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22.0 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "4 Allen, Mr. William Henry male 35.0 0 \n", + "\n", + " Parch Ticket Fare Cabin Embarked Last_name \n", + "0 0 A/5 21171 7.2500 NaN S Braund \n", + "1 0 PC 17599 71.2833 C85 C Cumings \n", + "2 0 STON/O2. 3101282 7.9250 NaN S Heikkinen \n", + "3 0 113803 53.1000 C123 S Futrelle \n", + "4 0 373450 8.0500 NaN S Allen " + ] + }, + "execution_count": 96, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data['Last_name'] = last_names\n", + "pass_data.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "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", + "
PassengerIdSurvivedPclassNamesexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + "\n", + " Name sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22.0 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "4 Allen, Mr. William Henry male 35.0 0 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "0 0 A/5 21171 7.2500 NaN S \n", + "1 0 PC 17599 71.2833 C85 C \n", + "2 0 STON/O2. 3101282 7.9250 NaN S \n", + "3 0 113803 53.1000 C123 S \n", + "4 0 373450 8.0500 NaN S " + ] + }, + "execution_count": 97, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.drop('Last_name', axis=1, inplace=True)\n", + "pass_data.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 True\n", + "1 False\n", + "2 True\n", + "3 False\n", + "4 True\n", + "Name: Cabin, dtype: bool" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data['Cabin'].isnull().head()" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "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", + "
PassengerIdSurvivedPclassNamesexAgeSibSpParchTicketFareCabinEmbarked
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
6701McCarthy, Mr. Timothy Jmale54.0001746351.8625E46S
101113Sandstrom, Miss. Marguerite Rutfemale4.011PP 954916.7000G6S
111211Bonnell, Miss. Elizabethfemale58.00011378326.5500C103S
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "1 2 1 1 \n", + "3 4 1 1 \n", + "6 7 0 1 \n", + "10 11 1 3 \n", + "11 12 1 1 \n", + "\n", + " Name sex Age SibSp \\\n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "6 McCarthy, Mr. Timothy J male 54.0 0 \n", + "10 Sandstrom, Miss. Marguerite Rut female 4.0 1 \n", + "11 Bonnell, Miss. Elizabeth female 58.0 0 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "1 0 PC 17599 71.2833 C85 C \n", + "3 0 113803 53.1000 C123 S \n", + "6 0 17463 51.8625 E46 S \n", + "10 1 PP 9549 16.7000 G6 S \n", + "11 0 113783 26.5500 C103 S " + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data[pass_data['Cabin'].notnull()].head()" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "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", + "
PassengerIdSurvivedPclassNamesexAgeSibSpParchTicketFareCabinEmbarked
26326401Harrison, Mr. Williammale40.0001120590.0B94S
63363401Parr, Mr. William Henry MarshmaleNaN001120520.0NaNS
80680701Andrews, Mr. Thomas Jrmale39.0001120500.0A36S
81581601Fry, Mr. RichardmaleNaN001120580.0B102S
82282301Reuchlin, Jonkheer. John Georgemale38.000199720.0NaNS
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass Name sex \\\n", + "263 264 0 1 Harrison, Mr. William male \n", + "633 634 0 1 Parr, Mr. William Henry Marsh male \n", + "806 807 0 1 Andrews, Mr. Thomas Jr male \n", + "815 816 0 1 Fry, Mr. Richard male \n", + "822 823 0 1 Reuchlin, Jonkheer. John George male \n", + "\n", + " Age SibSp Parch Ticket Fare Cabin Embarked \n", + "263 40.0 0 0 112059 0.0 B94 S \n", + "633 NaN 0 0 112052 0.0 NaN S \n", + "806 39.0 0 0 112050 0.0 A36 S \n", + "815 NaN 0 0 112058 0.0 B102 S \n", + "822 38.0 0 0 19972 0.0 NaN S " + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.sort_values(by=['Pclass','Fare'], ascending=True).head()" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "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", + "
PassengerIdSurvivedPclassNamesexAgeSibSpParchTicketFareCabinEmbarked
25825911Ward, Miss. Annafemale35.000PC 17755512.3292NaNC
67968011Cardeza, Mr. Thomas Drake Martinezmale36.001PC 17755512.3292B51 B53 B55C
73773811Lesurer, Mr. Gustave Jmale35.000PC 17755512.3292B101C
272801Fortune, Mr. Charles Alexandermale19.03219950263.0000C23 C25 C27S
888911Fortune, Miss. Mabel Helenfemale23.03219950263.0000C23 C25 C27S
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass Name \\\n", + "258 259 1 1 Ward, Miss. Anna \n", + "679 680 1 1 Cardeza, Mr. Thomas Drake Martinez \n", + "737 738 1 1 Lesurer, Mr. Gustave J \n", + "27 28 0 1 Fortune, Mr. Charles Alexander \n", + "88 89 1 1 Fortune, Miss. Mabel Helen \n", + "\n", + " sex Age SibSp Parch Ticket Fare Cabin Embarked \n", + "258 female 35.0 0 0 PC 17755 512.3292 NaN C \n", + "679 male 36.0 0 1 PC 17755 512.3292 B51 B53 B55 C \n", + "737 male 35.0 0 0 PC 17755 512.3292 B101 C \n", + "27 male 19.0 3 2 19950 263.0000 C23 C25 C27 S \n", + "88 female 23.0 3 2 19950 263.0000 C23 C25 C27 S " + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.sort_values(by=['Pclass','Fare'], ascending=[True, False]).head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### *Группировка признаков*" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.groupby('sex')" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "sex Pclass\n", + "female 3 144\n", + " 1 94\n", + " 2 76\n", + "male 3 347\n", + " 1 122\n", + " 2 108\n", + "Name: Pclass, dtype: int64" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.groupby('sex')['Pclass'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "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", + "
countmeanstdmin25%50%75%max
Pclass
1216.084.15468778.3803730.030.9239560.287593.5512.3292
2184.020.66218313.4173990.013.0000014.250026.073.5000
3491.013.67555011.7781420.07.750008.050015.569.5500
\n", + "
" + ], + "text/plain": [ + " count mean std min 25% 50% 75% max\n", + "Pclass \n", + "1 216.0 84.154687 78.380373 0.0 30.92395 60.2875 93.5 512.3292\n", + "2 184.0 20.662183 13.417399 0.0 13.00000 14.2500 26.0 73.5000\n", + "3 491.0 13.675550 11.778142 0.0 7.75000 8.0500 15.5 69.5500" + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.groupby('Pclass')['Fare'].describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "sex\n", + "female 27.915709\n", + "male 30.726645\n", + "Name: Age, dtype: float64" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.groupby('sex')['Age'].mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "sex\n", + "female 0.742038\n", + "male 0.188908\n", + "Name: Survived, dtype: float64" + ] + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.groupby('sex')['Survived'].mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Pclass\n", + "1 0.629630\n", + "2 0.472826\n", + "3 0.242363\n", + "Name: Survived, dtype: float64" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.groupby('Pclass')['Survived'].mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "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", + "
sexSurvived
0female0.742038
1male0.188908
\n", + "
" + ], + "text/plain": [ + " sex Survived\n", + "0 female 0.742038\n", + "1 male 0.188908" + ] + }, + "execution_count": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pass_data.groupby('sex', as_index=False)['Survived'].mean()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "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.8.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Konovalov/lab2/Laba_2_v4.ipynb b/Konovalov/lab2/Laba_2_v4.ipynb new file mode 100644 index 0000000..88e52ea --- /dev/null +++ b/Konovalov/lab2/Laba_2_v4.ipynb @@ -0,0 +1,2255 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Лабораторная работа №2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Коновалов И.А. М19-АЭ" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "## Вариант №4" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "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", + "
SUBDIVISIONYEARJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDECANNUALJan-FebMar-MayJun-SepOct-Dec
0ANDAMAN & NICOBAR ISLANDS190149.287.129.22.3528.8517.5365.1481.1332.6388.5558.233.63373.2136.3560.31696.3980.3
1ANDAMAN & NICOBAR ISLANDS19020.0159.812.20.0446.1537.1228.9753.7666.2197.2359.0160.53520.7159.8458.32185.9716.7
2ANDAMAN & NICOBAR ISLANDS190312.7144.00.01.0235.1479.9728.4326.7339.0181.2284.4225.02957.4156.7236.11874.0690.6
3ANDAMAN & NICOBAR ISLANDS19049.414.70.0202.4304.5495.1502.0160.1820.4222.2308.740.13079.624.1506.91977.6571.0
4ANDAMAN & NICOBAR ISLANDS19051.30.03.326.9279.5628.7368.7330.5297.0260.725.4344.72566.71.3309.71624.9630.8
\n", + "
" + ], + "text/plain": [ + " SUBDIVISION YEAR JAN FEB MAR APR MAY JUN \\\n", + "0 ANDAMAN & NICOBAR ISLANDS 1901 49.2 87.1 29.2 2.3 528.8 517.5 \n", + "1 ANDAMAN & NICOBAR ISLANDS 1902 0.0 159.8 12.2 0.0 446.1 537.1 \n", + "2 ANDAMAN & NICOBAR ISLANDS 1903 12.7 144.0 0.0 1.0 235.1 479.9 \n", + "3 ANDAMAN & NICOBAR ISLANDS 1904 9.4 14.7 0.0 202.4 304.5 495.1 \n", + "4 ANDAMAN & NICOBAR ISLANDS 1905 1.3 0.0 3.3 26.9 279.5 628.7 \n", + "\n", + " JUL AUG SEP OCT NOV DEC ANNUAL Jan-Feb Mar-May \\\n", + "0 365.1 481.1 332.6 388.5 558.2 33.6 3373.2 136.3 560.3 \n", + "1 228.9 753.7 666.2 197.2 359.0 160.5 3520.7 159.8 458.3 \n", + "2 728.4 326.7 339.0 181.2 284.4 225.0 2957.4 156.7 236.1 \n", + "3 502.0 160.1 820.4 222.2 308.7 40.1 3079.6 24.1 506.9 \n", + "4 368.7 330.5 297.0 260.7 25.4 344.7 2566.7 1.3 309.7 \n", + "\n", + " Jun-Sep Oct-Dec \n", + "0 1696.3 980.3 \n", + "1 2185.9 716.7 \n", + "2 1874.0 690.6 \n", + "3 1977.6 571.0 \n", + "4 1624.9 630.8 " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "rain1_df=pd.read_csv('rainfall in india 1901-2015.csv')\n", + "rain1_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1. Постройте графики количества осадков по годам в разных штатах. Сделайте выводы по построенным графикам." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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", + "
YEARANNUALSUBDIVISION
019013373.2ANDAMAN & NICOBAR ISLANDS
119023520.7ANDAMAN & NICOBAR ISLANDS
219032957.4ANDAMAN & NICOBAR ISLANDS
319043079.6ANDAMAN & NICOBAR ISLANDS
419052566.7ANDAMAN & NICOBAR ISLANDS
............
411120111533.7LAKSHADWEEP
411220121405.5LAKSHADWEEP
411320131426.3LAKSHADWEEP
411420141395.0LAKSHADWEEP
411520151642.9LAKSHADWEEP
\n", + "

4116 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " YEAR ANNUAL SUBDIVISION\n", + "0 1901 3373.2 ANDAMAN & NICOBAR ISLANDS\n", + "1 1902 3520.7 ANDAMAN & NICOBAR ISLANDS\n", + "2 1903 2957.4 ANDAMAN & NICOBAR ISLANDS\n", + "3 1904 3079.6 ANDAMAN & NICOBAR ISLANDS\n", + "4 1905 2566.7 ANDAMAN & NICOBAR ISLANDS\n", + "... ... ... ...\n", + "4111 2011 1533.7 LAKSHADWEEP\n", + "4112 2012 1405.5 LAKSHADWEEP\n", + "4113 2013 1426.3 LAKSHADWEEP\n", + "4114 2014 1395.0 LAKSHADWEEP\n", + "4115 2015 1642.9 LAKSHADWEEP\n", + "\n", + "[4116 rows x 3 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gr1_df =rain1_df[[\"SUBDIVISION\",\"YEAR\",\"ANNUAL\"]]\n", + "columnsTitles=[\"YEAR\",\"ANNUAL\", 'SUBDIVISION']\n", + "df=gr1_df.reindex(columns=columnsTitles)\n", + "m=df\n", + "m" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Annual')" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "(m.groupby(by='SUBDIVISION')\n", + " .plot(kind='bar', stacked='true',color ='r', alpha=0.1, figsize=(20, 10), legend= False, fontsize=10, ax=ax, x='YEAR', y='ANNUAL')\n", + ")\n", + "ax.set_xlabel('Year', fontsize=12)\n", + "ax.set_ylabel('Annual', fontsize=12)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### По данному графику можно сделать следующие выводы:\n", + "- Наибольшнее колличество осадков выпало в 1933 году в штате ARUNACHAL PRADESH;\n", + "- Наименьшее колличество осадков выпало в 1988 году в штате HARYANA SAURASHTRA & KUTCH;\n", + "- Суммарное колличество осадков во второй половине исследуемого временного отрезка меньше, чем в первой его половине" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2. Постройте графики количества осадков по месяцам по всем годам кумулятивно. Сделайте выводы по построенным графикам." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "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", + "
JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC
YEAR
19011232.71417.8738.41623.62465.26811.310192.310546.44695.42579.42266.5378.3
1902298.2290.7733.31602.02521.45908.712290.18393.09051.43035.01521.01160.3
1903589.8502.0930.2594.12808.36019.612673.810481.97581.74387.11649.8758.6
1904409.4328.71010.81449.13235.98312.010919.07595.55859.12959.3691.5517.0
1905812.0716.71432.91216.42675.35768.210091.08637.36274.12735.9560.9595.2
.......................................
2011516.3819.7998.81775.72576.28679.711329.611858.18128.41923.31074.9465.5
2012962.0347.9428.12096.71808.86599.110632.510674.28453.12758.61395.2487.4
2013435.91316.3629.21137.62980.910707.113412.49516.26452.95213.3986.1317.5
2014582.5923.31059.9793.93276.55121.411150.410484.17141.42921.5760.1582.0
2015685.9605.71862.32744.12718.98616.89715.48485.75690.22204.32000.4770.8
\n", + "

115 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " JAN FEB MAR APR MAY JUN JUL AUG \\\n", + "YEAR \n", + "1901 1232.7 1417.8 738.4 1623.6 2465.2 6811.3 10192.3 10546.4 \n", + "1902 298.2 290.7 733.3 1602.0 2521.4 5908.7 12290.1 8393.0 \n", + "1903 589.8 502.0 930.2 594.1 2808.3 6019.6 12673.8 10481.9 \n", + "1904 409.4 328.7 1010.8 1449.1 3235.9 8312.0 10919.0 7595.5 \n", + "1905 812.0 716.7 1432.9 1216.4 2675.3 5768.2 10091.0 8637.3 \n", + "... ... ... ... ... ... ... ... ... \n", + "2011 516.3 819.7 998.8 1775.7 2576.2 8679.7 11329.6 11858.1 \n", + "2012 962.0 347.9 428.1 2096.7 1808.8 6599.1 10632.5 10674.2 \n", + "2013 435.9 1316.3 629.2 1137.6 2980.9 10707.1 13412.4 9516.2 \n", + "2014 582.5 923.3 1059.9 793.9 3276.5 5121.4 11150.4 10484.1 \n", + "2015 685.9 605.7 1862.3 2744.1 2718.9 8616.8 9715.4 8485.7 \n", + "\n", + " SEP OCT NOV DEC \n", + "YEAR \n", + "1901 4695.4 2579.4 2266.5 378.3 \n", + "1902 9051.4 3035.0 1521.0 1160.3 \n", + "1903 7581.7 4387.1 1649.8 758.6 \n", + "1904 5859.1 2959.3 691.5 517.0 \n", + "1905 6274.1 2735.9 560.9 595.2 \n", + "... ... ... ... ... \n", + "2011 8128.4 1923.3 1074.9 465.5 \n", + "2012 8453.1 2758.6 1395.2 487.4 \n", + "2013 6452.9 5213.3 986.1 317.5 \n", + "2014 7141.4 2921.5 760.1 582.0 \n", + "2015 5690.2 2204.3 2000.4 770.8 \n", + "\n", + "[115 rows x 12 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gr2 = rain1_df.groupby(by='YEAR').sum()[['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC']]\n", + "gr2" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "gr2.plot(kind='bar', stacked='true', figsize=(22,12))\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### По данному графику можно сделать следующие выводы:\n", + "- Наибольшее колличесво осадков выпадало в июле;\n", + "- В летнее время выпало наибольшее колличество осадков;\n", + "- Наименьшее колличесво осадков выпало в январе и феврале;\n", + "- Наибольшее суммарное колличество осадков выпало в 1961 году;\n", + "- Наименьшее суммарное колличество осадков выпало в 1972 году." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3. Постройте графики количества осадков по штатам, используйте boxplot. Сделайте выводы по построенным графикам." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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AAAAAACSLhAIyOns/wrqdDpVUVFhc0VIB4QSAAAAAICk8/l88vv9cjgc8vv9KiwstLskpAGX3QUAAAAAACaGQCCg5uZmRklgEKEEAAAAACAlfD6fNmzYYHcZSCNM3wAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALYglAAAAAAAALZwJavjpUuXKj8/X5J02WWX6ctf/rLWrFkjh8OhuXPn6pFHHpHT6dSOHTu0fft2uVwuVVZWavHixTp37pyqqqoUiUTk8Xi0fv16FRYWJqtUAAAAAABgg6SEEl1dXZKkrVu3Dh778pe/rJUrV2rhwoV6+OGHtWvXLn3sYx/T1q1b9dOf/lRdXV0KBAK6/vrrtW3bNpWUlGjFihXauXOnNm/erHXr1iWjVAAAAAAAYJOkTN9obGzU2bNnddddd+nzn/+8fv/73+vQoUNasGCBJGnRokV69dVXdeDAAV111VXKzc1Vfn6+ioqK1NjYqP379+uGG24YbPvaa68lo0wAAAAAAGCjpIyUmDRpku6++27dfvvt+r//+z994QtfkGmacjgckiSPx6MzZ86ovb19cIrHwPH29vYhxwfaxtLV1aWGhoZkPBzLdHR0SFLa1wkAAAAAQCokJZT4yEc+ossvv1wOh0Mf+chHNH36dB06dGjw5x0dHSooKNDUqVMHv6gPHM/Pzx9yfKBtLHl5eZo3b571D8ZCHo9HktK+TgAAAAAArHKxC/NJmb7xk5/8RN/61rckSSdOnFB7e7uuv/567du3T5K0Z88eXXvttZo/f77279+vrq4unTlzRk1NTSopKdHVV1+t3bt3D7a95pprklEmAAAAAACwUVJGStx222164IEHVF5eLofDoccee0xer1cPPfSQNm3apOLi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i4sLDh48CADYt28f3NzcXvqaFStW4K233oKvry+6d++OlStXQqFQqH2NXC6HjY2N2rlmzZohMzNT9djBwQGtWrVCYGBgFd8FIiIiEhKLEkRERFSpu3fvwsLCAt9++y3i4+OxevVq+Pr6wsTE5KUCQElJiep40qRJ2LVrFw4dOoSZM2fCy8ur0ufPy8uDubn5S+ednJxw5MgRPHv2DElJSejbt6/a9WfPniE1NRWzZ89GZGQkjh49iszMTISFhal93dtvv61acVHuzp07aNSokdo5b29vREVFIS0t7e+/KURERKRRLEoQERFRpdLS0uDr66tazdC8eXPUrl0bLVq0wPHjx1Vfl5ycjP/85z+VPkfjxo1RXFxc6bXAwEBVb4eKLC0t0bJlS3z33XcYMGAAatZUb4ElkUiwcOFC3LhxAwBQv359NGnSBMbGxmpf5+7ujlWrViEvLw8AkJ+fj1WrVmH8+PFqX2dhYYFly5Zh+fLlr/p2EBERkQDY6JKIiIgqNXDgQNy6dQuurq4wMzODUqnEokWL4ODggBUrVsDJyQnm5uaQSqVYtmyZ6u8FBwfj8OHDqFGjBoqKivDll1+qrk2ZMgVGRkYoKytDmzZtsGjRokpjf/TRR5g2bRqOHj360jVjY2OsX78eX331FUpLSyGRSNChQweMGTMGWVlZqq9zdHREXl4epk6dColEgrKyMri4uGDo0KEvPeeHH36IYcOG4dq1a//mW0ZERESvSaJUKpViJ0FEREREREREhofbN4iIiIiIiIhIFCxKEBEREREREZEoWJQgIiIiIiIiIlGwKEFEREREREREomBRgoiIiIiIiIhEwaIEEREREREREYmCRQkiIiIiIiIiEgWLEkREREREREQkiv8HthTRswWBk8gAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sns\n", + "sns.set_style('whitegrid')\n", + "fig = plt.figure(figsize=(18, 9))\n", + "plt.xticks(rotation='vertical')\n", + "sns.boxplot(x='SUBDIVISION', y='ANNUAL', data=rain1_df)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### По данному графику можно сделать следующие выводы:\n", + "- Осадки в штате ARUNACHAL PRADESH имеют больший диапазон по сравнению с другими штатами;\n", + "- Самый низкий уровень осадков наблюдается в WEST RAJASTHAN с очень низкими отклонениями, по сравнению с другими штатами;\n", + "- Самые большие отклонения (выбросы) наблюдаются в COASTAL KARNATAKA." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4. Определите штаты, для которых количество осадков минимально и максимально." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "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", + "
ANNUAL
SUBDIVISION
COASTAL KARNATAKA388558.7
KONKAN & GOA342433.9
KERALA336431.1
SUB HIMALAYAN WEST BENGAL & SIKKIM316505.0
ARUNACHAL PRADESH311116.0
ANDAMAN & NICOBAR ISLANDS304453.7
ASSAM & MEGHALAYA296780.0
NAGA MANI MIZO TRIPURA279866.2
GANGETIC WEST BENGAL171406.1
UTTARAKHAND168555.1
ORISSA167689.5
LAKSHADWEEP163861.3
CHHATTISGARH157748.8
JHARKHAND150569.9
HIMACHAL PRADESH144939.7
EAST MADHYA PRADESH138575.0
BIHAR137727.9
JAMMU & KASHMIR129924.0
VIDARBHA125977.8
COASTAL ANDHRA PRADESH121084.0
SOUTH INTERIOR KARNATAKA119645.0
EAST UTTAR PRADESH112609.5
TELANGANA109638.5
TAMIL NADU108527.0
WEST MADHYA PRADESH107656.9
GUJARAT REGION105596.5
MADHYA MAHARASHTRA101226.8
WEST UTTAR PRADESH95118.2
MATATHWADA90929.6
RAYALSEEMA88113.7
NORTH INTERIOR KARNATAKA82546.5
EAST RAJASTHAN75349.8
PUNJAB68256.6
HARYANA DELHI & CHANDIGARH61007.1
SAURASHTRA & KUTCH56943.6
WEST RAJASTHAN33657.4
\n", + "
" + ], + "text/plain": [ + " ANNUAL\n", + "SUBDIVISION \n", + "COASTAL KARNATAKA 388558.7\n", + "KONKAN & GOA 342433.9\n", + "KERALA 336431.1\n", + "SUB HIMALAYAN WEST BENGAL & SIKKIM 316505.0\n", + "ARUNACHAL PRADESH 311116.0\n", + "ANDAMAN & NICOBAR ISLANDS 304453.7\n", + "ASSAM & MEGHALAYA 296780.0\n", + "NAGA MANI MIZO TRIPURA 279866.2\n", + "GANGETIC WEST BENGAL 171406.1\n", + "UTTARAKHAND 168555.1\n", + "ORISSA 167689.5\n", + "LAKSHADWEEP 163861.3\n", + "CHHATTISGARH 157748.8\n", + "JHARKHAND 150569.9\n", + "HIMACHAL PRADESH 144939.7\n", + "EAST MADHYA PRADESH 138575.0\n", + "BIHAR 137727.9\n", + "JAMMU & KASHMIR 129924.0\n", + "VIDARBHA 125977.8\n", + "COASTAL ANDHRA PRADESH 121084.0\n", + "SOUTH INTERIOR KARNATAKA 119645.0\n", + "EAST UTTAR PRADESH 112609.5\n", + "TELANGANA 109638.5\n", + "TAMIL NADU 108527.0\n", + "WEST MADHYA PRADESH 107656.9\n", + "GUJARAT REGION 105596.5\n", + "MADHYA MAHARASHTRA 101226.8\n", + "WEST UTTAR PRADESH 95118.2\n", + "MATATHWADA 90929.6\n", + "RAYALSEEMA 88113.7\n", + "NORTH INTERIOR KARNATAKA 82546.5\n", + "EAST RAJASTHAN 75349.8\n", + "PUNJAB 68256.6\n", + "HARYANA DELHI & CHANDIGARH 61007.1\n", + "SAURASHTRA & KUTCH 56943.6\n", + "WEST RAJASTHAN 33657.4" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "osadki = rain1_df.groupby(by='SUBDIVISION').sum()[['ANNUAL']].sort_values(by='ANNUAL', ascending=False)\n", + "osadki" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Наибольшее колличество осадков: COASTAL KARNATAKA\n", + "Наименьшее колличество осадков: WEST RAJASTHAN\n" + ] + } + ], + "source": [ + "hig = osadki.index.values[0]\n", + "low = osadki.index.values[-1]\n", + "print ('Наибольшее колличество осадков: ', hig)\n", + "print ('Наименьшее колличество осадков: ', low)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5. Выведите уникальные имена штатов и территорий Индии." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['ANDAMAN & NICOBAR ISLANDS' 'ARUNACHAL PRADESH' 'ASSAM & MEGHALAYA'\n", + " 'NAGA MANI MIZO TRIPURA' 'SUB HIMALAYAN WEST BENGAL & SIKKIM'\n", + " 'GANGETIC WEST BENGAL' 'ORISSA' 'JHARKHAND' 'BIHAR' 'EAST UTTAR PRADESH'\n", + " 'WEST UTTAR PRADESH' 'UTTARAKHAND' 'HARYANA DELHI & CHANDIGARH' 'PUNJAB'\n", + " 'HIMACHAL PRADESH' 'JAMMU & KASHMIR' 'WEST RAJASTHAN' 'EAST RAJASTHAN'\n", + " 'WEST MADHYA PRADESH' 'EAST MADHYA PRADESH' 'GUJARAT REGION'\n", + " 'SAURASHTRA & KUTCH' 'KONKAN & GOA' 'MADHYA MAHARASHTRA' 'MATATHWADA'\n", + " 'VIDARBHA' 'CHHATTISGARH' 'COASTAL ANDHRA PRADESH' 'TELANGANA'\n", + " 'RAYALSEEMA' 'TAMIL NADU' 'COASTAL KARNATAKA' 'NORTH INTERIOR KARNATAKA'\n", + " 'SOUTH INTERIOR KARNATAKA' 'KERALA' 'LAKSHADWEEP']\n", + "Всего названий: 36\n" + ] + } + ], + "source": [ + "uniq = rain1_df['SUBDIVISION'].unique()\n", + "print(uniq)\n", + "print ('Всего названий: ', len(uniq))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 6. Определите количество лет наблюдений для каждого штата." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "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", + "
SUBDIVISIONYEAR
0ANDAMAN & NICOBAR ISLANDS110
1ARUNACHAL PRADESH97
2ASSAM & MEGHALAYA115
3BIHAR115
4CHHATTISGARH115
5COASTAL ANDHRA PRADESH115
6COASTAL KARNATAKA115
7EAST MADHYA PRADESH115
8EAST RAJASTHAN115
9EAST UTTAR PRADESH115
10GANGETIC WEST BENGAL115
11GUJARAT REGION115
12HARYANA DELHI & CHANDIGARH115
13HIMACHAL PRADESH115
14JAMMU & KASHMIR115
15JHARKHAND115
16KERALA115
17KONKAN & GOA115
18LAKSHADWEEP114
19MADHYA MAHARASHTRA115
20MATATHWADA115
21NAGA MANI MIZO TRIPURA115
22NORTH INTERIOR KARNATAKA115
23ORISSA115
24PUNJAB115
25RAYALSEEMA115
26SAURASHTRA & KUTCH115
27SOUTH INTERIOR KARNATAKA115
28SUB HIMALAYAN WEST BENGAL & SIKKIM115
29TAMIL NADU115
30TELANGANA115
31UTTARAKHAND115
32VIDARBHA115
33WEST MADHYA PRADESH115
34WEST RAJASTHAN115
35WEST UTTAR PRADESH115
\n", + "
" + ], + "text/plain": [ + " SUBDIVISION YEAR\n", + "0 ANDAMAN & NICOBAR ISLANDS 110\n", + "1 ARUNACHAL PRADESH 97\n", + "2 ASSAM & MEGHALAYA 115\n", + "3 BIHAR 115\n", + "4 CHHATTISGARH 115\n", + "5 COASTAL ANDHRA PRADESH 115\n", + "6 COASTAL KARNATAKA 115\n", + "7 EAST MADHYA PRADESH 115\n", + "8 EAST RAJASTHAN 115\n", + "9 EAST UTTAR PRADESH 115\n", + "10 GANGETIC WEST BENGAL 115\n", + "11 GUJARAT REGION 115\n", + "12 HARYANA DELHI & CHANDIGARH 115\n", + "13 HIMACHAL PRADESH 115\n", + "14 JAMMU & KASHMIR 115\n", + "15 JHARKHAND 115\n", + "16 KERALA 115\n", + "17 KONKAN & GOA 115\n", + "18 LAKSHADWEEP 114\n", + "19 MADHYA MAHARASHTRA 115\n", + "20 MATATHWADA 115\n", + "21 NAGA MANI MIZO TRIPURA 115\n", + "22 NORTH INTERIOR KARNATAKA 115\n", + "23 ORISSA 115\n", + "24 PUNJAB 115\n", + "25 RAYALSEEMA 115\n", + "26 SAURASHTRA & KUTCH 115\n", + "27 SOUTH INTERIOR KARNATAKA 115\n", + "28 SUB HIMALAYAN WEST BENGAL & SIKKIM 115\n", + "29 TAMIL NADU 115\n", + "30 TELANGANA 115\n", + "31 UTTARAKHAND 115\n", + "32 VIDARBHA 115\n", + "33 WEST MADHYA PRADESH 115\n", + "34 WEST RAJASTHAN 115\n", + "35 WEST UTTAR PRADESH 115" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nab1_df =rain1_df.groupby(['SUBDIVISION'])['YEAR'].count()\n", + "nab1_df= nab1_df.reset_index()\n", + "nab1_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 7. Определите штат с наименьшим количеством наблюдений" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SUBDIVISIONYEAR
1ARUNACHAL PRADESH97
\n", + "
" + ], + "text/plain": [ + " SUBDIVISION YEAR\n", + "1 ARUNACHAL PRADESH 97" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nab1_df[nab1_df[\"YEAR\"] == nab1_df[\"YEAR\"].min()]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 8. Добавьте в набор данных признак, являющийся суммой двух других признаков." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "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", + "
SUBDIVISIONYEARJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDECANNUALJan-FebMar-MayJun-SepOct-DecJan-Dec
0ANDAMAN & NICOBAR ISLANDS190149.287.129.22.3528.8517.5365.1481.1332.6388.5558.233.63373.2136.3560.31696.3980.382.8
1ANDAMAN & NICOBAR ISLANDS19020.0159.812.20.0446.1537.1228.9753.7666.2197.2359.0160.53520.7159.8458.32185.9716.7160.5
2ANDAMAN & NICOBAR ISLANDS190312.7144.00.01.0235.1479.9728.4326.7339.0181.2284.4225.02957.4156.7236.11874.0690.6237.7
3ANDAMAN & NICOBAR ISLANDS19049.414.70.0202.4304.5495.1502.0160.1820.4222.2308.740.13079.624.1506.91977.6571.049.5
4ANDAMAN & NICOBAR ISLANDS19051.30.03.326.9279.5628.7368.7330.5297.0260.725.4344.72566.71.3309.71624.9630.8346.0
...............................................................
4111LAKSHADWEEP20115.12.83.185.9107.2153.6350.2254.0255.2117.4184.314.91533.77.9196.21013.0316.620.0
4112LAKSHADWEEP201219.20.11.676.821.2327.0231.5381.2179.8145.912.48.81405.519.399.61119.5167.128.0
4113LAKSHADWEEP201326.234.437.55.388.3426.2296.4154.4180.072.878.126.71426.360.6131.11057.0177.652.9
4114LAKSHADWEEP201453.216.14.414.957.4244.1116.1466.1132.2169.259.062.31395.069.376.7958.5290.5115.5
4115LAKSHADWEEP20152.20.53.787.1133.1296.6257.5146.4160.4165.4231.0159.01642.92.7223.9860.9555.4161.2
\n", + "

4116 rows × 20 columns

\n", + "
" + ], + "text/plain": [ + " SUBDIVISION YEAR JAN FEB MAR APR MAY JUN \\\n", + "0 ANDAMAN & NICOBAR ISLANDS 1901 49.2 87.1 29.2 2.3 528.8 517.5 \n", + "1 ANDAMAN & NICOBAR ISLANDS 1902 0.0 159.8 12.2 0.0 446.1 537.1 \n", + "2 ANDAMAN & NICOBAR ISLANDS 1903 12.7 144.0 0.0 1.0 235.1 479.9 \n", + "3 ANDAMAN & NICOBAR ISLANDS 1904 9.4 14.7 0.0 202.4 304.5 495.1 \n", + "4 ANDAMAN & NICOBAR ISLANDS 1905 1.3 0.0 3.3 26.9 279.5 628.7 \n", + "... ... ... ... ... ... ... ... ... \n", + "4111 LAKSHADWEEP 2011 5.1 2.8 3.1 85.9 107.2 153.6 \n", + "4112 LAKSHADWEEP 2012 19.2 0.1 1.6 76.8 21.2 327.0 \n", + "4113 LAKSHADWEEP 2013 26.2 34.4 37.5 5.3 88.3 426.2 \n", + "4114 LAKSHADWEEP 2014 53.2 16.1 4.4 14.9 57.4 244.1 \n", + "4115 LAKSHADWEEP 2015 2.2 0.5 3.7 87.1 133.1 296.6 \n", + "\n", + " JUL AUG SEP OCT NOV DEC ANNUAL Jan-Feb Mar-May \\\n", + "0 365.1 481.1 332.6 388.5 558.2 33.6 3373.2 136.3 560.3 \n", + "1 228.9 753.7 666.2 197.2 359.0 160.5 3520.7 159.8 458.3 \n", + "2 728.4 326.7 339.0 181.2 284.4 225.0 2957.4 156.7 236.1 \n", + "3 502.0 160.1 820.4 222.2 308.7 40.1 3079.6 24.1 506.9 \n", + "4 368.7 330.5 297.0 260.7 25.4 344.7 2566.7 1.3 309.7 \n", + "... ... ... ... ... ... ... ... ... ... \n", + "4111 350.2 254.0 255.2 117.4 184.3 14.9 1533.7 7.9 196.2 \n", + "4112 231.5 381.2 179.8 145.9 12.4 8.8 1405.5 19.3 99.6 \n", + "4113 296.4 154.4 180.0 72.8 78.1 26.7 1426.3 60.6 131.1 \n", + "4114 116.1 466.1 132.2 169.2 59.0 62.3 1395.0 69.3 76.7 \n", + "4115 257.5 146.4 160.4 165.4 231.0 159.0 1642.9 2.7 223.9 \n", + "\n", + " Jun-Sep Oct-Dec Jan-Dec \n", + "0 1696.3 980.3 82.8 \n", + "1 2185.9 716.7 160.5 \n", + "2 1874.0 690.6 237.7 \n", + "3 1977.6 571.0 49.5 \n", + "4 1624.9 630.8 346.0 \n", + "... ... ... ... \n", + "4111 1013.0 316.6 20.0 \n", + "4112 1119.5 167.1 28.0 \n", + "4113 1057.0 177.6 52.9 \n", + "4114 958.5 290.5 115.5 \n", + "4115 860.9 555.4 161.2 \n", + "\n", + "[4116 rows x 20 columns]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rain1_df[\"Jan-Dec\"]=rain1_df[\"DEC\"]+rain1_df[\"JAN\"]\n", + "rain1_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 9. Вычислите корреляцию Пирсона и Спирмена между признаками NOV и MAR. Сравните полученные величины корреляции. Постройте гистограммы для указанных признаков. Оцените значение p-value." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "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", + "
STATE_UT_NAMEDISTRICTJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDECANNUALJan-FebMar-MayJun-SepOct-Dec
0ANDAMAN And NICOBAR ISLANDSNICOBAR107.357.965.2117.0358.5295.5285.0271.9354.8326.0315.2250.92805.2165.2540.71207.2892.1
1ANDAMAN And NICOBAR ISLANDSSOUTH ANDAMAN43.726.018.690.5374.4457.2421.3423.1455.6301.2275.8128.33015.769.7483.51757.2705.3
2ANDAMAN And NICOBAR ISLANDSN & M ANDAMAN32.715.98.653.4343.6503.3465.4460.9454.8276.1198.6100.02913.348.6405.61884.4574.7
3ARUNACHAL PRADESHLOHIT42.280.8176.4358.5306.4447.0660.1427.8313.6167.134.129.83043.8123.0841.31848.5231.0
4ARUNACHAL PRADESHEAST SIANG33.379.5105.9216.5323.0738.3990.9711.2568.0206.929.531.74034.7112.8645.43008.4268.1
\n", + "
" + ], + "text/plain": [ + " STATE_UT_NAME DISTRICT JAN FEB MAR APR \\\n", + "0 ANDAMAN And NICOBAR ISLANDS NICOBAR 107.3 57.9 65.2 117.0 \n", + "1 ANDAMAN And NICOBAR ISLANDS SOUTH ANDAMAN 43.7 26.0 18.6 90.5 \n", + "2 ANDAMAN And NICOBAR ISLANDS N & M ANDAMAN 32.7 15.9 8.6 53.4 \n", + "3 ARUNACHAL PRADESH LOHIT 42.2 80.8 176.4 358.5 \n", + "4 ARUNACHAL PRADESH EAST SIANG 33.3 79.5 105.9 216.5 \n", + "\n", + " MAY JUN JUL AUG SEP OCT NOV DEC ANNUAL Jan-Feb \\\n", + "0 358.5 295.5 285.0 271.9 354.8 326.0 315.2 250.9 2805.2 165.2 \n", + "1 374.4 457.2 421.3 423.1 455.6 301.2 275.8 128.3 3015.7 69.7 \n", + "2 343.6 503.3 465.4 460.9 454.8 276.1 198.6 100.0 2913.3 48.6 \n", + "3 306.4 447.0 660.1 427.8 313.6 167.1 34.1 29.8 3043.8 123.0 \n", + "4 323.0 738.3 990.9 711.2 568.0 206.9 29.5 31.7 4034.7 112.8 \n", + "\n", + " Mar-May Jun-Sep Oct-Dec \n", + "0 540.7 1207.2 892.1 \n", + "1 483.5 1757.2 705.3 \n", + "2 405.6 1884.4 574.7 \n", + "3 841.3 1848.5 231.0 \n", + "4 645.4 3008.4 268.1 " + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rain2_df=pd.read_csv('district wise rainfall normal.csv')\n", + "rain2_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "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", + "
MARNOV
065.2315.2
118.6275.8
28.6198.6
3176.434.1
4105.929.5
.........
63643.6172.9
6378.484.6
63873.9213.5
63917.593.6
64011.8117.7
\n", + "

641 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " MAR NOV\n", + "0 65.2 315.2\n", + "1 18.6 275.8\n", + "2 8.6 198.6\n", + "3 176.4 34.1\n", + "4 105.9 29.5\n", + ".. ... ...\n", + "636 43.6 172.9\n", + "637 8.4 84.6\n", + "638 73.9 213.5\n", + "639 17.5 93.6\n", + "640 11.8 117.7\n", + "\n", + "[641 rows x 2 columns]" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "corr=rain2_df[[\"MAR\",\"NOV\"]]\n", + "corr" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "from scipy import stats" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(0.10906609663702337, 0.0057063698134176555)\n" + ] + } + ], + "source": [ + "a = stats.pearsonr(corr['MAR'],corr['NOV']) #корреляция Пирсона\n", + "print(a)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEECAYAAAAlEzNMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3df3RU9b3/++fM7Pk9kxAIhFgIQhQJcCg/PKinhZbYiPVbjq1RAvWEtST33Oq5vR5WtU3kAFKSS/Da5VptF/K1rvo93xvlEC7HWmm1VsB+cwtIDYdAEyJoxFQgQPiRHzOTmT0/9v0jyZiBCZMJmSSTeT/WiszsH7Pfe4Pzymd/9v5snaZpGkIIIVKWfqQLEEIIMbIkCIQQIsVJEAghRIqTIBBCiBQnQSCEEClOGekCbqaurg6z2Tys2/T5fMO+zVhGY00gdcVL6oqP1BWfvnX5fD7mz58/4HVHdRCYzWby8vKGdZuNjY3Dvs1YRmNNIHXFS+qKj9QVn751NTY2xrWunBoSQogUJ0EghBApToJACCFSnASBEEKkuJhBEAqF2LRpE0VFRRQXF9Pc3Bwx/8CBAxQWFlJUVMTu3bsj5l25coVvfOMbNDU1AdDc3Mzq1av5/ve/z/PPP08oFBrCXRFCCDEYMYNg3759qKpKdXU1zzzzDNu2bQvP8/v9VFZW8tprr1FVVUV1dTWtra3heZs2bcJisYSXr6ysZN26dezcuRNN09i/f38CdkkIIUQ8YgbB0aNHWbJkCQDz58+nvr4+PK+pqYmcnBzS09MxmUwsWrSI2tpaAF544QVWrVrFpEmTwss3NDSwePFiAJYuXcqhQ4eGdGeEEELEL+Z9BC6XC4fDEX5vMBgIBAIoioLL5cLpdIbn2e12XC4Xb775JuPHj2fJkiX86le/Cs/XNA2dThdetrOz86bb9vl8cV8Pe6u8Xu+wbzOW0VgTSF3xkrriI3XF51bqihkEDocDt9sdfh8KhVAUJeo8t9uN0+mkqqoKnU7H4cOHaWxspLS0lB07dqDX6yOWTUtLu+m25YaybqOxJpC64iV1xUfqis+t3FAWMwgWLlzIBx98wEMPPURdXR0zZ84Mz8vNzaW5uZm2tjZsNhu1tbWUlJTw4IMPhpcpLi5m8+bNTJw4kdmzZ3PkyBHuueceampquPfee+MqdqS0e1Q6fYEbpjvNCuk20whUJIQQQydmEBQUFHDw4EFWrVqFpmls3bqVvXv34vF4KCoqoqysjJKSEjRNo7CwkKysrH4/q7S0lI0bN/LSSy8xY8YMli9fPqQ7kyidvgA1py/fMH3pzEwJAiFE0osZBHq9ni1btkRMy83NDb/Oz88nPz+/3/WrqqrCr6dPn87rr78+mDqFEEIkiNxQJoQQKU6CQAghUpwEgRBCpDgJAiGESHESBEIIkeIkCIQQIsVJEAghRIqTIBBCiBQnQSCEEClOgkAIIVKcBIEQQqQ4CQIhhEhxEgRCCJHiJAiEECLFSRAIIUSKkyAQQogUJ0EghBApLuYTylKN3mzn7DVPxDSfPzhC1QghROLFDIJQKMTmzZs5deoUJpOJiooKpk2bFp5/4MABtm/fjqIoFBYWsnLlSoLBIBs2bODMmTMYDAYqKyvJycmhoaGBJ598kttvvx2A1atX89BDDyVs5wbDG9Rx9LrnEy/IGTdC1QghROLFDIJ9+/ahqirV1dXU1dWxbds2duzYAYDf76eyspI9e/ZgtVpZvXo1y5Yt4/jx4wDs2rWLI0eOUFlZyY4dOzh58iRPPPEEa9euTexeCSGEGLCYQXD06FGWLFkCwPz586mvrw/Pa2pqIicnh/T0dAAWLVpEbW0t3/72t/nmN78JwPnz58nMzASgvr6eM2fOsH//fqZNm8b69etxOBxDvU9CCCHiEDMIXC5XxJe1wWAgEAigKAoulwun0xmeZ7fbcblc3R+sKJSWlvL+++/zi1/8AoB58+bx2GOPMXfuXHbs2MH27dspLS3td9s+n4/GxsZB79xgBDDTcqE1YtqsTBMtF1puWPbKeB2dF5oTXpPX6x324zAQUld8pK74SF3xuZW6YgaBw+HA7XaH34dCIRRFiTrP7XZHBMMLL7zAs88+y8qVK/n9739PQUEBaWlpABQUFFBeXn7TbZvNZvLy8uLbo1t0/JMvyJ6cHTHNarPdMA1gQuYEpmRMTXhNjY2Nw34cBkLqio/UFR+pKz5964o3EGJePrpw4UJqamoAqKurY+bMmeF5ubm5NDc309bWhqqq1NbWsmDBAt566y1eeeUVAKxWKzqdDoPBQElJCSdOnADg8OHDzJkzJ65ihRBCDL2YLYKCggIOHjzIqlWr0DSNrVu3snfvXjweD0VFRZSVlVFSUoKmaRQWFpKVlcUDDzzAc889x+OPP04gEGD9+vWYzWY2b95MeXk5RqORzMzMmC0CIYQQiRczCPR6PVu2bImYlpubG36dn59Pfn5+xHybzcbPf/7zGz5rzpw57Nq1a7C1CiGESAC5s3gAPGqAYEgb6TKEECIhJAgG4On/qOPd+huvGhJCiLFAgiCGLjXIubYu/nq2nZAmrQIhxNgjQRBDq8sHQKcvwNlrXSNcjRBCDD0Jghgud/rCr0+e7xjBSoQQIjEkCGJodfkw6HXcPsFOY4sEgRBi7JEgiKG108dt6RbmfiWNVpcvooUghBBjgQRBDJddPqZk2MjL7h4a46S0CoQQY4wEwU0EQxpX3CpfybCSYTORnW6RIBBCjDkSBDfR5lEJhjSmZlgBmJnl5IurHrm5TAgxpkgQ3ETvpaNTMmwApFuNaIBbDYxgVUIIMbQkCG6itbM3CLpbBE5L99BMLq8EgRBi7JAguInLLh82k4E0qxEAp7k7CDolCIQQY4gEwU20dqpMdJjD7x2W7kBw+fwjVZIQQgw5CYKbaHX5yHT2CQJpEQghxiAJgn50qUHcvkBEi8Ck6DErejp9EgRCiLFDgqAfl3uuGJrYp0UA3R3G0lkshBhLJAj60dbV3Q+QYTNFTHeYjXJqSAgxpsR8VGUoFGLz5s2cOnUKk8lERUUF06ZNC88/cOAA27dvR1EUCgsLWblyJcFgkA0bNnDmzBkMBgOVlZXk5OTQ3NxMWVkZOp2OO++8k+effx69fnRmUZcaBMBqMkRMd1gULrTLcNRCiLEj5rfwvn37UFWV6upqnnnmGbZt2xae5/f7qays5LXXXqOqqorq6mpaW1v54IMPANi1axdPP/00lZWVAFRWVrJu3Tp27tyJpmns378/Qbt167p6bhqzGiODwGlWpEUghBhTYgbB0aNHWbJkCQDz58+nvr4+PK+pqYmcnBzS09MxmUwsWrSI2tpavvWtb1FeXg7A+fPnyczMBKChoYHFixcDsHTpUg4dOjTkOzRUuvxBDHodRoMuYrrTouALhPAHQyNUmRBCDK2Yp4ZcLhcOhyP83mAwEAgEUBQFl8uF0+kMz7Pb7bhcru4PVhRKS0t5//33+cUvfgGApmnodLrwsp2dnTfdts/no7GxMf69ugUBzLRcaOVKeydmA1y4eIGuiWZaLnQ/szjo8wLw2RfnmT/RQOeF5oTX5PV6h/04DITUFR+pKz5SV3xupa6YQeBwOHC73eH3oVAIRVGiznO73RHB8MILL/Dss8+ycuVKfv/730f0B7jdbtLS0m66bbPZTF5e3sD3Zggc/+QLsidno2tWsVsge3I2VpuN7MnZAHTQAU0urGnjmZA5gSkZUxNeU2Nj47Afh4GQuuIjdcVH6opP37riDYSYp4YWLlxITU0NAHV1dcycOTM8Lzc3l+bmZtra2lBVldraWhYsWMBbb73FK6+8AoDVakWn02EwGJg9ezZHjhwBoKamhrvvvjuuYoeTxx+8oX8A+txd7JW7i4UQY0PMFkFBQQEHDx5k1apVaJrG1q1b2bt3Lx6Ph6KiIsrKyigpKUHTNAoLC8nKyuKBBx7gueee4/HHHycQCLB+/XrMZjOlpaVs3LiRl156iRkzZrB8+fLh2MdB8apBnD1f+n2FxxuSm8qEEGNEzCDQ6/Vs2bIlYlpubm74dX5+Pvn5+RHzbTYbP//5z2/4rOnTp/P6668PttZh1eUPkpVmuWG63aygQ4aZEEKMHaPzIv5RoMsfxGK68dSQQa/DZjLI3cVCiDFDgiCKkKbh9Yei9hEAOC1GOTUkhBgzJAii8PbeVdxPEDgsinQWCyHGDAmCKLr83UFgi3JqCHruLpYWgRBijJAgiKI3CPptEZi7RyDVNHmIvRAi+UkQROHpZ8C5Xg6LQiCk4e5ZTgghkpkEQRS9LQJLv53F3VfdXnWpw1aTEEIkigRBFL1DUPfXR+Awd99odsXtG7aahBAiUSQIovDG6CPobRFckRaBEGIMkCCIwqMGMRp0KIboh8feM8xEe5dcQiqESH4SBFF09TPgXK/eeRIEQoixQIIgii412O8VQ9A9zITFqKdDbioTQowBEgRRxGoRQHeroKNLbioTQiQ/CYIoutTYQWAzKXJqSAgxJkgQRNHlD2I13XyEbpvJIKeGhBBjggRBFN2nhm5+aKwmOTUkhBgbJAiuEwhpqIHQTTuLQU4NCSHGDgmC67h8N7+ZrJfNZMDlCxAMycBzQojkJkFwHVfP8NID6SMAuZdACJH8Yj6zOBQKsXnzZk6dOoXJZKKiooJp06aF5x84cIDt27ejKAqFhYWsXLkSv9/P+vXrOXfuHKqq8tRTT3H//ffT0NDAk08+ye233w7A6tWreeihhxK2c4PhjvFQml6989s8KuPtpoTXJYQQiRIzCPbt24eqqlRXV1NXV8e2bdvYsWMHAH6/n8rKSvbs2YPVamX16tUsW7aMmpoaxo0bx4svvsi1a9f43ve+x/3338/Jkyd54oknWLt2bcJ3bLDCp4YG0EcAcM0jLQIhRHKLGQRHjx5lyZIlAMyfP5/6+vrwvKamJnJyckhPTwdg0aJF1NbW8uCDD7J8+fLwcgZD95dqfX09Z86cYf/+/UybNo3169fjcDj63bbP56OxsXFwezZI7V3dA8m52q/QorYDMCvTRMuFlojlPJ3dAfDXU03YPPaE1uT1eof9OAyE1BUfqSs+Uld8bqWumEHgcrkivqwNBgOBQABFUXC5XDidzvA8u92Oy+XCbreH13366adZt24dAPPmzeOxxx5j7ty57Nixg+3bt1NaWtrvts1mM3l5eYPascH6zeljAOTclo2jZ3A5q81G9uTsiOVMDh/Ut+OcMJm8vCkJramxsXHYj8NASF3xkbriI3XFp29d8QZCzM5ih8OB2+0Ovw+FQiiKEnWe2+0OB0NLSwtr1qzh4YcfZsWKFQAUFBQwd+7c8OuTJ0/GVexwGPhVQ72nhmQoaiFEcosZBAsXLqSmpgaAuro6Zs6cGZ6Xm5tLc3MzbW1tqKpKbW0tCxYs4PLly6xdu5Yf//jHPProo+HlS0pKOHHiBACHDx9mzpw5Q70/t8zlC2JS9Bj0upsuZzbq0evkqiEhRPKLeWqooKCAgwcPsmrVKjRNY+vWrezduxePx0NRURFlZWWUlJSgaRqFhYVkZWVRUVFBR0cHL7/8Mi+//DIAr776Kps3b6a8vByj0UhmZibl5eUJ38F4uQYwzhCAXqfDaTFKi0AIkfRiBoFer2fLli0R03Jzc8Ov8/Pzyc/Pj5i/YcMGNmzYcMNnzZkzh127dg221mHh8g0sCADSrIpcNSSESHpyQ9l1PP5gvw+tv16axUi7BIEQIslJEFynSw1hiTHgXK90q5waEkIkPwmC63j8QczKwA5LmtVIm7QIhBBJToLgOh41hHnAp4YU2qRFIIRIchIE1+nyB7HE0SJwq0HUQCjBVQkhROJIEPShBkKoQS2OFoERgLYuaRUIIZKXBEEf7p4hqAfaR5Bu7b76VvoJhBDJTIKgj95nEViUgd5H0N0iuOaWFoEQInlJEPTR6e1pEQzw8tEvTw1Ji0AIkbwkCPpwhU8NDaxFkN7TIpArh4QQyUyCoA+Xr/s3+4HeUJZmkT4CIUTykyDoI3xqaIAtAqvJgNGgk/GGhBBJTYKgj/CpoQG2CHQ6HeNsJjk1JIRIahIEfbi88V01BDBOhpkQQiQ5CYI+XL4Aeh0YDTd/KE1fGTaTDDwnhEhqEgR9dHoDWI0GdLqBB0G6zShPKRNCJDUJgj5cvgC2AfYP9MqwyVDUQojkJkHQh8sbwGYaeP8A9J4a8qNpWoKqEkKIxIr5qMpQKMTmzZs5deoUJpOJiooKpk2bFp5/4MABtm/fjqIoFBYWsnLlSvx+P+vXr+fcuXOoqspTTz3F/fffT3NzM2VlZeh0Ou68806ef/559PrRk0UuXwBrnC2CdJsRNRDC6w9hjTNEhBBiNIj5rbdv3z5UVaW6uppnnnmGbdu2hef5/X4qKyt57bXXqKqqorq6mtbWVt5++23GjRvHzp07efXVV8MPqa+srGTdunXs3LkTTdPYv39/4vZsEDp9g2sRAHJ6SAiRtGK2CI4ePcqSJUsAmD9/PvX19eF5TU1N5OTkkJ6eDsCiRYuora3lwQcfZPny5eHlDIbuL9eGhgYWL14MwNKlSzl48CAFBQX9btvn89HY2DiI3Rqcqx1upmZYaLnQEjF9VqbphmkAV8brcF29CMCxhlO0jzcnpC6v1zusx2GgpK74SF3xkbricyt1xQwCl8uFw+EIvzcYDAQCARRFweVy4XQ6w/Psdjsulwu73R5e9+mnn2bdunUAaJoWviLHbrfT2dl5022bzWby8vLi36tBUn9zDrvJSPbk7IjpVpvthmkAEzInMFdvgz9dIiNrCnl3ZCakrsbGxmE9DgMldcVH6oqP1BWfvnXFGwgxTw05HA7cbnf4fSgUQlGUqPPcbnc4GFpaWlizZg0PP/wwK1as6N5Yn/4At9tNWlpaXMUmWndncZxXDdl7hqKWm8qEEEkq5rfewoULqampAaCuro6ZM2eG5+Xm5tLc3ExbWxuqqlJbW8uCBQu4fPkya9eu5cc//jGPPvpoePnZs2dz5MgRAGpqarj77ruHen8GLRjScKtBbAN8OlmvcdbuPgJ5SpkQIlnFPDVUUFDAwYMHWbVqFZqmsXXrVvbu3YvH46GoqIiysjJKSkrQNI3CwkKysrKoqKigo6ODl19+mZdffhmAV199ldLSUjZu3MhLL73EjBkzIvoRRppb7R5ewhpni2CcrXcoamkRCCGSU8wg0Ov1bNmyJWJabm5u+HV+fj75+fkR8zds2MCGDRtu+Kzp06fz+uuvD7bWhOodZyjeFoHFaMBi1MvAc0KIpDV6LuIfYb0jj8bTRxAIhjh7zUOaxci5a12cveahXQJBCJFkJAh69D6LwBpHi6DLH6Lm9GUMeh2fXXZTc/oynT2BIoQQyUKCoEe4RRDnncXQHR5danCoSxJCiGEhQdAj3EcwiGEibCYDHgkCIUSSkiDo0fu84njHGgKwmRQ8fgkCIURykiDo0XkLLQKryUCXGpARSIUQSUmCoEdvH4FFGUyLwEBIA18gNNRlCSFEwkkQ9HB5A9hNBgz6gT+drFdvK0L6CYQQyUiCoIfLF8BhiXl/XVQ2U/d6HlUuHRVCJB8Jgh6dvgAO82CDQFoEQojkJUHQw+UN4LAYB7Vu701oci+BECIZSRD0cPkCOAfbIjDLqSEhRPKSIOjh8g7+1FBvi0DuJRBCJCMJgh630lls0OswK3rpIxBCJCUJgh6dXv+gWwTQ3WEsfQRCiGQkQUD3s5RdvgDOQbYIoGeYCekjEEIkIQkCoMsfJKRxyy0COTUkhEhGEgR8OfKo/RaCwCqnhoQQSSpmEIRCITZt2kRRURHFxcU0NzdHzD9w4ACFhYUUFRWxe/fuiHnHjx+nuLg4/L6hoYElS5ZQXFxMcXEx77zzzhDtxq3p8HaPPJpmHdx9BCAtAiFE8or5K/C+fftQVZXq6mrq6urYtm0bO3bsAMDv91NZWcmePXuwWq2sXr2aZcuWMXHiRF599VXefvttrFZr+LNOnjzJE088wdq1axO3R4PQ3tXdIkizKMDgvsxtJgWvP0gwJCOQCiGSS8wgOHr0KEuWLAFg/vz51NfXh+c1NTWRk5NDeno6AIsWLaK2tpZvf/vb5OTk8Mtf/pKf/OQn4eXr6+s5c+YM+/fvZ9q0aaxfvx6Hw9Hvtn0+H42NjYPeuYFqOOsB4OrFczgnptNyoTVi/qxMEy0XWm5Yr+90v7cLDfjb+Ut4LnmHtD6v1zssxyFeUld8pK74SF3xuZW6YgaBy+WK+LI2GAwEAgEURcHlcuF0OsPz7HY7LpcLgOXLl3P27NmIz5o3bx6PPfYYc+fOZceOHWzfvp3S0tJ+t202m8nLy4t7p+J12ncOuMC8WXfibr9G9uTsiPlWm+2GaddPv6Beg8/dGGxO8nKnD2l9jY2Nw3Ic4iV1xUfqio/UFZ++dcUbCDH7CBwOB263O/w+FAqhKErUeW63OyIYrldQUMDcuXPDr0+ePBlXsYnS0dNZnGYdfGdxb0fzNY86JDUJIcRwiRkECxcupKamBoC6ujpmzpwZnpebm0tzczNtbW2oqkptbS0LFizo97NKSko4ceIEAIcPH2bOnDm3Wv+Q6Ojq6Swe5KBzQPgehCsuCQIhRHKJ+StwQUEBBw8eZNWqVWiaxtatW9m7dy8ej4eioiLKysooKSlB0zQKCwvJysrq97M2b95MeXk5RqORzMxMysvLh3RnBqvD68ek6LEY439MZS9nT4hIEAghkk3MINDr9WzZsiViWm5ubvh1fn4++fn5UdedMmVKxCWlc+bMYdeuXYOtNWE6ugK31BqA7stH9Tq44vYNUVVCCDE85IYyulsEt9I/AKDX6XBajFyVFoEQIslIENDdR3CrLQLoHqLisluCQAiRXCQI6L5q6FbuKu7ltChcccmpISFEcpEgADq7/D13Fd8ap8XIFWkRCCGSjAQBvX0EQ9MiaPf48QdDQ1CVEEIMj5QPAk3ThuSqIegOAg25hFQIkVxSPgh8gRBqMHTLVw0BOM3dYXKpc2jHGhJCiERK+SAYiruKe/XeXXypQzqMhRDJQ4JgCJ5F0CscBJ0SBEKI5JHyQRD5LIJb4+j5jFYJAiFEEkn5IBjKFoGi15NuNUofgRAiqUgQDGEfAcAEu0lODQkhkooEwRA8i6CvCQ4JAiFEcpEgGOoWgcPMZQkCIUQSkSAYgmcR9DXBbqK104emyUPshRDJQYJgiO4q7jXBbkINhmjz+IfsM4UQIpEkCIbgWQR9TXCYALmXQAiRPCQIhuhZBL0mOMyA3EsghEgeMYMgFAqxadMmioqKKC4uprm5OWL+gQMHKCwspKioKOKxlADHjx+nuLg4/L65uZnVq1fz/e9/n+eff55QaORH6RyqZxH0mmDvbRHIvQRCiOQQMwj27duHqqpUV1fzzDPPsG3btvA8v99PZWUlr732GlVVVVRXV9Pa2grAq6++yoYNG/D5vvzNuLKyknXr1rFz5040TWP//v0J2KX4DNWzCHp9GQTSIhBCJIeYQXD06FGWLFkCwPz586mvrw/Pa2pqIicnh/T0dEwmE4sWLaK2thaAnJwcfvnLX0Z8VkNDA4sXLwZg6dKlHDp0aMh2ZLCG6lkEvWxmBbvJwMUOaREIIZJDzF+FXS4XDocj/N5gMBAIBFAUBZfLhdPpDM+z2+24XC4Ali9fztmzZyM+S9M0dDpdeNnOzs6bbtvn89HY2DjwvYmTpmm0eVT87vbwdgKYabnQGrHcrEwTLRdablg/2vQr43Vk2Q3Uf36Rxsah6YLxer0JPQ6DJXXFR+qKj9QVn1upK2YQOBwO3G53+H0oFEJRlKjz3G53RDBcT6/XRyyblpZ2022bzWby8vJilThoXn+QQOgM06dMJi/vDgCOf/IF2ZOzI5az2mw3TOtv+oTMCcyeOoETZ9uHrPbGxsaEHofBkrriI3XFR+qKT9+64g2EmL+yLly4kJqaGgDq6uqYOXNmeF5ubi7Nzc20tbWhqiq1tbUsWLCg38+aPXs2R44cAaCmpoa77747rmKH2lDfVdwrd6KDs9c8eP3BIf1cIYRIhJgtgoKCAg4ePMiqVavQNI2tW7eyd+9ePB4PRUVFlJWVUVJSgqZpFBYWkpWV1e9nlZaWsnHjRl566SVmzJjB8uXLh3Rn4jWUI4/2lTvJQUiD5ise7prcfwtJCCFGg5hBoNfr2bJlS8S03Nzc8Ov8/Hzy8/OjrjtlypSIS0qnT5/O66+/Pthah9xQPougrxmZdgCaWl0SBEKIUS+lbyhLVItgxsSeILjkGtLPFUKIREjtIEhQH4HNpPCVcVaaWiUIhBCjX2oHwRA/i6CvGRPtfHbZHXtBIYQYYakdBAlqEUD3lUNNl1wyHLUQYtRL6SC44lKxmQxD9iyCvnIn2nGrQS52yFATQojRLaWD4FKnl0lOc0I+O3di993Y0k8ghBjtUjoIWjt9THJaEvLZuZMkCIQQySHlg2BigloEk5xmHGaFz1qlw1gIMbqldBBcSmAQ6HQ6cifapUUghBj1UjYIPGoAly/ApLTEBAHAjIkOPpWbyoQQo1zKBkHvoyQnOhIXBHNuS6Ol3cvZa56EbUMIIW5VygZB7xPEJqUlprMYIH/WJAD2N15K2DaEEOJWpW4Q9Fzfn6jLR6H71NCMTDv7Gi8mbBtCCHGrUjYIWnseLp+ozuJe9+dN4shnV3H5AgndjhBCDFbKBsGlTh+KXsd4mymh27k/Lws1GOL/O90ae2EhhBgBKR0EmQ4zer0uodu5e1oG6VYj+6SfQAgxSqVsECTyZrK+FIOeb941kQ9OXSIYkgHohBCjT8oGwaVOX0I7ivu6Py+Lq26Vo83XhmV7QggRj5hBEAqF2LRpE0VFRRQXF9Pc3Bwx/8CBAxQWFlJUVBR+LGV/6zQ0NLBkyRKKi4spLi7mnXfeScAuDUxrpzehN5P1teyuiYyzGfnZH0/JsNRCiFEn5hNZ9u3bh6qqVFdXU1dXx7Zt29ixYwcAfr+fyspK9uzZg9VqZfXq1Sxbtoxjx45FXefkyZM88cQTrF27NuE7djOBYIgrbjWhN5P15bQYKX1wFs+9+Vd+c+wcjyycMizbFRhpU/8AABUQSURBVEKIgYgZBEePHmXJkiUAzJ8/n/r6+vC8pqYmcnJySE9PB2DRokXU1tZSV1cXdZ36+nrOnDnD/v37mTZtGuvXr8fhcAz5TsVyxa2iaTAxgTeTXe/BOVlUHW6m/Hcnyct24rQYcZoV0hN81ZIQQsQSMwhcLlfEl7XBYCAQCKAoCi6XC6fTGZ5nt9txuVz9rjNv3jwee+wx5s6dy44dO9i+fTulpaX9btvn89HY2DjYfevXJ1e6byZT21tpbIwc/iGAmZYLkZd6zso00XKh5YbPiTb9yngdnReab1hWVRz8XaaexhY/z/zHR+TPcFAw5yuYArHHIvJ6vQk5DrdK6oqP1BUfqSs+t1JXzCBwOBy43V8OpRwKhVAUJeo8t9uN0+nsd52CggLS0tIAKCgooLy8/KbbNpvN5OXlxbdHA9Dy8UXgHAvycsnLyYiYd/yTL8ienB0xzWqz3TCtv+npGRkohgk3LOvzB/nqHRotXiM1n7QyJXMcqzInMCVjasx6GxsbE3IcbpXUFR+pKz5SV3z61hVvIMTsLF64cCE1NTUA1NXVMXPmzPC83NxcmpubaWtrQ1VVamtrWbBgQb/rlJSUcOLECQAOHz7MnDlz4ip2qCRyeIkuf4ia05dv+FGD3Z3ED8zJYv7Ucfzx5EXerjs/5NsXQoh4xWwRFBQUcPDgQVatWoWmaWzdupW9e/fi8XgoKiqirKyMkpISNE2jsLCQrKysqOsAbN68mfLycoxGI5mZmTFbBInSO+DccNxHcD29Tkfhwil0qUFefO8UDovCmvtuH9C67R6VDq+flnYvdrNCulX6GYQQty5mEOj1erZs2RIxLTc3N/w6Pz+f/Pz8mOsAzJkzh127dg221iFzqdNLutWIWRn6h9YPhEGvY/XiHPY1XmTTbxs4e62Lsgdn9XuXs6Zp/OXMVf794BkONl2hvcsPwDibka/lTuCH+XfgtBgj1pGAEEIMVMwgGItah/Fmsv6YFD3/1/fm8us/n+FXNZ9xtPkaP1l+F/fM+LJ/odPr5/2TF3nlwHlOXT6Dw6xw+wQb35g5ETUQ4lxbF39ouMihpius+vscpo63hdddOjNTgkAIMSApGQSXOn3DdjPZzRj0On76j3OYe1s6P/vjKYp+9SGzs9OY4DAR0jQ++vwaaiDEbU6F8u/O5b4Z4/nLmci7ky1GPVt+d5JXapr4/uIcZt+WPkJ7I4RIVqkZBB0+/v72jNgLJlgg2P1b/T/cMYH/mHYPbx47x5HPrtLmUVGDGt+dfxvL7prEZLOfiRMz8fmDN3xGXnYa/+eyO/n3Q2eorv2Cf15iZEqGLcrWhBAiupQLgg6vn3NtXayeFPuyzUTr8oc41nQ1/P4r42w8stDGgpxxHPtbGwDXPH5OftZC9jVYkDMu6udYTQb+6d5p/Pf/1UTV4Wae+mZu1OWEECKalBt0ruFcBwBzvzK2TqE4LUbW3Hc7ajBE1YfNeKO0HoQQIpqUC4L6c+3A2AsCgKw0C6v+fioX2r28+J4McCeEGJiUC4K/nmsnO91C5jANODfc7pqcRv6sSbzXcJGqD28c6kIIIa6Xcn0E9efax2RroK9lsybR5Q+yZe9JJjktPDh38kiXJIQYxVKqRdDp9fPZZTd/N8aDQK/TsWnFbOZNSef/2Plf/Lbu3EiXJIQYxVIqCE6e7+0oThvhShLPYVaoKrmHv789g3XVdfx0bwOftcYe6VQIkXpS6tTQX8dwR3E0drPCvz+xmA1v1VN1uJn/cfBz8rLTGGc1Yjcr2M0G7GaFGZl2ls7MxGb68p9DvENUtHtUOn2BiGkyzIUQySGlgqDhfAdZaWYmOYfvgTQjzWI08LPHvspPHryL/3nwc47+7RpuNcBllw+PGsTtC9DW5cf8np67p2XwrbwszEZD3ENUdPoC1Jy+HDFNhrkQIjmkVBD89Vz7mO8f6M8kp4XV9+TwlevuOtY0DavJwP9zuJlDTVc4dbGT7y+eNkJVCiFGQsoEgdsXoKnVxX/7uxsfMJPKdDodedlprLx7KndPy6D6oy94+U+fYjPp+cE3ctHpoo+I2pc/GOLY367xXsMFrrpVLEY9VqMBjxrgm3dNYkamvd+RVYUQIy9lguD42TY0jZRpEQSCIc5ei3wMZ7SxivqaMdHBD/PvYHftF2z7wylOX3RR8b25EX0HfbnVENs/+JRf//kMV90qeh1k2EyogRAef5CaTy5T8ftGHGaFObelMee2dKZPtDPJYWK8w8QkpwVDT0BIf4IQIydlguDlD5rIsBm5Z8b4kS5lWFw/jhH0P1ZRX06LkSe+Np3PWl38j0Of81HzVf63r8/g0UVTsJu7/7l8crGT//foWf7jyN/o9IVYdtdEvjU7C58/hMXY/YyHYEhj2gQrFzt8/PVcOyfOtrPzL814/aHwtgw6HRl2ExPsJubclkaaVcFiNGA1GrCaDIyzGblv+gSmTrAP4ZERQlwvJYKg5nQrf/70Mhu/M/uGB7iIG+l1OtZ+fTrfmp3Fi++d4vm3G3jhDx+TZjES1DRaO30oeh2Lp1gpXbGAr04dx9lrnojOYoNex4yJDpbOnMRjd3cP8BcKaVzq9PHR51f44ONWrrhVLrt8XHWr/KHhAl1qkOsHxdDRfZXXiq9m8+iiqYy3S6tBiKE25oMgFNLY9u7HTMmw8k/35ox0OUnlH3Iz+c2/ZHK0+RpvHTuHLxBEh447sxx8d8FXaP3iM/Km9t/KiHZ6CmB2dhqd3sjTVAtyxvFfzdfwBzXUYAg1EKKtSyUU0jj2RRtb3/mYn/3xNP/t77L5p3tzWJiTMaD+i3h4/UE+udjJ51fctHn8KAYdFsXAjEw7c6eMC5/GEmKsiRkEoVCIzZs3c+rUKUwmExUVFUyb9uVVJQcOHGD79u0oikJhYSErV67sd53m5mbKysrQ6XTceeedPP/88+j1ibunTdM0dv7lb5xs6eDnq+aP2KMpk92iaRksmnbj8xtaY6wX7fQU9H+KSqfTYVJ0mBQ9mGG83cTSmZlMybDx8YUOdh75G2/+1zl+c+wcsyY7uT9vEl/LzeSuyU7G2UwY9DoCwRAd3iAfX+igpd3LxXYvLe1eLnX68PqD+AJBfP4Q3p4/fYEQXf4grZ2+8CNAo7EY9dyV5SQvO4287DRmTXYyKzuNdOuNLUx/MITHF8StBvCoAdw9r09/4ebzQAshDYKaRqfXT6c3QEeXn44+r91qkIlOM9PG28gZbyNnQvefWWkWjIaUugcUty+ABpgVPYpeN+ThL7rFDIJ9+/ahqirV1dXU1dWxbds2duzYAYDf76eyspI9e/ZgtVpZvXo1y5Yt49ixY1HXqaysZN26ddxzzz1s2rSJ/fv3U1BQkJAdq/38Kv/3e6f4y5mrLMgZx4p5tyVkO6mm741jquII/8YfqyN6sHpbFQ6zwv++dAb/dG8Of/7kMu/89QL//X99xvYPmgDQ67rvmfCovXV8OeCeju7nO1uMBsyKHpOix2Y0YLcopFmNmBU9982YwOR0CyaDjpZ2H3azgZAGaiDERKeJC+0+Pr7QwXsNF9j10Rfhz06zKJgUA0aDji5/EI8viBoM0b+LN0xR9DqcPbU4LQomg57jX7Txh/oLBENfnizTAZlOM9npFianWch0mnGYFWwmA3aTgtXUXUcgpBEMaQSCPX+GNIKhEDqdDodZ6f6xKDjNCnazwqV2lQkdXhwWBavRkNAvW03T0DQIad0tv46uANc8Kufbujh7rYsvrno4e62Ls20emi+76PR9Fl7XYtQzOc1CdrqFnAl2cifamZJhY0qGlcnpFsxKz9+vQZ+wq9Q0TcPrD9Ha6eOaR6Wl3UtLW1f3n+3df55r6+KqW0UNhAiENGxGA2lWI1lpZm4bZ+Ur46zdf2ZYGW8zYTcrOC3dfxc2o2FErrCLGQRHjx5lyZIlAMyfP5/6+vrwvKamJnJyckhP774SZ9GiRdTW1lJXVxd1nYaGBhYvXgzA0qVLOXjwYEKCIBAMUfI/azErejavmM2qxTly+WKc+jut4/MHOdLzuMyWCy1kT+7+ohpIR/RgRGtV5M+axANzJuPxBTh+tp1zbV20eVS8/iA2k4I+oDI1K4NJTjMT08w4TQaO/q094jP+IXc8SpTfrvvuX7RlNU3jskvl00suPmt10eryoQY0AqEQVqOBdKuR8XYTNlP3F7TNrGA3GXCrAf5cf4asiRPR6XTo6Q6ub8zMxGFRIr58e2sIhjQ6uvxc9ahcdaukWRSuuFVaO318esnFXz6/ilcN4g3cLHgG6K2zQHegKn1b6bqoL+ktV9dnat/86P2yD//Jl+9vxmLUh7/cpzlgyuRM/nbFQyCk4fEFuObx8/kVD38914HrujvZ+zIadOFTeb3b1ML/Aa3nRcQ8CA/d/uX7/rbwecQ7nQ4mOsxkj7MyNcNGpsOMUa9Dr9ehBkLYzQpuX4Cjzdf4/YkWAqHYQ8Q/8bXbeX7FnJjLDYWYQeByuXA4HOH3BoOBQCCAoii4XC6cTmd4nt1ux+Vy9buOpmnhf/B2u53Ozs6bbtvn89HY2Bj3TgHsWtn7BDIvZz49PeD1TMCC64cianPfOK2/6QlYdkFaGuAetu0BdLW6oyzYW891dQ3B9gZb21x79w8Yen4ALEBX948HQp4b/04Hsn/9LWuJ2G604cwDPT99mODOhROAvl/aQWg/jysyoyJrGAfdX8G927H2/KSCnu+W28fSo1fj+4Up3u+/3uV9Pl9c68UMAofDgdv95f8IoVAIRVGiznO73Tidzn7X6dsf4Ha7SUu7+eBv8+fPH/ieCCGEGJSYPU8LFy6kpqYGgLq6OmbOnBmel5ubS3NzM21tbaiqSm1tLQsWLOh3ndmzZ3PkyBEAampquPvuu4d8h4QQQsRHp8V4nmHvFUCnT59G0zS2bt3KyZMn8Xg8FBUVha8a0jSNwsJCHn/88ajr5ObmcubMGTZu3Ijf72fGjBlUVFRgMMiVPEIIMZJiBoEQQoixLbUuShZCCHEDCQIhhEhxEgRCCJHixvxYQwMRaxiN4fbd7343fH/GlClTePLJJ4d1aI7rHT9+nJ/97GdUVVX1O0zI7t272bVrF4qi8NRTT7Fs2bJhrauhoYEnn3yS22+/HYDVq1fz0EMPDWtdfr+f9evXc+7cOVRV5amnnuKOO+4Y8eMVra7JkyeP+PEKBoNs2LCBM2fOYDAYqKysRNO0ET9e0erq7Owc8eMFcOXKFR555BFee+01FEUZumOlCe29997TSktLNU3TtGPHjmlPPvnkiNXi9Xq1hx9+OGLaD37wA+3DDz/UNE3TNm7cqP3xj38ctnp+9atfad/5zne0xx57rN9aLl26pH3nO9/RfD6f1tHREX49nHXt3r1b+/Wvfx2xzHDXtWfPHq2iokLTNE27evWq9o1vfGNUHK9odY2G4/X+++9rZWVlmqZp2ocffqg9+eSTo+J4RatrNBwvVVW1f/mXf9EeeOAB7dNPPx3SYyWnhrj5MBrD7eOPP6arq4u1a9eyZs0a6urqbhia49ChQ8NWT05ODr/85S/D76PVcuLECRYsWIDJZMLpdJKTk8PHH388rHXV19fzpz/9iccff5z169fjcrmGva4HH3yQf/3Xfw2/NxgMo+J4RatrNByvb33rW5SXlwNw/vx5MjMzR8XxilbXaDheL7zwAqtWrWLSpEnA0P6/KEFA/8NojASLxUJJSQm//vWv+elPf8qzzz4b99AcQ2n58uXhO8mBqLX0N9TIcNY1b948fvKTn/DGG28wdepUtm/fPux12e12HA4HLpeLp59+mnXr1o2K4xWtrtFwvAAURaG0tJTy8nKWL18+Ko5XtLpG+ni9+eabjB8/PvwLKwzt/4sSBNx8GI3hNn36dP7xH/8RnU7H9OnTGTduHFeuXAnPH8jQHIkUbZiQ/oYaGU4FBQXMnTs3/PrkyZMjUldLSwtr1qzh4YcfZsWKFaPmeF1f12g5XtD9m+57773Hxo0bI8bIGel/X33r+vrXvz6ix+s///M/OXToEMXFxTQ2NlJaWsrVq18Oxnirx0qCgJsPozHc9uzZw7Zt2wC4ePEiLpeLr33ta6NmaI5ow4TMmzePo0eP4vP56OzspKmpadiPYUlJCSdOnADg8OHDzJkzZ9jrunz5MmvXruXHP/4xjz76KDA6jle0ukbD8Xrrrbd45ZVXALBareh0OubOnTvixytaXT/84Q9H9Hi98cYbvP7661RVVZGXl8cLL7zA0qVLh+xYyZ3FRB9GIzc3d0RqUVWV5557jvPnz6PT6Xj22WfJyMgY0aE5zp49y49+9CN2797d7zAhu3fvprq6Gk3T+MEPfsDy5cuHta6GhgbKy8sxGo1kZmZSXl6Ow+EY1roqKip49913mTFjRnjav/3bv1FRUTGixytaXevWrePFF18c0ePl8Xh47rnnuHz5MoFAgH/+538mNzd3xP99RasrOzt7xP999SouLmbz5s3o9fohO1YSBEIIkeLk1JAQQqQ4CQIhhEhxEgRCCJHiJAiEECLFSRAIIUSKkyAQ4jpHjhzhrrvu4p133omYvmLFCsrKyoDuezy++tWv8u6770asd99991FcXExxcTGPPPIITz/9NKqqDmv9QsRLgkCIKGbMmMHvfve78PtTp07R1dUVfv/mm2+yZs0adu7cGbHevffeS1VVFVVVVbz55psYjUYOHDgwbHULMRgSBEJEMWvWLFpaWujo6ADg7bffZsWKFUD3GC+//e1veeKJJ/D7/Zw+fTrqZ6iqyqVLl0hPTx+2uoUYDAkCIfpRUFDA+++/j6Zp4VEdoXuIgZkzZzJ+/HgKCwt54403wut8+OGHFBcX89BDD/HII49QUFDAfffdN1K7IMSASBAI0Y8VK1bwzjvv8NFHH0WM77R7927Onj1LSUkJe/fu5d133w2PCNt7auiNN97AaDQyZcqUkSpfiAGTJ5QJ0Y+pU6fi8XioqqriRz/6EV988QXXrl3j9OnT7Nu3Lzze04YNG/jNb37DXXfdFV43IyODF198kTVr1vDWW2+Fx5AXYjSSFoEQN/HQQw/R0tLC9OnTAfjoo4944IEHIgb9W7lyJTt37uT6YbvuuOMOiouLqaioGNaahYiXDDonhBApTloEQgiR4iQIhBAixUkQCCFEipMgEEKIFCdBIIQQKU6CQAghUpwEgRBCpLj/Hyj2BS4KBLlpAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.distplot(corr['MAR'])" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.distplot(corr['NOV'])" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "SpearmanrResult(correlation=0.3755107787885492, pvalue=6.75820317828288e-23)\n" + ] + } + ], + "source": [ + "b = stats.spearmanr(corr['MAR'],corr['NOV']) #корреляция Спирмена\n", + "print(b)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + " sns.jointplot(data= corr,\n", + " x= 'MAR', y= 'NOV', height=5, ratio=2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "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.8.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Konovalov/lab3/Laba_3_v19.ipynb b/Konovalov/lab3/Laba_3_v19.ipynb new file mode 100644 index 0000000..69f8a0e --- /dev/null +++ b/Konovalov/lab3/Laba_3_v19.ipynb @@ -0,0 +1,1311 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Коновалов Илья М19-АЭ\n", + "\n", + "Лабораторная работа № 3. Методы классификации данных\n", + "Цель лабораторной работы – получение навыков работы с методами классификации.\n", + "Изучить набор данных. Создать описание набора данных на русском языке. Описать признаки, используемые в наборе данных (включить полученные описания в отчёт).\n", + "\n", + "Удалите дубликаты строк в наборе данных; приведите размер набора данных до и после данной операции;\n", + "\n", + "Оцените сбалансированность данных по классам (постройте гистограмму). Используйте полученную информацию при выборе метрики оценки качества классификации (PR или ROC кривая)\n", + "\n", + "Выполните масштабирование количественных признаков; Постройте диаграммы BoxPlot для признаков до и после масштабирования. Выберите способ масштабирования (например, нормализацию или стандартизацию);\n", + "\n", + "Выполните замену категориальных признаков; выберите и обоснуйте способ замены;\n", + "\n", + "Оцените корреляцию между признаков и удалите те признаки, которые коррелируют с наибольшим числом других (удалять признаки нужно только для линейных методов классификации);\n", + "\n", + "Заполните пропущенные значения в данных;\n", + "\n", + "Решите поставленную задачу классификации в соответствии с заданием. При подборе параметров классификатора используйте метод GridSearchCV и перекрёстную проверку (изучите возможные для изменения параметры классификации). \n", + "\n", + "Сравните кривые для классификаторов, указанных в задании, сделайте выводы.\n", + "\n", + "Кодировка классификаторов:\n", + "\n", + "1 – классификатор K ближайших соседей (задаётся количество ближайших объектов);\n", + "\n", + "2 – классификатор K ближайших соседей (задаётся радиус для выбора ближайших объектов);\n", + "\n", + "3 – линейный классификатор (персептрон);\n", + "\n", + "4 – логический классификатор (бинарное решающее дерево).\n", + "\n", + "Вариант 19\n", + "Набор данных 2\n", + "Классификаторы 1, 4\n", + "1. Изучение набора данных\n", + "glass.csv\n", + "Id number: 1 to 214 (removed from CSV file) (Идентификационный номер, удалён из csv файла)\n", + "RI: refractive index (показатель преломления)\n", + "Na: Sodium (unit measurement: weight percent in corresponding oxide, as are attributes 4-10) (Натрий (единица измерения: весовой процент в соответствующем оксиде)\n", + "Mg: Magnesium (Магний)\n", + "Al: Aluminum (Алюминий)\n", + "Si: Silicon (Кремний)\n", + "K: Potassium (Калий)\n", + "Ca: Calcium (Кальций)\n", + "Ba: Barium (Барий)\n", + "Fe: Iron (Железо)\n", + "Type of glass: (class attribute) -- 1 building_windows_float_processed -- 2 building_windows_non_float_processed -- 3 vehicle_windows_float_processed -- 4 vehicle_windows_non_float_processed (none in this database) -- 5 containers -- 6 tableware -- 7 headlamps\n", + "(Тип стекла: (атрибут класса) 1 - обработанные окна, 2 - необработанные окна, 3 - автомобильные обработанные окна, 4 - автомобильные неоработаные окна (нет в этой базе данных), 5 - контейнеры, 6 - посуда, 7 - фары)\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\ProgramData\\Anaconda3\\x32\\lib\\site-packages\\sklearn\\utils\\deprecation.py:143: FutureWarning: The sklearn.linear_model.perceptron module is deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.linear_model. Anything that cannot be imported from sklearn.linear_model is now part of the private API.\n", + " warnings.warn(message, FutureWarning)\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import seaborn as sns\n", + "import sklearn as sk\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pandas as pd\n", + "import sklearn as sk\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "from scipy import interp\n", + "from sklearn.model_selection import GridSearchCV\n", + "from sklearn.preprocessing import MinMaxScaler\n", + "from sklearn.tree import DecisionTreeClassifier\n", + "from sklearn.model_selection import StratifiedKFold\n", + "from sklearn.neighbors import KNeighborsClassifier\n", + "from sklearn.model_selection import train_test_split, cross_val_score\n", + "from sklearn.metrics import (auc, roc_curve, \n", + " precision_recall_curve, \n", + " average_precision_score)\n", + "\n", + "from sklearn import datasets\n", + "from sklearn.linear_model import perceptron\n", + "from sklearn.preprocessing import LabelEncoder\n", + "from sklearn import neighbors\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.model_selection import cross_val_score\n", + "from sklearn.preprocessing import LabelEncoder, OneHotEncoder\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier\n", + "from sklearn.metrics import precision_recall_curve, classification_report\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import roc_curve, auc\n", + "from matplotlib.pylab import rc, plot\n", + "\n", + "df = pd.read_csv(r'glass.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Изучить набор данных. Создать описание набора данных на русском языке. Описать признаки, используемые в наборе данных (включить полученные описания в отчёт).\n", + "#### Идентификационный номер: от 1 до 214 (удален из CSV-файла)\n", + "#### РИ: индекс преломления\n", + "#### Na: натрий (единица измерения: процент веса в соответствующей окиси, как и атрибуты 4-10)\n", + "#### Mg: Магний\n", + "#### Al: Алюминий\n", + "#### Si: Кремний\n", + "#### K: Калий\n", + "#### Ca: Кальция\n", + "#### Ба: Барий\n", + "#### Fe: Железо" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(214, 10)" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 214 entries, 0 to 213\n", + "Data columns (total 10 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 RI 214 non-null float64\n", + " 1 Na 214 non-null float64\n", + " 2 Mg 214 non-null float64\n", + " 3 Al 214 non-null float64\n", + " 4 Si 214 non-null float64\n", + " 5 K 214 non-null float64\n", + " 6 Ca 214 non-null float64\n", + " 7 Ba 214 non-null float64\n", + " 8 Fe 214 non-null float64\n", + " 9 Type 214 non-null int64 \n", + "dtypes: float64(9), int64(1)\n", + "memory usage: 16.8 KB\n" + ] + } + ], + "source": [ + "df.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2.Удалите дубликаты строк в наборе данных" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(213, 10)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = df.drop_duplicates()\n", + "df = df.dropna()\n", + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "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", + "
RINaMgAlSiKCaBaFeType
01.5210113.644.491.1071.780.068.750.00.01
11.5176113.893.601.3672.730.487.830.00.01
21.5161813.533.551.5472.990.397.780.00.01
31.5176613.213.691.2972.610.578.220.00.01
41.5174213.273.621.2473.080.558.070.00.01
\n", + "
" + ], + "text/plain": [ + " RI Na Mg Al Si K Ca Ba Fe Type\n", + "0 1.52101 13.64 4.49 1.10 71.78 0.06 8.75 0.0 0.0 1\n", + "1 1.51761 13.89 3.60 1.36 72.73 0.48 7.83 0.0 0.0 1\n", + "2 1.51618 13.53 3.55 1.54 72.99 0.39 7.78 0.0 0.0 1\n", + "3 1.51766 13.21 3.69 1.29 72.61 0.57 8.22 0.0 0.0 1\n", + "4 1.51742 13.27 3.62 1.24 73.08 0.55 8.07 0.0 0.0 1" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Оцените сбалансированность данных по классам (постройте гистограмму)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "df['Type'].value_counts().plot.barh()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4.Выполните масштабирование количественных признаков" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "numerical: ['RI', 'Na', 'Mg', 'Al', 'Si', 'K', 'Ca', 'Ba', 'Fe', 'Type']\n", + "categorial: []\n" + ] + } + ], + "source": [ + "numerical_columns = [i for i in df.columns if df[i].dtype.name != 'object']\n", + "categorial_columns = [i for i in df.columns if df[i].dtype.name == 'object']\n", + "\n", + "print('numerical: ', numerical_columns)\n", + "print('categorial: ', categorial_columns)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "numerical: ['RI', 'Na', 'Mg', 'Al', 'Si', 'K', 'Ca', 'Ba', 'Fe']\n", + "categorial: ['Type']\n" + ] + } + ], + "source": [ + "df['Type'] = df['Type'].apply(lambda x: str(x))\n", + "\n", + "#заново выделим категориальные и числовые\n", + "numerical_columns = [i for i in df.columns if df[i].dtype.name != 'object']\n", + "categorial_columns = [i for i in df.columns if df[i].dtype.name == 'object']\n", + "\n", + "print('numerical: ', numerical_columns)\n", + "print('categorial: ', categorial_columns)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "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", + "
RINaMgAlSiKCaBaFeType
00.4328360.4375941.0000000.2523360.3517860.0096620.3085500.00.01
10.2835820.4751880.8017820.3333330.5214290.0772950.2230480.00.01
20.2208080.4210530.7906460.3894080.5678570.0628020.2184010.00.01
30.2857770.3729320.8218260.3115260.5000000.0917870.2592940.00.01
40.2752410.3819550.8062360.2959500.5839290.0885670.2453530.00.01
\n", + "
" + ], + "text/plain": [ + " RI Na Mg Al Si K Ca Ba \\\n", + "0 0.432836 0.437594 1.000000 0.252336 0.351786 0.009662 0.308550 0.0 \n", + "1 0.283582 0.475188 0.801782 0.333333 0.521429 0.077295 0.223048 0.0 \n", + "2 0.220808 0.421053 0.790646 0.389408 0.567857 0.062802 0.218401 0.0 \n", + "3 0.285777 0.372932 0.821826 0.311526 0.500000 0.091787 0.259294 0.0 \n", + "4 0.275241 0.381955 0.806236 0.295950 0.583929 0.088567 0.245353 0.0 \n", + "\n", + " Fe Type \n", + "0 0.0 1 \n", + "1 0.0 1 \n", + "2 0.0 1 \n", + "3 0.0 1 \n", + "4 0.0 1 " + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "scaler = MinMaxScaler()\n", + "df[numerical_columns] = scaler.fit_transform(df[numerical_columns])\n", + "\n", + "df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5. Выполните замену категориальных признаков" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Type : ['1' '2' '3' '5' '6' '7']\n" + ] + } + ], + "source": [ + "for i in categorial_columns:\n", + " print(i,': ', df[i].unique())" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(213, 15)\n" + ] + }, + { + "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", + "
Type_1Type_2Type_3Type_5Type_6Type_7RINaMgAlSiKCaBaFe
01000000.4328360.4375941.0000000.2523360.3517860.0096620.3085500.00.0
11000000.2835820.4751880.8017820.3333330.5214290.0772950.2230480.00.0
21000000.2208080.4210530.7906460.3894080.5678570.0628020.2184010.00.0
31000000.2857770.3729320.8218260.3115260.5000000.0917870.2592940.00.0
41000000.2752410.3819550.8062360.2959500.5839290.0885670.2453530.00.0
\n", + "
" + ], + "text/plain": [ + " Type_1 Type_2 Type_3 Type_5 Type_6 Type_7 RI Na \\\n", + "0 1 0 0 0 0 0 0.432836 0.437594 \n", + "1 1 0 0 0 0 0 0.283582 0.475188 \n", + "2 1 0 0 0 0 0 0.220808 0.421053 \n", + "3 1 0 0 0 0 0 0.285777 0.372932 \n", + "4 1 0 0 0 0 0 0.275241 0.381955 \n", + "\n", + " Mg Al Si K Ca Ba Fe \n", + "0 1.000000 0.252336 0.351786 0.009662 0.308550 0.0 0.0 \n", + "1 0.801782 0.333333 0.521429 0.077295 0.223048 0.0 0.0 \n", + "2 0.790646 0.389408 0.567857 0.062802 0.218401 0.0 0.0 \n", + "3 0.821826 0.311526 0.500000 0.091787 0.259294 0.0 0.0 \n", + "4 0.806236 0.295950 0.583929 0.088567 0.245353 0.0 0.0 " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "binary_columns = [i for i in categorial_columns if len(df[i].unique()) == 2]\n", + "nonbinary_columns = [i for i in categorial_columns if len(df[i].unique()) > 2]\n", + "\n", + "# для бинарных заменим значения на 1 и 0\n", + "for col in binary_columns:\n", + " for i, unic_item in enumerate(df[col].unique()):\n", + " df[col] = df[col].replace(to_replace=[unic_item], value=[i])\n", + " \n", + "# для не бинарых применим dummy-кодирование\n", + "df_nonbinary = pd.get_dummies(df[nonbinary_columns])\n", + "df.drop(nonbinary_columns, axis=1, inplace=True)\n", + "df = pd.concat([df_nonbinary, df] , axis=1)\n", + "\n", + "print(df.shape)\n", + "df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6. Оцените корреляцию между признаков" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "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", + "
Type_1Type_2Type_3Type_5Type_6Type_7RINaMgAlSiKCaBaFe
01000000.4328360.4375941.0000000.2523360.3517860.0096620.3085500.00.0
11000000.2835820.4751880.8017820.3333330.5214290.0772950.2230480.00.0
21000000.2208080.4210530.7906460.3894080.5678570.0628020.2184010.00.0
31000000.2857770.3729320.8218260.3115260.5000000.0917870.2592940.00.0
41000000.2752410.3819550.8062360.2959500.5839290.0885670.2453530.00.0
\n", + "
" + ], + "text/plain": [ + " Type_1 Type_2 Type_3 Type_5 Type_6 Type_7 RI Na \\\n", + "0 1 0 0 0 0 0 0.432836 0.437594 \n", + "1 1 0 0 0 0 0 0.283582 0.475188 \n", + "2 1 0 0 0 0 0 0.220808 0.421053 \n", + "3 1 0 0 0 0 0 0.285777 0.372932 \n", + "4 1 0 0 0 0 0 0.275241 0.381955 \n", + "\n", + " Mg Al Si K Ca Ba Fe \n", + "0 1.000000 0.252336 0.351786 0.009662 0.308550 0.0 0.0 \n", + "1 0.801782 0.333333 0.521429 0.077295 0.223048 0.0 0.0 \n", + "2 0.790646 0.389408 0.567857 0.062802 0.218401 0.0 0.0 \n", + "3 0.821826 0.311526 0.500000 0.091787 0.259294 0.0 0.0 \n", + "4 0.806236 0.295950 0.583929 0.088567 0.245353 0.0 0.0 " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Type_1 Type_2 Type_3 Type_5 Type_6 Type_7 RI \\\n", + "Type_1 1.000000 -0.515573 -0.203864 -0.176482 -0.145395 -0.274811 0.073456 \n", + "Type_2 -0.515573 1.000000 -0.219353 -0.189890 -0.156442 -0.295690 0.066659 \n", + "Type_3 -0.203864 -0.219353 1.000000 -0.075085 -0.061859 -0.116919 -0.037396 \n", + "Type_5 -0.176482 -0.189890 -0.075085 1.000000 -0.053550 -0.101215 0.048865 \n", + "Type_6 -0.145395 -0.156442 -0.061859 -0.053550 1.000000 -0.083387 -0.061932 \n", + "Type_7 -0.274811 -0.295690 -0.116919 -0.101215 -0.083387 1.000000 -0.161582 \n", + "RI 0.073456 0.066659 -0.037396 0.048865 -0.061932 -0.161582 1.000000 \n", + "Na -0.149383 -0.267279 0.011919 -0.180366 0.320340 0.505778 -0.198802 \n", + "Mg 0.417816 0.166981 0.176735 -0.337272 -0.200322 -0.590119 -0.127526 \n", + "Al -0.385551 -0.062212 -0.147806 0.301124 -0.035159 0.540242 -0.400973 \n", + "Si -0.021175 -0.055022 -0.095489 -0.095392 0.150041 0.159787 -0.539000 \n", + "K -0.049453 0.025350 -0.041761 0.379943 -0.160799 -0.105822 -0.287645 \n", + "Ca -0.081749 0.062620 -0.035432 0.209649 0.059443 -0.129132 0.811183 \n", + "Ba -0.226950 -0.188206 -0.098971 0.006064 -0.074314 0.690159 0.001679 \n", + "Fe 0.003904 0.171820 -0.000660 0.009145 -0.123568 -0.178718 0.147083 \n", + "\n", + " Na Mg Al Si K Ca Ba \\\n", + "Type_1 -0.149383 0.417816 -0.385551 -0.021175 -0.049453 -0.081749 -0.226950 \n", + "Type_2 -0.267279 0.166981 -0.062212 -0.055022 0.025350 0.062620 -0.188206 \n", + "Type_3 0.011919 0.176735 -0.147806 -0.095489 -0.041761 -0.035432 -0.098971 \n", + "Type_5 -0.180366 -0.337272 0.301124 -0.095392 0.379943 0.209649 0.006064 \n", + "Type_6 0.320340 -0.200322 -0.035159 0.150041 -0.160799 0.059443 -0.074314 \n", + "Type_7 0.505778 -0.590119 0.540242 0.159787 -0.105822 -0.129132 0.690159 \n", + "RI -0.198802 -0.127526 -0.400973 -0.539000 -0.287645 0.811183 0.001679 \n", + "Na 1.000000 -0.278420 0.167735 -0.064885 -0.264158 -0.278194 0.329080 \n", + "Mg -0.278420 1.000000 -0.479575 -0.162437 0.007617 -0.446197 -0.491818 \n", + "Al 0.167735 -0.479575 1.000000 -0.016195 0.323683 -0.258068 0.480642 \n", + "Si -0.064885 -0.162437 -0.016195 1.000000 -0.197281 -0.207145 -0.104389 \n", + "K -0.264158 0.007617 0.323683 -0.197281 1.000000 -0.317032 -0.043653 \n", + "Ca -0.278194 -0.446197 -0.258068 -0.207145 -0.317032 1.000000 -0.112208 \n", + "Ba 0.329080 -0.491818 0.480642 -0.104389 -0.043653 -0.112208 1.000000 \n", + "Fe -0.239374 0.085426 -0.080583 -0.097717 -0.009372 0.126314 -0.059729 \n", + "\n", + " Fe \n", + "Type_1 0.003904 \n", + "Type_2 0.171820 \n", + "Type_3 -0.000660 \n", + "Type_5 0.009145 \n", + "Type_6 -0.123568 \n", + "Type_7 -0.178718 \n", + "RI 0.147083 \n", + "Na -0.239374 \n", + "Mg 0.085426 \n", + "Al -0.080583 \n", + "Si -0.097717 \n", + "K -0.009372 \n", + "Ca 0.126314 \n", + "Ba -0.059729 \n", + "Fe 1.000000 \n" + ] + }, + { + "data": { + "image/png": "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\nYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "corr_matrix = df.corr()\n", + "sns.heatmap(corr_matrix);\n", + "print(corr_matrix)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 7" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 213 entries, 0 to 213\n", + "Data columns (total 15 columns):\n", + "Type_1 213 non-null uint8\n", + "Type_2 213 non-null uint8\n", + "Type_3 213 non-null uint8\n", + "Type_5 213 non-null uint8\n", + "Type_6 213 non-null uint8\n", + "Type_7 213 non-null uint8\n", + "RI 213 non-null float64\n", + "Na 213 non-null float64\n", + "Mg 213 non-null float64\n", + "Al 213 non-null float64\n", + "Si 213 non-null float64\n", + "K 213 non-null float64\n", + "Ca 213 non-null float64\n", + "Ba 213 non-null float64\n", + "Fe 213 non-null float64\n", + "dtypes: float64(9), uint8(6)\n", + "memory usage: 17.9 KB\n" + ] + } + ], + "source": [ + "df.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 8. Решите поставленную задачу классификации в соответствии с заданием" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "best train score: 0.9865771812080537 \t at features number: 3 \t at depth: 3\n", + "test score: 0.96875\n" + ] + } + ], + "source": [ + "# Дерево\n", + "dtc = DecisionTreeClassifier()\n", + "X, y = df.drop('Type_6', axis=1), df['Type_6']\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3, random_state = 123)\n", + "params = {'max_depth': list(range(1,12)), 'max_features': list(range(1,12))}\n", + "\n", + "dtc_grid = GridSearchCV(dtc, params)\n", + "dtc_grid.fit (X_train, y_train)\n", + "\n", + "best_features = dtc_grid.best_estimator_.max_features\n", + "best_depth = dtc_grid.best_estimator_.max_depth\n", + "best_score = dtc_grid.best_score_\n", + "print('best train score:', best_score, \n", + " '\\t at features number:', best_features,\n", + " '\\t at depth:', best_depth)\n", + "\n", + "dtc = DecisionTreeClassifier(max_depth=best_depth, max_features=best_features)\n", + "dtc.fit(X_train, y_train)\n", + "best_score = np.mean(y_test == dtc.predict(X_test))\n", + "print('test score: ', best_score)" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "best train score: 1.0 \t at neighbors number: 1\n" + ] + } + ], + "source": [ + "knn = neighbors.KNeighborsClassifier()\n", + "params = {'n_neighbors': list(range(1, 30))}\n", + "knn_grid = GridSearchCV(knn, params)\n", + "knn_grid.fit(X_train, y_train)\n", + "best_num = knn_grid.best_estimator_.n_neighbors\n", + "best_score = knn_grid.best_score_\n", + "\n", + "print('best train score: ', best_score,\n", + " '\\t at neighbors number: ', best_num)" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nffv2sXLlSsCWgMTExLBhwwYGDBiAo6MjYBuc/XpOTk44ODgwcOBAgoODCQ4OzrQ8ISGB8+fP07x5\ncwD69etH9+7dreVdunQBoGHDhlkGUc9OmzZtqFixohXzd999Z92kdenSJQ4dOsT58+eJjIy0Bmy/\ncuUK1atXtwa/vh0RYfTo0WzZsoUSJUrw119/cebMGerXr8/o0aMZPXo0Tz75JEFBQTg6OlKiRAkG\nDx5Mx44dsxz/rdwsfmdnZ2rXrm3Fn52ePXuSmJiIiLBr164c7zMnTpw4kSkpSU5OZujQoezduxc7\nOzuOHDliLXv44Yd56KGHANiwYUO25x1gyZIlzJs3j9TUVI4fP050dHSWJO3auc1LCxcu5NVXXyUk\nJITOnTtjb2+fafmvv/7K2LFjrTFMU1NTOXbsGI8//jjTp0/nvffeY9SoUSxYsCBTmb/++isffvih\nNa9mzZrs27eP+Ph4nn76abp163bb2JydnTl+/HgeHenN/SOSNBHhk08+YdiwYVSrVo34+HjKly9f\n2GEppVSuHT16lJIlS+Ls7IyI8NFHH9G2bdtM66xbt+6WZdjZ2REREcHGjRtZunQpM2bM4Icffshx\nDPfddx9gu6nh+lammylTpoz1XkQYO3ZslkGsp02bxnPPPcfEiRMzzf/999/Zs2cP6enpt2xNW7Ro\nEQkJCezatQs7OztcXV1JSkqiXr16REVFER4ezsiRIwkODubNN98kKiqK9evXs3TpUmbNmsX333+f\no2O/WfyHDx/OdJzZWbZsGd7e3owcOZJhw4axfPlyvLy82L17NyKCMQaAtLQ09u3bh5eXF3/99ZfV\nAnYrpUuXJikpyZr+z3/+Q/Xq1fniiy9ISUmhbNmy1rIb6yO78x4TE8MHH3xAREQEFSpU4Nlnn81U\n/jV30pLm4uLC9u3brem4uDh8fHyybOvl5WUlYNHR0axdu9Za9ueff9KlSxe++OILatWqBdgSJ0dH\nR6t1q3v37lZLJdhaLqdMmcJPP/1ktTTeGFfdunXZsmULDRs2zNRyFxcXh4uLizWdlJRE6dKls5SR\n1+75uzuvXLnCwIEDGTJkCC1atGDnzp06Bp9Sqlg7ffo0L7zwAkOHDsUYQ9u2bZk1axYpKSkAHDp0\niMTERFq3bs2CBQu4fNk23vGN3Z2XLl0iISGBDh06MH36dPbs2ZNpuZOTExUrVuTnn38G4PPPP7da\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\ndCwhhBBC5CGWU6RdPmH6Mx/M7IyNjWXevHm8+uqrBAYG4uqav8bQCSGEECLnWU535+X7y0Hl3Za0\nU6dOUblyZYoXL87+/ftxcnKS22sIIYQQIkMWVKSFQLFyUMzJ6CQZ+uGHHxgyZAhvvvkm06dPl7U3\nhchHEhMTuXDhAvHx8UZHEULkUXZ2dlSsWBFbW9tsO6blFGmRwXmyqzMxMZGPPvqIWbNm0aRJE0aP\nHm10JCHEU7pw4QLFixenSpUq0vothHiI1pqoqCguXLhA1apVs+24ljEmLTEerp/Kc5MGIiMjad26\ntXnlgF27dvH8888bHUsI8ZTi4+MpU6aMFGhCiAwppShTpky2t7ZbRkvatT8gJSnPtaTFxMQQHh7O\nypUr6devn9FxhBDPQAo0IcTj5MTPCMtoSbu/HFQemDSgtWbr1q1oralVqxYRERFSoAkhnlmxYv+7\nSfeWLVuoUaMGf/75JxMnTsTe3p6rV69muO+jdO7cmejo6Mfu07JlS4KCgh56funSpbzzzjtPkT7z\nZsyYQa1atahduzbu7u4sX778sVmyIigoiHfffReAhIQE2rZti4eHBz/88ANDhw4lLCwsy8eeOHEi\nFSpUwMPDA1dXV1atWmXeprVm8uTJVK9enRo1atCqVStCQ0PN22NjYxkxYgTVqlXDzc2N5s2bc+jQ\noYfOobWmdevW3Lp1K8s5c9rYsWOpVKnSE78XP//8c1xcXKhZsybbtm0zP//zzz9Ts2ZNXFxcmDp1\nqvn5iIgIGjVqhIuLC3369OHevXuA6Tr26dMHFxcXGjVqxPnz57N8jr59+xIeHv6sH0H20Frnq68G\nDRroh2z6QOvPKmidnPzwtlx0+/Zt3adPHw3oTZs2GZpFCJF9wsLCjI6gixYtqrXWOiAgQFerVk2f\nOXNGa631hAkTdKVKlfRHH3300L7PqkWLFvrw4cMPPb9kyRL99ttvZ+mYKSkpOvkRP6vnzZun27dv\nr2NiYrTWWkdHR+ulS5c+NsuzOnDggG7evHmWX5+UlJTu8YQJE/T06dO11lqfPn1aFy9eXN+7d09r\nrfXXX3+tO3XqpO/cuaO11nrbtm3a2dlZx8XFaa217tOnj/b19TV/PmfPns3wd8mmTZv0qFGjniln\nTjtw4IC+dOnSY78XQ0NDdd26dXV8fLw+d+6cdnZ21klJSTopKUk7Ozvrs2fP6oSEBF23bl0dGhqq\ntda6V69eetWqVVprrUeMGKG/+eYbrbXWc+fO1SNGjNBaa71q1Srdu3fvLJ9j9+7deujQoVl63xn9\nrACCdBZrHstpSStXGwy8Y//Jkyfx8vJi7dq1TJs2jc6dOxuWRQhhmX799VeGDRvGpk2bqFatmvn5\nN954gx9++IEbN2489Jrvv/8eLy8vPDw8GDFiBMnJyQBUqVKF69evA/Dpp59Sq1Yt2rVrR79+/Zgx\nY4b59WvXrsXLy4saNWrw22+/mZ//+++/6dixIzVr1mTSpEnm57/88ktq165N7dq1mTVrFgDnz5/n\nxRdf5K233qJ+/fr8/fffDB48mNq1a1OnTh1mzpwJwJQpU5g3bx4lSpQAwMHBgUGDBj30nt588008\nPT1xc3NjwoQJ5ud9fX1xdXWlbt26fPjhh+b891vlmjdvDphWe/H29ubq1au89tprHDt2DA8PD86e\nPZuuxW779u289NJL1K9fn169ehEbG2v+7Pz8/GjWrBlr16595PWqXr069vb23Lx5E4Bp06YxZ84c\n7O3tAWjfvj1NmjRhxYoVnD17lkOHDjF58mTz6jPOzs506dLloeOuWLGCbt26mR93796dBg0a4Obm\nxsKFC83PFytWjPHjx9OoUSMOHDjAkSNHaNGiBQ0aNKBDhw5ERkYC8O2339KwYUPc3d3p2bMnd+/e\nfeR7yqzGjRs/cQ3qDRs20LdvXwoXLkzVqlVxcXEhMDCQwMBAXFxccHZ2plChQvTt25cNGzagtWbn\nzp34+PgAMGjQIPz9/c3Huv+94uPjw44dO9BaP/U5AF5++WUCAgJISkp65s/hWeX/MWkpKXDlBHj0\nNyyCv78/AwYMoEiRIvzyyy+0bt3asCxCiJw16b+hhF3K3m4m1+dLMOEVt8fuk5CQQPfu3dm9eze1\natVKt61YsWK88cYbzJ49O13B9Mcff/DDDz+wb98+bG1teeutt1ixYgUDBw4073P48GF+/PFHjh07\nRmJiIvXr16dBgwbm7UlJSQQGBrJlyxYmTZpEQEAAAIGBgZw4cQJ7e3saNmxIly5dUEqxZMkSDh06\nhNaaRo0a0aJFC0qVKsWpU6dYsmQJ33zzDUeOHOHixYucOGG6CXl0dDS3bt3i9u3bODs7P/Hz+uyz\nzyhdujTJycm0adOG4OBgKlSowPr16zl58iRKKXNXrp+fH9u2baNChQoPde86OTnx3XffMWPGDDZt\n2pRu2/Xr15k8eTIBAQEULVqUadOm8eWXXzJ+/HjAdLuFvXv3Pjbn0aNHqV69Ok5OTty6dYs7d+48\n9P48PT0JDQ2lbNmyeHh4YG1t/cT3v2/fPhYsWGB+vHjxYkqXLk1cXBwNGzakZ8+elClThjt37lC7\ndm38/PxITEykRYsWbNiwgbJly/LDDz8wduxYFi9eTI8ePRg2bBgA48aNY9GiRYwcOTLdOXft2pXh\n3Qns7e3Zv3//EzNn5OLFizRu3Nj8uGLFily8eBGASpUqpXv+0KFDREVFUbJkSWxsbB7a/+LFi+bX\n2NjY4ODgQFRU1FOfA8DKygoXFxeOHz+e7t+CEfJ/kXYzAu7FGjoezcbGhtq1a7NmzZp0F10IIbKL\nra0tTZo0YdGiRcyePfuh7e+++y4eHh7mFiSAHTt2cOTIERo2bAhAXFwcTk7p7yW5b98+unXrhp2d\nHXZ2drzyyivptvfo0QOABg0apBvn065dO8qUKWPeZ+/evSilePXVVylatKj5+d9++42uXbtSuXJl\n8y9LZ2dnzp07x8iRI+nSpQvt27c3t1Jlxpo1a1i4cCFJSUlERkYSFhaGq6srdnZ2DBkyBG9vb7y9\nvQFo2rQpgwcPpnfv3ub3khkHDx4kLCyMpk2bAnDv3j1eeukl8/Y+ffo88rUzZ87k22+/5dy5c/z8\n88+ZPmdm3bhxg+LFi5sff/XVV6xfvx4wtXCGh4dTpkwZrK2t6dmzJ2C6mfqJEydo164dAMnJyeaW\nrhMnTjBu3Diio6OJjY2lQ4cOD52zVatWHDt2LNvfS17l5OTEpUuXpEh7ZuaVBnJ3ZueVK1f49ddf\n6dWrF97e3nTu3FkWSBeiAHhSi1dOsbKyYs2aNbRp04YpU6bwySefpNtesmRJ+vfvz9y5c83Paa0Z\nNGgQn3/+eZbPW7hwYQCsra3Tdf88OJPtSTPb7hduAKVKleL48eNs27aNuXPnsmbNGhYvXkyxYsU4\nd+7cY1vTIiIimDFjBocPH6ZUqVIMHjyY+Ph4bGxsCAwMZMeOHaxevZo5c+awc+dO5s+fz6FDh9i8\neTMeHh6ZLjS01rRr1y7dwP9HvZ8HjR49mg8//JCffvqJgQMHcvbsWUqUKEHRokUfen/3uyDd3Nw4\nfvw4ycnJT2xNs7GxISUlBSsrK3bv3k1AQAAHDhzA3t6eli1bmm8DYWdnZz6W1ho3NzcOHDjw0PEG\nDx6Mv78/7u7uLF26lN27dz+0T060pFWoUIG///7b/PjChQtUqFABIMPny5QpQ3R0NElJSdjY2KTb\n//6xKlasSFJSEjExMZQpU+apz3FffHw8RYoUydL7yk75v6qIDAYrG3B6MddOuX//furXr8+QIUOI\niooCkAJNCJHj7O3t2bx5MytWrGDRokUPbX///fdZsGCBuZhq06YN69atM8/8vHHjBn/++We61zRt\n2pT//ve/xMfHExsby+bNmzOV5ZdffuHGjRvExcXh7+9P06ZNefnll/H39+fu3bvcuXOH9evX8/LL\nLz/02uvXr5OSkkLPnj359NNPOXr0KAAff/wxb7/9tnnW4q1bt9KNsbr/XNGiRXFwcODKlSts3boV\nMM2MjImJoXPnzsyaNctcjJ09e5ZGjRrh5+eHo6Njul/Mj9O4cWP27dvHmTNnALhz5w6nT5/O1Gvv\n69GjB56enixbtgyAMWPG8O677xIXFwdAQEAAe/fupX///lSrVg1PT08mTJiAaaw5hIeHm8dJpVWz\nZk3OnTsHmG71VKpUKezt7Tl58iQHDx7MMEvNmjW5du2auUhLTEw0zyy9ffs25cuXJzExkRUrVmT4\n+vstaQ9+ZbVAA+jatSurV68mISGBiIgIwsPD8fLyomHDhoSHhxMREcG9e/dYvXo1Xbt2RSlFq1at\nWLduHQDLli0zj83r2rWr+XNet24drVu3Rin11Oe47/Tp09SuXTvL7y27WEBLWgiUrQU2hXP8VFpr\n5syZw/vvv0/lypXZsmWLublfCCFyQ+nSpfn5559p3rw5ZcuWTbfN0dGRV1991TwQ39XVlcmTJ9O+\nfXtSUlKwtbVl7ty5VK5c2fyahg0b0rVrV9zd3alSpQqenp44ODg8MUezZs0YMGAAZ86coX///nh6\negKmVhkvLy8Ahg4dSr169dJ1k4Jp/NDrr79OSkoKgLml78033yQ2NpaGDRtia2uLra0tH3zwQbrX\nuru7U69ePdzc3HB2djZ3R96+fZtu3boRHx+P1tr8GYwZM4bw8HC01rRp0wZ3d3f27NnzxPdXtmxZ\nli5dSr9+/UhISABg8uTJ1KhR44mvTWv8+PH079+fYcOGMXLkSG7evEmdOnWwtramXLlybNiwwdxi\n89133/HBBx/g4uJCkSJFcHR0ZPr06Q8ds0uXLuzevRsXFxc6duzI/PnzqVu3LjVr1kw3/iqtQoUK\nsW7dOt59911iYmJISkpi1KhRuLm58emnn9KoUSMqV65MnTp1uH379lO9x4x89NFHrFy5krt3uJ5a\n1wAAGr1JREFU71KxYkWGDh3KxIkT2bhxI0FBQfj5+eHm5kbv3r1xdXXFxsaGuXPnmlv+5syZQ4cO\nHUhOTuaNN97Azc3Ugj1t2jT69u3LuHHjqFevHkOGDAFgyJAhDBgwABcXF0qXLs3q1asBsnSOK1eu\nUKRIEcqVK/fMn8OzUvcr9vzC09NTp7tXzowaUK01vDo/R897v9vgP//5D6+88grLly+nZMmSOXpO\nIUTe8Mcff/Dii7nXWp/bYmNjKVasGHfv3qV58+YsXLiQ+vXrGx1LPEJkZCQDBw7kl19+MTqKRZo5\ncyYlSpQwF4BPI6OfFUqpI1prz6xkyd99dLevQOyVXJk0oJSidu3aTJ48GX9/fynQhBAWY/jw4Xh4\neFC/fn169uwpBVoeV758eYYNG5anb2abn5UsWTLDW78YIX93d5pXGsi5SQP+/v7Y29vTvn17Pvro\noxw7jxBCGGXlypVGRxBPqXfv3kZHsFivv/660RHM8ndLWg7O7ExKSsLX15dXX32VL7/8MtuPL4QQ\nQgjxOPm8JS0YSr4ARbK36/Hq1av069ePnTt3Mnz48AzvSSSEEEIIkZPyeZEWku3j0SIjI/Hy8uL6\n9essXrw4TzV7CiGEEKLgyL/dnQmxEHU224u0cuXK0bdvX/bv3y8FmhBCCCEMk3+LtCuhgIbyz16k\n3b17lzfffJPTp0+jlGL69OnUq1fv2TMKIYQQQmRR/i3SsmnSwNmzZ3nppZdYsGBBhkthCCFEXmBt\nbY2Hhwdubm64u7vz73//23wz2Kc1fvx480LpGZk/fz7Lly9/6uNu27YNDw8PPDw8KFasGDVr1sTD\nwyPdgu7P4tatWwwbNoxq1arh5uZGy5YtOXz4MElJSdl6W6S5c+ea77wfFhZmvoHu2bNnM1xB4Wk0\na9aMmjVr4u7ujpeXF8HBweZtN2/e5LXXXsPFxYVq1aoxePDgdLfZOHnyJJ06daJ69eq8+OKL9O3b\n17yaRFoXLlww34k/r1q0aBHVq1enevXqfP/99xnu4+PjY/5+qly5svmGyWfOnKFIkSLmbW+//bb5\nNQkJCQwdOpSaNWtSq1Yt/P39ATh//jwtWrSgXr16uLu7m9dUPXDgAO7u7nh4eODu7p5uhYdBgwaZ\nF75Pa/To0fz666/Z+nk8ktY6X301aNBAa6213vCO1lOraJ2SorNq48aN2sHBQZcqVUpv3bo1y8cR\nQli2sLAwoyPookWLmv9+5coV3aZNGz1+/HgDEz1eixYt9OHDhzPclpiYmKVj9uzZU48bN06npP7c\nDw8P11u2bNGJiYnawcEhy1kf59NPP9V+fn5Zem1KSopOTk5O91zTpk3177//rrXWeuHChbpjx47m\nbd26ddOffvqp+fHYsWN13759tdZa37lzRzs7O+vNmzebtwcEBGT4vTlq1Ci9adOmTOfM6vXIqmvX\nrumqVavqmzdv6uvXr+sqVaro6Ojox77m3Xff1Z999pnW2nTd3d3dM9zvk08+0RMmTNBaa52cnKyv\nX7+utdb69ddf1wsXLtRaa338+HFdrVo1rbXpc73//i9evKidnJzM12z37t360KFDD53rzJkz6a5b\nWhldDyBIZ7Hmyb8TBy6HmFrRnrCo76P4+/vz6quvUr9+fdatW0fVqlWzOaAQwiJt9f3fPRqzS7k6\n0Glqpnd3cnJi4cKFNGzYkIkTJ5KSkoKvry+7d+8mISGBt99+mxEjRgCmZXS+//57rKys6NSpE1On\nTmXw4MF4e3vj4+ODr68vGzduxMbGhvbt2zNjxgwmTpxIsWLF+PDDDzl27Bj//Oc/uXv3LtWqVWPx\n4sWUKlWKli1b0qhRI3bt2kV0dDSLFi16bCvTd999R0BAALGxsSQkJPDLL78wdepUfvrpJ+Lj4/Hx\n8WH8+PGAaU3GuXPncu/ePZo0acKcOXMIDw/n2LFjrFmzxryYu4uLCy4uLukWfr916xbdu3c3L8Q9\nZcoUvL29uX37Nr179+bSpUskJyczceJEfHx8GDNmDJs3b8bGxoZOnToxbdo0xo0bh6OjI87OzsyZ\nMwdra2v27NnDzz//jKOjI9HR0QAZ5j9z5gzdu3enWbNmHDp0iE2bNqVbuDutl156ia+//hqAU6dO\nceLECX766Sfz9okTJ+Ls7Mz58+fZvn07LVq0oHPnzubtbdq0eeiYWmv8/f2ZNm0aYOotGjx4MLGx\nsVhZWfHNN9/QqFEjAgICmDp1Ko6OjoSGhhISEpLh525lZcXw4cM5evQocXFx9OnTx3ydsmrr1q10\n6tTJ3PrZunVrtm/fTq9evTLcPyUlhbVr17J3794nHnvp0qXm9VatrKzMSzcqpcytkjExMTz//POA\naT3c++6vqapTV2Jq0aKF+VhpVatWjcjISK5du/bQ0mzZLX8WacmJcCUMGg3P8iE6dOiAn58fY8aM\nwc7OLhvDCSFEznN2diY5OZmrV6+yYcMGHBwcOHz4MAkJCTRt2pT27dtz8uRJNmzYwKFDh7C3t+fG\njRvpjhEVFcX69es5efIkSilz8ZHWwIED+frrr2nRogXjx49n0qRJzJo1CzDdTzIwMJAtW7YwadKk\nx3ahgqlr6dixY5QqVYotW7bw119/cejQIbTWdO7cmf3791OiRAnWr1/P/v37sbGxYfjw4axevRo7\nOzvq1auHldXjR+kUKVIEf39/SpQowdWrV2natCne3t5s2bKFKlWqmBdkj4mJ4cqVK2zZsoXQ0NAM\n33/Xrl0JDAzE0dGRUaNGpSsGH5XfycmJsLAwli5dyvz5j1+u8Oeff6Z79+4AhIaGPvT+bGxscHd3\nJywsjBMnTtCgQYPHHg9MXYFOTk4UKlQIMK1O8Msvv2BnZ8fJkycZNGgQhw4dAuDgwYOEhYXxwgsv\ncOLEiQw/9/79+zN16lRKly5NUlISrVq1wsfHB1dX13TnnTp1qnm9zLRatWplXkf1vosXL1KpUiXz\n44oVK3Lx4sVHvqfdu3fzwgsv4OzsnO591qtXDwcHB6ZMmUKTJk24fv06hQoV4uOPP+bXX3+levXq\nzJkzh7Jly+Ln50f79u2ZOXMmd+/eZceOHeZj7d+/n2HDhvHnn3+ycuVK89qej1OvXj3279+f493K\n+bNIux4OyQlPPbPz8OHDfPLJJ/z444+UKFGCf/3rXzkUUAhhsZ6ixSu3bN++neDgYNatWweYCpDw\n8HACAgJ4/fXXza0FpUuXTvc6BwcH7OzsGDJkCN7e3nh7e6fbHhMTQ3R0NC1atABMY3TStnb06NED\ngAYNGjy0iHpG2rdvT6lSpcyZt27dap6kFRsby+nTp4mOjubw4cPm8UdxcXFUqlTJvPj1k2it8fX1\nZe/evVhZWfH3339z/fp16tati6+vL76+vrzyyis0bdoUe3t7rKysGDZsGF26dHno/T/Oo/I7OTlR\nrVo1c/6M9OnThzt37qC15ujRo5k+Z2ZERkama91JSEjgnXfe4fjx49jY2HD27FnztpdeeokXXngB\ngICAgAw/d4BVq1axaNEikpKSuHTpEmFhYQ8Vafc/25ywatUq+vXrZ35csWJF/vrrL0qXLk1gYCA9\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(10,8))\n", + "# K соседей\n", + "knn = KNeighborsClassifier ( n_neighbors =best_num)\n", + "probas_knn0 = knn.fit(X_train, y_train).predict_proba (X_test)\n", + "tpr, fpr, thresholds = roc_curve(y_test, probas_knn0[:,0])\n", + "roc_auc = auc(fpr, tpr)\n", + "plt.plot(fpr, tpr, label='%s ROC (area = %f)' % ('KNeighborsClassifier', roc_auc)) \n", + "\n", + "# решающее дерево\n", + "dtc = DecisionTreeClassifier(max_depth=best_depth, max_features=best_features)\n", + "probas_dtc0 = dtc.fit(X_train, y_train).predict_proba (X_test)\n", + "tpr, fpr, thresholds = roc_curve(y_test, probas_dtc0[:,0])\n", + "roc_auc = auc (fpr, tpr)\n", + "plt.plot(fpr, tpr, label='%s ROC (area = %f)' % ('DecisionTreeClassifier', roc_auc)) \n", + "\n", + "# вывод графика\n", + "plt.plot([0, 1], [0, 1], 'k--')\n", + "plt.xlim([0.0, 1.0])\n", + "plt.ylim([0.0, 1.0])\n", + "plt.xlabel('False Positive Rate')\n", + "plt.ylabel('True Positive Rate')\n", + "plt.legend(loc=4, fontsize='medium')\n", + "plt.title('not Ca')\n", + "plt.show()\n", + "\n", + "\n", + "plt.figure(figsize=(10,8))\n", + "# K соседей\n", + "knn = KNeighborsClassifier( n_neighbors = best_num)\n", + "probas_knn1 = knn.fit(X_train, y_train).predict_proba (X_test)\n", + "fpr, tpr, thresholds = roc_curve(y_test, probas_knn1[:,1])\n", + "roc_auc = auc(fpr, tpr)\n", + "plt.plot(fpr, tpr, label='%s ROC (area = %f)' % ('KNeighborsClassifier', roc_auc)) \n", + "# решающее дерево\n", + "dtc = DecisionTreeClassifier(max_depth=best_depth, max_features=best_features)\n", + "probas_dtc1 = dtc.fit(X_train, y_train).predict_proba(X_test)\n", + "fpr, tpr, thresholds = roc_curve(y_test, probas_dtc1[:,1])\n", + "roc_auc = auc(fpr, tpr)\n", + "plt.plot(fpr, tpr, label='%s ROC (area = %f)' % ('DecisionTreeClassifier', roc_auc)) \n", + "# вывод графика\n", + "plt.plot([0, 1], [0, 1], 'k--')\n", + "plt.xlim([0.0, 1.0])\n", + "plt.ylim([0.0, 1.0])\n", + "plt.xlabel('False Positive Rate')\n", + "plt.ylabel('True Positive Rate')\n", + "plt.legend(loc=4, fontsize='medium')\n", + "plt.title('Ca')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nxe6ZZ55h7733pk+fPvzgBz9g4cKF+e/u0ksvZZ999uHBBx9c6/nq0qULDRs2zH/Pq3Tq1IkmTZrk\ng0ZFf/3rX/OtVAC33nore+yxB7169eKoo47Kh4thw4Zx3nnnceCBB3LBBRewaNEiTj75ZPr160fv\n3r155JFH8t/9vvvuS58+fejTpw9/+9vf1lpvTXXo0IGePXvSoMHaI8asWbOYP38+e+21FxHBCSec\nwMMPPwzAI488kj+vJ554YqXpJ5xwAhHBXnvtxdy5c5k1axZPP/00AwcOZPvtt6dFixYMHDiQp556\naoP2EREccMABPP744xv9PdQG7+6UpFo08rF3mPzJ/FrdZtdvbcvF3+1W7TLLli3je9/7Hi+++CK7\n7757pXnNmjXj5JNP5vrrr68UmN59910eeOABxo4dS3FxMWeeeSb33XcfJ5xwQn6ZCRMm8Je//IVJ\nkyaxfPly+vTpQ9++ffPzV6xYwfjx4xkzZgwjR47kueeeA8i3djVp0oQ99tiDww8/nIjgzjvvZNy4\ncaSU2HPPPdl///1p0aIF77//PnfeeSe/+93veO2115g5cyZvv/02AHPnzmX+/PksWLCAXXbZZZ3f\n13/+53+y/fbbs3LlSgYMGMBbb71F27Zteeihh3jvvfeIiHxX7qWXXsrTTz9N27Zt1+jebd26Nbfd\ndhtXXXXVGr+0Z8+eza9//Wuee+45mjZtypVXXsk111yT7ypr1KgRr7zySrV1jhs3jgYNGtCqVatK\n019//XU6depE69at11hn7Nixlb7/I488ktNOOw2Aiy66iNtvv52f/vSnAHzwwQc899xzFBUV8ctf\n/pLvfOc73HHHHcydO5d+/fpx0EEH0bp1a5599lkaNWrElClTOPbYY6vsNt53331ZsGDBGtOvuuoq\nDjrooGqPsyozZ86kXbt2+fF27doxc+ZMAD799FPatGkDwDe/+U0+/fTT/Do77rjjGutUN3199wG5\nltSXX36Zo48+er2Pq7YZ0iRpM1BcXMy3v/1tbr/9dq6//vo15p9zzjmUlJTkW5Ag1zX62muvscce\newCwZMmSNYLB2LFjOeKII2jUqBGNGjXiu9/9bqX5Rx55JAB9+/bl448/zk8fOHAgO+ywQ36ZV155\nhYhg6NChNG3aND/95ZdfZsiQIbRv35699toLgF122YWPPvqIn/70pxx++OEcfPDB+Vaqmhg9ejSj\nRo1ixYoVzJo1i8mTJ9O1a1caNWrEKaecwuDBgxk8eDAA/fv3Z9iwYRx99NH5Y6mJV199lcmTJ9O/\nf38AvvpD5hoZAAAa+UlEQVTqK/bee+/8/GOOOWat61577bX84Q9/YJtttuGBBx7IX3B+7bXXcuut\nt/LRRx/lu+VWN2vWLLp06ZIff/vtt7nooouYO3cuCxcu5JBDDsnP+8EPfkBRURGQa/V79NFH862g\nS5cuZdq0aXzrW9/i7LPPZtKkSRQVFfHBBx9Uud+KraSbUkQU/Kac1ffRunVrPvnkk4Lus6YMaZJU\ni9bV4lUoDRo0YPTo0QwYMIDLL7+cX/7yl5Xmb7fddhx33HHcdNNN+WkpJU488UT+67/+a4P3u/XW\nWwNQVFRU6dqn1X+xrusX7argBtCiRQvefPNNnn76aW666SZGjx7NHXfcQbNmzfjoo4+qbU37v//7\nP6666iomTJhAixYtGDZsGEuXLqVhw4aMHz+e559/nvvvv58bb7yRv/71r9xyyy2MGzeOJ554gpKS\nEiZNmlSj404pMXDgwLVe4F/xeFZ37rnnVgrLq0//n//5H0444QQ+/PBDGjVqVGmZxo0bV3rMw7Bh\nw3j44Yfp1asXd911Fy+++GKVNaSU+Mtf/kLnzp0rbe+SSy7hG9/4Bm+++SZlZWVr7G+V2m5Ja9u2\nLTNmzMiPz5gxg7Zt2wLwjW98g1mzZtGmTRtmzZqV/49D27ZtmT59+hrrtG3bttJxz5gxgwMOOGCD\n9gG5ANu4ceP1PqZC8Jo0SdpMNGnShCeeeIL77ruP22+/fY355513Hr///e/zYWrAgAH8+c9/zt/5\n+cUXX/DPf/6z0jr9+/fnscceY+nSpSxcuJAnnniiRrU8++yzfPHFFyxZsoSHH36Y/v37s++++/Lw\nww+zePFiFi1axEMPPcS+++67xrqzZ8+mrKyMo446issuuyx/F9+FF17IWWedxfz5ue7k+fPnM2rU\nqErrzp8/n6ZNm9K8eXM+/fRTnnzySQAWLlzIvHnzGDRoENddd10+jH344YfsueeeXHrppbRs2bJS\nCKjOXnvtxdixY5k6dSoAixYtWmsr1Po68sgjKS0trXSX4ipdunTJ7xNgwYIFtGnThuXLl3Pfffet\ndZuHHHIIN9xwQ/5GizfeeAOAefPm0aZNGxo0aMC9995b5Y0OkGtJmzRp0hqfDQloAG3atGHbbbfl\n1VdfJaXEPffcwxFHHAHAkCFD8sd+9913V5p+zz33kFLi1VdfpXnz5rRp04ZDDjmEZ555hi+//JIv\nv/ySZ555hkMOOWSD9gG5buLu3btv0HHVNlvSJGkzsv322/PUU0+x3377rXGtU8uWLRk6dGj+Qvyu\nXbvy61//moMPPpiysjKKi4u56aab8neFAuyxxx4MGTKEXr160aFDB0pLS2nevPk669hnn3340Y9+\nxNSpUznuuOMoLS0Fci0//fr1A+DUU0+ld+/elbpJIXft0UknnZS/63FVS98ZZ5zBwoUL2WOPPSgu\nLqa4uJhf/OIXldbt1asXvXv3plu3buyyyy757sgFCxZwxBFHsHTpUlJK+e/g/PPPZ8qUKaSUGDBg\nAL169eJ///d/13l8rVq14q677uLYY49l2bJlAPz6179mt912W+e6NTFixAiOO+44TjvttEoX4B92\n2GH86Ec/yo9fdtll7LnnnrRv354ePXpU2doF8Ktf/Yqf//zn9OzZk7KyMnbeeWcef/xxzjzzTI46\n6igefPBBDjzwwGpbAGtqwoQJDB06lC+//JLHHnuMiy++mHfeeQegUmvl7373O4YNG8aSJUs47LDD\nOOyww4DcDR5HH300t99+O+3bt2f06NFA7rEwY8aMoWPHjjRp0oQ777wTyP2d/9WvfpXvth8xYgTb\nb7/9Bu0D4IUXXtio1uXaFIW4fbmQSktLU209C0eSasO7775b6Tqhzc3ChQtp1qwZixcvZr/99mPU\nqFH06dOnrsvaYg0dOpTf/OY3dOrUqa5L2ex8+umnHHfccTz//PMbtH5VPwsi4rWUUumGbM/uTklS\ntU4//XRKSkro06cPRx11lAGtjl1xxRXMmjWrrsvYLE2bNm29nylYSHZ3SpKq9cc//rGuS1AFnTt3\nXuMGANWOVV2mWWFLmiRJUgYZ0iRJkjLIkCZJkpRBhjRJkqQMMqRJkiRlkCFNkjYDRUVFlJSU0K1b\nN3r16sXVV1+dfxjs+hoxYkT+RelVueWWW7jnnnvWe7tPP/00JSUllJSU0KxZMzp37kxJSUmlF7pv\njPnz53Paaaex66670q1bNw444AAmTJjAihUr2G677WplHwA33XRT/un+kydPzj9A98MPP6zyDQrr\nY5999qFz58706tWLffbZhylTpqwxvV+/frz11ltr3cbQoUPXeHNElnz44Yf069ePjh07ctxxx7F8\n+fI1llm2bBknnngiPXr0oKSkhJdeeik/7w9/+AM9evSgZ8+eDBo0iC+++CI/79prr6Vz58507do1\n/2q0qVOn0rhx4/zfvbPOOgvIPeB40KBB7L777nTr1o3/+I//yG9n6dKlfP/736djx47svffeTJs2\nDYBJkyZxyimnFOR7qVJKqV59+vbtmyQpSyZPnlzXJaSmTZvmhz/99NM0YMCANGLEiDqsqHr7779/\nmjBhQpXzli9fvkHbPOqoo9JFF12UysrKUkopTZkyJY0ZMyYtX748NW/efINrrc5ll12WLr300g1a\nt6ysLK1cubLStP79+6c33ngjpZTSTTfdlIYOHbrG9FGjRqVDDz20ym1OmjQpff/731+vOjb0+95Q\nQ4cOTQ8++GBKKaVTTjkljRo1ao1lrrvuunTqqaemlFKaNWtW6tu3byorK0vLli1LrVq1SnPmzEkp\npXTuueemyy67LKWU0jPPPJMOPvjgtHTp0pRS7t9BSrm/B7169VpjHwsWLEgvvvhiSimlpUuXpr33\n3js988wzKaWUrr/++nTWWWellFK6995703HHHZdf74ADDkgzZsyo8tiq+lkATEwbmHlsSZOk2vTk\ncLjz8Nr9PDl8vUpo3bo1o0aN4sYbbySlxMqVKzn//PPZY4896NmzJ7///e/zy1555ZX06NGDXr16\nMXx4bj/Dhg3jz3/+M5B7fU7Xrl3p2bNn/qXgl1xyCVdddRWQa1nYa6+96NmzZ/5VQAAHHHAAF1xw\nAf369WO33Xbj5Zdfrrbm2267jR/+8IcMHjw4/+qeK664gn79+tGzZ08uvfTS/LJ33303/fr1o6Sk\nhDPPPJOysjLef/99Jk2axMiRI/Mvc+/YsWN+W6vMnz+f73znO/Tp04eePXvy+OOPA7lWlcMOO4xe\nvXrRvXv3/PGff/75+eO/4IILALjooou47rrrePTRR7nxxhu55ZZbOOigg9Zosauq/qlTp9K9e3d+\n8pOf0KdPn2ofSrvffvtVek/nKnvvvTczZ86scp377ruv0nsoTz/9dEpLS+nWrVul77Bdu3Zcdtll\n9O/fn4ceeogpU6ZwyCGH0LdvX/bbb7/8e0gfeeQR9txzT3r37s3BBx+cf8/rhlq5ciUvvfQSQ4cO\nBeDEE0/k4YcfXmO5yZMn853vfAeAb37zmzRt2pQ33ngjH14WLVpESokFCxbwrW99C4Cbb76ZCy+8\nkK233hqg0kvTq9KsWTP2339/ALbeemt69+6dfyH7I488woknngjA0UcfzdNPP51fb/DgwTzwwAMb\n8zXUmA+zlaTN0C677MLKlSv57LPPeOSRR2jevDkTJkxg2bJl9O/fn4MPPpj33nuPRx55hHHjxtGk\nSZNK3UYAc+bM4aGHHuK9994jIpg7d+4a+znhhBO44YYb2H///RkxYgQjR47kuuuuA2DFihWMHz+e\nMWPGMHLkyGq7UAH+/ve/M2nSJFq0aMGYMWOYNm0a48aNI6XEoEGD+Nvf/sa2227LQw89xN/+9jca\nNmzI6aefzv3330+jRo3o3bt3pfdcVqVx48Y8/PDDbLvttnz22Wf079+fwYMHM2bMGDp06JB/Ifu8\nefP49NNPGTNmDO+8806Vxz9kyBDGjx9Py5Yt+fnPf55/cT2w1vpbt27N5MmTueuuu7jllluqrfWx\nxx6jR48ea0x/6qmn+N73vlflOmPHjuWkk07Kj19xxRVsv/32rFixggMPPJDvf//7dO3aFYCmTZsy\nduxYAA488EBuu+02dt11V8aOHcvZZ5/NM888w3777ceQIUOICG655Rauvvpqrrzyykr7nDx5Mscd\nd1yV9bz88stss802+fHPP/+cli1bUlRUBOTCYlWBs1evXjzyyCMcffTRfPzxx7zxxhtMnz6dPn36\ncOONN9K1a1eaNWtGly5d8v/p+OCDD3jxxRe54IILaNy4MVdffTV9+/YFcuG4d+/eNG/enMsvv5xv\nf/vblfb35ZdfMmbMGP793/8dyL0/dscddwRgq622omnTpsydO5ftttuO0tJSrrvuOs4777wqj7k2\nGdIkqTYddkVdV7CGZ555hrfeeivfOjRv3jymTJnCc889x0knnUSTJk0A8i+lXqV58+Y0atSIU045\nhcGDBzN48OBK8+fNm8fcuXPzrREnnngiP/jBD/LzjzzySAD69u27xkvUq3LwwQfTokWLfM1PPvkk\nvXv3BnLvD/3ggw+YO3cuEyZMyL+wfcmSJey4445069atRt9FSonhw4fzyiuv0KBBA6ZPn87s2bPp\n2bMnw4cPZ/jw4Xz3u9+lf//+NGnShAYNGnDaaadx+OGHr3H81Vlb/a1bt2bXXXfN11+VY445hsaN\nG7PLLrtwww03VJq+qgXp9ddfr3LdWbNm0apVq/z4n/70J26//XZWrFjBJ598wuTJk/Mh7ZhjjgFg\n7ty5vPrqqxx11FH59VYFzmnTpnH00Ufzr3/9i2XLllX5AvmuXbvmX5peW0477TTef/99+vbty847\n78y3v/1tioqK+Oqrr/j973/PW2+9Rfv27TnzzDP5zW9+w/Dhw1mxYgXz5s1j3Lhx/P3vf+eYY45h\n6tSptGvXjmnTprH99tszfvx4jjrqKN59912aNWsGwPLlyznmmGP4xS9+Qfv27ddZW+vWrfnkk09q\n9XjXxpAmSZuhjz76iKKiIlq3bk1KiRtuuIFDDjmk0jIVu3Cq0rBhQ8aPH8/zzz/P/fffz4033shf\n//rXGtewqtupqKioUivT2jRt2jQ/nFLioosuWuMi7WuvvZaTTz6Zyy67rNL0Vd2dZWVl1bam3XPP\nPcybN4/XX3+dhg0b0q5dO5YuXUqXLl2YOHEiY8aM4fzzz2fw4MH88pe/ZOLEiTz77LPcf//93Hzz\nzTzzzDM1Ova11T916tRKx1mVBx54gJKSkiqnd+vWjfPPP5+f/vSnjB49eo1lGjduzNKlSwGYMmUK\n119/PePHj2e77bbj+OOPz8+Dr7/vlBItW7asMmidddZZ/PKXv2TQoEE899xzXHHFmv8JWZ+WtFat\nWjF79mxWrlxJUVERM2bMoG3btmusV1xczPXXX58fX9Vt/tprr1FcXMzOO+8M5LoiV7XctmvXLv8f\ng7333pvly5fz5Zdf0qJFCxo1apTfTvv27Zk6dSolJSWklDjllFPo3r07Z599dn5/bdu2Zfr06Xzz\nm9/kq6++YtGiRfmu7KVLl9K4ceMqj7e2eU2aJG1mPv/8c37yk59w9tlnExEccsgh3Hzzzfm76D74\n4AMWLVrEwIEDufPOO1m8eDHAGt2dCxcuZN68eQwaNIjrrrtujV/izZs3p0WLFvnrze699958q9rG\nOuSQQ7j99ttZtGgRADNmzGD27NkcdNBBjB49mtmzZwO5Ltlp06bRuXNnevTowaWXXkruWu1ccHvs\nsccqbXfevHm0bt2ahg0b8uyzz+a72mbOnEmzZs340Y9+xHnnncfrr7/OggULmD9/PoMHD+baa6/l\njTfe2Oj6N1ZxcTGXX345L730Uv7Oz4q6dOmSv45t/vz5bLPNNmy77bbMmjVrraG8RYsWtGnThoce\negiAsrIy3nzzTSD3fbVt25aUEnfffXeV669qSavqUzGgQS6w77vvvvl93X333ZWuoVtl0aJF+b+X\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmkAAAHwCAYAAAD98PjEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XeYVOXd//H3zdJ7R1yaCKKAgEhTsCLFaDRqopEnUaMx\n+WmMiSZ5HjWKArYkthQSg7FGk9gidrALFqogKopgBUQEkSZS9/79cZZll7rADmd35v26rnPtzjkz\ns5/dGPPJfeZ8T4gxIkmSpPKlUtoBJEmStCVLmiRJUjlkSZMkSSqHLGmSJEnlkCVNkiSpHLKkSZIk\nlUOWNEmSpHLIkiYp54QQhoQQpoQQVoYQFoQQng4h9Es7lyQVZ0mTlFNCCBcDtwDXAs2AVsBfgRPT\nzCVJmwvecUBSrggh1APmAz+KMT64leO9gD8CBwDfAA8DF8cY1+7RoJKEK2mScsshQHXgkW0c3wBc\nBDQufG5/4Pw9E02SSrKkScoljYDFMcb1WzsYY5waY5wQY1wfY/wY+DtwxJ4MKEkbVU47gCTtQV8C\njUMIlbdW1EII+wE3AT2AmiT/jpy6ZyNKUsKVNEm55HVgDfCdbRz/G/Ae0D7GWBe4DAh7KJskleBK\nmqScEWNcFkIYCowMIawHngHWAccARwF1gOXAyhDC/sB5wKK08krKbV7dKSnnhBD+h+QCgQOAFSSn\nNK8h+T+uo4AWwDTgReDoGKMz1CTtcZY0SZKkcsjPpEmSJJVDGStpIYQ7QghfhBDe3sbxEEL4Uwhh\nTghhRgihe6aySJIkVTSZXEm7Cxi8nePHAu0Lt5+QXFUlSZIkMljSYozjgCXbecqJwD0xMQGoH0Jo\nnqk8kiRJFUman0nLB+YWezyvcJ8kSVLOqxBz0kIIPyE5JUqjGhxcrXFLvgm1Uk4lSZK0fV99+t7i\nGGOTXXltmiVtPtCy2OMWhfu2EGMcRTK7iB6tasYpl+TDT8dDXoXomJIkKUeFED7Z1demebrzMeCM\nwqs8+wDLYowLdviquvnwxUx44+6MB5QkSUpLxpaiQgj/Bo4kuZnxPOBKoApAjPFW4CngW8AcYBXw\no1K9cfV60KYDvHgNdD4FatTPQHpJkqR0ZaykxRhP38HxCPxsl9580LXw98Nh3B9g0DW79BaSJEnl\nWcW840DzLtD9hzDx7/DlB2mnkSRJKnMVs6QBHH0FVK4Oz1yRdhJJkqQyV3FLWu2mcNjFMOtJ+PCl\ntNNIkiSVqYpb0gD6nA/1W8GYy6BgQ9ppJEmSykzFLmlVqsOAEfDFO/DGPWmnkSRJKjMVu6QBdDwR\nWh0KL1wNq5elnUaSJKlMVPySFgIMvhZWfQnjbkg7jSRJUpmo+CUNYO+DoNv/wIS/OZJDkiRlhewo\naQD9r4C8qvDs0LSTSJIk7bbsKWl19kpGcrz3BHw0Lu00kiRJuyV7ShrAIT+Deo7kkCRJFV92lbQq\nNWDAMFj4Fky7N+00kiRJuyy7ShpAp5OgZR94YQSsXp52GkmSpF2SfSUtBBh8HXy9CMbfmHYaSZKk\nXZJ9JQ0gvzt0HQIT/gpLPko7jSRJ0k7LzpIG0H8oVKrsSA5JklQhZW9Jq9sc+l0M7z4GH7+SdhpJ\nkqSdkr0lDeDQC6BuCxhzqSM5JElShZLdJW3jSI7PZ8D0f6WdRpIkqdSyu6QBdD4FWvSC54fDmhVp\np5EkSSqV7C9pIcDg6+HrL2D8TWmnkSRJKpXsL2kALQ6GLt+H10fCVx+nnUaSJGmHcqOkQeFIjjx4\n9sq0k0iSJO1Q7pS0evnQ95cwczR88lraaSRJkrYrd0oawKE/h7r5MOYSKChIO40kSdI25VZJq1oT\njhkGC96EN/+ddhpJkqRtyq2SBnDgd6FFT3h+GKxZmXYaSZKkrcq9khYCDLoOVi6EV25OO40kSdJW\n5V5JA2jZEw48FV77Myz9NO00kiRJW8jNkgZwzJUQKjmSQ5IklUu5W9LqtYC+v4B3/gufTkg7jSRJ\nUgm5W9IA+l4IdfZ2JIckSSp3crukVa0Fx1wFn02DGfennUaSJKlIbpc0gAO/B/kHO5JDkiSVK5a0\nSpVg8PWwYgG8+se000iSJAGWtETLXtD5u/Dan2Dp3LTTSJIkWdKKHHNV8vW5q1IMIUmSlLCkbVS/\nJRx6Ibz9EHw6Me00kiQpx1nSiuv7C6jTHMZe6kgOSZKUKktacdVqQ/8rYf5UeOvBtNNIkqQcZknb\nXJfTYO+Dks+mrf067TSSJClHWdI2VzSS4zN49U9pp5EkSTnKkrY1rfpAp5OTuWnL5qWdRpIk5SBL\n2rYMGAaxAJ4blnYSSZKUgyxp21K/FRz6c3jrAZg7Oe00kiQpx1jStqffRVC7GYy5BGJMO40kScoh\nlrTtKRrJMQXeeijtNJIkKYdY0nak6+nQvCs8dyWsXZV2GkmSlCMsaTuycSTH8vnw2p/TTiNJknKE\nJa00Wh8KHb8Dr94Cy+annUaSJOUAS1ppDRgGBRvg+eFpJ5EkSTnAklZaDdrAIT+DGf+BeVPTTiNJ\nkrKcJW1nHHYx1GrqSA5JkpRxlrSdUa0O9B8K8ybB2w+nnUaSJGUxS9rO6jYE9uoCz14J675JO40k\nScpSlrSdVSkPBl8Hy+fBa39JO40kScpSlrRd0aYfHHACvHITLF+QdhpJkpSFLGm7asBwKFjvSA5J\nkpQRlrRd1XAf6HM+vPkvmP9G2mkkSVKWsaTtjsN+BbWawJhLHckhSZLKlCVtd1SvC0dfAXMnwDuP\npJ1GkiRlEUva7jroB9DsQEdySJKkMmVJ212V8mDwtbDsU3h9ZNppJElSlrCklYV9Dof9j4fxN8GK\nz9NOI0mSsoAlrawMHAEb1sLzI9JOIkmSsoAlraw0bAt9zoPp98Fn09JOI0mSKjhLWlk6/NdQsxGM\nucyRHJIkabdY0spS9Xpw9OXw6Wsw89G000iSpArMklbWup8BzTrDs1fAutVpp5EkSRWUJa2sVcqD\nQdfC0k9hwl/TTiNJkiooS1omtD0COhwH42+EFQvTTiNJkiogS1qmDBwB69fAC47kkCRJO8+SlimN\n9oXeP4Vp98KCN9NOI0mSKhhLWiYd/huo2dCRHJIkaadZ0jKpRn046rfwySvw7uNpp5EkSRWIJS3T\nup8JTTvCM5cnn1GTJEkqBUtapuVVhkHXwNJPYMLf0k4jSZIqCEvanrDv0bDfsTDuBlj5RdppJElS\nBZDRkhZCGBxCmBVCmBNCuGQrx1uFEF4MIUwLIcwIIXwrk3lSNfBqWP8NvHB12kkkSVIFkLGSFkLI\nA0YCxwIdgdNDCB03e9rlwAMxxoOA7wPZO6K/cTvo9RN44x5YMCPtNJIkqZzL5EpaL2BOjPHDGONa\n4D/AiZs9JwJ1C7+vB3yWwTzpO+J/kys+xzqSQ5IkbV8mS1o+MLfY43mF+4q7CvhBCGEe8BTw8wzm\nSV+NBslIjo/Hw3tPpp1GkiSVY2lfOHA6cFeMsQXwLeCfIYQtMoUQfhJCmBJCmLJo0aI9HrJMHfwj\naLK/IzkkSdJ2ZbKkzQdaFnvconBfcecADwDEGF8HqgONN3+jGOOoGGOPGGOPJk2aZCjuHrJxJMdX\nH8HEv6edRpIklVOZLGmTgfYhhH1CCFVJLgx4bLPnfAr0BwghHEBS0ir4UlkptDsG2g+EcX+Aldn/\n60qSpJ2XsZIWY1wPXACMBd4luYrznRDC8BDCCYVP+xVwbgjhTeDfwFkx5sgn6gdeA2u/hhevSTuJ\nJEkqhypn8s1jjE+RXBBQfN/QYt/PBPpmMkO51WQ/6HUuTBqVfG3WKe1EkiSpHEn7woHcdsT/QbW6\nMOZSR3JIkqQSLGlpqtkQjroMPnoZ3h+TdhpJklSOWNLS1uNsaLwfjP0trF+bdhpJklROWNLSllcF\nBl0LSz6AybelnUaSJJUTlrTyoP2AZCzHS7+Dr79MO40kSSoHLGnlxcBrYO1KeOnatJNIkqRywJJW\nXjTdH3qeA1PugIUz004jSZJSZkkrT468FKrVgbGXOZJDkqQcZ0krT2o2TIrahy/C7GfSTiNJklJk\nSStvev4YGrVPVtM2rEs7jSRJSoklrbzJqwKDroEv58Dkf6SdRpIkpcSSVh61Hwj7Hg0vXQerlqSd\nRpIkpcCSVh6FkAy4XbMiKWqSJCnnWNLKq6YHJLeMmnw7fPFe2mkkSdIeZkkrz468DKrWhmd+m3YS\nSZK0h1nSyrNajeDI/4M5z8HsZ9NOI0mS9iBLWnnX81xouK8jOSRJyjGWtPKuctVkJMfi95NbRkmS\npJxgSasI9hsMbY+EF691JIckSTnCklYRFI3kWA4v/y7tNJIkaQ+wpFUUzTrBwWfBpNtg0ay000iS\npAyzpFUkR/0WqtaCZy5PO4kkScowS1pFUqsxHPG/MPsZmP1c2mkkSVIGWdIqml4/hYZtC0dyrE87\njSRJyhBLWkVTuSoMvBoWz4Kpd6adRpIkZYglrSLq8C3Y53B48Rr45qu000iSpAywpFVEIcCg62D1\nMnj592mnkSRJGWBJq6j26gzdz4BJo2Dx7LTTSJKkMmZJq8iOuhwq13AkhyRJWciSVpHVbgJH/Abe\nHwNznk87jSRJKkOWtIqu9/+DBm1g7G8dySFJUhaxpFV0laslIzkWvQtv3JV2GkmSVEYsadlg/+Oh\nzWHwwjXwzdK000iSpDJgScsGIcCga5OZaeP+kHYaSZJUBixp2aJ5F+j+Q5h4Kyyek3YaSZK0myxp\n2eToK5KRHM9ekXYSSZK0myxp2aR2Uzj8VzDrKfjgxbTTSJKk3WBJyza9z4P6rWHsZY7kkCSpArOk\nZZsq1WHgCPhiJky7J+00kiRpF1nSstEBJ0DrvvDC1clN2CVJUoVjSctGG0dyrFriSA5JkiooS1q2\n2rsbHPQ/MOFW+PKDtNNIkqSdZEnLZkdfkdw26tmhaSeRJEk7yZKWzersBYddDO89AR++nHYaSZK0\nEyxp2a7Pz6Beq2QkR8GGtNNIkqRSsqRluyrVYeBwWPg2TPtn2mkkSVIpWdJyQcfvQKtD4PkRjuSQ\nJKmCsKTlghBg8HWw6ksYf2PaaSRJUilY0nLF3gdBtyEw4W+w5MO000iSpB2wpOWSo6+ASlUcySFJ\nUgVgScsldZvDYRfBu4/DR+PTTiNJkrbDkpZrDrkA6rWEsZc6kkOSpHLMkpZrqtSAAcPg87dg+n1p\np5EkSdtgSctFnU6Glr0LR3IsTzuNJEnaCktaLto4kuPrL+CVm9JOI0mStsKSlqvyD4aup8PrI+Gr\nj9NOI0mSNmNJy2X9h0Klyo7kkCSpHLKk5bK6e0O/i2Dmo/Dxq2mnkSRJxVjSct0hF0DdFjDmEkdy\nSJJUjljScl3VmoUjOWbAm/9OO40kSSpkSRN0PgVa9ITnh8OaFWmnkSRJWNIEhSM5roeVC+GVm9NO\nI0mSsKRpoxY9oMtp8Npf4KtP0k4jSVLOs6Rpk/5XQqgEz12ZdhJJknKeJU2b1MuHfr+Edx6BT15P\nO40kSTnNkqaSDr0Q6uYXjuQoSDuNJEk5y5KmkqrWhGOuggXTYcZ/0k4jSVLOsqRpS52/C/k94Llh\nsGZl2mkkScpJljRtqVKlwpEcn8Ort6SdRpKknGRJ09a17JmsqL32Z1j6adppJEnKOZY0bdsxVyVf\nn7sqxRCSJOUmS5q2rX7L5GrPtx+GTyemnUaSpJxiSdP29f0F1GnuSA5JkvYwS5q2r1rt5E4En70B\nbz2QdhpJknKGJU071uU02Pug5LNpa79OO40kSTnBkqYd2ziSY8UCePWPaaeRJCknWNJUOq36QKeT\nk5K2dG7aaSRJynqWNJXegGEQIzw/LO0kkiRlvYyWtBDC4BDCrBDCnBDCJdt4zqkhhJkhhHdCCP/K\nZB7tpvqt4NCfw1sPwtxJaaeRJCmrZaykhRDygJHAsUBH4PQQQsfNntMeuBToG2PsBPwyU3lURvpd\nBLWbwZhLHckhSVIGZXIlrRcwJ8b4YYxxLfAf4MTNnnMuMDLG+BVAjPGLDOZRWdg4kmP+FHj7obTT\nSJKUtTJZ0vKB4p8wn1e4r7j9gP1CCK+GECaEEAZnMI/KStfToXlXePZKR3JIkpQhaV84UBloDxwJ\nnA7cFkKov/mTQgg/CSFMCSFMWbRo0R6OqC0UjeT4LLkBuyRJKnOZLGnzgZbFHrco3FfcPOCxGOO6\nGONHwPskpa2EGOOoGGOPGGOPJk2aZCywdkLrQ6Hjd+CVW2DZ5v+xSpKk3ZXJkjYZaB9C2CeEUBX4\nPvDYZs8ZTbKKRgihMcnpzw8zmEllacAwiAWO5JAkKQMyVtJijOuBC4CxwLvAAzHGd0IIw0MIJxQ+\nbSzwZQhhJvAi8JsY45eZyqQy1qANHPIzmHE/zJuSdhpJkrJKiDGmnWGn9OjRI06ZYiEoN9asgD91\nhwat4ZxnIYS0E0mSVG6EEKbGGHvsymvTvnBAFV21OtB/KMybDG8/nHYaSZKyhiVNu6/bENirS+FI\njlVpp5EkKStY0rT7KuXB4Otg+Tx4/S9pp5EkKStY0lQ22vSDA06AV26G5QvSTiNJUoVnSVPZGTAc\nCtbD88PTTiJJUoVnSVPZabgP9Dkf3vwXzH8j7TSSJFVoljSVrcN+BbWawJhLoYKNd5EkqTyxpKls\nVa8LR18BcyfAO4+knUaSpArLkqayd9APoNmByUiOdd+knUaSpArJkqayVykPBl8Lyz6F10emnUaS\npArJkqbM2Odw2P94GH8TrPg87TSSJFU4ljRlzsARsGEtPD8i7SSSJFU4ljRlTsO20Oc8mH4ffDYt\n7TSSJFUoljRl1uG/hpqNYMxljuSQJGknWNKUWdXrwdGXw6evwcxH004jSVKFYUlT5nU/A5p1hmev\ngHWr004jSVKFYElT5lXKg0HXwtJPYcJf004jSVKFYEnTntH2COhwHIy/EVYsTDuNJEnlXqlLWggh\nP4RwaAjh8I1bJoMpCw0cAevXwAuO5JAkaUcql+ZJIYTfAacBM4ENhbsjMC5DuZSNGu0LvX+a3IWg\n17nQvGvaiSRJKrdKVdKA7wAdYoxrMhlGOeDw38Cb/05Gcpz1BISQdiJJksql0p7u/BCokskgyhE1\n6sNRv4VPXoF3H087jSRJ5VZpV9JWAdNDCM8DRatpMcYLM5JK2a37mTD5H/DM5bDfIKhcLe1EkiSV\nO6VdSXsMGAG8Bkwttkk7L68yDLoGln4CE/6WdhpJksqlUq2kxRjvDiFUBfYr3DUrxrguc7GU9fY9\nGvY7FsbdAN2GQO2maSeSJKlcKdVKWgjhSGA2MBL4K/C+Izi02wZeDeu/gReuTjuJJEnlTmlPd94I\nDIwxHhFjPBwYBNycuVjKCY3bQa+fwhv3wIIZaaeRJKlcKW1JqxJjnLXxQYzxfbzaU2XhiN9AjQYw\n9jKIMe00kiSVG6UtaVNCCP8IIRxZuN0GTMlkMOWIGg3gqMvg4/Hw3pNpp5EkqdwobUk7j+RuAxcW\nbjML90m77+AfQZP9k5Ec652XLEkSlLKkxRjXxBhvijGeXLjd7N0HVGbyKsOga+Grj2Di39NOI0lS\nubDdkhZCeKDw61shhBmbb3smonJCu/7QfhCM+wOsXJR2GkmSUrejOWm/KPx6fKaDSAy8Gv52CLx4\nDXz7lrTTSJKUqu2upMUYFxR+uxiYG2P8BKgGdAU+y3A25Zom+0HPc+GNu+Hzt9NOI0lSqkp74cA4\noHoIIR94HvgRcFemQimHHfG/UL2eIzkkSTmvtCUtxBhXAScDf44xngR0ylws5ayaDeHIy+Cjl2HW\n02mnkSQpNaUuaSGEQ4D/ATYOs8rLTCTlvB4/gsYd4Jnfwvq1aaeRJCkVpS1pvwQuBR6JMb4TQmgL\nvJi5WMppeVWSkRxLPoRJo9JOI0lSKnZ0dScAMcaXgZeLPf6QZKitlBntj4F2A+Dl30PX70Otxmkn\nkiRpj9rRnLRbCr8+HkJ4bPNtz0RUzhp0DaxdCS9em3YSSZL2uB2tpP2z8OsNmQ4ibaFJB+j5Y5h8\nW/K1Wce0E0mStMfsaE7a1MJvpwDjY4wvF576fAWYnOlwEkdeAtXqwthLHckhScoppb1w4HmgZrHH\nNYDnyj6OtJmaDeHIS+HDl+D9sWmnkSRpjyltSaseY1y58UHh9zW383yp7PQ8Bxq1dySHJCmnlLak\nfR1C6L7xQQjhYOCbzESSNrNxJMeXc2DyP9JOI0nSHlGqERwkc9IeDCF8BgRgL+C0jKWSNtd+AOzb\nH16+HrqcBrUapZ1IkqSMKtVKWoxxMrA/cB7w/4ADil1UIGVeCMlIjjUr4aXr0k4jSVLGlaqkhRBq\nAv8H/CLG+DbQJoRwfEaTSZtregD0OBum3AFfvJt2GkmSMqq0n0m7E1gLHFL4eD5wdUYSSdtz5KVQ\nrTaMvcyRHJKkrFbakrZvjPH3wDqAGOMqks+mSXtWrUZwxCXwwQsw+9m000iSlDGlLWlrQwg1gAgQ\nQtgXWJOxVNL29PwxNGqXrKZtWJd2GkmSMqK0Je1KYAzQMoRwH8lw2//NWCppeypXhYHXwJezYfLt\naaeRJCkjdljSQggBeA84GTgL+DfQI8b4UkaTSduz3yBoe1RypeeqJWmnkSSpzO2wpMUYIzA6xvhl\njPHJGOMTMcbFeyCbtG0hJANu1yyHl65PO40kSWWutKc7J4QQemY0ibSzmnWEg3+U3IVg0ay000iS\nVKZKW9KOIilqH4QQZoQQ3gohzMhkMKlUjroMqtaGsb9NO4kkSWWqtLeFOjajKaRdVasxHPG/yc3X\nZz+b3D5KkqQssN2VtBBC9RDCL4HfAIOB+THGTzZueyShtCO9fgIN2yaraY7kkCRliR2d7rwb6AG8\nRbKadmPGE0k7q3JVGHg1LJ4FU+5MO40kSWViR6c7O8YYDwQIIdwOTMp8JGkXdPgW7HM4vHQtHPhd\nqNkw7USSJO2WHa2kFZ07ijGuz3AWadeFAIOug9XL4OXfp51GkqTdtqOS1jWEsLxwWwF02fh9CGH5\nnggoldpenaH7GTD5Nlj0ftppJEnaLdstaTHGvBhj3cKtToyxcrHv6+6pkFKpHXU5VK4Bz1yedhJJ\nknZLaeekSRVD7SZwxG9g9liY81zaaSRJ2mWWNGWf3v8PGrQpHMnhRyklSRWTJU3Zp3K1ZCTHovdg\nqiM5JEkVkyVN2Wn/46HNYfDitfDNV2mnkSRpp1nSlJ1CgEGFBe3lP6SdRpKknWZJU/Zq3gW6/xAm\n/R0Wz0k7jSRJO8WSpux29BWO5JAkVUiWNGW32k3h8F/B+0/DBy+knUaSpFKzpCn79T4P6rd2JIck\nqUKxpCn7VakOA0fAFzPhjbvTTiNJUqlY0pQbDjgBWveFF6+Bb5amnUaSpB2ypCk3bBzJsWoJjHMk\nhySp/LOkKXfs3Q0O+h+Y+Hf48oO000iStF2WNOWWo69Ibhv1zBVpJ5EkabssacotdfaCwy6GWU/C\nhy+lnUaSpG3KaEkLIQwOIcwKIcwJIVyyneedEkKIIYQemcwjAdDnZ1CvFYy5DAo2pJ1GkqStylhJ\nCyHkASOBY4GOwOkhhI5beV4d4BfAxExlkUqoUh0GDocv3oE37kk7jSRJW5XJlbRewJwY44cxxrXA\nf4ATt/K8EcDvgNUZzCKV1PE70OoQeOFqWL0s7TSSJG0hkyUtH5hb7PG8wn1FQgjdgZYxxiczmEPa\nUggw+DpY9SWMuyHtNJIkbSG1CwdCCJWAm4BfleK5PwkhTAkhTFm0aFHmwyk37H0QdBsCE/7mSA5J\nUrmTyZI2H2hZ7HGLwn0b1QE6Ay+FED4G+gCPbe3igRjjqBhjjxhjjyZNmmQwsnLO0VdAXlV4dmja\nSSRJKiGTJW0y0D6EsE8IoSrwfeCxjQdjjMtijI1jjG1ijG2ACcAJMcYpGcwklVS3ORx2Ebz3BHw0\nLu00kiQVyVhJizGuBy4AxgLvAg/EGN8JIQwPIZyQqZ8r7bRDLoB6LR3JIUkqVypn8s1jjE8BT222\nb6vnlWKMR2Yyi7RNVWrAgGHw0Nkw7V44+My0E0mS5B0HJAA6nQwte8MLI2D18rTTSJJkSZOATSM5\nvl4E429MO40kSZY0qUj+wdD1dJjwV1jyUdppJEk5zpImFdd/KFSq7EgOSVLqLGlScXX3hn4XwbuP\nwcevpJ1GkpTDLGnS5g65AOq2gDGXOpJDkpQaS5q0uao1k5Ecn8+AN/+ddhpJUo6ypElb0/kUaNET\nnh8Oa1aknUaSlIMsadLWhACDr4eVC+GVm9NOI0nKQZY0aVta9IAup8Frf4GvPkk7jSQpx1jSpO3p\nfyWESvDclWknkSTlGEuatD318qHfL+GdR+CT19NOI0nKIZY0aUcOvRDq5sOYS6CgIO00kqQcYUmT\ndqRqTTjmKlgwHWb8J+00kqQcYUmTSqPzdyG/Bzw3DNasTDuNJCkHWNKk0qhUqXAkx+fw6i1pp5Ek\n5QBLmlRaLXvCgd+D1/4MSz9NO40kKctZ0qSdccxVQIDnrko3hyQp61nSpJ1RrwX0vRDefhg+nZh2\nGklSFrOkSTur7y+gTnNHckiSMsqSJu2sqrWS056fvQFvPZB2GklSlrKkSbviwFNh7+7JZ9PWfp12\nGklSFrKkSbti40iOFQvg1T+mnUaSlIUsadKuatUbOp+SlLSlc9NOI0nKMpY0aXccc1Xy9flhaaaQ\nJGUhS5q0O+q3gkN/Dm89CHMnpZ1GkpRFLGnS7ur7S6i9F4y51JEckqQyY0mTdle12nDMlTB/Crz9\nUNppJElZwpImlYUu34fm3eDZKx3JIUkqE5Y0qSwUjeT4LLkBuyRJu8mSJpWV1odAp5PglVtg2fy0\n00iSKjhLmlSWjhkGscCRHJKk3WZJk8pSg9Zw6AUw436YNyXtNJKkCsySJpW1fhdB7WYw5hKIMe00\nkqQKypImlbVqdaD/UJg3Gd5+OO00kqQKypImZULXIbBXl8KRHKvSTiNJqoAsaVImbBzJsXwevP6X\ntNNIkiogS5qUKW36QscT4ZWbYflnaaeRJFUwljQpkwYMh4L18PzwtJNIkioYS5qUSQ3awCE/gzf/\nDfOnpp0NbZozAAAgAElEQVRGklSBWNKkTOt3MdRqCmMudSSHJKnULGlSplWvC/2vgLkT4Z3/pp1G\nklRBWNKkPaHb/8BeByYjOdZ9k3YaSVIFYEmT9oRKeTDoOlg215EckqRSsaRJe8o+h8EB34bxN8Py\nBWmnkSSVc5Y0aU8aMBwK1sELI9JOIkkq5yxp0p7UsC30OQ+m3wefTUs7jSSpHLOkSXvaYb+GWk0c\nySFJ2i5LmrSnVa8LR/0WPn0dZo5OO40kqZyypElp6H4GNOsMzwyFdavTTiNJKocsaVIaKuXBoGth\n2acwYWTaaSRJ5ZAlTUpL2yOgw3Ew/iZY8XnaaSRJ5YwlTUrTwBGwfo0jOSRJW7CkSWlqtC/0/ilM\nuw8+m552GklSOWJJk9J2+G+gZkMYe5kjOSRJRSxpUtpq1E9GcnzyKrz7WNppJEnlhCVNKg+6nwlN\nO8IzVziSQ5IEWNKk8iGvMgy6BpZ+AhP/lnYaSVI5YEmTyot9j4b9joVxN8KKhWmnkSSlzJImlScD\nr4b138DD58D0f8GXH3gxgSTlqMppB5BUTON2cMwwePl38PH4ZF/NRtCiF7TsCS17w97doWrNdHNK\nkjLOkiaVN4deAH3Oh8WzYO5EmDs5+fr+08nxSpWT+3627A0teyVbvZYQQrq5JUllKsQKdiqlR48e\nccqUKWnHkPa8VUtgXmFhmzsJ5k+FdauSY7X3KixshcWteVeoXC3dvJIkQghTY4w9duW1rqRJFUXN\nhrDfoGQD2LAevngnKWxzJyXlbeOctbyq0LzbppW2lr2hzl7pZZck7TRX0qRssmIhzJu06TTpZ9Ng\nw5rkWL1WxUpbr+SUaV6VdPNKUpZzJU1Sok4zOODbyQbJzds/f2vTKdJPXoO3H0qOVa4B+QdvKm0t\nekGtRulllySV4EqalGuWzSt5QcLnM6BgfXKs4b6Fn2srvJK0yf5QKS/dvJJUgbmSJqn06rVIts6n\nJI/XroIF0zcVt9nPwJv/So5Vq1u42lZY3PJ7JPcalSRlnCVNynVVa0LrQ5MNkuG5X3206WKEuZNh\n3O8hFgAhWV0rfkFCo3aO/5CkDLCkSSopBGjYNtm6fj/Zt2ZFMvJj45WkM0fDG3cnx2o02HLYbrXa\n6eWXpCxhSZO0Y9XqQNsjkw2goAC+nL3pgoS5k2D22ORYyINmnUoO263f2tU2SdpJXjggqWysWlK4\n2lZs2O7alcmxWk1LniJt3g2qVE83ryTtAV44ICl9NRtC+wHJBlCwAb6YWfJK0veeSI5VqpLcFaH4\nlaR1904vuySVQ66kSdpzVi7abNjuG7B+dXKsbouSw3b36uKwXUkVnitpkiqG2k1g/+OSDWD9Wlj4\nVrFbW02Cd/6bHKtcPbkIofiw3dpN0ssuSXuYK2mSypdl8wtX2wq3BW9CwbrkWIN9Sp4ibdrRYbuS\nyjVX0iRlj3r5UO8k6HRS8njdN0lR23hBwgcvwIz/JMeq1i52a6ve0KJHMhJEkrKAJU1S+ValBrTq\nk2yQDNtd+kmxYbuTYPyNhcN2gcYdNhu22x4qVUovvyTtooyWtBDCYOCPQB7wjxjj9Zsdvxj4MbAe\nWAScHWP8JJOZJFVwIUCDNsnW5dRk35qVyUUIGy9IeO8JmPbP5Fj1eoXDdgu3/IOTuW+SVM5lrKSF\nEPKAkcAAYB4wOYTwWIxxZrGnTQN6xBhXhRDOA34PnJapTJKyVLXasM/hyQbJatuXc0oO253zbHIs\nVIKmnUpeSdpgH4ftSip3MrmS1guYE2P8ECCE8B/gRKCopMUYXyz2/AnADzKYR1KuCAEat0+2gwr/\ntfLNUpg/ZVNpm/EATLk9OVazcckLEvY+KDnNKkkpymRJywfmFns8D+i9neefAzydwTySclmN+tDu\nmGSDZNjuovdKDtud9WRyrFLlZE5b8eJWr0V62SXlpHJx4UAI4QdAD+CIbRz/CfATgFatWu3BZJKy\nVqXCe4w26wQ9zk72fb0Y5k3eVNym3gUT/5Ycq7N3yQsS9uoClaumFl9S9stkSZsPtCz2uEXhvhJC\nCMcAvwWOiDGu2dobxRhHAaMgmZNW9lElCajVGDocm2wAG9bBwrdLDtudOTo5llctOS26caWtRS+o\n0yy97JKyTsaG2YYQKgPvA/1JytlkYEiM8Z1izzkIeAgYHGOcXZr3dZitpFQtX7DZsN3psGFtcqx+\n68JTpIUrbk07QV65OGEhKSXlcphtjHF9COECYCzJCI47YozvhBCGA1NijI8BfwBqAw+G5MqqT2OM\nJ2QqkyTttrrNoeOJyQawfk3JYbsfjYO3HkiOVakF+d2LDdvtmdyIXpJKwdtCSVJZihGWzS12inQi\nfP4WxA3J8UbtS16Q0LiDw3alLFYuV9IkKSeFAPVbJduB3032rf0aPpu26YKEWU/B9HuTY9XqJbez\nKhq22wOq100vv6Ryw5ImSZlWtRa06ZdskKy2LfmwsLQVFreXrgciEJIbxxe/krRhW4ftSjnIkiZJ\ne1oI0GjfZOs2JNm3ehnMn7rpNOnbD8PUO5NjNRsV3tpq47Dd7lC1Znr5Je0RljRJKg+q14N9j042\ngIICWDyr5LDd9wvnfYc82OvAkhck1G/lapuUZbxwQJIqilVLig3bnZSsvK1blRyrvVfJU6TNu0Ll\naunmleSFA5KUE2o2hP0GJRvAhvXwxTslryR997HkWF5VaN5tU3Fr0SsZHyKpwnAlTZKyyYqFhcN2\nC0+TfjYNNhTezKVeq2Krbb2gWWfIq5JuXinLuZImSUrUaQYHfDvZIBm2+/lbm06RfvIavP1Qcqxy\nDcg/uOStrWo1Si+7pBJcSZOkXLNs3qbSNncSfD4DCtYnxxruW/KzbU32T25GL2mXuJImSSq9ei2S\nrfMpyeO1q5J7kG48RTr7WXjz38mxqnW2HLZbo3562aUcYkmTpFxXtSa0PjTZIBm2+9VHmy5GmDsZ\nxv0BYgEQktW14qttjdo5/kPKAEuaJKmkEJK7HDRsC12/n+xbs6LksN2Zo+GNu5NjNRpsOWy3Wu30\n8ktZwpImSdqxanWg7ZHJBsmw3S9nl7y11eyxybFQKblytPiw3QZtXG2TdpIXDkiSysaqJYWrbcWG\n7a5dmRyr1XSzYbvdoEr1dPNKe4AXDkiS0lezIbQfkGwABRvgi5klb2313hPJsUpVYO+DNt14vmVv\nT5FKm3ElTZK056xctGnY7ievw2dvJOM/KlVOPstmaVOW2Z2VNEuaJCk9a1Ymhe3jV5LN0qYsY0mT\nJGUHS5uyjCVNkpSdLG2q4CxpkqTcUNrS1qoPVK2VdlrJkiZJylHbK235B5dcabO0KQWWNEmSoLC0\nTdhU2ua/AXGDpU2psaRJkrQ1ljalzJImSVJpWNq0h1nSJEnaFZY2ZZglTZKksmBpUxmzpEmSlAlr\nVpS8etTSpp1kSZMkaU+wtGknWdIkSUrDNktblc1KWy9LW46ypEmSVB5Y2rQZS5okSeWRpS3nWdIk\nSaoI1qyATyfCx+MLb2M1bRulrTdUrZl2WpUBS5okSRWRpS3rWdIkScoGlrasY0mTJCkbWdoqPEua\nJEm5wNJW4VjSJEnKRdsrbS16bCptLXpZ2lJiSZMkSZa2csiSJkmStmRpS50lTZIk7ZilbY+zpEmS\npJ1nacs4S5okSdp9q5cX3sZqY2mbbmnbTZY0SZJU9ixtu82SJkmSMs/SttN2p6RVLuswkpSL1q1b\nx7x581i9enXaUaQMawEtTk+2WADr12zaNqyFhWtg4StQudqmLa8qhEppB8+o6tWr06JFC6pUqVJm\n72lJk6QyMG/ePOrUqUObNm0IIaQdR0pHwQZY+zWsXQFrVsK6VYUH1iUra1XrQLXaUKUWVMqe0hZj\n5Msvv2TevHnss88+Zfa+ljRJKgOrV6+2oEmV8qB63WSDLUvbys9hJUDIqtIWQqBRo0YsWrSoTN/X\nkiZJZcSCJm0mh0pbJv77X7H+ApKkbapdu3bR90899RT77bcfn3zyCVdddRU1a9bkiy++2Opzt+Vb\n3/oWS5cu3e5zjjzySLZ2Mdddd93FBRdcsBPpS++GG25g//33p3PnznTt2pV77rlnu1l2xZQpU7jw\nwgsBWLNmDccccwzdunXj/vvv58c//jEzZ87c5fe+6qqryM/Pp1u3bnTu3JnHHntsi/0dO3bk3//+\n9zbf45Zbbin6vcujcePG0b17dypXrsxDDz206cDG0lY3H5p0YOr8dRw48Ae06/cdLrx0BHHFAvhy\nDkveHc+AI/vSft+2DOh/NF99+SWQnFa88MILadeuHV26dOGNN94oeuu7776b9u3b0759e+6+++6i\n/VOnTuXAAw+kXbt2XHjhhWy8YHLJkiUMGDCA9u3bM2DAAL766isAnnjiCYYOHboH/ko7ZkmTpCzz\n/PPPc+GFF/L000/TunVrABo3bsyNN964U+/z1FNPUb9+/UxE3K4YIwUFBVs9duutt/Lss88yadIk\n3n77bcaNG0cmphT06NGDP/3pTwBMmzaNdevWMX36dE477TT+8Y9/0LFjx1K/14YNG7bYd9FFFzF9\n+nQefPBBzj777KLfd+P+Rx99lJ/+9KesW7dui9euX7+eO+64gyFDhpQ6w/r160v93LLQqlUr7rrr\nrh1mPO9nF3DbP25n9gcfMXveYsZM/wwa7sv1o/5D/8P6MHv8w/Tv3Znrh/4aFr/P0w/fx+xZ7zJ7\n1ixGjRrFeeedBySFa9iwYUycOJFJkyYxbNiwotJ13nnncdtttzF79mxmz57NmDFjALj++uvp378/\ns2fPpn///lx//fUAHHfccTz++OOsWrVq66H3IEuaJGWRcePGce655/LEE0+w7777Fu0/++yzuf/+\n+1myZMkWr7n33nvp1asX3bp146c//WlRqWjTpg2LFy8GYMSIEey///4MGDCA008/nRtuuKHo9Q8+\n+CC9evViv/32Y/z48UX7586dy+DBg+nQoQPDhg0r2n/TTTfRuXNnOnfuzC233ALAxx9/zAEHHMD5\n559P9+7dmTt3LmeddRadO3fmwAMP5Oabbwbg2muv5W9/+xt16yanz+rVq8eZZ565xe903nnn0aNH\nDzp16sSVV15ZtP+SSy6hY8eOdOnShV//+tdF+Teuyh1++OEAvPTSSxx//PF88cUX/OAHP2D69Ol0\n69aNDz74oMSK3TPPPMMhhxxC9+7d+d73vsfKlSuL/nbDhw+nX79+PPjgg9v8z+uAAw6gcuXKRX/n\njdq3b0/NmjWLikZxL7zwQtEqFcBtt91Gz5496dq1K6ecckpRuTjrrLO4+OKLOeqoo/i///s/vv76\na84++2x69erFQQcdxKOPPlr0tz/ssMPo3r073bt357XXXttm3tJq06YNXbp0odJ2TlkuWLCA5cuX\n06dPH0IInHHGGYx+7HGoXpdHx7zAmef/Gvbqwpnn/ozRz4yDGHl09COcceLRhIVv0addQ5YuWcyC\nj2cz9umnGTBgAA0bNqRBgwYMGDCAMWPGbP1njB4NwKOPPlr0z86ZZ55ZtD+EwJFHHskTTzyx23+H\n3eVn0iSpjA17/B1mfra8TN+z4951ufLbnbb7nDVr1vCd73yHl156if3337/Esdq1a3P22Wfzxz/+\nsURhevfdd7n//vt59dVXqVKlCueffz733XcfZ5xxRtFzJk+ezMMPP8z06dNZt24d3bt35+CDDy46\nvn79eiZNmsRTTz3FsGHDeO655wCKVrtq1qxJz549Oe644wghcOeddzJx4kRijPTu3ZsjjjiCBg0a\nMGvWLO68807++te/MnXqVObPn8/bb78NwNKlS1m+fDkrVqygbdu2O/x7XXPNNTRs2JANGzbQv39/\nZsyYQX5+Po888gjvvfceIYSiU7nDhw9n7Nix5Ofnb3F6t2nTpvzjH//ghhtu2OJ/tBcvXszVV1/N\nc889R61atfjd737HTTfdVHSqrHr16rzyyivbzTlx4kQqVapEkyZNSux/4403aN++PU2bNt3iNa++\n+mqJv//JJ5/MueeeC8Dll1/O7bffzs9//nMA3n//fZ577jny8vK47LLLOProo7njjjtYunQpvXr1\n4phjjqFp06Y8++yzVK9endmzZ3P66adv9bTxYYcdxooVK7bYf8MNN3DMMcds9/fcmvnz59OiRYui\nxy1atGD+/PkALFy4kObNmwOwV5v9WLjoS2jSgflfraZlh4OgVhNYu5IWzRox/91JzJ81lZYNa8Ly\nBVCtNi3y85k/f37pf8Zee7Fw4cKi5/Xo0YPx48dz6qmn7vTvVZYsaZKUJapUqcKhhx7K7bffzh//\n+Mctjl944YV069ataAUJklOjU6dOpWfPngB88803WxSDV199lRNPPJHq1atTvXp1vv3tb5c4fvLJ\nJwNw8MEH8/HHHxftHzBgAI0aNSp6ziuvvEIIgZNOOolatWoV7R8/fjwnnHACrVu3pk+fPgC0bduW\nDz/8kJ///Occd9xxDBw4sGiVqjQeeOABRo0axfr161mwYAEzZ86kY8eOVK9enXPOOYfjjz+e448/\nHoC+ffty1llnceqppxb9LqUxYcIEZs6cSd++fQFYu3YthxxySNHx0047bZuvvfnmm7n33nupU6cO\n999/f9GHzm+++WZuu+02Pvzww6LTcptbsGABBxxwQNHjt99+m8svv5ylS5eycuVKBg0aVHTse9/7\nHnl5eUCy6vfYY48VrYKuXr2aTz/9lL333psLLriA6dOnk5eXx/vvv7/Vn1t8lXRPCiFs+lB+CMmF\nBfXyk8fVaiefb6v6HqxbselChBWfQ6wLKxcnFysUFGz3QoQSP4OknH/22WcZ/K1Kx5ImSWVsRyte\nmVKpUiUeeOAB+vfvz7XXXstll11W4nj9+vUZMmQII0eOLNoXY+TMM8/kuuuu2+WfW61aNQDy8vJK\nfPZp86vddnT128biBtCgQQPefPNNxo4dy8iRI3nggQe44447qF27Nh9++OF2V9M++ugjbrjhBiZP\nnkyDBg0466yzWL16NZUrV2bSpEk8//zz/Oc//+Evf/kLL7zwArfeeisTJ07kySefpFu3bkyfPr1U\nv3eMkQEDBmzzA/7Ff5/NXXTRRSXK8ub7//vf/3LGGWfwwQcfUL169RLPqVGjRomhyWeddRajR4+m\na9eu3HXXXbz00ktbzRBj5OGHH6ZDhw4l3u+qq66iWbNmvPnmmxQUFGzx8zYq65W0/Px85s2bV/R4\n3rx55Ocn5atZs2YsWLCA5s2bs2DBgqL/45Cfn8/cuXOLvWY++W07kP/pguT33qsLrF3JvMXLObLd\nvuTXq8S8Tz+Gz2dA1VrMm/0W+Xs1hYKCbf4MSApsjRo1dvp3Kmt+Jk2SskjNmjV58sknue+++7j9\n9tu3OH7xxRfz97//vahM9e/fn4ceeqjoys8lS5bwySeflHhN3759efzxx1m9ejUrV67kySefLFWW\nZ599liVLlvDNN98wevRo+vbty2GHHcbo0aNZtWoVX3/9NY888giHHXbYFq9dvHgxBQUFnHLKKYwY\nMaLoKr5LL72Un/3sZyxfnpxOXr58OaNGjSrx2uXLl1OrVi3q1avHwoULefrppwFYuXIly5Yt41vf\n+ha33HJLURn74IMP6N27N8OHD6dx48YlSsD29OnTh1dffZU5c+YA8PXXX29zFWpnnXzyyfTo0aPE\nVYobHXDAAUU/E2DFihU0b96cdevWcd99923zPQcNGsSf//znogstpk2bBsCyZcto3rw5lSpV4p//\n/OdWL3SAZCVt+vTpW2y7UtAAmjdvTt26dZkwYQIxRu655x5OPPFEAE444YSi3/3uu+8usf+ee+4h\nxsiECROoV68ezZs3Z9CgQTzzzDN8tWw5X31TwDMvvcqg7/2I5l37U7d+QybM/JRYsIF77r2PE484\nCD6fwQkDDuPuv/8Z1qzg7rvuKvoZkJwm7ty58y79XmXJlTRJyjINGzZkzJgxHH744Vt81qlx48ac\ndNJJRR/E79ixI1dffTUDBw6koKCAKlWqMHLkyKKrQgF69uzJCSecQNeuXWnTpg09evSgXr16O8zR\nr18/fvjDHzJnzhyGDBlCjx7J7QvPOussevXqBcCPf/xjDjrooBKnSSH5vNKPfvSjoqseN670nXfe\neaxcuZKePXtSpUoVqlSpwq9+9asSr+3atSsHHXQQnTp1om3btkWnI1esWMGJJ57I6tWriTEW/Q1+\n85vfMHv2bGKM9O/fn65du/Lyyy/v8Pdr0qQJd911F6effjpr1qwB4Oqrr2a//fbb4WtLY+jQoQwZ\nMoRzzz23xAfwjz32WH74wx8WPR4xYgS9e/emdevWHHjggVtd7QK44oor+OUvf0mXLl0oKChgn332\n4YknnuD888/nlFNO4cEHH+Soo47a7gpgaU2ePJmTTjqJr776iscff5wrr7ySd955B6DEauVf//pX\n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\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(10,8))\n", + "y_test_invers = []\n", + "for i, y in enumerate(y_test.reset_index(drop=True)):\n", + " y_test_invers.append(1-y)\n", + "# K соседей\n", + "precision, recall, thresholds = precision_recall_curve(y_test_invers, probas_knn1[:,0])\n", + "aps_knn1 = average_precision_score(y_test_invers,probas_knn1[:,0])\n", + "plt.plot(recall, precision, label='%s PR (area = %f)' % ('KNeighborsClassifier', aps_knn1)) \n", + "# решающее дерево\n", + "precision, recall, thresholds = precision_recall_curve(y_test_invers, probas_dtc1[:,0])\n", + "aps_dtc1 = average_precision_score(y_test_invers,probas_dtc1[:,0])\n", + "plt.plot(recall, precision, label='%s PR (area = %f)' % ('DecisionTreeClassifier', aps_dtc1)) \n", + "# вывод графика\n", + "plt.xlabel('Recall')\n", + "plt.ylabel('Precision')\n", + "plt.xlim([0.0, 1.0])\n", + "plt.ylim([0.0, 1.0])\n", + "plt.legend(loc=4, fontsize='medium')\n", + "plt.title('not Ca')\n", + "plt.show()\n", + "\n", + "\n", + "plt.figure(figsize=(10,8))\n", + "# K соседей\n", + "precision, recall, thresholds = precision_recall_curve(y_test, probas_knn0[:,1])\n", + "aps_knn0 = average_precision_score(y_test,probas_knn0[:,1])\n", + "plt.plot(recall, precision, label='%s PR (area = %f)' % ('KNeighborsClassifier', aps_knn0)) \n", + "# решающее дерево\n", + "precision, recall, thresholds = precision_recall_curve(y_test, probas_dtc1[:,1])\n", + "aps_dtc1 = average_precision_score(y_test,probas_dtc1[:,1])\n", + "plt.plot(recall, precision, label='%s PR (area = %f)' % ('DecisionTreeClassifier', aps_dtc1)) \n", + "# вывод графика\n", + "plt.xlabel('Recall')\n", + "plt.ylabel('Precision')\n", + "plt.xlim([0.0, 1.0])\n", + "plt.ylim([0.0, 1.0])\n", + "plt.legend(loc=4, fontsize='medium')\n", + "plt.title('Ca')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Вывод:\n", + "#### Классификаторы дерево принятия решений и k ближайших соседей. Классификаторы работают неправильно , тк мало данных и они не сбалансированы." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "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.8.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}