Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save yehjames/cd00939239ed6b90a12ee4c40cfd8497 to your computer and use it in GitHub Desktop.
Save yehjames/cd00939239ed6b90a12ee4c40cfd8497 to your computer and use it in GitHub Desktop.
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn import datasets\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"target_names: ['setosa' 'versicolor' 'virginica']\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>sepal length (cm)</th>\n",
" <th>petal length (cm)</th>\n",
" <th>target</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5.1</td>\n",
" <td>1.4</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>4.9</td>\n",
" <td>1.4</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>4.7</td>\n",
" <td>1.3</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" sepal length (cm) petal length (cm) target\n",
"0 5.1 1.4 0\n",
"1 4.9 1.4 0\n",
"2 4.7 1.3 0"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"iris = datasets.load_iris()\n",
"x = pd.DataFrame(iris['data'], columns=iris['feature_names'])\n",
"print(\"target_names: \"+str(iris['target_names']))\n",
"y = pd.DataFrame(iris['target'], columns=['target'])\n",
"iris_data = pd.concat([x,y], axis=1)\n",
"iris_data = iris_data[['sepal length (cm)','petal length (cm)','target']]\n",
"iris_data = iris_data[iris_data['target'].isin([0,1])]\n",
"iris_data.head(3)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn.model_selection import train_test_split"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(\n",
" iris_data[['sepal length (cm)','petal length (cm)']], iris_data[['target']], test_size=0.3, random_state=0)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>sepal length (cm)</th>\n",
" <th>petal length (cm)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>60</th>\n",
" <td>5.0</td>\n",
" <td>3.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>80</th>\n",
" <td>5.5</td>\n",
" <td>3.8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90</th>\n",
" <td>5.5</td>\n",
" <td>4.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>68</th>\n",
" <td>6.2</td>\n",
" <td>4.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <td>6.4</td>\n",
" <td>4.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>5.2</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>5.7</td>\n",
" <td>1.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>56</th>\n",
" <td>6.3</td>\n",
" <td>4.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63</th>\n",
" <td>6.1</td>\n",
" <td>4.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74</th>\n",
" <td>6.4</td>\n",
" <td>4.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>4.9</td>\n",
" <td>1.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>61</th>\n",
" <td>5.9</td>\n",
" <td>4.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td>4.4</td>\n",
" <td>1.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>4.5</td>\n",
" <td>1.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5.0</td>\n",
" <td>1.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>5.7</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>5.1</td>\n",
" <td>1.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>5.0</td>\n",
" <td>1.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>4.4</td>\n",
" <td>1.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>5.4</td>\n",
" <td>1.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>91</th>\n",
" <td>6.1</td>\n",
" <td>4.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>59</th>\n",
" <td>5.2</td>\n",
" <td>3.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5.1</td>\n",
" <td>1.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>4.9</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>5.2</td>\n",
" <td>1.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50</th>\n",
" <td>7.0</td>\n",
" <td>4.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>4.8</td>\n",
" <td>1.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>5.0</td>\n",
" <td>1.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>5.1</td>\n",
" <td>1.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>6.9</td>\n",
" <td>4.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>5.1</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>4.7</td>\n",
" <td>1.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td>5.0</td>\n",
" <td>1.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>6.2</td>\n",
" <td>4.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>98</th>\n",
" <td>5.1</td>\n",
" <td>3.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>69</th>\n",
" <td>5.6</td>\n",
" <td>3.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>5.4</td>\n",
" <td>1.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>94</th>\n",
" <td>5.6</td>\n",
" <td>4.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>72</th>\n",
" <td>6.3</td>\n",
" <td>4.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>77</th>\n",
" <td>6.7</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>5.0</td>\n",
" <td>1.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>4.9</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>81</th>\n",
" <td>5.5</td>\n",
" <td>3.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td>5.1</td>\n",
" <td>1.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>5.1</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>65</th>\n",
" <td>6.7</td>\n",
" <td>4.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>58</th>\n",
" <td>6.6</td>\n",
" <td>4.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>4.8</td>\n",
" <td>1.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>88</th>\n",
" <td>5.6</td>\n",
" <td>4.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70</th>\n",
" <td>5.9</td>\n",
" <td>4.8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>87</th>\n",
" <td>6.3</td>\n",
" <td>4.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>5.5</td>\n",
" <td>1.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>5.1</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>83</th>\n",
" <td>6.0</td>\n",
" <td>5.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>4.9</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>5.7</td>\n",
" <td>4.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67</th>\n",
" <td>5.8</td>\n",
" <td>4.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>64</th>\n",
" <td>5.6</td>\n",
" <td>3.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td>4.6</td>\n",
" <td>1.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44</th>\n",
" <td>5.1</td>\n",
" <td>1.9</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>70 rows × 2 columns</p>\n",
"</div>"
],
"text/plain": [
" sepal length (cm) petal length (cm)\n",
"60 5.0 3.5\n",
"80 5.5 3.8\n",
"90 5.5 4.4\n",
"68 6.2 4.5\n",
"51 6.4 4.5\n",
"27 5.2 1.5\n",
"18 5.7 1.7\n",
"56 6.3 4.7\n",
"63 6.1 4.7\n",
"74 6.4 4.3\n",
"1 4.9 1.4\n",
"61 5.9 4.2\n",
"42 4.4 1.3\n",
"41 4.5 1.3\n",
"4 5.0 1.4\n",
"15 5.7 1.5\n",
"17 5.1 1.4\n",
"40 5.0 1.3\n",
"38 4.4 1.3\n",
"5 5.4 1.7\n",
"91 6.1 4.6\n",
"59 5.2 3.9\n",
"0 5.1 1.4\n",
"34 4.9 1.5\n",
"28 5.2 1.4\n",
"50 7.0 4.7\n",
"11 4.8 1.6\n",
"35 5.0 1.2\n",
"23 5.1 1.7\n",
"52 6.9 4.9\n",
".. ... ...\n",
"19 5.1 1.5\n",
"29 4.7 1.6\n",
"49 5.0 1.4\n",
"97 6.2 4.3\n",
"98 5.1 3.0\n",
"69 5.6 3.9\n",
"20 5.4 1.7\n",
"94 5.6 4.2\n",
"72 6.3 4.9\n",
"77 6.7 5.0\n",
"25 5.0 1.6\n",
"37 4.9 1.5\n",
"81 5.5 3.7\n",
"46 5.1 1.6\n",
"39 5.1 1.5\n",
"65 6.7 4.4\n",
"58 6.6 4.6\n",
"12 4.8 1.4\n",
"88 5.6 4.1\n",
"70 5.9 4.8\n",
"87 6.3 4.4\n",
"36 5.5 1.3\n",
"21 5.1 1.5\n",
"83 6.0 5.1\n",
"9 4.9 1.5\n",
"96 5.7 4.2\n",
"67 5.8 4.1\n",
"64 5.6 3.6\n",
"47 4.6 1.4\n",
"44 5.1 1.9\n",
"\n",
"[70 rows x 2 columns]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_train"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"70"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(X_train)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>sepal length (cm)</th>\n",
" <th>petal length (cm)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>5.0</td>\n",
" <td>1.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>86</th>\n",
" <td>6.7</td>\n",
" <td>4.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>4.7</td>\n",
" <td>1.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>55</th>\n",
" <td>5.7</td>\n",
" <td>4.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75</th>\n",
" <td>6.6</td>\n",
" <td>4.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>93</th>\n",
" <td>5.0</td>\n",
" <td>3.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>5.4</td>\n",
" <td>1.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>73</th>\n",
" <td>6.1</td>\n",
" <td>4.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54</th>\n",
" <td>6.5</td>\n",
" <td>4.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95</th>\n",
" <td>5.7</td>\n",
" <td>4.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>53</th>\n",
" <td>5.5</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>92</th>\n",
" <td>5.8</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>78</th>\n",
" <td>6.0</td>\n",
" <td>4.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>4.3</td>\n",
" <td>1.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>5.0</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>4.8</td>\n",
" <td>1.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>4.6</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>4.8</td>\n",
" <td>1.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>5.5</td>\n",
" <td>1.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>4.4</td>\n",
" <td>1.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td>5.0</td>\n",
" <td>1.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td>6.0</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4.6</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>71</th>\n",
" <td>6.1</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td>4.8</td>\n",
" <td>1.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <td>5.3</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>4.6</td>\n",
" <td>1.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99</th>\n",
" <td>5.7</td>\n",
" <td>4.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>82</th>\n",
" <td>5.8</td>\n",
" <td>3.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>76</th>\n",
" <td>6.8</td>\n",
" <td>4.8</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" sepal length (cm) petal length (cm)\n",
"26 5.0 1.6\n",
"86 6.7 4.7\n",
"2 4.7 1.3\n",
"55 5.7 4.5\n",
"75 6.6 4.4\n",
"93 5.0 3.3\n",
"16 5.4 1.3\n",
"73 6.1 4.7\n",
"54 6.5 4.6\n",
"95 5.7 4.2\n",
"53 5.5 4.0\n",
"92 5.8 4.0\n",
"78 6.0 4.5\n",
"13 4.3 1.1\n",
"7 5.0 1.5\n",
"30 4.8 1.6\n",
"22 4.6 1.0\n",
"24 4.8 1.9\n",
"33 5.5 1.4\n",
"8 4.4 1.4\n",
"43 5.0 1.6\n",
"62 6.0 4.0\n",
"3 4.6 1.5\n",
"71 6.1 4.0\n",
"45 4.8 1.4\n",
"48 5.3 1.5\n",
"6 4.6 1.4\n",
"99 5.7 4.1\n",
"82 5.8 3.9\n",
"76 6.8 4.8"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_test"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"30"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn.preprocessing import StandardScaler\n",
"\n",
"sc = StandardScaler()\n",
"sc.fit(X_train)\n",
"X_train_std = sc.transform(X_train)\n",
"X_test_std = sc.transform(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[-0.80800774, 0.43610124],\n",
" [ 0.01648995, 0.64424047],\n",
" [ 0.01648995, 1.06051892],\n",
" [ 1.17078673, 1.12989866],\n",
" [ 1.50058581, 1.12989866],\n",
" [-0.47820866, -0.95149361],\n",
" [ 0.34628903, -0.81273413],\n",
" [ 1.33568627, 1.26865815],\n",
" [ 1.00588719, 1.26865815],\n",
" [ 1.50058581, 0.99113918],\n",
" [-0.97290728, -1.02087335],\n",
" [ 0.67608811, 0.92175944],\n",
" [-1.79740498, -1.0902531 ],\n",
" [-1.63250544, -1.0902531 ],\n",
" [-0.80800774, -1.02087335],\n",
" [ 0.34628903, -0.95149361],\n",
" [-0.6431082 , -1.02087335],\n",
" [-0.80800774, -1.0902531 ],\n",
" [-1.79740498, -1.0902531 ],\n",
" [-0.14840959, -0.81273413],\n",
" [ 1.00588719, 1.19927841],\n",
" [-0.47820866, 0.71362021],\n",
" [-0.6431082 , -1.02087335],\n",
" [-0.97290728, -0.95149361],\n",
" [-0.47820866, -1.02087335],\n",
" [ 2.48998304, 1.26865815],\n",
" [-1.13780682, -0.88211387],\n",
" [-0.80800774, -1.15963284],\n",
" [-0.6431082 , -0.81273413],\n",
" [ 2.3250835 , 1.40741763],\n",
" [-0.14840959, -0.95149361],\n",
" [-0.14840959, -0.95149361],\n",
" [ 0.18138949, 1.12989866],\n",
" [-0.97290728, 0.29734175],\n",
" [ 0.34628903, 0.43610124],\n",
" [ 0.84098765, 1.12989866],\n",
" [-0.47820866, -0.95149361],\n",
" [-0.14840959, 1.12989866],\n",
" [ 0.51118857, -1.15963284],\n",
" [ 0.01648995, 0.78299995],\n",
" [-0.6431082 , -0.95149361],\n",
" [-1.30270636, -0.88211387],\n",
" [-0.80800774, -1.02087335],\n",
" [ 1.17078673, 0.99113918],\n",
" [-0.6431082 , 0.08920253],\n",
" [ 0.18138949, 0.71362021],\n",
" [-0.14840959, -0.81273413],\n",
" [ 0.18138949, 0.92175944],\n",
" [ 1.33568627, 1.40741763],\n",
" [ 1.99528442, 1.47679738],\n",
" [-0.80800774, -0.88211387],\n",
" [-0.97290728, -0.95149361],\n",
" [ 0.01648995, 0.57486072],\n",
" [-0.6431082 , -0.88211387],\n",
" [-0.6431082 , -0.95149361],\n",
" [ 1.99528442, 1.06051892],\n",
" [ 1.83038488, 1.19927841],\n",
" [-1.13780682, -1.02087335],\n",
" [ 0.18138949, 0.85237969],\n",
" [ 0.67608811, 1.33803789],\n",
" [ 1.33568627, 1.06051892],\n",
" [ 0.01648995, -1.0902531 ],\n",
" [-0.6431082 , -0.95149361],\n",
" [ 0.84098765, 1.54617712],\n",
" [-0.97290728, -0.95149361],\n",
" [ 0.34628903, 0.92175944],\n",
" [ 0.51118857, 0.85237969],\n",
" [ 0.18138949, 0.50548098],\n",
" [-1.4676059 , -1.02087335],\n",
" [-0.6431082 , -0.67397464]])"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_train_std"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from IPython.display import Math"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$$z=w^Tx$$"
],
"text/plain": [
"<IPython.core.display.Math object>"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Math(r'z=w^Tx')"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$$\\phi{(z)}=\\frac{1}{1+e^{-z}}$$"
],
"text/plain": [
"<IPython.core.display.Math object>"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Math(r'\\phi{(z)}=\\frac{1}{1+e^{-z}}')"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1155edf98>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"\n",
"def sigmoid(z):\n",
" return 1.0 / (1.0 + np.exp(-z))\n",
"\n",
"z = np.arange(-7, 7, 0.1)\n",
"phi_z = sigmoid(z)\n",
"\n",
"plt.plot(z, phi_z)\n",
"plt.axvline(0.0, color='k')\n",
"plt.ylim(-0.1, 1.1)\n",
"plt.xlabel('z')\n",
"plt.ylabel('$\\phi (z)$')\n",
"\n",
"# y axis ticks and gridline\n",
"plt.yticks([0.0, 0.5, 1.0])\n",
"ax = plt.gca()\n",
"ax.yaxis.grid(True)\n",
"\n",
"plt.tight_layout()\n",
"# plt.savefig('./figures/sigmoid.png', dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"y_train['target'].values"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn.linear_model import LogisticRegression"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
" intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n",
" penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n",
" verbose=0, warm_start=False)"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lr = LogisticRegression()\n",
"lr.fit(X_train_std,y_train['target'].values)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from matplotlib.colors import ListedColormap\n",
"\n",
"def plot_decision_regions(X, y, classifier, test_idx=None, resolution=0.02):\n",
"\n",
" # setup marker generator and color map\n",
" markers = ('s', 'x', 'o', '^', 'v')\n",
" colors = ('red', 'blue', 'lightgreen', 'gray', 'cyan')\n",
" cmap = ListedColormap(colors[:len(np.unique(y))])\n",
"\n",
" # plot the decision surface\n",
" x1_min, x1_max = X[:, 0].min() - 1, X[:, 0].max() + 1\n",
" x2_min, x2_max = X[:, 1].min() - 1, X[:, 1].max() + 1\n",
" xx1, xx2 = np.meshgrid(np.arange(x1_min, x1_max, resolution),\n",
" np.arange(x2_min, x2_max, resolution))\n",
" Z = classifier.predict(np.array([xx1.ravel(), xx2.ravel()]).T)\n",
" Z = Z.reshape(xx1.shape)\n",
" plt.contourf(xx1, xx2, Z, alpha=0.4, cmap=cmap)\n",
" plt.xlim(xx1.min(), xx1.max())\n",
" plt.ylim(xx2.min(), xx2.max())\n",
"\n",
" for idx, cl in enumerate(np.unique(y)):\n",
" plt.scatter(x=X[y == cl, 0], \n",
" y=X[y == cl, 1],\n",
" alpha=0.6, \n",
" c=cmap(idx),\n",
" edgecolor='black',\n",
" marker=markers[idx], \n",
" label=cl)\n",
"\n",
" # highlight test samples\n",
" if test_idx:\n",
" # plot all samples\n",
" if not versiontuple(np.__version__) >= versiontuple('1.9.0'):\n",
" X_test, y_test = X[list(test_idx), :], y[list(test_idx)]\n",
" warnings.warn('Please update to NumPy 1.9.0 or newer')\n",
" else:\n",
" X_test, y_test = X[test_idx, :], y[test_idx]\n",
"\n",
" plt.scatter(X_test[:, 0],\n",
" X_test[:, 1],\n",
" c='',\n",
" alpha=1.0,\n",
" edgecolor='black',\n",
" linewidths=1,\n",
" marker='o',\n",
" s=55, label='test set')"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nf3NmZPVfd+l5mDTO152jp+J8Z/NZxO1uFek0cRJUN/BrM7uF8EbdI4A/mtkvAdz9lQnG1xHilkqn\necbrnlzCUCzfAAALxElEQVQ3h22/PbvPnzelJfDk2BhjufD84owZ9eRyrOypUu6dzfJUKcF15XIM\n9PVVL8+OSIS1dHV1xb5vqvxZ9HTnprQuZ/pZZLNZLachEiFOgrpw0uPPJRGI1E+c6rwk9rcpn6dn\nbGxKgiq/LggC1kV0n0F4M29Q0aW3Pj+1u6u8vTJt1ftc00wLG0qniVNmfnO9D+ruNwE31Xu/Uv/u\norj7K7+OBb2MTRqTKb/uefP6eLa3l2cjuu6G83meNy8s2ojb1dZpXWNp7+YVqbf6r18tTVXv7qK4\n+yu/rr+/t+qAflcuy/Nrdt2Fv/3H7WrrxK6xNHfzitSb+gNERCSV1IJKgU4abxktBpFTE41GTeCX\nYuXPoifITRhza6XPQiTtlKCarJPGW3bqmw+770Ehoiy8e3w8fL4FVH4WPZPG3FrlsxBpBUpQTdZJ\n4y3ZbIae7m7mRZWFQ8vM2l35WdQacxORuVGCkoZqh27KZtL1k06iBCUN0w7dlM2k6yedRglKGqYd\nuimbSddPOo3KzEVEJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWU\noEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoERE\nJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWU\noEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJWUoEREJJW6GnkwM9sB+B6wPdADnOPu\ntzcyBhERaQ2NbkGdA/zC3Y8CTgO+3ODji4hIi2hoCwr4AvBcxbFHG3x8ERFpEYklKDM7A/j7SZtP\nd/c1ZrYrYVffB6bbT19fD7lcaw+V9ff3NjuEhtL5tjedb/tLyzknlqDc/ZvANydvN7MDgf8A/sHd\nb55uP8PDYwlE1zj9/b0MDXVOQ1Hn2950vu2vGefcX2V7o4skDgB+AJzo7r9u5LFFRKS1NHoM6lNA\nL/BFMwN41t2PbXAMIiLSAhqaoJSMREQkrtauPhARkbalBCUiIqmkBCUiIqmUCYKg2TGIiIhMoRaU\n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\nSCr9f8l8VW9J+qDxAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x115fd9dd8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_decision_regions(X_train_std, y_train['target'].values, classifier=lr)\n",
"plt.xlabel('sepal length (cm) [standardized]')\n",
"plt.ylabel('petal width [standardized]')\n",
"plt.legend(loc='upper left')\n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n",
" 1, 0, 0, 0, 1, 1, 1])"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lr.predict(X_test_std)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n",
" 1, 0, 0, 0, 1, 1, 1])"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y_test['target'].values"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0\n"
]
}
],
"source": [
"error = 0\n",
"for i, v in enumerate(lr.predict(X_test_std)):\n",
" if v!= y_test['target'].values[i]:\n",
" error+=1\n",
"print(error)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.93978177, 0.06021823],\n",
" [ 0.005938 , 0.994062 ],\n",
" [ 0.97412756, 0.02587244],\n",
" [ 0.0212674 , 0.9787326 ],\n",
" [ 0.0119407 , 0.9880593 ],\n",
" [ 0.32159479, 0.67840521],\n",
" [ 0.95312111, 0.04687889],\n",
" [ 0.0100283 , 0.9899717 ],\n",
" [ 0.00867294, 0.99132706],\n",
" [ 0.03869904, 0.96130096],\n",
" [ 0.06752495, 0.93247505],\n",
" [ 0.05267873, 0.94732127],\n",
" [ 0.01641248, 0.98358752],\n",
" [ 0.98776985, 0.01223015],\n",
" [ 0.95041495, 0.04958505],\n",
" [ 0.94900694, 0.05099306],\n",
" [ 0.98704203, 0.01295797],\n",
" [ 0.9094647 , 0.0905353 ],\n",
" [ 0.93811592, 0.06188408],\n",
" [ 0.97556281, 0.02443719],\n",
" [ 0.93978177, 0.06021823],\n",
" [ 0.04455382, 0.95544618],\n",
" [ 0.96461079, 0.03538921],\n",
" [ 0.04095329, 0.95904671],\n",
" [ 0.96560356, 0.03439644],\n",
" [ 0.93638206, 0.06361794],\n",
" [ 0.97099504, 0.02900496],\n",
" [ 0.04711351, 0.95288649],\n",
" [ 0.06393071, 0.93606929],\n",
" [ 0.00443408, 0.99556592]])"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lr.predict_proba(X_test_std)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"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.6.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment