5128 lines
249 KiB
Plaintext
5128 lines
249 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
" *排卵试纸机器学习算法验证*"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"**import moudle**"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import numpy as np\n",
|
||
"import pandas as pd \n",
|
||
"import seaborn as sns\n",
|
||
"from IPython.display import display\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"from mpl_toolkits.mplot3d import Axes3D\n",
|
||
"\n",
|
||
"%matplotlib inline\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"**load data**"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"load data successful !!!!!\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"try :\n",
|
||
"# data_iphone6p_75_10 = pd.read_csv(\"20170912.pm.csv\")\n",
|
||
"# data_iphone6p_1234 = pd.read_csv(\"20170920.pm.csv\")\n",
|
||
"# data_iphone6p_5 = pd.read_csv(\"20170922.pm.csv\")\n",
|
||
"# data_iphone6p_0 = pd.read_csv(\"20170925.am.csv\")\n",
|
||
"# data_iphone6p_0_0 = pd.read_csv(\"20170925.pm.csv\")\n",
|
||
"# data_iphone6p_246 = pd.read_csv(\"20171011.pm.csv\")\n",
|
||
" \n",
|
||
" data1 = pd.read_csv(\"./newData/10_25.csv\")\n",
|
||
" data2 = pd.read_csv(\"./newData/5_10_25_50_70.csv\")\n",
|
||
" data_test1 = pd.read_csv(\"./newData/test.csv\")\n",
|
||
" data_test2 = pd.read_csv(\"./newData/nubia_test.csv\")\n",
|
||
" \n",
|
||
" print \"load data successful !!!!!\"\n",
|
||
"except :\n",
|
||
" print \"load data error !!!!!!!!!!\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"load data successful !!!!!\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"try :\n",
|
||
"# data_iphone6p_75_10 = pd.read_csv(\"20170912.pm.csv\")\n",
|
||
"# data_iphone6p_1234 = pd.read_csv(\"20170920.pm.csv\")\n",
|
||
"# data_iphone6p_5 = pd.read_csv(\"20170922.pm.csv\")\n",
|
||
"# data_iphone6p_0 = pd.read_csv(\"20170925.am.csv\")\n",
|
||
"# data_iphone6p_0_0 = pd.read_csv(\"20170925.pm.csv\")\n",
|
||
"# data_iphone6p_246 = pd.read_csv(\"20171011.pm.csv\")\n",
|
||
" \n",
|
||
" data1 = pd.read_csv(\"./10_25.csv\")\n",
|
||
" data2 = pd.read_csv(\"./0_5_10_50_70.csv\")\n",
|
||
" data3 = pd.read_csv(\"./5_10_25_50_70.csv\")\n",
|
||
" data4 = pd.read_csv(\"./25.csv\")\n",
|
||
" data_test1 = pd.read_csv(\"./test.csv\")\n",
|
||
" data_test2 = pd.read_csv(\"./nubia_test.csv\")\n",
|
||
" \n",
|
||
" print (\"load data successful !!!!!\")\n",
|
||
"except :\n",
|
||
" print (\"load data error !!!!!!!!!!\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 分析数据"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"load new data error !!!!!!!!!!\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"try :\n",
|
||
" data2020 = pd.read_csv(\"./ov_data_2020.csv\")\n",
|
||
" data2019 = pd.read_csv(\"./ov_data_2019.csv\")\n",
|
||
" print (\"load new data successful !!!!!\")\n",
|
||
"except :\n",
|
||
" print (\"load new data error !!!!!!!!!!\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>left_block_R</th>\n",
|
||
" <th>left_block_G</th>\n",
|
||
" <th>left_block_B</th>\n",
|
||
" <th>left_block_H</th>\n",
|
||
" <th>left_block_S</th>\n",
|
||
" <th>left_block_V</th>\n",
|
||
" <th>left_block_l</th>\n",
|
||
" <th>left_block_a</th>\n",
|
||
" <th>left_block_b</th>\n",
|
||
" <th>left_block_R_stddev</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>right_grayHist</th>\n",
|
||
" <th>right_grayMax</th>\n",
|
||
" <th>right_grayMin</th>\n",
|
||
" <th>white_grayValue</th>\n",
|
||
" <th>white_grayStddevValue</th>\n",
|
||
" <th>white_grayHist</th>\n",
|
||
" <th>white_grayMax</th>\n",
|
||
" <th>white_grayMin</th>\n",
|
||
" <th>whiteBalance</th>\n",
|
||
" <th>index</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>count</th>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>mean</th>\n",
|
||
" <td>177.537162</td>\n",
|
||
" <td>154.988809</td>\n",
|
||
" <td>160.795291</td>\n",
|
||
" <td>173.659840</td>\n",
|
||
" <td>36.343644</td>\n",
|
||
" <td>177.787584</td>\n",
|
||
" <td>168.331609</td>\n",
|
||
" <td>136.974240</td>\n",
|
||
" <td>127.616343</td>\n",
|
||
" <td>8.358003</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>140.150549</td>\n",
|
||
" <td>182.139147</td>\n",
|
||
" <td>129.284628</td>\n",
|
||
" <td>191.197635</td>\n",
|
||
" <td>0.808594</td>\n",
|
||
" <td>191.766892</td>\n",
|
||
" <td>193.921875</td>\n",
|
||
" <td>187.984903</td>\n",
|
||
" <td>0.500000</td>\n",
|
||
" <td>3.899071</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>std</th>\n",
|
||
" <td>23.055906</td>\n",
|
||
" <td>27.120240</td>\n",
|
||
" <td>24.257571</td>\n",
|
||
" <td>85.816738</td>\n",
|
||
" <td>15.103201</td>\n",
|
||
" <td>23.211556</td>\n",
|
||
" <td>24.182989</td>\n",
|
||
" <td>5.539367</td>\n",
|
||
" <td>3.747435</td>\n",
|
||
" <td>5.360384</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>21.656248</td>\n",
|
||
" <td>21.951431</td>\n",
|
||
" <td>20.725182</td>\n",
|
||
" <td>23.039398</td>\n",
|
||
" <td>1.812333</td>\n",
|
||
" <td>23.599627</td>\n",
|
||
" <td>23.144180</td>\n",
|
||
" <td>24.459549</td>\n",
|
||
" <td>0.500026</td>\n",
|
||
" <td>2.263115</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>min</th>\n",
|
||
" <td>112.000000</td>\n",
|
||
" <td>93.000000</td>\n",
|
||
" <td>92.000000</td>\n",
|
||
" <td>2.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>112.000000</td>\n",
|
||
" <td>106.000000</td>\n",
|
||
" <td>124.000000</td>\n",
|
||
" <td>117.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>92.000000</td>\n",
|
||
" <td>122.000000</td>\n",
|
||
" <td>83.000000</td>\n",
|
||
" <td>130.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>131.000000</td>\n",
|
||
" <td>100.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>25%</th>\n",
|
||
" <td>166.000000</td>\n",
|
||
" <td>140.000000</td>\n",
|
||
" <td>147.000000</td>\n",
|
||
" <td>116.000000</td>\n",
|
||
" <td>25.000000</td>\n",
|
||
" <td>166.000000</td>\n",
|
||
" <td>155.750000</td>\n",
|
||
" <td>133.000000</td>\n",
|
||
" <td>125.000000</td>\n",
|
||
" <td>3.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>126.000000</td>\n",
|
||
" <td>166.000000</td>\n",
|
||
" <td>116.000000</td>\n",
|
||
" <td>173.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>173.000000</td>\n",
|
||
" <td>174.000000</td>\n",
|
||
" <td>172.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>2.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>50%</th>\n",
|
||
" <td>173.000000</td>\n",
|
||
" <td>152.000000</td>\n",
|
||
" <td>155.000000</td>\n",
|
||
" <td>222.000000</td>\n",
|
||
" <td>35.000000</td>\n",
|
||
" <td>174.000000</td>\n",
|
||
" <td>166.000000</td>\n",
|
||
" <td>138.000000</td>\n",
|
||
" <td>127.000000</td>\n",
|
||
" <td>8.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>139.000000</td>\n",
|
||
" <td>181.000000</td>\n",
|
||
" <td>129.000000</td>\n",
|
||
" <td>194.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>195.000000</td>\n",
|
||
" <td>197.000000</td>\n",
|
||
" <td>190.000000</td>\n",
|
||
" <td>0.500000</td>\n",
|
||
" <td>4.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>75%</th>\n",
|
||
" <td>187.000000</td>\n",
|
||
" <td>162.000000</td>\n",
|
||
" <td>170.000000</td>\n",
|
||
" <td>234.000000</td>\n",
|
||
" <td>49.000000</td>\n",
|
||
" <td>187.000000</td>\n",
|
||
" <td>174.000000</td>\n",
|
||
" <td>142.000000</td>\n",
|
||
" <td>130.000000</td>\n",
|
||
" <td>12.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>152.000000</td>\n",
|
||
" <td>195.000000</td>\n",
|
||
" <td>142.000000</td>\n",
|
||
" <td>205.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>206.000000</td>\n",
|
||
" <td>208.000000</td>\n",
|
||
" <td>203.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>6.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>max</th>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>251.000000</td>\n",
|
||
" <td>74.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>148.000000</td>\n",
|
||
" <td>139.000000</td>\n",
|
||
" <td>20.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>228.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>14.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>7.000000</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>8 rows × 152 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" left_block_R left_block_G left_block_B left_block_H left_block_S \\\n",
|
||
"count 9472.000000 9472.000000 9472.000000 9472.000000 9472.000000 \n",
|
||
"mean 177.537162 154.988809 160.795291 173.659840 36.343644 \n",
|
||
"std 23.055906 27.120240 24.257571 85.816738 15.103201 \n",
|
||
"min 112.000000 93.000000 92.000000 2.000000 0.000000 \n",
|
||
"25% 166.000000 140.000000 147.000000 116.000000 25.000000 \n",
|
||
"50% 173.000000 152.000000 155.000000 222.000000 35.000000 \n",
|
||
"75% 187.000000 162.000000 170.000000 234.000000 49.000000 \n",
|
||
"max 254.000000 255.000000 255.000000 251.000000 74.000000 \n",
|
||
"\n",
|
||
" left_block_V left_block_l left_block_a left_block_b \\\n",
|
||
"count 9472.000000 9472.000000 9472.000000 9472.000000 \n",
|
||
"mean 177.787584 168.331609 136.974240 127.616343 \n",
|
||
"std 23.211556 24.182989 5.539367 3.747435 \n",
|
||
"min 112.000000 106.000000 124.000000 117.000000 \n",
|
||
"25% 166.000000 155.750000 133.000000 125.000000 \n",
|
||
"50% 174.000000 166.000000 138.000000 127.000000 \n",
|
||
"75% 187.000000 174.000000 142.000000 130.000000 \n",
|
||
"max 255.000000 255.000000 148.000000 139.000000 \n",
|
||
"\n",
|
||
" left_block_R_stddev ... right_grayHist right_grayMax right_grayMin \\\n",
|
||
"count 9472.000000 ... 9472.000000 9472.000000 9472.000000 \n",
|
||
"mean 8.358003 ... 140.150549 182.139147 129.284628 \n",
|
||
"std 5.360384 ... 21.656248 21.951431 20.725182 \n",
|
||
"min 0.000000 ... 92.000000 122.000000 83.000000 \n",
|
||
"25% 3.000000 ... 126.000000 166.000000 116.000000 \n",
|
||
"50% 8.000000 ... 139.000000 181.000000 129.000000 \n",
|
||
"75% 12.000000 ... 152.000000 195.000000 142.000000 \n",
|
||
"max 20.000000 ... 254.000000 255.000000 228.000000 \n",
|
||
"\n",
|
||
" white_grayValue white_grayStddevValue white_grayHist white_grayMax \\\n",
|
||
"count 9472.000000 9472.000000 9472.000000 9472.000000 \n",
|
||
"mean 191.197635 0.808594 191.766892 193.921875 \n",
|
||
"std 23.039398 1.812333 23.599627 23.144180 \n",
|
||
"min 130.000000 0.000000 0.000000 131.000000 \n",
|
||
"25% 173.000000 0.000000 173.000000 174.000000 \n",
|
||
"50% 194.000000 0.000000 195.000000 197.000000 \n",
|
||
"75% 205.000000 1.000000 206.000000 208.000000 \n",
|
||
"max 255.000000 14.000000 254.000000 255.000000 \n",
|
||
"\n",
|
||
" white_grayMin whiteBalance index \n",
|
||
"count 9472.000000 9472.000000 9472.000000 \n",
|
||
"mean 187.984903 0.500000 3.899071 \n",
|
||
"std 24.459549 0.500026 2.263115 \n",
|
||
"min 100.000000 0.000000 0.000000 \n",
|
||
"25% 172.000000 0.000000 2.000000 \n",
|
||
"50% 190.000000 0.500000 4.000000 \n",
|
||
"75% 203.000000 1.000000 6.000000 \n",
|
||
"max 255.000000 1.000000 7.000000 \n",
|
||
"\n",
|
||
"[8 rows x 152 columns]"
|
||
]
|
||
},
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"data_test = data_test1.append(data_test2)\n",
|
||
"data_test.describe()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"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>left_block_R</th>\n",
|
||
" <th>left_block_G</th>\n",
|
||
" <th>left_block_B</th>\n",
|
||
" <th>left_block_H</th>\n",
|
||
" <th>left_block_S</th>\n",
|
||
" <th>left_block_V</th>\n",
|
||
" <th>left_block_l</th>\n",
|
||
" <th>left_block_a</th>\n",
|
||
" <th>left_block_b</th>\n",
|
||
" <th>left_block_R_stddev</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>right_grayHist</th>\n",
|
||
" <th>right_grayMax</th>\n",
|
||
" <th>right_grayMin</th>\n",
|
||
" <th>white_grayValue</th>\n",
|
||
" <th>white_grayStddevValue</th>\n",
|
||
" <th>white_grayHist</th>\n",
|
||
" <th>white_grayMax</th>\n",
|
||
" <th>white_grayMin</th>\n",
|
||
" <th>whiteBalance</th>\n",
|
||
" <th>index</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>count</th>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>mean</th>\n",
|
||
" <td>179.667881</td>\n",
|
||
" <td>155.290593</td>\n",
|
||
" <td>161.699264</td>\n",
|
||
" <td>179.541813</td>\n",
|
||
" <td>38.023927</td>\n",
|
||
" <td>179.740722</td>\n",
|
||
" <td>168.910938</td>\n",
|
||
" <td>137.786783</td>\n",
|
||
" <td>127.545960</td>\n",
|
||
" <td>10.123272</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>141.056098</td>\n",
|
||
" <td>188.058220</td>\n",
|
||
" <td>128.681497</td>\n",
|
||
" <td>196.421254</td>\n",
|
||
" <td>1.044790</td>\n",
|
||
" <td>192.939877</td>\n",
|
||
" <td>200.057787</td>\n",
|
||
" <td>192.449820</td>\n",
|
||
" <td>0.500000</td>\n",
|
||
" <td>4.194229</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>std</th>\n",
|
||
" <td>26.691430</td>\n",
|
||
" <td>30.919599</td>\n",
|
||
" <td>27.826637</td>\n",
|
||
" <td>69.555447</td>\n",
|
||
" <td>14.697335</td>\n",
|
||
" <td>26.738452</td>\n",
|
||
" <td>28.093207</td>\n",
|
||
" <td>4.643459</td>\n",
|
||
" <td>2.835303</td>\n",
|
||
" <td>5.845276</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>26.990390</td>\n",
|
||
" <td>25.473543</td>\n",
|
||
" <td>26.353064</td>\n",
|
||
" <td>25.635039</td>\n",
|
||
" <td>0.756652</td>\n",
|
||
" <td>34.903569</td>\n",
|
||
" <td>25.005809</td>\n",
|
||
" <td>26.082508</td>\n",
|
||
" <td>0.500001</td>\n",
|
||
" <td>2.465278</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>min</th>\n",
|
||
" <td>101.000000</td>\n",
|
||
" <td>82.000000</td>\n",
|
||
" <td>90.000000</td>\n",
|
||
" <td>7.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>101.000000</td>\n",
|
||
" <td>95.000000</td>\n",
|
||
" <td>124.000000</td>\n",
|
||
" <td>121.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>68.000000</td>\n",
|
||
" <td>109.000000</td>\n",
|
||
" <td>58.000000</td>\n",
|
||
" <td>105.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>121.000000</td>\n",
|
||
" <td>66.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>25%</th>\n",
|
||
" <td>159.000000</td>\n",
|
||
" <td>130.000000</td>\n",
|
||
" <td>140.000000</td>\n",
|
||
" <td>145.000000</td>\n",
|
||
" <td>27.000000</td>\n",
|
||
" <td>159.000000</td>\n",
|
||
" <td>146.000000</td>\n",
|
||
" <td>134.000000</td>\n",
|
||
" <td>125.000000</td>\n",
|
||
" <td>4.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>123.000000</td>\n",
|
||
" <td>169.000000</td>\n",
|
||
" <td>110.000000</td>\n",
|
||
" <td>177.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>176.000000</td>\n",
|
||
" <td>181.000000</td>\n",
|
||
" <td>173.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>2.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>50%</th>\n",
|
||
" <td>178.000000</td>\n",
|
||
" <td>153.000000</td>\n",
|
||
" <td>160.000000</td>\n",
|
||
" <td>214.000000</td>\n",
|
||
" <td>40.000000</td>\n",
|
||
" <td>178.000000</td>\n",
|
||
" <td>167.000000</td>\n",
|
||
" <td>140.000000</td>\n",
|
||
" <td>128.000000</td>\n",
|
||
" <td>11.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>140.000000</td>\n",
|
||
" <td>187.000000</td>\n",
|
||
" <td>127.000000</td>\n",
|
||
" <td>196.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>196.000000</td>\n",
|
||
" <td>199.000000</td>\n",
|
||
" <td>191.000000</td>\n",
|
||
" <td>0.500000</td>\n",
|
||
" <td>6.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>75%</th>\n",
|
||
" <td>197.000000</td>\n",
|
||
" <td>175.000000</td>\n",
|
||
" <td>179.000000</td>\n",
|
||
" <td>232.000000</td>\n",
|
||
" <td>49.000000</td>\n",
|
||
" <td>197.000000</td>\n",
|
||
" <td>188.000000</td>\n",
|
||
" <td>141.000000</td>\n",
|
||
" <td>129.000000</td>\n",
|
||
" <td>15.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>156.000000</td>\n",
|
||
" <td>203.000000</td>\n",
|
||
" <td>143.000000</td>\n",
|
||
" <td>213.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>212.000000</td>\n",
|
||
" <td>216.000000</td>\n",
|
||
" <td>208.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>6.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>max</th>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>246.000000</td>\n",
|
||
" <td>78.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>146.000000</td>\n",
|
||
" <td>136.000000</td>\n",
|
||
" <td>22.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>221.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>22.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>7.000000</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>8 rows × 152 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" left_block_R left_block_G left_block_B left_block_H \\\n",
|
||
"count 219668.000000 219668.000000 219668.000000 219668.000000 \n",
|
||
"mean 179.667881 155.290593 161.699264 179.541813 \n",
|
||
"std 26.691430 30.919599 27.826637 69.555447 \n",
|
||
"min 101.000000 82.000000 90.000000 7.000000 \n",
|
||
"25% 159.000000 130.000000 140.000000 145.000000 \n",
|
||
"50% 178.000000 153.000000 160.000000 214.000000 \n",
|
||
"75% 197.000000 175.000000 179.000000 232.000000 \n",
|
||
"max 254.000000 254.000000 254.000000 246.000000 \n",
|
||
"\n",
|
||
" left_block_S left_block_V left_block_l left_block_a \\\n",
|
||
"count 219668.000000 219668.000000 219668.000000 219668.000000 \n",
|
||
"mean 38.023927 179.740722 168.910938 137.786783 \n",
|
||
"std 14.697335 26.738452 28.093207 4.643459 \n",
|
||
"min 0.000000 101.000000 95.000000 124.000000 \n",
|
||
"25% 27.000000 159.000000 146.000000 134.000000 \n",
|
||
"50% 40.000000 178.000000 167.000000 140.000000 \n",
|
||
"75% 49.000000 197.000000 188.000000 141.000000 \n",
|
||
"max 78.000000 254.000000 254.000000 146.000000 \n",
|
||
"\n",
|
||
" left_block_b left_block_R_stddev ... right_grayHist \\\n",
|
||
"count 219668.000000 219668.000000 ... 219668.000000 \n",
|
||
"mean 127.545960 10.123272 ... 141.056098 \n",
|
||
"std 2.835303 5.845276 ... 26.990390 \n",
|
||
"min 121.000000 0.000000 ... 68.000000 \n",
|
||
"25% 125.000000 4.000000 ... 123.000000 \n",
|
||
"50% 128.000000 11.000000 ... 140.000000 \n",
|
||
"75% 129.000000 15.000000 ... 156.000000 \n",
|
||
"max 136.000000 22.000000 ... 254.000000 \n",
|
||
"\n",
|
||
" right_grayMax right_grayMin white_grayValue white_grayStddevValue \\\n",
|
||
"count 219668.000000 219668.000000 219668.000000 219668.000000 \n",
|
||
"mean 188.058220 128.681497 196.421254 1.044790 \n",
|
||
"std 25.473543 26.353064 25.635039 0.756652 \n",
|
||
"min 109.000000 58.000000 105.000000 0.000000 \n",
|
||
"25% 169.000000 110.000000 177.000000 1.000000 \n",
|
||
"50% 187.000000 127.000000 196.000000 1.000000 \n",
|
||
"75% 203.000000 143.000000 213.000000 1.000000 \n",
|
||
"max 255.000000 221.000000 255.000000 22.000000 \n",
|
||
"\n",
|
||
" white_grayHist white_grayMax white_grayMin whiteBalance \\\n",
|
||
"count 219668.000000 219668.000000 219668.000000 219668.000000 \n",
|
||
"mean 192.939877 200.057787 192.449820 0.500000 \n",
|
||
"std 34.903569 25.005809 26.082508 0.500001 \n",
|
||
"min 0.000000 121.000000 66.000000 0.000000 \n",
|
||
"25% 176.000000 181.000000 173.000000 0.000000 \n",
|
||
"50% 196.000000 199.000000 191.000000 0.500000 \n",
|
||
"75% 212.000000 216.000000 208.000000 1.000000 \n",
|
||
"max 254.000000 255.000000 255.000000 1.000000 \n",
|
||
"\n",
|
||
" index \n",
|
||
"count 219668.000000 \n",
|
||
"mean 4.194229 \n",
|
||
"std 2.465278 \n",
|
||
"min 0.000000 \n",
|
||
"25% 2.000000 \n",
|
||
"50% 6.000000 \n",
|
||
"75% 6.000000 \n",
|
||
"max 7.000000 \n",
|
||
"\n",
|
||
"[8 rows x 152 columns]"
|
||
]
|
||
},
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# data4 = data_iphone6p_246[data_iphone6p_246[\"whiteBalance\"] == 0]\n",
|
||
"# data2= data_iphone6p_1234[data_iphone6p_1234[\"whiteBalance\"] == 0 ]\n",
|
||
"# data1 = data_iphone6p_75_10[data_iphone6p_75_10[\"whiteBalance\"] == 0 ]\n",
|
||
"# data3 = data_iphone6p_5[data_iphone6p_5[\"whiteBalance\"] == 0]\n",
|
||
"# data0 = data_iphone6p_0[data_iphone6p_0[\"whiteBalance\"] == 0]\n",
|
||
"# data0_0 = data_iphone6p_0_0[data_iphone6p_0_0[\"whiteBalance\"] == 0]\n",
|
||
"\n",
|
||
"\n",
|
||
"#data_all = data2.append(data1[data1[\"index\"] == 5 ]).append(data3).append(data1[data1[\"index\"] == 7 ]).append(data1[data1[\"index\"] == 8 ]).append(data0).append(data0_0).append(data4)\n",
|
||
"\n",
|
||
"data1_0 = data1[data1[\"whiteBalance\"] == 1]\n",
|
||
"data2_0 = data2[data2[\"whiteBalance\"] == 1]\n",
|
||
"data_test_0 = data_test\n",
|
||
"\n",
|
||
"#data_all =data1_0.append(data2_0);\n",
|
||
"data_all =data1.append(data2);\n",
|
||
"#data_all = train_features_9\n",
|
||
"whiteBlock_R_one =data_all[data_all[\"index\"] == 0 ][\"right_block_l_min\"]\n",
|
||
"whiteBlock_G_one = data_all[data_all[\"index\"] == 0 ][\"right_block_a_min\"]\n",
|
||
"whiteBlock_B_one = data_all[data_all[\"index\"] == 0 ][\"right_block_b_min\"]\n",
|
||
"\n",
|
||
"whiteBlock_R_two = data_all[data_all[\"index\"] == 1 ][\"right_block_l_min\"]\n",
|
||
"whiteBlock_G_two = data_all[data_all[\"index\"] == 1 ][\"right_block_a_min\"]\n",
|
||
"whiteBlock_B_two = data_all[data_all[\"index\"] == 1 ][\"right_block_b_min\"]\n",
|
||
"\n",
|
||
"whiteBlock_R_three = data_all[data_all[\"index\"] == 2 ][\"right_block_l_min\"]\n",
|
||
"whiteBlock_G_three = data_all[data_all[\"index\"] == 2 ][\"right_block_a_min\"]\n",
|
||
"whiteBlock_B_three = data_all[data_all[\"index\"] == 2 ][\"right_block_b_min\"]\n",
|
||
"\n",
|
||
"whiteBlock_R_four = data_all[data_all[\"index\"] == 4 ][\"right_block_l_min\"]\n",
|
||
"whiteBlock_G_four = data_all[data_all[\"index\"] == 4 ][\"right_block_a_min\"]\n",
|
||
"whiteBlock_B_four = data_all[data_all[\"index\"] == 4 ][\"right_block_b_min\"]\n",
|
||
"\n",
|
||
"\n",
|
||
"whiteBlock_R_five = data_all[data_all[\"index\"] == 6 ][\"right_block_l_min\"]\n",
|
||
"whiteBlock_G_five = data_all[data_all[\"index\"] == 6 ][\"right_block_a_min\"]\n",
|
||
"whiteBlock_B_five = data_all[data_all[\"index\"] == 6 ][\"right_block_b_min\"]\n",
|
||
"\n",
|
||
"whiteBlock_R_six = data_all[data_all[\"index\"] == 7 ][\"right_block_l_min\"]\n",
|
||
"whiteBlock_G_six = data_all[data_all[\"index\"] == 7 ][\"right_block_a_min\"]\n",
|
||
"whiteBlock_B_six = data_all[data_all[\"index\"] == 7 ][\"right_block_b_min\"]\n",
|
||
"\n",
|
||
"data_all.describe()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"count 20060.000000\n",
|
||
"mean 148.478714\n",
|
||
"std 17.843052\n",
|
||
"min 77.000000\n",
|
||
"25% 135.000000\n",
|
||
"50% 153.000000\n",
|
||
"75% 160.000000\n",
|
||
"max 189.000000\n",
|
||
"Name: right_block_l_min, dtype: float64"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"whiteBlock_R_one.describe()\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAb4AAAEuCAYAAADx63eqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXeYHWXZ/z/TTt/dbJJN74UQSCghQCI1IKIICIg0lSAY\nhKAgMURpCmJABQUEjFQpL77oi4Vi+CG8KCKKEciLBCFACAmEkJ5tp8/M74/ZOWdOr3N2ds98risX\n7Ckzz8yZeb5z389dBF3XcXFxcXFxaRbE/h6Ai4uLi4tLI3GFz8XFxcWlqXCFz8XFxcWlqXCFz8XF\nxcWlqXCFz8XFxcWlqXCFz8XFxcWlqZCLvbltW7eb6+Di4uLiMuDo6GgRCr3nWnwuLi4uLk2FK3wu\nLi4uLk2FK3wuLi4uLk2FK3wuLi4uLk2FK3wuLi4uLk2FK3wuLi4uLk2FK3wuLi4uLk2FK3wuLi4u\nLk2FK3yDgEMPncvu3bszXlu58gmWLftm6u+HH36Ac845i4ULz+TLXz6N22+/hUQiwUcfbeLII+ex\nbdvWnO0uXHgGzz//XM3jW778Gn71q4dq3k5/88or/+Ib3/gaZ5xxMgsXnsk3v7mY115bDVDzeXzr\nrf9w1VXLSo4h328N0NPTw8UXX5D3O8XOf6HtlcPXv34+f/7zs1V91wkM9PG7VI8rfE3Ac889y1//\n+hfuvPM+Hnjgv7nnnofYuPF97rvvLsaMGctBB81j5conMr6zZs2/6e7u5tBDj+inUTuLv/3teX78\n4+V87WsX8cgjv+eBB/6br371Qr7//av5xz/+VvN53HPPvfjBD35c9fi6u7t48803qv6+i0szUbRk\nmcvgYMeO7WiaSiwWw+v14fV6ufTSZezatROAk08+lVtuuYmzzz4XQTCq/Dz++O/53OdOQZKknO09\n+eRjPPLIw0iSSFvbEK688hpGjhzFY4/9jkcffQRRlBg6dCiXXrqMCRMmZnz3tddWc8cdtxKLRZFl\nhUWLLmTevE+wcuUTPPnkY0SjEYLBENdcs5wf/OB7dHYa1sj8+YeyaNGFrFz5BM8++zSaprF9+zaG\nD+/gqquuZfjwDtaseZ0VK35GPB5nx47tHHjgwVx++XcBePHFF7j77hXouobP52fp0suZPn0PXn/9\nNVasuI1oNIIgiJx77vkccshhOcd8xx238s1vXsasWfukXps1azYXX/wt7rjjZ8yff2hF5/HVV1/m\n1lt/gt/vJxKJsHjxxdx++8089NBv2LVrFzfccC2bNn1Ia2sbw4YNY/LkqZx33tcAuPfeO3njjdfp\n6urkzDO/zOc/fxrXX38tsViMc845i3vvfShnf6+//n+cf/7/Eg73cuCB87jookuQ5czb//777+HZ\nZ59GkiTGj5/ApZcuY9iw4ezYsZ2bbrqBDRveRxRFPve5z/OFL5yR+l4ymeTaa69ClmWuvPKajO2u\nXPkEf/nLc8RiMT7++CNGjhzFKad8gd/+9jd88MFGTj/9i5x55peIRCLcdNMNfPDBRrq6uggEAlxz\nzQ8YOXIU5513Nqec8gVOOeULPPnkY/zmN7/irrsewOfzpfZzwQXncvrpZ7FgwScBWLHiNnRd5ytf\nWZR3uxMmTEp9d/Pmjzj77NN55pkX8v795JN/4He/exRd12htHcKSJcuYODH9fZeBhyt8g4SLL/4a\nopie7Lq6Opk2bToAn/nM8fz97y9w4onHMmPGTGbN2ofDDjuC/fabA8DBB38CXddZvfoV5syZS09P\nDy+88Dy/+tWjOft55523+cUvbuPee/+LkSNH8Zvf/IoHH7yPo446hl/96kF+8Ytf0t7ezsqVT3DF\nFUt56KHfpL7b2bmbq676Nj/84U/Ze+9ZvPfeOr7xjfO5++4HAVi//j0effRxgsEQ999/D2PGjOXm\nm+8gEonwwx9+n56eHgBef/017r33v5gwYSIrVtzGLbfcyA9+8GP+53/+m/PO+xpz5swlHA5z2mkn\n8tZbbzJixAiuu+5qbrvtTqZPn8Hzzz/HL35xO9/73g+4/vpr+elPb2f06DFs376N888/h6lTpzNq\n1KiMcX/wwcbU+bJy4IEHceWVl9HV1VXReTSOdx2/+c1jjBo1mldffTn1+i233MikSVP48Y9vYfv2\n7Zx33peYPHlq6v0xY8byrW99m7fffosLLjiXz33uFK644nucffbp3H//r/Lua+vWrdx++13IssyS\nJV/niSf+wMknn5p6/49/fJyXXvo7d9/9IH6/n3vvvZPly6/lpz+9jZ/85EeMHz+BG274CT09PVx4\n4bnMn38IAIlEkquv/g4dHR1ceumylOBb+fe/V/PAA4/Q0TGCs88+g2ef/RO33rqCdeve5Wtf+wqn\nn34WL730Ii0tLdx11/0A3Hjj9fz2t7/h0kuXce2113PxxV9j9OjR3HXXz7n99jszRA/ghBNO4qmn\nnmTBgk+iqip/+tNT/Oxnvyi63XJYvfoVnnrqj/z85/fg8/lYteolrrzyMv7rv/6nrO+7OBNX+AYJ\nP/vZnQwZMiT1t/Gk/b8AhEIhbr75DjZt+pDVq19m9epXuOyyb3LyyaeyePHFiKLISSd9nj/+8XHm\nzJnL00+vZP78Q2hvH5qzn1deWcVBB81n5EhDGE477SwAfv7zWznqqGNob28H4LjjTuDWW29i8+aP\nUt/9z3/WMG7cOPbeexYAU6ZMZfbsfVm9+hUEQWDq1GkEgyEADj54PpdddglbtnzM3LkHccEF3yAU\nMt478MB5KUvyxBNP5pxzjDFcddW1/OMfL/Lgg/exYcP7RKNRIpEwr7/+GpMnT2X69BkAHHHEURxx\nxFH84x9/Y8eOHVx++dKMY1y37p0M4TNJJpM5r8XjCQAEQajoPAKMGDGSUaNG57z+0ksvct99DwMw\nfPhwFiw4OuP9Y475NADTp88gHo/T29uTd/tWjj32OPx+f9//f4a///3FDOF76aW/c9xxJ6Q+84Uv\nnMmDDx5DIpHg5ZdXsXjxxYBxLVkfZu6442bC4TC//vUf8ooeGG5c83oZM2YMBx00D1EUGTt2HPF4\njGg0yoIFn2TMmHE8+ugjfPjhh6xe/UrKup46dRpf+coili27lCuvvCbDWjM56qhjuOOOW9mxYztv\nv/0WY8eOY/z4CYwfP6HgdsvhH//4Gx9++AEXXHBu6rWuri66ujppbW0rezsuzsIVvibg4YcfYJ99\n9mP27H0ZO3Ycxx9/Eq+99n8sXfqN1IT22c+eyJlnfp7e3h6eeOIPLF16ed5tSZKMdX6LxaJ8/PHH\naJpOtldU1zPFQtNym31omk4ymURRFAKBQOr1mTP35je/eZyXX17Fq6/+i0WLFnLDDTf1jUGyfF9D\nkoyl6sWLv8q0aXswb958jjrqGP7znzXouo4kSRmTsq7rrFv3LqqqMXHiJO6++4HUe9u3b2PIkPaM\nMba1DWHChImsXv0Khx9+ZMZ7r776MpMmTaalpaWi8wikRCYbSZLR9fS5EsXMpXjTlWgek15GDxXz\nHJmfz3Zz6rqW87eqqnnP36ZNH6Yeso499jh0HX70ox/wox/dnHffHo8n7/it/P73j/L447/j858/\njWOO+TStra0ZD03r17/H0KFDeeONNXz605/N+b7f72fBgqN55pn/x5o1r3PiiSeXtV0wzqP1fCcS\n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\nSUVORK5CYII=\n",
|
||
"text/plain": [
|
||
"<matplotlib.figure.Figure at 0x103b38bd0>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"\n",
|
||
"fig = plt.figure()\n",
|
||
"#plt.rcParams[\"figure.figsize\"] = 20,20\n",
|
||
"ax = Axes3D(fig)\n",
|
||
"\n",
|
||
"ax.set_xlim(0,255)\n",
|
||
"ax.set_ylim(0,255)\n",
|
||
"ax.set_zlim(0,255)\n",
|
||
"ax.set_xlabel('H')\n",
|
||
"ax.set_ylabel('S')\n",
|
||
"ax.set_zlabel('V')\n",
|
||
"ax.set_title('HSV colorspace OV right block max value')\n",
|
||
"# ax.scatter(whiteBlock_R_zero, whiteBlock_G_zero, whiteBlock_B_zero,s = 15,c='y')\n",
|
||
"ax.scatter(whiteBlock_R_one, whiteBlock_G_one, whiteBlock_B_one,s = 15,c='r')\n",
|
||
"\n",
|
||
"ax.scatter(whiteBlock_R_two, whiteBlock_G_two, whiteBlock_B_two,s = 15,c='g')\n",
|
||
"ax.scatter(whiteBlock_R_three, whiteBlock_G_three, whiteBlock_B_three,s = 15,c='b')\n",
|
||
"\n",
|
||
"ax.scatter(whiteBlock_R_four, whiteBlock_G_four, whiteBlock_B_four,s = 15,c='y')\n",
|
||
"ax.scatter(whiteBlock_R_five, whiteBlock_G_five, whiteBlock_B_five,s = 15,c='pink')\n",
|
||
"ax.scatter(whiteBlock_R_six, whiteBlock_G_six, whiteBlock_B_six,s = 15,c='c')\n",
|
||
"\n",
|
||
"plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"*把档位从数据中分割出来,去掉蛋白质的标记*"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
"# label_1 = data3[\"index\"]\n",
|
||
"# feature_1 = data3.drop(\"dateTime\",axis=1)\n",
|
||
"# feature_1 = feature_1.drop(\"index\",axis=1)\n",
|
||
"\n",
|
||
"# feature_1 = feature_1.drop(\"right_block_R\",axis=1)\n",
|
||
"# feature_1 = feature_1.drop(\"right_block_G\",axis=1)\n",
|
||
"# feature_1 = feature_1.drop(\"right_block_B\",axis=1)\n",
|
||
"# feature_1 = feature_1.drop(\"right_block_H\",axis=1)\n",
|
||
"# feature_1 = feature_1.drop(\"right_block_S\",axis=1)\n",
|
||
"# feature_1 = feature_1.drop(\"right_block_V\",axis=1)\n",
|
||
"# feature_1 = feature_1.drop(\"right_block_l\",axis=1)\n",
|
||
"# feature_1 = feature_1.drop(\"right_block_a\",axis=1)\n",
|
||
"# feature_1 = feature_1.drop(\"right_block_b\",axis=1)\n",
|
||
"\n",
|
||
"\n",
|
||
"# label_2 = data4[\"index\"]\n",
|
||
"# feature_2 = data4.drop(\"dateTime\",axis=1)\n",
|
||
"# feature_2 = feature_2.drop(\"index\",axis=1)\n",
|
||
"\n",
|
||
"# feature_2 = feature_2.drop(\"left_block_R\",axis=1)\n",
|
||
"# feature_2 = feature_2.drop(\"left_block_G\",axis=1)\n",
|
||
"# feature_2 = feature_2.drop(\"left_block_B\",axis=1)\n",
|
||
"# feature_2 = feature_2.drop(\"left_block_H\",axis=1)\n",
|
||
"# feature_2 = feature_2.drop(\"left_block_S\",axis=1)\n",
|
||
"# feature_2 = feature_2.drop(\"left_block_V\",axis=1)\n",
|
||
"# feature_2 = feature_2.drop(\"left_block_l\",axis=1)\n",
|
||
"# feature_2 = feature_2.drop(\"left_block_a\",axis=1)\n",
|
||
"# feature_2 = feature_2.drop(\"left_block_b\",axis=1)\n",
|
||
"\n",
|
||
"# label_3 = data3[\"index\"]\n",
|
||
"# feature_3 = data3.drop(\"dateTime\",axis=1)\n",
|
||
"# feature_3 = feature_3.drop(\"index\",axis=1)\n",
|
||
"#sns.heatmap(feature_iphone6p)\n",
|
||
"\n",
|
||
"# feature_3.describe()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"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>left_block_R</th>\n",
|
||
" <th>left_block_G</th>\n",
|
||
" <th>left_block_B</th>\n",
|
||
" <th>left_block_H</th>\n",
|
||
" <th>left_block_S</th>\n",
|
||
" <th>left_block_V</th>\n",
|
||
" <th>left_block_l</th>\n",
|
||
" <th>left_block_a</th>\n",
|
||
" <th>left_block_b</th>\n",
|
||
" <th>left_block_R_stddev</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>right_grayValue</th>\n",
|
||
" <th>right_grayStddevValue</th>\n",
|
||
" <th>right_grayHist</th>\n",
|
||
" <th>right_grayMax</th>\n",
|
||
" <th>right_grayMin</th>\n",
|
||
" <th>white_grayValue</th>\n",
|
||
" <th>white_grayStddevValue</th>\n",
|
||
" <th>white_grayHist</th>\n",
|
||
" <th>white_grayMax</th>\n",
|
||
" <th>white_grayMin</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>count</th>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>mean</th>\n",
|
||
" <td>177.537162</td>\n",
|
||
" <td>154.988809</td>\n",
|
||
" <td>160.795291</td>\n",
|
||
" <td>173.659840</td>\n",
|
||
" <td>36.343644</td>\n",
|
||
" <td>177.787584</td>\n",
|
||
" <td>168.331609</td>\n",
|
||
" <td>136.974240</td>\n",
|
||
" <td>127.616343</td>\n",
|
||
" <td>8.358003</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>151.319362</td>\n",
|
||
" <td>14.077914</td>\n",
|
||
" <td>140.150549</td>\n",
|
||
" <td>182.139147</td>\n",
|
||
" <td>129.284628</td>\n",
|
||
" <td>191.197635</td>\n",
|
||
" <td>0.808594</td>\n",
|
||
" <td>191.766892</td>\n",
|
||
" <td>193.921875</td>\n",
|
||
" <td>187.984903</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>std</th>\n",
|
||
" <td>23.055906</td>\n",
|
||
" <td>27.120240</td>\n",
|
||
" <td>24.257571</td>\n",
|
||
" <td>85.816738</td>\n",
|
||
" <td>15.103201</td>\n",
|
||
" <td>23.211556</td>\n",
|
||
" <td>24.182989</td>\n",
|
||
" <td>5.539367</td>\n",
|
||
" <td>3.747435</td>\n",
|
||
" <td>5.360384</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>20.299544</td>\n",
|
||
" <td>3.763639</td>\n",
|
||
" <td>21.656248</td>\n",
|
||
" <td>21.951431</td>\n",
|
||
" <td>20.725182</td>\n",
|
||
" <td>23.039398</td>\n",
|
||
" <td>1.812333</td>\n",
|
||
" <td>23.599627</td>\n",
|
||
" <td>23.144180</td>\n",
|
||
" <td>24.459549</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>min</th>\n",
|
||
" <td>112.000000</td>\n",
|
||
" <td>93.000000</td>\n",
|
||
" <td>92.000000</td>\n",
|
||
" <td>2.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>112.000000</td>\n",
|
||
" <td>106.000000</td>\n",
|
||
" <td>124.000000</td>\n",
|
||
" <td>117.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>104.000000</td>\n",
|
||
" <td>6.000000</td>\n",
|
||
" <td>92.000000</td>\n",
|
||
" <td>122.000000</td>\n",
|
||
" <td>83.000000</td>\n",
|
||
" <td>130.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>131.000000</td>\n",
|
||
" <td>100.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>25%</th>\n",
|
||
" <td>166.000000</td>\n",
|
||
" <td>140.000000</td>\n",
|
||
" <td>147.000000</td>\n",
|
||
" <td>116.000000</td>\n",
|
||
" <td>25.000000</td>\n",
|
||
" <td>166.000000</td>\n",
|
||
" <td>155.750000</td>\n",
|
||
" <td>133.000000</td>\n",
|
||
" <td>125.000000</td>\n",
|
||
" <td>3.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>137.000000</td>\n",
|
||
" <td>11.000000</td>\n",
|
||
" <td>126.000000</td>\n",
|
||
" <td>166.000000</td>\n",
|
||
" <td>116.000000</td>\n",
|
||
" <td>173.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>173.000000</td>\n",
|
||
" <td>174.000000</td>\n",
|
||
" <td>172.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>50%</th>\n",
|
||
" <td>173.000000</td>\n",
|
||
" <td>152.000000</td>\n",
|
||
" <td>155.000000</td>\n",
|
||
" <td>222.000000</td>\n",
|
||
" <td>35.000000</td>\n",
|
||
" <td>174.000000</td>\n",
|
||
" <td>166.000000</td>\n",
|
||
" <td>138.000000</td>\n",
|
||
" <td>127.000000</td>\n",
|
||
" <td>8.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>148.000000</td>\n",
|
||
" <td>14.000000</td>\n",
|
||
" <td>139.000000</td>\n",
|
||
" <td>181.000000</td>\n",
|
||
" <td>129.000000</td>\n",
|
||
" <td>194.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>195.000000</td>\n",
|
||
" <td>197.000000</td>\n",
|
||
" <td>190.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>75%</th>\n",
|
||
" <td>187.000000</td>\n",
|
||
" <td>162.000000</td>\n",
|
||
" <td>170.000000</td>\n",
|
||
" <td>234.000000</td>\n",
|
||
" <td>49.000000</td>\n",
|
||
" <td>187.000000</td>\n",
|
||
" <td>174.000000</td>\n",
|
||
" <td>142.000000</td>\n",
|
||
" <td>130.000000</td>\n",
|
||
" <td>12.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>163.000000</td>\n",
|
||
" <td>17.000000</td>\n",
|
||
" <td>152.000000</td>\n",
|
||
" <td>195.000000</td>\n",
|
||
" <td>142.000000</td>\n",
|
||
" <td>205.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>206.000000</td>\n",
|
||
" <td>208.000000</td>\n",
|
||
" <td>203.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>max</th>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>251.000000</td>\n",
|
||
" <td>74.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>148.000000</td>\n",
|
||
" <td>139.000000</td>\n",
|
||
" <td>20.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>245.000000</td>\n",
|
||
" <td>27.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>228.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>14.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>8 rows × 150 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" left_block_R left_block_G left_block_B left_block_H left_block_S \\\n",
|
||
"count 9472.000000 9472.000000 9472.000000 9472.000000 9472.000000 \n",
|
||
"mean 177.537162 154.988809 160.795291 173.659840 36.343644 \n",
|
||
"std 23.055906 27.120240 24.257571 85.816738 15.103201 \n",
|
||
"min 112.000000 93.000000 92.000000 2.000000 0.000000 \n",
|
||
"25% 166.000000 140.000000 147.000000 116.000000 25.000000 \n",
|
||
"50% 173.000000 152.000000 155.000000 222.000000 35.000000 \n",
|
||
"75% 187.000000 162.000000 170.000000 234.000000 49.000000 \n",
|
||
"max 254.000000 255.000000 255.000000 251.000000 74.000000 \n",
|
||
"\n",
|
||
" left_block_V left_block_l left_block_a left_block_b \\\n",
|
||
"count 9472.000000 9472.000000 9472.000000 9472.000000 \n",
|
||
"mean 177.787584 168.331609 136.974240 127.616343 \n",
|
||
"std 23.211556 24.182989 5.539367 3.747435 \n",
|
||
"min 112.000000 106.000000 124.000000 117.000000 \n",
|
||
"25% 166.000000 155.750000 133.000000 125.000000 \n",
|
||
"50% 174.000000 166.000000 138.000000 127.000000 \n",
|
||
"75% 187.000000 174.000000 142.000000 130.000000 \n",
|
||
"max 255.000000 255.000000 148.000000 139.000000 \n",
|
||
"\n",
|
||
" left_block_R_stddev ... right_grayValue \\\n",
|
||
"count 9472.000000 ... 9472.000000 \n",
|
||
"mean 8.358003 ... 151.319362 \n",
|
||
"std 5.360384 ... 20.299544 \n",
|
||
"min 0.000000 ... 104.000000 \n",
|
||
"25% 3.000000 ... 137.000000 \n",
|
||
"50% 8.000000 ... 148.000000 \n",
|
||
"75% 12.000000 ... 163.000000 \n",
|
||
"max 20.000000 ... 245.000000 \n",
|
||
"\n",
|
||
" right_grayStddevValue right_grayHist right_grayMax right_grayMin \\\n",
|
||
"count 9472.000000 9472.000000 9472.000000 9472.000000 \n",
|
||
"mean 14.077914 140.150549 182.139147 129.284628 \n",
|
||
"std 3.763639 21.656248 21.951431 20.725182 \n",
|
||
"min 6.000000 92.000000 122.000000 83.000000 \n",
|
||
"25% 11.000000 126.000000 166.000000 116.000000 \n",
|
||
"50% 14.000000 139.000000 181.000000 129.000000 \n",
|
||
"75% 17.000000 152.000000 195.000000 142.000000 \n",
|
||
"max 27.000000 254.000000 255.000000 228.000000 \n",
|
||
"\n",
|
||
" white_grayValue white_grayStddevValue white_grayHist white_grayMax \\\n",
|
||
"count 9472.000000 9472.000000 9472.000000 9472.000000 \n",
|
||
"mean 191.197635 0.808594 191.766892 193.921875 \n",
|
||
"std 23.039398 1.812333 23.599627 23.144180 \n",
|
||
"min 130.000000 0.000000 0.000000 131.000000 \n",
|
||
"25% 173.000000 0.000000 173.000000 174.000000 \n",
|
||
"50% 194.000000 0.000000 195.000000 197.000000 \n",
|
||
"75% 205.000000 1.000000 206.000000 208.000000 \n",
|
||
"max 255.000000 14.000000 254.000000 255.000000 \n",
|
||
"\n",
|
||
" white_grayMin \n",
|
||
"count 9472.000000 \n",
|
||
"mean 187.984903 \n",
|
||
"std 24.459549 \n",
|
||
"min 100.000000 \n",
|
||
"25% 172.000000 \n",
|
||
"50% 190.000000 \n",
|
||
"75% 203.000000 \n",
|
||
"max 255.000000 \n",
|
||
"\n",
|
||
"[8 rows x 150 columns]"
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"\n",
|
||
"\n",
|
||
"from sklearn.utils import shuffle\n",
|
||
"\n",
|
||
"\n",
|
||
"data_shuffle = shuffle(data_all)\n",
|
||
"#data_shuffle = data_all;\n",
|
||
"train_labels = data_shuffle[\"index\"]\n",
|
||
"train_features = data_shuffle.drop(\"dateTime\",axis=1)\n",
|
||
"train_features = train_features.drop(\"index\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBalance\",axis=1)\n",
|
||
"\n",
|
||
"data_shuffle_test = shuffle(data_test_0)\n",
|
||
"test_labels = data_shuffle_test[\"index\"]\n",
|
||
"test_features = data_shuffle_test.drop(\"dateTime\",axis=1)\n",
|
||
"test_features = test_features.drop(\"index\",axis=1)\n",
|
||
"test_features = test_features.drop(\"whiteBalance\",axis=1)\n",
|
||
"\n",
|
||
"\n",
|
||
"# feature = feature.drop(\"left_block_H_hist\",axis=1)\n",
|
||
"# feature = feature.drop(\"right_block_H_hist\",axis=1)\n",
|
||
"# feature = feature.drop(\"whiteBlock_H_hist\",axis=1)\n",
|
||
"test_features.describe()\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 87,
|
||
"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>left_block_R</th>\n",
|
||
" <th>left_block_G</th>\n",
|
||
" <th>left_block_B</th>\n",
|
||
" <th>left_block_l</th>\n",
|
||
" <th>left_block_a</th>\n",
|
||
" <th>left_block_b</th>\n",
|
||
" <th>left_block_R_stddev</th>\n",
|
||
" <th>left_block_G_stddev</th>\n",
|
||
" <th>left_block_B_stddev</th>\n",
|
||
" <th>left_block_l_stddev</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>lelf_right_G_min</th>\n",
|
||
" <th>lelf_right_B_min</th>\n",
|
||
" <th>lelf_right_l_min</th>\n",
|
||
" <th>lelf_right_a_min</th>\n",
|
||
" <th>lelf_right_b_min</th>\n",
|
||
" <th>lelf_right_gray_value</th>\n",
|
||
" <th>lelf_right_gray_stddev</th>\n",
|
||
" <th>lelf_right_gray_hist</th>\n",
|
||
" <th>lelf_right_gray_max</th>\n",
|
||
" <th>lelf_right_gray_min</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>count</th>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>mean</th>\n",
|
||
" <td>179.667881</td>\n",
|
||
" <td>155.290593</td>\n",
|
||
" <td>161.699264</td>\n",
|
||
" <td>168.910938</td>\n",
|
||
" <td>137.786783</td>\n",
|
||
" <td>127.545960</td>\n",
|
||
" <td>10.123272</td>\n",
|
||
" <td>17.508572</td>\n",
|
||
" <td>13.637726</td>\n",
|
||
" <td>14.757001</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>8.809217</td>\n",
|
||
" <td>3.411403</td>\n",
|
||
" <td>5.210745</td>\n",
|
||
" <td>-1.110075</td>\n",
|
||
" <td>0.969308</td>\n",
|
||
" <td>9.572245</td>\n",
|
||
" <td>-0.830157</td>\n",
|
||
" <td>29.420057</td>\n",
|
||
" <td>2.050162</td>\n",
|
||
" <td>5.112643</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>std</th>\n",
|
||
" <td>26.691430</td>\n",
|
||
" <td>30.919599</td>\n",
|
||
" <td>27.826637</td>\n",
|
||
" <td>28.093207</td>\n",
|
||
" <td>4.643459</td>\n",
|
||
" <td>2.835303</td>\n",
|
||
" <td>5.845276</td>\n",
|
||
" <td>8.693990</td>\n",
|
||
" <td>7.234409</td>\n",
|
||
" <td>7.682226</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>37.181814</td>\n",
|
||
" <td>31.283903</td>\n",
|
||
" <td>32.666618</td>\n",
|
||
" <td>2.458654</td>\n",
|
||
" <td>2.078791</td>\n",
|
||
" <td>20.156796</td>\n",
|
||
" <td>7.929291</td>\n",
|
||
" <td>25.437186</td>\n",
|
||
" <td>7.411470</td>\n",
|
||
" <td>32.491219</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>min</th>\n",
|
||
" <td>101.000000</td>\n",
|
||
" <td>82.000000</td>\n",
|
||
" <td>90.000000</td>\n",
|
||
" <td>95.000000</td>\n",
|
||
" <td>124.000000</td>\n",
|
||
" <td>121.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>-46.000000</td>\n",
|
||
" <td>-48.000000</td>\n",
|
||
" <td>-46.000000</td>\n",
|
||
" <td>-11.000000</td>\n",
|
||
" <td>-8.000000</td>\n",
|
||
" <td>-23.000000</td>\n",
|
||
" <td>-17.000000</td>\n",
|
||
" <td>-78.000000</td>\n",
|
||
" <td>-17.000000</td>\n",
|
||
" <td>-46.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>25%</th>\n",
|
||
" <td>159.000000</td>\n",
|
||
" <td>130.000000</td>\n",
|
||
" <td>140.000000</td>\n",
|
||
" <td>146.000000</td>\n",
|
||
" <td>134.000000</td>\n",
|
||
" <td>125.000000</td>\n",
|
||
" <td>4.000000</td>\n",
|
||
" <td>9.000000</td>\n",
|
||
" <td>7.000000</td>\n",
|
||
" <td>7.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>-24.000000</td>\n",
|
||
" <td>-24.000000</td>\n",
|
||
" <td>-24.000000</td>\n",
|
||
" <td>-3.000000</td>\n",
|
||
" <td>-1.000000</td>\n",
|
||
" <td>-7.000000</td>\n",
|
||
" <td>-9.000000</td>\n",
|
||
" <td>22.000000</td>\n",
|
||
" <td>-4.000000</td>\n",
|
||
" <td>-23.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>50%</th>\n",
|
||
" <td>178.000000</td>\n",
|
||
" <td>153.000000</td>\n",
|
||
" <td>160.000000</td>\n",
|
||
" <td>167.000000</td>\n",
|
||
" <td>140.000000</td>\n",
|
||
" <td>128.000000</td>\n",
|
||
" <td>11.000000</td>\n",
|
||
" <td>20.000000</td>\n",
|
||
" <td>16.000000</td>\n",
|
||
" <td>17.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>-11.000000</td>\n",
|
||
" <td>-11.000000</td>\n",
|
||
" <td>-11.000000</td>\n",
|
||
" <td>-1.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>-1.000000</td>\n",
|
||
" <td>3.000000</td>\n",
|
||
" <td>33.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-11.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>75%</th>\n",
|
||
" <td>197.000000</td>\n",
|
||
" <td>175.000000</td>\n",
|
||
" <td>179.000000</td>\n",
|
||
" <td>188.000000</td>\n",
|
||
" <td>141.000000</td>\n",
|
||
" <td>129.000000</td>\n",
|
||
" <td>15.000000</td>\n",
|
||
" <td>25.000000</td>\n",
|
||
" <td>20.000000</td>\n",
|
||
" <td>21.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>45.000000</td>\n",
|
||
" <td>34.000000</td>\n",
|
||
" <td>37.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>2.000000</td>\n",
|
||
" <td>30.000000</td>\n",
|
||
" <td>6.000000</td>\n",
|
||
" <td>45.000000</td>\n",
|
||
" <td>9.000000</td>\n",
|
||
" <td>37.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>max</th>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>146.000000</td>\n",
|
||
" <td>136.000000</td>\n",
|
||
" <td>22.000000</td>\n",
|
||
" <td>34.000000</td>\n",
|
||
" <td>27.000000</td>\n",
|
||
" <td>29.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>79.000000</td>\n",
|
||
" <td>67.000000</td>\n",
|
||
" <td>67.000000</td>\n",
|
||
" <td>7.000000</td>\n",
|
||
" <td>11.000000</td>\n",
|
||
" <td>51.000000</td>\n",
|
||
" <td>12.000000</td>\n",
|
||
" <td>88.000000</td>\n",
|
||
" <td>24.000000</td>\n",
|
||
" <td>68.000000</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>8 rows × 140 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" left_block_R left_block_G left_block_B left_block_l \\\n",
|
||
"count 219668.000000 219668.000000 219668.000000 219668.000000 \n",
|
||
"mean 179.667881 155.290593 161.699264 168.910938 \n",
|
||
"std 26.691430 30.919599 27.826637 28.093207 \n",
|
||
"min 101.000000 82.000000 90.000000 95.000000 \n",
|
||
"25% 159.000000 130.000000 140.000000 146.000000 \n",
|
||
"50% 178.000000 153.000000 160.000000 167.000000 \n",
|
||
"75% 197.000000 175.000000 179.000000 188.000000 \n",
|
||
"max 254.000000 254.000000 254.000000 254.000000 \n",
|
||
"\n",
|
||
" left_block_a left_block_b left_block_R_stddev left_block_G_stddev \\\n",
|
||
"count 219668.000000 219668.000000 219668.000000 219668.000000 \n",
|
||
"mean 137.786783 127.545960 10.123272 17.508572 \n",
|
||
"std 4.643459 2.835303 5.845276 8.693990 \n",
|
||
"min 124.000000 121.000000 0.000000 0.000000 \n",
|
||
"25% 134.000000 125.000000 4.000000 9.000000 \n",
|
||
"50% 140.000000 128.000000 11.000000 20.000000 \n",
|
||
"75% 141.000000 129.000000 15.000000 25.000000 \n",
|
||
"max 146.000000 136.000000 22.000000 34.000000 \n",
|
||
"\n",
|
||
" left_block_B_stddev left_block_l_stddev ... \\\n",
|
||
"count 219668.000000 219668.000000 ... \n",
|
||
"mean 13.637726 14.757001 ... \n",
|
||
"std 7.234409 7.682226 ... \n",
|
||
"min 0.000000 0.000000 ... \n",
|
||
"25% 7.000000 7.000000 ... \n",
|
||
"50% 16.000000 17.000000 ... \n",
|
||
"75% 20.000000 21.000000 ... \n",
|
||
"max 27.000000 29.000000 ... \n",
|
||
"\n",
|
||
" lelf_right_G_min lelf_right_B_min lelf_right_l_min lelf_right_a_min \\\n",
|
||
"count 219668.000000 219668.000000 219668.000000 219668.000000 \n",
|
||
"mean 8.809217 3.411403 5.210745 -1.110075 \n",
|
||
"std 37.181814 31.283903 32.666618 2.458654 \n",
|
||
"min -46.000000 -48.000000 -46.000000 -11.000000 \n",
|
||
"25% -24.000000 -24.000000 -24.000000 -3.000000 \n",
|
||
"50% -11.000000 -11.000000 -11.000000 -1.000000 \n",
|
||
"75% 45.000000 34.000000 37.000000 1.000000 \n",
|
||
"max 79.000000 67.000000 67.000000 7.000000 \n",
|
||
"\n",
|
||
" lelf_right_b_min lelf_right_gray_value lelf_right_gray_stddev \\\n",
|
||
"count 219668.000000 219668.000000 219668.000000 \n",
|
||
"mean 0.969308 9.572245 -0.830157 \n",
|
||
"std 2.078791 20.156796 7.929291 \n",
|
||
"min -8.000000 -23.000000 -17.000000 \n",
|
||
"25% -1.000000 -7.000000 -9.000000 \n",
|
||
"50% 1.000000 -1.000000 3.000000 \n",
|
||
"75% 2.000000 30.000000 6.000000 \n",
|
||
"max 11.000000 51.000000 12.000000 \n",
|
||
"\n",
|
||
" lelf_right_gray_hist lelf_right_gray_max lelf_right_gray_min \n",
|
||
"count 219668.000000 219668.000000 219668.000000 \n",
|
||
"mean 29.420057 2.050162 5.112643 \n",
|
||
"std 25.437186 7.411470 32.491219 \n",
|
||
"min -78.000000 -17.000000 -46.000000 \n",
|
||
"25% 22.000000 -4.000000 -23.000000 \n",
|
||
"50% 33.000000 0.000000 -11.000000 \n",
|
||
"75% 45.000000 9.000000 37.000000 \n",
|
||
"max 88.000000 24.000000 68.000000 \n",
|
||
"\n",
|
||
"[8 rows x 140 columns]"
|
||
]
|
||
},
|
||
"execution_count": 87,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"train_features = train_features.drop(\"left_block_H\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_S\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_V\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_H\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_S\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_V\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_H\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_S\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_V\",axis=1)\n",
|
||
"\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_H_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_S_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_H_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_S_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_H_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_S_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_H_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_S_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_V_hist\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_H_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_S_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_V_hist\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_H_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_S_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_V_hist\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_H_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_S_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_V_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_H_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_S_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_V_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_H_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_S_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_V_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_H_min\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_S_min\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_V_min\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_H_min\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_S_min\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_V_min\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_H_min\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_S_min\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_V_min\",axis=1)\n",
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
"train_features['lelf_right_R'] = train_features['left_block_R'] - train_features['right_block_R']\n",
|
||
"train_features['lelf_right_G'] = train_features['left_block_G'] - train_features['right_block_G']\n",
|
||
"train_features['lelf_right_B'] = train_features['left_block_B'] - train_features['right_block_B']\n",
|
||
"\n",
|
||
"# train_features['lelf_right_H'] = train_features['left_block_H'] - train_features['right_block_H']\n",
|
||
"# train_features['lelf_right_S'] = train_features['left_block_S'] - train_features['right_block_S']\n",
|
||
"# train_features['lelf_right_V'] = train_features['left_block_V'] - train_features['right_block_V']\n",
|
||
"\n",
|
||
"train_features['lelf_right_l'] = train_features['left_block_l'] - train_features['right_block_l']\n",
|
||
"train_features['lelf_right_a'] = train_features['left_block_a'] - train_features['right_block_a']\n",
|
||
"train_features['lelf_right_b'] = train_features['left_block_b'] - train_features['right_block_b']\n",
|
||
"\n",
|
||
"train_features['lelf_right_R_stddev'] = train_features['left_block_R_stddev'] - train_features['right_block_R_stddev']\n",
|
||
"train_features['lelf_right_G_stddev'] = train_features['left_block_G_stddev'] - train_features['right_block_G_stddev']\n",
|
||
"train_features['lelf_right_B_stddev'] = train_features['left_block_B_stddev'] - train_features['right_block_B_stddev']\n",
|
||
"\n",
|
||
"# train_features['lelf_right_H_stddev'] = train_features['left_block_H_stddev'] - train_features['right_block_H_stddev']\n",
|
||
"# train_features['lelf_right_S_stddev'] = train_features['left_block_S_stddev'] - train_features['right_block_S_stddev']\n",
|
||
"# train_features['lelf_right_V_stddev'] = train_features['left_block_V_stddev'] - train_features['right_block_V_stddev']\n",
|
||
"\n",
|
||
"train_features['lelf_right_l_stddev'] = train_features['left_block_l_stddev'] - train_features['right_block_l_stddev']\n",
|
||
"train_features['lelf_right_a_stddev'] = train_features['left_block_a_stddev'] - train_features['right_block_a_stddev']\n",
|
||
"train_features['lelf_right_b_stddev'] = train_features['left_block_b_stddev'] - train_features['right_block_b_stddev']\n",
|
||
"\n",
|
||
"train_features['lelf_right_R_hist'] = train_features['left_block_R_hist'] - train_features['right_block_R_hist']\n",
|
||
"train_features['lelf_right_G_hist'] = train_features['left_block_G_hist'] - train_features['right_block_G_hist']\n",
|
||
"train_features['lelf_right_B_hist'] = train_features['left_block_B_hist'] - train_features['right_block_B_hist']\n",
|
||
"\n",
|
||
"# train_features['lelf_right_H_hist'] = train_features['left_block_H_hist'] - train_features['right_block_H_hist']\n",
|
||
"# train_features['lelf_right_S_hist'] = train_features['left_block_S_hist'] - train_features['right_block_S_hist']\n",
|
||
"# train_features['lelf_right_V_hist'] = train_features['left_block_V_hist'] - train_features['right_block_V_hist']\n",
|
||
"\n",
|
||
"train_features['lelf_right_l_hist'] = train_features['left_block_l_hist'] - train_features['right_block_l_hist']\n",
|
||
"train_features['lelf_right_a_hist'] = train_features['left_block_a_hist'] - train_features['right_block_a_hist']\n",
|
||
"train_features['lelf_right_b_hist'] = train_features['left_block_b_hist'] - train_features['right_block_b_hist']\n",
|
||
"\n",
|
||
"train_features['lelf_right_R_max'] = train_features['left_block_R_max'] - train_features['right_block_R_max']\n",
|
||
"train_features['lelf_right_G_max'] = train_features['left_block_G_max'] - train_features['right_block_G_max']\n",
|
||
"train_features['lelf_right_B_max'] = train_features['left_block_B_max'] - train_features['right_block_B_max']\n",
|
||
"\n",
|
||
"# train_features['lelf_right_H_max'] = train_features['left_block_H_max'] - train_features['right_block_H_max']\n",
|
||
"# train_features['lelf_right_S_max'] = train_features['left_block_S_max'] - train_features['right_block_S_max']\n",
|
||
"# train_features['lelf_right_V_max'] = train_features['left_block_V_max'] - train_features['right_block_V_max']\n",
|
||
"\n",
|
||
"train_features['lelf_right_l_max'] = train_features['left_block_l_max'] - train_features['right_block_l_max']\n",
|
||
"train_features['lelf_right_a_max'] = train_features['left_block_a_max'] - train_features['right_block_a_max']\n",
|
||
"train_features['lelf_right_b_max'] = train_features['left_block_b_max'] - train_features['right_block_b_max']\n",
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
"train_features['lelf_right_R_min'] = train_features['left_block_R_min'] - train_features['right_block_R_min']\n",
|
||
"train_features['lelf_right_G_min'] = train_features['left_block_G_min'] - train_features['right_block_G_min']\n",
|
||
"train_features['lelf_right_B_min'] = train_features['left_block_B_min'] - train_features['right_block_B_min']\n",
|
||
"\n",
|
||
"# train_features['lelf_right_H_min'] = train_features['left_block_H_min'] - train_features['right_block_H_min']\n",
|
||
"# train_features['lelf_right_S_min'] = train_features['left_block_S_min'] - train_features['right_block_S_min']\n",
|
||
"# train_features['lelf_right_V_min'] = train_features['left_block_V_min'] - train_features['right_block_V_min']\n",
|
||
"\n",
|
||
"train_features['lelf_right_l_min'] = train_features['left_block_l_min'] - train_features['right_block_l_min']\n",
|
||
"train_features['lelf_right_a_min'] = train_features['left_block_a_min'] - train_features['right_block_a_min']\n",
|
||
"train_features['lelf_right_b_min'] = train_features['left_block_b_min'] - train_features['right_block_b_min']\n",
|
||
"\n",
|
||
"train_features['lelf_right_gray_value'] = train_features['left_grayValue'] - train_features['right_grayValue']\n",
|
||
"train_features['lelf_right_gray_stddev'] = train_features['left_grayStddevValue'] - train_features['right_grayStddevValue']\n",
|
||
"train_features['lelf_right_gray_hist'] = train_features['left_grayHist'] - train_features['right_grayHist']\n",
|
||
"train_features['lelf_right_gray_max'] = train_features['left_grayMax'] - train_features['right_grayMax']\n",
|
||
"train_features['lelf_right_gray_min'] = train_features['left_grayMin'] - train_features['right_grayMin']\n",
|
||
"train_features.describe()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"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>lelf_right_R</th>\n",
|
||
" <th>lelf_right_G</th>\n",
|
||
" <th>lelf_right_B</th>\n",
|
||
" <th>lelf_right_H</th>\n",
|
||
" <th>lelf_right_S</th>\n",
|
||
" <th>lelf_right_V</th>\n",
|
||
" <th>lelf_right_l</th>\n",
|
||
" <th>lelf_right_a</th>\n",
|
||
" <th>lelf_right_b</th>\n",
|
||
" <th>lelf_right_R_stddev</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>lelf_right_V_min</th>\n",
|
||
" <th>lelf_right_l_min</th>\n",
|
||
" <th>lelf_right_a_min</th>\n",
|
||
" <th>lelf_right_b_min</th>\n",
|
||
" <th>lelf_right_gray_value</th>\n",
|
||
" <th>lelf_right_gray_stddev</th>\n",
|
||
" <th>lelf_right_gray_hist</th>\n",
|
||
" <th>lelf_right_gray_max</th>\n",
|
||
" <th>lelf_right_gray_min</th>\n",
|
||
" <th>index</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>count</th>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.00000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" <td>219668.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>mean</th>\n",
|
||
" <td>3.548068</td>\n",
|
||
" <td>12.854294</td>\n",
|
||
" <td>8.55517</td>\n",
|
||
" <td>-39.083817</td>\n",
|
||
" <td>-12.451846</td>\n",
|
||
" <td>3.615228</td>\n",
|
||
" <td>9.708856</td>\n",
|
||
" <td>-4.321690</td>\n",
|
||
" <td>0.812922</td>\n",
|
||
" <td>0.675670</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>-1.412509</td>\n",
|
||
" <td>5.210745</td>\n",
|
||
" <td>-1.110075</td>\n",
|
||
" <td>0.969308</td>\n",
|
||
" <td>9.572245</td>\n",
|
||
" <td>-0.830157</td>\n",
|
||
" <td>29.420057</td>\n",
|
||
" <td>2.050162</td>\n",
|
||
" <td>5.112643</td>\n",
|
||
" <td>4.194229</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>std</th>\n",
|
||
" <td>13.666803</td>\n",
|
||
" <td>23.863207</td>\n",
|
||
" <td>18.75308</td>\n",
|
||
" <td>62.913894</td>\n",
|
||
" <td>17.275787</td>\n",
|
||
" <td>13.752406</td>\n",
|
||
" <td>20.085535</td>\n",
|
||
" <td>5.192879</td>\n",
|
||
" <td>1.282808</td>\n",
|
||
" <td>6.162921</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>24.534893</td>\n",
|
||
" <td>32.666618</td>\n",
|
||
" <td>2.458654</td>\n",
|
||
" <td>2.078791</td>\n",
|
||
" <td>20.156796</td>\n",
|
||
" <td>7.929291</td>\n",
|
||
" <td>25.437186</td>\n",
|
||
" <td>7.411470</td>\n",
|
||
" <td>32.491219</td>\n",
|
||
" <td>2.465278</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>min</th>\n",
|
||
" <td>-22.000000</td>\n",
|
||
" <td>-24.000000</td>\n",
|
||
" <td>-23.00000</td>\n",
|
||
" <td>-228.000000</td>\n",
|
||
" <td>-54.000000</td>\n",
|
||
" <td>-22.000000</td>\n",
|
||
" <td>-23.000000</td>\n",
|
||
" <td>-17.000000</td>\n",
|
||
" <td>-3.000000</td>\n",
|
||
" <td>-13.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>-47.000000</td>\n",
|
||
" <td>-46.000000</td>\n",
|
||
" <td>-11.000000</td>\n",
|
||
" <td>-8.000000</td>\n",
|
||
" <td>-23.000000</td>\n",
|
||
" <td>-17.000000</td>\n",
|
||
" <td>-78.000000</td>\n",
|
||
" <td>-17.000000</td>\n",
|
||
" <td>-46.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>25%</th>\n",
|
||
" <td>-8.000000</td>\n",
|
||
" <td>-8.000000</td>\n",
|
||
" <td>-7.00000</td>\n",
|
||
" <td>-76.000000</td>\n",
|
||
" <td>-29.000000</td>\n",
|
||
" <td>-8.000000</td>\n",
|
||
" <td>-7.000000</td>\n",
|
||
" <td>-9.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-5.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>-23.000000</td>\n",
|
||
" <td>-24.000000</td>\n",
|
||
" <td>-3.000000</td>\n",
|
||
" <td>-1.000000</td>\n",
|
||
" <td>-7.000000</td>\n",
|
||
" <td>-9.000000</td>\n",
|
||
" <td>22.000000</td>\n",
|
||
" <td>-4.000000</td>\n",
|
||
" <td>-23.000000</td>\n",
|
||
" <td>2.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>50%</th>\n",
|
||
" <td>-2.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-1.00000</td>\n",
|
||
" <td>-4.000000</td>\n",
|
||
" <td>-3.000000</td>\n",
|
||
" <td>-2.000000</td>\n",
|
||
" <td>-1.000000</td>\n",
|
||
" <td>-2.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>3.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>-10.000000</td>\n",
|
||
" <td>-11.000000</td>\n",
|
||
" <td>-1.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>-1.000000</td>\n",
|
||
" <td>3.000000</td>\n",
|
||
" <td>33.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-11.000000</td>\n",
|
||
" <td>6.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>75%</th>\n",
|
||
" <td>17.000000</td>\n",
|
||
" <td>37.000000</td>\n",
|
||
" <td>27.00000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>3.000000</td>\n",
|
||
" <td>17.000000</td>\n",
|
||
" <td>30.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>2.000000</td>\n",
|
||
" <td>6.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>23.000000</td>\n",
|
||
" <td>37.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>2.000000</td>\n",
|
||
" <td>30.000000</td>\n",
|
||
" <td>6.000000</td>\n",
|
||
" <td>45.000000</td>\n",
|
||
" <td>9.000000</td>\n",
|
||
" <td>37.000000</td>\n",
|
||
" <td>6.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>max</th>\n",
|
||
" <td>36.000000</td>\n",
|
||
" <td>61.000000</td>\n",
|
||
" <td>51.00000</td>\n",
|
||
" <td>64.000000</td>\n",
|
||
" <td>14.000000</td>\n",
|
||
" <td>36.000000</td>\n",
|
||
" <td>50.000000</td>\n",
|
||
" <td>5.000000</td>\n",
|
||
" <td>6.000000</td>\n",
|
||
" <td>12.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>51.000000</td>\n",
|
||
" <td>67.000000</td>\n",
|
||
" <td>7.000000</td>\n",
|
||
" <td>11.000000</td>\n",
|
||
" <td>51.000000</td>\n",
|
||
" <td>12.000000</td>\n",
|
||
" <td>88.000000</td>\n",
|
||
" <td>24.000000</td>\n",
|
||
" <td>68.000000</td>\n",
|
||
" <td>7.000000</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>8 rows × 51 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" lelf_right_R lelf_right_G lelf_right_B lelf_right_H \\\n",
|
||
"count 219668.000000 219668.000000 219668.00000 219668.000000 \n",
|
||
"mean 3.548068 12.854294 8.55517 -39.083817 \n",
|
||
"std 13.666803 23.863207 18.75308 62.913894 \n",
|
||
"min -22.000000 -24.000000 -23.00000 -228.000000 \n",
|
||
"25% -8.000000 -8.000000 -7.00000 -76.000000 \n",
|
||
"50% -2.000000 0.000000 -1.00000 -4.000000 \n",
|
||
"75% 17.000000 37.000000 27.00000 1.000000 \n",
|
||
"max 36.000000 61.000000 51.00000 64.000000 \n",
|
||
"\n",
|
||
" lelf_right_S lelf_right_V lelf_right_l lelf_right_a \\\n",
|
||
"count 219668.000000 219668.000000 219668.000000 219668.000000 \n",
|
||
"mean -12.451846 3.615228 9.708856 -4.321690 \n",
|
||
"std 17.275787 13.752406 20.085535 5.192879 \n",
|
||
"min -54.000000 -22.000000 -23.000000 -17.000000 \n",
|
||
"25% -29.000000 -8.000000 -7.000000 -9.000000 \n",
|
||
"50% -3.000000 -2.000000 -1.000000 -2.000000 \n",
|
||
"75% 3.000000 17.000000 30.000000 0.000000 \n",
|
||
"max 14.000000 36.000000 50.000000 5.000000 \n",
|
||
"\n",
|
||
" lelf_right_b lelf_right_R_stddev ... lelf_right_V_min \\\n",
|
||
"count 219668.000000 219668.000000 ... 219668.000000 \n",
|
||
"mean 0.812922 0.675670 ... -1.412509 \n",
|
||
"std 1.282808 6.162921 ... 24.534893 \n",
|
||
"min -3.000000 -13.000000 ... -47.000000 \n",
|
||
"25% 0.000000 -5.000000 ... -23.000000 \n",
|
||
"50% 1.000000 3.000000 ... -10.000000 \n",
|
||
"75% 2.000000 6.000000 ... 23.000000 \n",
|
||
"max 6.000000 12.000000 ... 51.000000 \n",
|
||
"\n",
|
||
" lelf_right_l_min lelf_right_a_min lelf_right_b_min \\\n",
|
||
"count 219668.000000 219668.000000 219668.000000 \n",
|
||
"mean 5.210745 -1.110075 0.969308 \n",
|
||
"std 32.666618 2.458654 2.078791 \n",
|
||
"min -46.000000 -11.000000 -8.000000 \n",
|
||
"25% -24.000000 -3.000000 -1.000000 \n",
|
||
"50% -11.000000 -1.000000 1.000000 \n",
|
||
"75% 37.000000 1.000000 2.000000 \n",
|
||
"max 67.000000 7.000000 11.000000 \n",
|
||
"\n",
|
||
" lelf_right_gray_value lelf_right_gray_stddev lelf_right_gray_hist \\\n",
|
||
"count 219668.000000 219668.000000 219668.000000 \n",
|
||
"mean 9.572245 -0.830157 29.420057 \n",
|
||
"std 20.156796 7.929291 25.437186 \n",
|
||
"min -23.000000 -17.000000 -78.000000 \n",
|
||
"25% -7.000000 -9.000000 22.000000 \n",
|
||
"50% -1.000000 3.000000 33.000000 \n",
|
||
"75% 30.000000 6.000000 45.000000 \n",
|
||
"max 51.000000 12.000000 88.000000 \n",
|
||
"\n",
|
||
" lelf_right_gray_max lelf_right_gray_min index \n",
|
||
"count 219668.000000 219668.000000 219668.000000 \n",
|
||
"mean 2.050162 5.112643 4.194229 \n",
|
||
"std 7.411470 32.491219 2.465278 \n",
|
||
"min -17.000000 -46.000000 0.000000 \n",
|
||
"25% -4.000000 -23.000000 2.000000 \n",
|
||
"50% 0.000000 -11.000000 6.000000 \n",
|
||
"75% 9.000000 37.000000 6.000000 \n",
|
||
"max 24.000000 68.000000 7.000000 \n",
|
||
"\n",
|
||
"[8 rows x 51 columns]"
|
||
]
|
||
},
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"train_features_9 = pd.DataFrame()\n",
|
||
"train_features_9['lelf_right_R'] = train_features['left_block_R'] - train_features['right_block_R']\n",
|
||
"train_features_9['lelf_right_G'] = train_features['left_block_G'] - train_features['right_block_G']\n",
|
||
"train_features_9['lelf_right_B'] = train_features['left_block_B'] - train_features['right_block_B']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_H'] = train_features['left_block_H'] - train_features['right_block_H']\n",
|
||
"train_features_9['lelf_right_S'] = train_features['left_block_S'] - train_features['right_block_S']\n",
|
||
"train_features_9['lelf_right_V'] = train_features['left_block_V'] - train_features['right_block_V']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_l'] = train_features['left_block_l'] - train_features['right_block_l']\n",
|
||
"train_features_9['lelf_right_a'] = train_features['left_block_a'] - train_features['right_block_a']\n",
|
||
"train_features_9['lelf_right_b'] = train_features['left_block_b'] - train_features['right_block_b']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_R_stddev'] = train_features['left_block_R_stddev'] - train_features['right_block_R_stddev']\n",
|
||
"train_features_9['lelf_right_G_stddev'] = train_features['left_block_G_stddev'] - train_features['right_block_G_stddev']\n",
|
||
"train_features_9['lelf_right_B_stddev'] = train_features['left_block_B_stddev'] - train_features['right_block_B_stddev']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_H_stddev'] = train_features['left_block_H_stddev'] - train_features['right_block_H_stddev']\n",
|
||
"train_features_9['lelf_right_S_stddev'] = train_features['left_block_S_stddev'] - train_features['right_block_S_stddev']\n",
|
||
"train_features_9['lelf_right_V_stddev'] = train_features['left_block_V_stddev'] - train_features['right_block_V_stddev']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_l_stddev'] = train_features['left_block_l_stddev'] - train_features['right_block_l_stddev']\n",
|
||
"train_features_9['lelf_right_a_stddev'] = train_features['left_block_a_stddev'] - train_features['right_block_a_stddev']\n",
|
||
"train_features_9['lelf_right_b_stddev'] = train_features['left_block_b_stddev'] - train_features['right_block_b_stddev']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_R_hist'] = train_features['left_block_R_hist'] - train_features['right_block_R_hist']\n",
|
||
"train_features_9['lelf_right_G_hist'] = train_features['left_block_G_hist'] - train_features['right_block_G_hist']\n",
|
||
"train_features_9['lelf_right_B_hist'] = train_features['left_block_B_hist'] - train_features['right_block_B_hist']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_H_hist'] = train_features['left_block_H_hist'] - train_features['right_block_H_hist']\n",
|
||
"train_features_9['lelf_right_S_hist'] = train_features['left_block_S_hist'] - train_features['right_block_S_hist']\n",
|
||
"train_features_9['lelf_right_V_hist'] = train_features['left_block_V_hist'] - train_features['right_block_V_hist']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_l_hist'] = train_features['left_block_l_hist'] - train_features['right_block_l_hist']\n",
|
||
"train_features_9['lelf_right_a_hist'] = train_features['left_block_a_hist'] - train_features['right_block_a_hist']\n",
|
||
"train_features_9['lelf_right_b_hist'] = train_features['left_block_b_hist'] - train_features['right_block_b_hist']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_R_max'] = train_features['left_block_R_max'] - train_features['right_block_R_max']\n",
|
||
"train_features_9['lelf_right_G_max'] = train_features['left_block_G_max'] - train_features['right_block_G_max']\n",
|
||
"train_features_9['lelf_right_B_max'] = train_features['left_block_B_max'] - train_features['right_block_B_max']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_H_max'] = train_features['left_block_H_max'] - train_features['right_block_H_max']\n",
|
||
"train_features_9['lelf_right_S_max'] = train_features['left_block_S_max'] - train_features['right_block_S_max']\n",
|
||
"train_features_9['lelf_right_V_max'] = train_features['left_block_V_max'] - train_features['right_block_V_max']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_l_max'] = train_features['left_block_l_max'] - train_features['right_block_l_max']\n",
|
||
"train_features_9['lelf_right_a_max'] = train_features['left_block_a_max'] - train_features['right_block_a_max']\n",
|
||
"train_features_9['lelf_right_b_max'] = train_features['left_block_b_max'] - train_features['right_block_b_max']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_R_min'] = train_features['left_block_R_min'] - train_features['right_block_R_min']\n",
|
||
"train_features_9['lelf_right_G_min'] = train_features['left_block_G_min'] - train_features['right_block_G_min']\n",
|
||
"train_features_9['lelf_right_B_min'] = train_features['left_block_B_min'] - train_features['right_block_B_min']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_H_min'] = train_features['left_block_H_min'] - train_features['right_block_H_min']\n",
|
||
"train_features_9['lelf_right_S_min'] = train_features['left_block_S_min'] - train_features['right_block_S_min']\n",
|
||
"train_features_9['lelf_right_V_min'] = train_features['left_block_V_min'] - train_features['right_block_V_min']\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_l_min'] = train_features['left_block_l_min'] - train_features['right_block_l_min']\n",
|
||
"train_features_9['lelf_right_a_min'] = train_features['left_block_a_min'] - train_features['right_block_a_min']\n",
|
||
"train_features_9['lelf_right_b_min'] = train_features['left_block_b_min'] - train_features['right_block_b_min']\n",
|
||
"\n",
|
||
"# train_features_9['left_grayValue']= train_features['left_grayValue'];\n",
|
||
"# train_features_9['left_grayStddevValue']= train_features['left_grayStddevValue'];\n",
|
||
"# train_features_9['left_grayHist']= train_features['left_grayHist'];\n",
|
||
"# train_features_9['left_grayMax']= train_features['left_grayMax'];\n",
|
||
"# train_features_9['left_grayMin']= train_features['left_grayMin'];\n",
|
||
"\n",
|
||
"# train_features_9['right_grayValue']= train_features['right_grayValue'];\n",
|
||
"# train_features_9['right_grayStddevValue']= train_features['right_grayStddevValue'];\n",
|
||
"# train_features_9['right_grayHist']= train_features['right_grayHist'];\n",
|
||
"# train_features_9['right_grayMax']= train_features['right_grayMax'];\n",
|
||
"# train_features_9['right_grayMin']= train_features['right_grayMin'];\n",
|
||
"\n",
|
||
"# train_features_9['lelf_R_stddev'] = train_features['left_block_R_stddev'] \n",
|
||
"# train_features_9['lelf_G_stddev'] = train_features['left_block_G_stddev'] \n",
|
||
"# train_features_9['lelf_B_stddev'] = train_features['left_block_B_stddev'] \n",
|
||
"\n",
|
||
"# train_features_9['left_block_R_min'] = train_features['left_block_R_min'] \n",
|
||
"# train_features_9['left_block_G_min'] = train_features['left_block_G_min'] \n",
|
||
"# train_features_9['left_block_B_min'] = train_features['left_block_B_min'] \n",
|
||
"\n",
|
||
"\n",
|
||
"train_features_9['lelf_right_gray_value'] = train_features['left_grayValue'] - train_features['right_grayValue']\n",
|
||
"train_features_9['lelf_right_gray_stddev'] = train_features['left_grayStddevValue'] - train_features['right_grayStddevValue']\n",
|
||
"train_features_9['lelf_right_gray_hist'] = train_features['left_grayHist'] - train_features['right_grayHist']\n",
|
||
"train_features_9['lelf_right_gray_max'] = train_features['left_grayMax'] - train_features['right_grayMax']\n",
|
||
"train_features_9['lelf_right_gray_min'] = train_features['left_grayMin'] - train_features['right_grayMin']\n",
|
||
"train_features_9['index'] = train_labels\n",
|
||
"train_features_9.describe()\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"**去掉左边块的方差和白块和右边块的特征**"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 24,
|
||
"metadata": {
|
||
"scrolled": false
|
||
},
|
||
"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>left_block_R</th>\n",
|
||
" <th>left_block_G</th>\n",
|
||
" <th>left_block_B</th>\n",
|
||
" <th>left_block_R_hist</th>\n",
|
||
" <th>left_block_G_hist</th>\n",
|
||
" <th>left_block_B_hist</th>\n",
|
||
" <th>left_block_R_max</th>\n",
|
||
" <th>left_block_G_max</th>\n",
|
||
" <th>left_block_B_max</th>\n",
|
||
" <th>right_block_R</th>\n",
|
||
" <th>right_block_G</th>\n",
|
||
" <th>right_block_B</th>\n",
|
||
" <th>right_block_R_hist</th>\n",
|
||
" <th>right_block_G_hist</th>\n",
|
||
" <th>right_block_B_hist</th>\n",
|
||
" <th>right_block_R_max</th>\n",
|
||
" <th>right_block_G_max</th>\n",
|
||
" <th>right_block_B_max</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>count</th>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>mean</th>\n",
|
||
" <td>178.697470</td>\n",
|
||
" <td>149.211462</td>\n",
|
||
" <td>156.498504</td>\n",
|
||
" <td>184.695405</td>\n",
|
||
" <td>155.233132</td>\n",
|
||
" <td>163.526025</td>\n",
|
||
" <td>199.778027</td>\n",
|
||
" <td>182.282382</td>\n",
|
||
" <td>182.766180</td>\n",
|
||
" <td>175.436182</td>\n",
|
||
" <td>134.494487</td>\n",
|
||
" <td>146.433846</td>\n",
|
||
" <td>171.109646</td>\n",
|
||
" <td>122.180043</td>\n",
|
||
" <td>137.949731</td>\n",
|
||
" <td>199.220391</td>\n",
|
||
" <td>176.936189</td>\n",
|
||
" <td>178.925115</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>std</th>\n",
|
||
" <td>24.046505</td>\n",
|
||
" <td>31.729368</td>\n",
|
||
" <td>28.741443</td>\n",
|
||
" <td>23.740233</td>\n",
|
||
" <td>35.584197</td>\n",
|
||
" <td>29.305194</td>\n",
|
||
" <td>19.174077</td>\n",
|
||
" <td>21.953094</td>\n",
|
||
" <td>20.304439</td>\n",
|
||
" <td>19.894154</td>\n",
|
||
" <td>19.784332</td>\n",
|
||
" <td>21.177152</td>\n",
|
||
" <td>21.059931</td>\n",
|
||
" <td>23.465965</td>\n",
|
||
" <td>23.959939</td>\n",
|
||
" <td>18.239064</td>\n",
|
||
" <td>18.640658</td>\n",
|
||
" <td>18.174246</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>min</th>\n",
|
||
" <td>15.000000</td>\n",
|
||
" <td>67.000000</td>\n",
|
||
" <td>36.000000</td>\n",
|
||
" <td>13.000000</td>\n",
|
||
" <td>30.000000</td>\n",
|
||
" <td>36.000000</td>\n",
|
||
" <td>31.000000</td>\n",
|
||
" <td>87.000000</td>\n",
|
||
" <td>45.000000</td>\n",
|
||
" <td>110.000000</td>\n",
|
||
" <td>76.000000</td>\n",
|
||
" <td>78.000000</td>\n",
|
||
" <td>108.000000</td>\n",
|
||
" <td>65.000000</td>\n",
|
||
" <td>69.000000</td>\n",
|
||
" <td>129.000000</td>\n",
|
||
" <td>109.000000</td>\n",
|
||
" <td>106.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>25%</th>\n",
|
||
" <td>164.000000</td>\n",
|
||
" <td>124.000000</td>\n",
|
||
" <td>135.000000</td>\n",
|
||
" <td>171.000000</td>\n",
|
||
" <td>132.000000</td>\n",
|
||
" <td>145.000000</td>\n",
|
||
" <td>192.000000</td>\n",
|
||
" <td>171.000000</td>\n",
|
||
" <td>171.000000</td>\n",
|
||
" <td>165.000000</td>\n",
|
||
" <td>123.000000</td>\n",
|
||
" <td>136.000000</td>\n",
|
||
" <td>159.000000</td>\n",
|
||
" <td>105.000000</td>\n",
|
||
" <td>125.000000</td>\n",
|
||
" <td>192.000000</td>\n",
|
||
" <td>168.000000</td>\n",
|
||
" <td>170.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>50%</th>\n",
|
||
" <td>180.000000</td>\n",
|
||
" <td>147.000000</td>\n",
|
||
" <td>158.000000</td>\n",
|
||
" <td>189.000000</td>\n",
|
||
" <td>161.000000</td>\n",
|
||
" <td>168.000000</td>\n",
|
||
" <td>201.000000</td>\n",
|
||
" <td>182.000000</td>\n",
|
||
" <td>184.000000</td>\n",
|
||
" <td>178.000000</td>\n",
|
||
" <td>136.000000</td>\n",
|
||
" <td>149.000000</td>\n",
|
||
" <td>173.000000</td>\n",
|
||
" <td>123.000000</td>\n",
|
||
" <td>140.000000</td>\n",
|
||
" <td>199.000000</td>\n",
|
||
" <td>176.000000</td>\n",
|
||
" <td>180.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>75%</th>\n",
|
||
" <td>194.000000</td>\n",
|
||
" <td>173.000000</td>\n",
|
||
" <td>177.000000</td>\n",
|
||
" <td>198.000000</td>\n",
|
||
" <td>181.000000</td>\n",
|
||
" <td>183.000000</td>\n",
|
||
" <td>209.000000</td>\n",
|
||
" <td>195.000000</td>\n",
|
||
" <td>195.000000</td>\n",
|
||
" <td>187.000000</td>\n",
|
||
" <td>148.000000</td>\n",
|
||
" <td>159.000000</td>\n",
|
||
" <td>185.000000</td>\n",
|
||
" <td>138.000000</td>\n",
|
||
" <td>154.000000</td>\n",
|
||
" <td>208.000000</td>\n",
|
||
" <td>187.000000</td>\n",
|
||
" <td>189.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>max</th>\n",
|
||
" <td>253.000000</td>\n",
|
||
" <td>235.000000</td>\n",
|
||
" <td>244.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>253.000000</td>\n",
|
||
" <td>220.000000</td>\n",
|
||
" <td>226.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>233.000000</td>\n",
|
||
" <td>232.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" left_block_R left_block_G left_block_B left_block_R_hist \\\n",
|
||
"count 151086.000000 151086.000000 151086.000000 151086.000000 \n",
|
||
"mean 178.697470 149.211462 156.498504 184.695405 \n",
|
||
"std 24.046505 31.729368 28.741443 23.740233 \n",
|
||
"min 15.000000 67.000000 36.000000 13.000000 \n",
|
||
"25% 164.000000 124.000000 135.000000 171.000000 \n",
|
||
"50% 180.000000 147.000000 158.000000 189.000000 \n",
|
||
"75% 194.000000 173.000000 177.000000 198.000000 \n",
|
||
"max 253.000000 235.000000 244.000000 254.000000 \n",
|
||
"\n",
|
||
" left_block_G_hist left_block_B_hist left_block_R_max \\\n",
|
||
"count 151086.000000 151086.000000 151086.000000 \n",
|
||
"mean 155.233132 163.526025 199.778027 \n",
|
||
"std 35.584197 29.305194 19.174077 \n",
|
||
"min 30.000000 36.000000 31.000000 \n",
|
||
"25% 132.000000 145.000000 192.000000 \n",
|
||
"50% 161.000000 168.000000 201.000000 \n",
|
||
"75% 181.000000 183.000000 209.000000 \n",
|
||
"max 254.000000 254.000000 255.000000 \n",
|
||
"\n",
|
||
" left_block_G_max left_block_B_max right_block_R right_block_G \\\n",
|
||
"count 151086.000000 151086.000000 151086.000000 151086.000000 \n",
|
||
"mean 182.282382 182.766180 175.436182 134.494487 \n",
|
||
"std 21.953094 20.304439 19.894154 19.784332 \n",
|
||
"min 87.000000 45.000000 110.000000 76.000000 \n",
|
||
"25% 171.000000 171.000000 165.000000 123.000000 \n",
|
||
"50% 182.000000 184.000000 178.000000 136.000000 \n",
|
||
"75% 195.000000 195.000000 187.000000 148.000000 \n",
|
||
"max 255.000000 255.000000 253.000000 220.000000 \n",
|
||
"\n",
|
||
" right_block_B right_block_R_hist right_block_G_hist \\\n",
|
||
"count 151086.000000 151086.000000 151086.000000 \n",
|
||
"mean 146.433846 171.109646 122.180043 \n",
|
||
"std 21.177152 21.059931 23.465965 \n",
|
||
"min 78.000000 108.000000 65.000000 \n",
|
||
"25% 136.000000 159.000000 105.000000 \n",
|
||
"50% 149.000000 173.000000 123.000000 \n",
|
||
"75% 159.000000 185.000000 138.000000 \n",
|
||
"max 226.000000 254.000000 233.000000 \n",
|
||
"\n",
|
||
" right_block_B_hist right_block_R_max right_block_G_max \\\n",
|
||
"count 151086.000000 151086.000000 151086.000000 \n",
|
||
"mean 137.949731 199.220391 176.936189 \n",
|
||
"std 23.959939 18.239064 18.640658 \n",
|
||
"min 69.000000 129.000000 109.000000 \n",
|
||
"25% 125.000000 192.000000 168.000000 \n",
|
||
"50% 140.000000 199.000000 176.000000 \n",
|
||
"75% 154.000000 208.000000 187.000000 \n",
|
||
"max 232.000000 255.000000 255.000000 \n",
|
||
"\n",
|
||
" right_block_B_max \n",
|
||
"count 151086.000000 \n",
|
||
"mean 178.925115 \n",
|
||
"std 18.174246 \n",
|
||
"min 106.000000 \n",
|
||
"25% 170.000000 \n",
|
||
"50% 180.000000 \n",
|
||
"75% 189.000000 \n",
|
||
"max 254.000000 "
|
||
]
|
||
},
|
||
"execution_count": 24,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# train_features = train_features.drop(\"left_block_R\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_G\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_B\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"left_block_R_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_G_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_B_hist\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_R_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_G_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_B_stddev\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"left_block_R_max\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_G_max\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_B_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_H\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_S\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_V\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_H_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_S_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_H_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_S_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_V_hist\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_H_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_S_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_V_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_l\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_a\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_b\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_l_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_a_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_b_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_l_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_a_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_b_hist\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_l_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_a_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_b_max\",axis=1)\n",
|
||
"##################################################################\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"right_block_R\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_G\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_B\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_R_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_G_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_B_stddev\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"right_block_R_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_G_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_B_hist\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"right_block_R_max\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_G_max\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_B_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_H\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_S\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_V\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_H_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_S_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_H_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_S_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_V_hist\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_H_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_S_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_V_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_l\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_a\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_b\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_l_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_a_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_b_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_l_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_a_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_b_hist\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_l_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_a_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_b_max\",axis=1)\n",
|
||
"\n",
|
||
"####################################################################\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_R\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_G\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_B\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_R_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_G_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_B_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_R_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_G_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_B_hist\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_R_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_G_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_B_max\",axis=1)\n",
|
||
"\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_H\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_S\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_V\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_H_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_S_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_H_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_S_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_V_hist\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_H_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_S_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_V_max\",axis=1)\n",
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_l\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_a\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_b\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_l_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_a_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_b_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_l_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_a_hist\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_b_hist\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_l_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_a_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_b_max\",axis=1)\n",
|
||
"\n",
|
||
"##################################################################\n",
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
"train_features.describe()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"**去掉所有块的方差特征**"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_R_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_G_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_B_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_H_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_S_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_l_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_a_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_b_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_R_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_G_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_B_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_H_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_S_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_l_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_a_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_b_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_R_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_G_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_B_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_H_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_S_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_l_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_a_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_b_stddev\",axis=1)\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# train_features = train_features.drop(\"left_block_R\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_G\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_B\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"left_block_H\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_S\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_V\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"left_block_l\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_a\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_b\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"right_block_R\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_G\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_B\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"right_block_H\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_S\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_V\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"right_block_l\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_a\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_b\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_R\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_G\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_B\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_H\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_S\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_V\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_l\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_a\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_b\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"left_block_R_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_G_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_B_hist\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"left_block_H_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_S_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_V_hist\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"left_block_l_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_a_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"left_block_b_hist\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"right_block_R_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_G_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_B_hist\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"right_block_H_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_S_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_V_hist\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"right_block_l_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_a_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"right_block_b_hist\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_R_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_G_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_B_hist\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_H_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_S_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_V_hist\",axis=1)\n",
|
||
"\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_l_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_a_hist\",axis=1)\n",
|
||
"# train_features = train_features.drop(\"whiteBlock_b_hist\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_R_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_G_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_B_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_H_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_S_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_l_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_a_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_b_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_R_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_G_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_B_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_H_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_S_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_l_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_a_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_b_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_R_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_G_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_B_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_H_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_S_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_l_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_a_stddev\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_b_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_R_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_G_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_B_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_H_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_S_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_V_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"left_block_l_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_a_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"left_block_b_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_R_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_G_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_B_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_H_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_S_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_V_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"right_block_l_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_a_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"right_block_b_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_R_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_G_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_B_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_H_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_S_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_V_max\",axis=1)\n",
|
||
"\n",
|
||
"train_features = train_features.drop(\"whiteBlock_l_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_a_max\",axis=1)\n",
|
||
"train_features = train_features.drop(\"whiteBlock_b_max\",axis=1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"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>left_block_R</th>\n",
|
||
" <th>left_block_G</th>\n",
|
||
" <th>left_block_B</th>\n",
|
||
" <th>left_block_H</th>\n",
|
||
" <th>left_block_S</th>\n",
|
||
" <th>left_block_V</th>\n",
|
||
" <th>left_block_l</th>\n",
|
||
" <th>left_block_a</th>\n",
|
||
" <th>left_block_b</th>\n",
|
||
" <th>left_block_R_hist</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>whiteBlock_b_hist</th>\n",
|
||
" <th>whiteBlock_R_max</th>\n",
|
||
" <th>whiteBlock_G_max</th>\n",
|
||
" <th>whiteBlock_B_max</th>\n",
|
||
" <th>whiteBlock_H_max</th>\n",
|
||
" <th>whiteBlock_S_max</th>\n",
|
||
" <th>whiteBlock_V_max</th>\n",
|
||
" <th>whiteBlock_l_max</th>\n",
|
||
" <th>whiteBlock_a_max</th>\n",
|
||
" <th>whiteBlock_b_max</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>count</th>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" <td>151086.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>mean</th>\n",
|
||
" <td>178.697470</td>\n",
|
||
" <td>149.211462</td>\n",
|
||
" <td>156.498504</td>\n",
|
||
" <td>179.578862</td>\n",
|
||
" <td>48.304482</td>\n",
|
||
" <td>180.058682</td>\n",
|
||
" <td>164.499669</td>\n",
|
||
" <td>140.003925</td>\n",
|
||
" <td>127.971162</td>\n",
|
||
" <td>184.695405</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>130.782197</td>\n",
|
||
" <td>202.084376</td>\n",
|
||
" <td>192.246787</td>\n",
|
||
" <td>189.165853</td>\n",
|
||
" <td>85.140000</td>\n",
|
||
" <td>25.093086</td>\n",
|
||
" <td>203.718994</td>\n",
|
||
" <td>200.058430</td>\n",
|
||
" <td>132.367804</td>\n",
|
||
" <td>131.734747</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>std</th>\n",
|
||
" <td>24.046505</td>\n",
|
||
" <td>31.729368</td>\n",
|
||
" <td>28.741443</td>\n",
|
||
" <td>76.696214</td>\n",
|
||
" <td>19.148976</td>\n",
|
||
" <td>23.796653</td>\n",
|
||
" <td>28.073481</td>\n",
|
||
" <td>5.934290</td>\n",
|
||
" <td>4.505780</td>\n",
|
||
" <td>23.740233</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4.662874</td>\n",
|
||
" <td>19.940399</td>\n",
|
||
" <td>21.283803</td>\n",
|
||
" <td>21.176846</td>\n",
|
||
" <td>98.779586</td>\n",
|
||
" <td>11.144240</td>\n",
|
||
" <td>18.427383</td>\n",
|
||
" <td>19.261219</td>\n",
|
||
" <td>2.745161</td>\n",
|
||
" <td>4.569725</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>min</th>\n",
|
||
" <td>15.000000</td>\n",
|
||
" <td>67.000000</td>\n",
|
||
" <td>36.000000</td>\n",
|
||
" <td>6.000000</td>\n",
|
||
" <td>2.000000</td>\n",
|
||
" <td>78.000000</td>\n",
|
||
" <td>73.000000</td>\n",
|
||
" <td>97.000000</td>\n",
|
||
" <td>105.000000</td>\n",
|
||
" <td>13.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>107.000000</td>\n",
|
||
" <td>125.000000</td>\n",
|
||
" <td>116.000000</td>\n",
|
||
" <td>107.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>125.000000</td>\n",
|
||
" <td>125.000000</td>\n",
|
||
" <td>127.000000</td>\n",
|
||
" <td>108.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>25%</th>\n",
|
||
" <td>164.000000</td>\n",
|
||
" <td>124.000000</td>\n",
|
||
" <td>135.000000</td>\n",
|
||
" <td>149.000000</td>\n",
|
||
" <td>35.000000</td>\n",
|
||
" <td>165.000000</td>\n",
|
||
" <td>143.000000</td>\n",
|
||
" <td>136.000000</td>\n",
|
||
" <td>127.000000</td>\n",
|
||
" <td>171.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>130.000000</td>\n",
|
||
" <td>193.000000</td>\n",
|
||
" <td>182.000000</td>\n",
|
||
" <td>179.000000</td>\n",
|
||
" <td>19.000000</td>\n",
|
||
" <td>17.000000</td>\n",
|
||
" <td>197.000000</td>\n",
|
||
" <td>190.000000</td>\n",
|
||
" <td>130.000000</td>\n",
|
||
" <td>131.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>50%</th>\n",
|
||
" <td>180.000000</td>\n",
|
||
" <td>147.000000</td>\n",
|
||
" <td>158.000000</td>\n",
|
||
" <td>217.000000</td>\n",
|
||
" <td>49.000000</td>\n",
|
||
" <td>181.000000</td>\n",
|
||
" <td>165.000000</td>\n",
|
||
" <td>142.000000</td>\n",
|
||
" <td>128.000000</td>\n",
|
||
" <td>189.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>131.000000</td>\n",
|
||
" <td>205.000000</td>\n",
|
||
" <td>196.000000</td>\n",
|
||
" <td>193.000000</td>\n",
|
||
" <td>27.000000</td>\n",
|
||
" <td>22.000000</td>\n",
|
||
" <td>205.000000</td>\n",
|
||
" <td>203.000000</td>\n",
|
||
" <td>132.000000</td>\n",
|
||
" <td>132.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>75%</th>\n",
|
||
" <td>194.000000</td>\n",
|
||
" <td>173.000000</td>\n",
|
||
" <td>177.000000</td>\n",
|
||
" <td>239.000000</td>\n",
|
||
" <td>65.000000</td>\n",
|
||
" <td>196.000000</td>\n",
|
||
" <td>184.000000</td>\n",
|
||
" <td>145.000000</td>\n",
|
||
" <td>130.000000</td>\n",
|
||
" <td>198.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>133.000000</td>\n",
|
||
" <td>212.000000</td>\n",
|
||
" <td>204.000000</td>\n",
|
||
" <td>201.000000</td>\n",
|
||
" <td>199.000000</td>\n",
|
||
" <td>32.000000</td>\n",
|
||
" <td>212.000000</td>\n",
|
||
" <td>210.000000</td>\n",
|
||
" <td>134.000000</td>\n",
|
||
" <td>134.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>max</th>\n",
|
||
" <td>253.000000</td>\n",
|
||
" <td>235.000000</td>\n",
|
||
" <td>244.000000</td>\n",
|
||
" <td>247.000000</td>\n",
|
||
" <td>206.000000</td>\n",
|
||
" <td>253.000000</td>\n",
|
||
" <td>241.000000</td>\n",
|
||
" <td>151.000000</td>\n",
|
||
" <td>150.000000</td>\n",
|
||
" <td>254.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>150.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>123.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>255.000000</td>\n",
|
||
" <td>158.000000</td>\n",
|
||
" <td>153.000000</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>8 rows × 81 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" left_block_R left_block_G left_block_B left_block_H \\\n",
|
||
"count 151086.000000 151086.000000 151086.000000 151086.000000 \n",
|
||
"mean 178.697470 149.211462 156.498504 179.578862 \n",
|
||
"std 24.046505 31.729368 28.741443 76.696214 \n",
|
||
"min 15.000000 67.000000 36.000000 6.000000 \n",
|
||
"25% 164.000000 124.000000 135.000000 149.000000 \n",
|
||
"50% 180.000000 147.000000 158.000000 217.000000 \n",
|
||
"75% 194.000000 173.000000 177.000000 239.000000 \n",
|
||
"max 253.000000 235.000000 244.000000 247.000000 \n",
|
||
"\n",
|
||
" left_block_S left_block_V left_block_l left_block_a \\\n",
|
||
"count 151086.000000 151086.000000 151086.000000 151086.000000 \n",
|
||
"mean 48.304482 180.058682 164.499669 140.003925 \n",
|
||
"std 19.148976 23.796653 28.073481 5.934290 \n",
|
||
"min 2.000000 78.000000 73.000000 97.000000 \n",
|
||
"25% 35.000000 165.000000 143.000000 136.000000 \n",
|
||
"50% 49.000000 181.000000 165.000000 142.000000 \n",
|
||
"75% 65.000000 196.000000 184.000000 145.000000 \n",
|
||
"max 206.000000 253.000000 241.000000 151.000000 \n",
|
||
"\n",
|
||
" left_block_b left_block_R_hist ... whiteBlock_b_hist \\\n",
|
||
"count 151086.000000 151086.000000 ... 151086.000000 \n",
|
||
"mean 127.971162 184.695405 ... 130.782197 \n",
|
||
"std 4.505780 23.740233 ... 4.662874 \n",
|
||
"min 105.000000 13.000000 ... 107.000000 \n",
|
||
"25% 127.000000 171.000000 ... 130.000000 \n",
|
||
"50% 128.000000 189.000000 ... 131.000000 \n",
|
||
"75% 130.000000 198.000000 ... 133.000000 \n",
|
||
"max 150.000000 254.000000 ... 150.000000 \n",
|
||
"\n",
|
||
" whiteBlock_R_max whiteBlock_G_max whiteBlock_B_max whiteBlock_H_max \\\n",
|
||
"count 151086.000000 151086.000000 151086.000000 151086.000000 \n",
|
||
"mean 202.084376 192.246787 189.165853 85.140000 \n",
|
||
"std 19.940399 21.283803 21.176846 98.779586 \n",
|
||
"min 125.000000 116.000000 107.000000 0.000000 \n",
|
||
"25% 193.000000 182.000000 179.000000 19.000000 \n",
|
||
"50% 205.000000 196.000000 193.000000 27.000000 \n",
|
||
"75% 212.000000 204.000000 201.000000 199.000000 \n",
|
||
"max 255.000000 255.000000 255.000000 255.000000 \n",
|
||
"\n",
|
||
" whiteBlock_S_max whiteBlock_V_max whiteBlock_l_max whiteBlock_a_max \\\n",
|
||
"count 151086.000000 151086.000000 151086.000000 151086.000000 \n",
|
||
"mean 25.093086 203.718994 200.058430 132.367804 \n",
|
||
"std 11.144240 18.427383 19.261219 2.745161 \n",
|
||
"min 0.000000 125.000000 125.000000 127.000000 \n",
|
||
"25% 17.000000 197.000000 190.000000 130.000000 \n",
|
||
"50% 22.000000 205.000000 203.000000 132.000000 \n",
|
||
"75% 32.000000 212.000000 210.000000 134.000000 \n",
|
||
"max 123.000000 255.000000 255.000000 158.000000 \n",
|
||
"\n",
|
||
" whiteBlock_b_max \n",
|
||
"count 151086.000000 \n",
|
||
"mean 131.734747 \n",
|
||
"std 4.569725 \n",
|
||
"min 108.000000 \n",
|
||
"25% 131.000000 \n",
|
||
"50% 132.000000 \n",
|
||
"75% 134.000000 \n",
|
||
"max 153.000000 \n",
|
||
"\n",
|
||
"[8 rows x 81 columns]"
|
||
]
|
||
},
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"train_features.describe()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from sklearn.model_selection import KFold\n",
|
||
"from sklearn.ensemble import RandomForestClassifier\n",
|
||
"from sklearn.metrics import accuracy_score\n",
|
||
"from sklearn.svm import SVC\n",
|
||
"from sklearn.metrics import f1_score\n",
|
||
"from sklearn.metrics import precision_score\n",
|
||
"from sklearn.metrics import recall_score\n",
|
||
"\n",
|
||
"\n",
|
||
"from sklearn.ensemble import ExtraTreesClassifier\n",
|
||
"from sklearn.ensemble import AdaBoostClassifier\n",
|
||
"\n",
|
||
"from sklearn.cross_validation import train_test_split\n",
|
||
"X_train ,X_test,y_train,y_test = train_test_split(train_features,train_labels,test_size = 0.002, random_state = 20)\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"KFold(n_splits=5, random_state=None, shuffle=False)\n",
|
||
"('TRAIN:', array([ 21967, 21968, 21969, ..., 109831, 109832, 109833]), 'TEST:', array([ 0, 1, 2, ..., 21964, 21965, 21966]))\n",
|
||
"svm linear accuracy score: 0.99995447717\n",
|
||
"f1 score: 0.99995447717\n",
|
||
"runing time: 0:00:09.607839\n",
|
||
"('TRAIN:', array([ 0, 1, 2, ..., 109831, 109832, 109833]), 'TEST:', array([21967, 21968, 21969, ..., 43931, 43932, 43933]))\n",
|
||
"svm linear accuracy score: 1.0\n",
|
||
"f1 score: 1.0\n",
|
||
"runing time: 0:00:08.782720\n",
|
||
"('TRAIN:', array([ 0, 1, 2, ..., 109831, 109832, 109833]), 'TEST:', array([43934, 43935, 43936, ..., 65898, 65899, 65900]))\n",
|
||
"svm linear accuracy score: 0.999817908681\n",
|
||
"f1 score: 0.999817908681\n",
|
||
"runing time: 0:00:07.788273\n",
|
||
"('TRAIN:', array([ 0, 1, 2, ..., 109831, 109832, 109833]), 'TEST:', array([65901, 65902, 65903, ..., 87865, 87866, 87867]))\n",
|
||
"svm linear accuracy score: 0.999863431511\n",
|
||
"f1 score: 0.999863431511\n",
|
||
"runing time: 0:00:07.821979\n",
|
||
"('TRAIN:', array([ 0, 1, 2, ..., 87865, 87866, 87867]), 'TEST:', array([ 87868, 87869, 87870, ..., 109831, 109832, 109833]))\n",
|
||
"svm linear accuracy score: 0.999908950196\n",
|
||
"f1 score: 0.999908950196\n",
|
||
"runing time: 0:00:08.742652\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"\n",
|
||
"\n",
|
||
"X = train_features.values\n",
|
||
"y = train_labels.values\n",
|
||
"\n",
|
||
"kf = KFold(n_splits=5)\n",
|
||
"kf.get_n_splits(X)\n",
|
||
"\n",
|
||
"print(kf) \n",
|
||
"\n",
|
||
"for train_index, test_index in kf.split(X):\n",
|
||
" print(\"TRAIN:\", train_index, \"TEST:\", test_index)\n",
|
||
" X_train, X_test = X[train_index], X[test_index]\n",
|
||
" y_train, y_test = y[train_index], y[test_index]\n",
|
||
" \n",
|
||
" \n",
|
||
" from datetime import datetime\n",
|
||
" trarining_start_time = datetime.now()\n",
|
||
"\n",
|
||
" clf_svm_linear = SVC(kernel = 'linear',gamma=0.00001,C=0.1)\n",
|
||
" clf_svm_linear = clf_svm_linear.fit(X_train, y_train)\n",
|
||
" pred = clf_svm_linear.predict(X_test)\n",
|
||
" print \"svm linear accuracy score:\" , accuracy_score(y_test,pred)\n",
|
||
" print \"f1 score:\" , f1_score(y_test,pred,average='micro')\n",
|
||
"\n",
|
||
"\n",
|
||
" training_stop_time = datetime.now()\n",
|
||
"\n",
|
||
" print \"runing time:\",(training_stop_time - trarining_start_time)\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"metadata": {
|
||
"collapsed": true,
|
||
"scrolled": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"X_train = train_features_9\n",
|
||
"y_train = train_labels\n",
|
||
"\n",
|
||
"# X_test = test_features\n",
|
||
"# y_test = test_labels\n",
|
||
"\n",
|
||
"#clf_svm_linear = SVC(kernel = 'linear',gamma=0.00001,C=0.01)\n",
|
||
"clf_svm_linear = SVC(kernel = 'linear',gamma=0.00001,C=0.01)\n",
|
||
"\n",
|
||
"clf_svm_linear = clf_svm_linear.fit(X_train, y_train)\n",
|
||
"# pred = clf_svm_linear.predict(X_test)\n",
|
||
"# print \"svm linear accuracy score:\" , accuracy_score(y_test,pred)\n",
|
||
"# print \"f1 score:\" , f1_score(y_test,pred,average='micro')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 66,
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"svm linear accuracy score: 0.999125953712\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"pred = clf_svm_linear.predict(X_train)\n",
|
||
"print \"svm linear accuracy score:\" , accuracy_score(y_train,pred)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 67,
|
||
"metadata": {
|
||
"scrolled": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"ename": "ValueError",
|
||
"evalue": "X.shape[1] = 150 should be equal to 35, the number of features at training time",
|
||
"output_type": "error",
|
||
"traceback": [
|
||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
|
||
"\u001b[0;32m<ipython-input-67-6d17ee5d1991>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mpred\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mclf_svm_linear\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_test\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0;34m\"svm linear accuracy score:\"\u001b[0m \u001b[0;34m,\u001b[0m \u001b[0maccuracy_score\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my_test\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpred\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0;34m\"f1 score:\"\u001b[0m \u001b[0;34m,\u001b[0m \u001b[0mf1_score\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my_test\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpred\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0maverage\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'micro'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"preds:\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpred\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'trues:\\n'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0my_test\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
||
"\u001b[0;32m/Users/panxiaochun/anaconda3/envs/python27/lib/python2.7/site-packages/sklearn/svm/base.pyc\u001b[0m in \u001b[0;36mpredict\u001b[0;34m(self, X)\u001b[0m\n\u001b[1;32m 571\u001b[0m \u001b[0mClass\u001b[0m \u001b[0mlabels\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0msamples\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 572\u001b[0m \"\"\"\n\u001b[0;32m--> 573\u001b[0;31m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBaseSVC\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 574\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclasses_\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtake\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mintp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 575\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
|
||
"\u001b[0;32m/Users/panxiaochun/anaconda3/envs/python27/lib/python2.7/site-packages/sklearn/svm/base.pyc\u001b[0m in \u001b[0;36mpredict\u001b[0;34m(self, X)\u001b[0m\n\u001b[1;32m 308\u001b[0m \u001b[0my_pred\u001b[0m \u001b[0;34m:\u001b[0m \u001b[0marray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mshape\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mn_samples\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 309\u001b[0m \"\"\"\n\u001b[0;32m--> 310\u001b[0;31m \u001b[0mX\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate_for_predict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 311\u001b[0m \u001b[0mpredict\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_sparse_predict\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_sparse\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_dense_predict\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 312\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
||
"\u001b[0;32m/Users/panxiaochun/anaconda3/envs/python27/lib/python2.7/site-packages/sklearn/svm/base.pyc\u001b[0m in \u001b[0;36m_validate_for_predict\u001b[0;34m(self, X)\u001b[0m\n\u001b[1;32m 477\u001b[0m raise ValueError(\"X.shape[1] = %d should be equal to %d, \"\n\u001b[1;32m 478\u001b[0m \u001b[0;34m\"the number of features at training time\"\u001b[0m \u001b[0;34m%\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 479\u001b[0;31m (n_features, self.shape_fit_[1]))\n\u001b[0m\u001b[1;32m 480\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 481\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
|
||
"\u001b[0;31mValueError\u001b[0m: X.shape[1] = 150 should be equal to 35, the number of features at training time"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"pred = clf_svm_linear.predict(X_test)\n",
|
||
"print \"svm linear accuracy score:\" , accuracy_score(y_test,pred)\n",
|
||
"print \"f1 score:\" , f1_score(y_test,pred,average='micro')\n",
|
||
"print(\"preds:\",pred[:10])\n",
|
||
"print('trues:\\n',y_test[:10])\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 96,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from sklearn_porter import Porter\n",
|
||
"\n",
|
||
"porter_clf_svm_linear = Porter(clf_svm_linear, language='c').export()\n",
|
||
"#porter_clf_svm_poly = Porter(clf_svm_poly, language='c').export()\n",
|
||
"# porter_clf_forest = Porter(clf_randomForest, language='c').export()\n",
|
||
"#porter_clf_extra_forest = Porter(clf_extra_forest, language='c').export()\n",
|
||
"\n",
|
||
"#print(porter_clf_svm_linear)\n",
|
||
"f = open(\"clf/clf_svm_linear_45features_201710119.txt\",'wb')\n",
|
||
"#f = open(\"clf_svm_linear_125100_low_feature_data.txt\",'wb')\n",
|
||
"f.write(porter_clf_svm_linear)\n",
|
||
"f.close()\n",
|
||
"#f = open(\"clf_svm_poly_2457100_data.txt\",'wb')\n",
|
||
"#f.write(porter_clf_svm_poly)\n",
|
||
"#f.close()\n",
|
||
"# f = open(\"clf/clf_randomForest_27features_stddev_c_0_01.txt\",'wb')\n",
|
||
"# f.write(porter_clf_forest)\n",
|
||
"# f.close()\n",
|
||
"# f = open(\"oclf_extra_forest_2457100_data_0824.txt\",'wb')\n",
|
||
"# f.write(porter_clf_extra_forest)\n",
|
||
"# f.close()\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"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>lelf_right_R</th>\n",
|
||
" <th>lelf_right_G</th>\n",
|
||
" <th>lelf_right_B</th>\n",
|
||
" <th>lelf_right_H</th>\n",
|
||
" <th>lelf_right_V</th>\n",
|
||
" <th>lelf_right_l</th>\n",
|
||
" <th>lelf_right_a</th>\n",
|
||
" <th>lelf_right_b</th>\n",
|
||
" <th>lelf_right_R_stddev</th>\n",
|
||
" <th>lelf_right_G_stddev</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>lelf_right_H_min</th>\n",
|
||
" <th>lelf_right_V_min</th>\n",
|
||
" <th>lelf_right_l_min</th>\n",
|
||
" <th>lelf_right_a_min</th>\n",
|
||
" <th>lelf_right_b_min</th>\n",
|
||
" <th>lelf_right_gray_value</th>\n",
|
||
" <th>lelf_right_gray_stddev</th>\n",
|
||
" <th>lelf_right_gray_hist</th>\n",
|
||
" <th>lelf_right_gray_max</th>\n",
|
||
" <th>lelf_right_gray_min</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>count</th>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" <td>9472.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>mean</th>\n",
|
||
" <td>4.998839</td>\n",
|
||
" <td>14.260557</td>\n",
|
||
" <td>10.544130</td>\n",
|
||
" <td>-26.535051</td>\n",
|
||
" <td>5.136824</td>\n",
|
||
" <td>11.130912</td>\n",
|
||
" <td>-4.211888</td>\n",
|
||
" <td>0.506651</td>\n",
|
||
" <td>-0.101668</td>\n",
|
||
" <td>-2.332454</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>-24.483847</td>\n",
|
||
" <td>0.697741</td>\n",
|
||
" <td>8.245777</td>\n",
|
||
" <td>-1.225190</td>\n",
|
||
" <td>0.677787</td>\n",
|
||
" <td>11.064189</td>\n",
|
||
" <td>-1.537901</td>\n",
|
||
" <td>25.800570</td>\n",
|
||
" <td>2.967166</td>\n",
|
||
" <td>8.171769</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>std</th>\n",
|
||
" <td>12.451409</td>\n",
|
||
" <td>22.429921</td>\n",
|
||
" <td>18.349035</td>\n",
|
||
" <td>54.743651</td>\n",
|
||
" <td>12.618626</td>\n",
|
||
" <td>18.760779</td>\n",
|
||
" <td>5.012831</td>\n",
|
||
" <td>1.030707</td>\n",
|
||
" <td>5.735642</td>\n",
|
||
" <td>8.606866</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>88.738964</td>\n",
|
||
" <td>20.699370</td>\n",
|
||
" <td>31.093443</td>\n",
|
||
" <td>2.420103</td>\n",
|
||
" <td>1.601545</td>\n",
|
||
" <td>18.888033</td>\n",
|
||
" <td>7.605926</td>\n",
|
||
" <td>26.195686</td>\n",
|
||
" <td>7.129989</td>\n",
|
||
" <td>31.073313</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>min</th>\n",
|
||
" <td>-18.000000</td>\n",
|
||
" <td>-23.000000</td>\n",
|
||
" <td>-22.000000</td>\n",
|
||
" <td>-243.000000</td>\n",
|
||
" <td>-18.000000</td>\n",
|
||
" <td>-21.000000</td>\n",
|
||
" <td>-16.000000</td>\n",
|
||
" <td>-4.000000</td>\n",
|
||
" <td>-15.000000</td>\n",
|
||
" <td>-22.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>-248.000000</td>\n",
|
||
" <td>-68.000000</td>\n",
|
||
" <td>-51.000000</td>\n",
|
||
" <td>-11.000000</td>\n",
|
||
" <td>-5.000000</td>\n",
|
||
" <td>-21.000000</td>\n",
|
||
" <td>-19.000000</td>\n",
|
||
" <td>-61.000000</td>\n",
|
||
" <td>-16.000000</td>\n",
|
||
" <td>-50.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>25%</th>\n",
|
||
" <td>-6.000000</td>\n",
|
||
" <td>-6.000000</td>\n",
|
||
" <td>-7.000000</td>\n",
|
||
" <td>-28.000000</td>\n",
|
||
" <td>-6.000000</td>\n",
|
||
" <td>-6.000000</td>\n",
|
||
" <td>-7.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-4.000000</td>\n",
|
||
" <td>-9.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>-3.000000</td>\n",
|
||
" <td>-5.000000</td>\n",
|
||
" <td>-20.000000</td>\n",
|
||
" <td>-3.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-6.000000</td>\n",
|
||
" <td>-7.000000</td>\n",
|
||
" <td>12.000000</td>\n",
|
||
" <td>-3.000000</td>\n",
|
||
" <td>-20.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>50%</th>\n",
|
||
" <td>7.000000</td>\n",
|
||
" <td>16.000000</td>\n",
|
||
" <td>13.000000</td>\n",
|
||
" <td>-2.000000</td>\n",
|
||
" <td>7.000000</td>\n",
|
||
" <td>13.000000</td>\n",
|
||
" <td>-4.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>-1.000000</td>\n",
|
||
" <td>-3.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>2.000000</td>\n",
|
||
" <td>12.000000</td>\n",
|
||
" <td>-1.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>13.000000</td>\n",
|
||
" <td>-2.000000</td>\n",
|
||
" <td>28.000000</td>\n",
|
||
" <td>3.000000</td>\n",
|
||
" <td>12.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>75%</th>\n",
|
||
" <td>14.000000</td>\n",
|
||
" <td>27.000000</td>\n",
|
||
" <td>22.000000</td>\n",
|
||
" <td>3.000000</td>\n",
|
||
" <td>14.000000</td>\n",
|
||
" <td>23.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>5.000000</td>\n",
|
||
" <td>6.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>2.000000</td>\n",
|
||
" <td>8.000000</td>\n",
|
||
" <td>30.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>22.000000</td>\n",
|
||
" <td>5.000000</td>\n",
|
||
" <td>43.000000</td>\n",
|
||
" <td>8.000000</td>\n",
|
||
" <td>29.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>max</th>\n",
|
||
" <td>38.000000</td>\n",
|
||
" <td>69.000000</td>\n",
|
||
" <td>56.000000</td>\n",
|
||
" <td>92.000000</td>\n",
|
||
" <td>38.000000</td>\n",
|
||
" <td>57.000000</td>\n",
|
||
" <td>7.000000</td>\n",
|
||
" <td>5.000000</td>\n",
|
||
" <td>12.000000</td>\n",
|
||
" <td>15.000000</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>241.000000</td>\n",
|
||
" <td>53.000000</td>\n",
|
||
" <td>73.000000</td>\n",
|
||
" <td>5.000000</td>\n",
|
||
" <td>7.000000</td>\n",
|
||
" <td>58.000000</td>\n",
|
||
" <td>14.000000</td>\n",
|
||
" <td>93.000000</td>\n",
|
||
" <td>26.000000</td>\n",
|
||
" <td>73.000000</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>8 rows × 45 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" lelf_right_R lelf_right_G lelf_right_B lelf_right_H lelf_right_V \\\n",
|
||
"count 9472.000000 9472.000000 9472.000000 9472.000000 9472.000000 \n",
|
||
"mean 4.998839 14.260557 10.544130 -26.535051 5.136824 \n",
|
||
"std 12.451409 22.429921 18.349035 54.743651 12.618626 \n",
|
||
"min -18.000000 -23.000000 -22.000000 -243.000000 -18.000000 \n",
|
||
"25% -6.000000 -6.000000 -7.000000 -28.000000 -6.000000 \n",
|
||
"50% 7.000000 16.000000 13.000000 -2.000000 7.000000 \n",
|
||
"75% 14.000000 27.000000 22.000000 3.000000 14.000000 \n",
|
||
"max 38.000000 69.000000 56.000000 92.000000 38.000000 \n",
|
||
"\n",
|
||
" lelf_right_l lelf_right_a lelf_right_b lelf_right_R_stddev \\\n",
|
||
"count 9472.000000 9472.000000 9472.000000 9472.000000 \n",
|
||
"mean 11.130912 -4.211888 0.506651 -0.101668 \n",
|
||
"std 18.760779 5.012831 1.030707 5.735642 \n",
|
||
"min -21.000000 -16.000000 -4.000000 -15.000000 \n",
|
||
"25% -6.000000 -7.000000 0.000000 -4.000000 \n",
|
||
"50% 13.000000 -4.000000 0.000000 -1.000000 \n",
|
||
"75% 23.000000 1.000000 1.000000 5.000000 \n",
|
||
"max 57.000000 7.000000 5.000000 12.000000 \n",
|
||
"\n",
|
||
" lelf_right_G_stddev ... lelf_right_H_min \\\n",
|
||
"count 9472.000000 ... 9472.000000 \n",
|
||
"mean -2.332454 ... -24.483847 \n",
|
||
"std 8.606866 ... 88.738964 \n",
|
||
"min -22.000000 ... -248.000000 \n",
|
||
"25% -9.000000 ... -3.000000 \n",
|
||
"50% -3.000000 ... 0.000000 \n",
|
||
"75% 6.000000 ... 2.000000 \n",
|
||
"max 15.000000 ... 241.000000 \n",
|
||
"\n",
|
||
" lelf_right_V_min lelf_right_l_min lelf_right_a_min lelf_right_b_min \\\n",
|
||
"count 9472.000000 9472.000000 9472.000000 9472.000000 \n",
|
||
"mean 0.697741 8.245777 -1.225190 0.677787 \n",
|
||
"std 20.699370 31.093443 2.420103 1.601545 \n",
|
||
"min -68.000000 -51.000000 -11.000000 -5.000000 \n",
|
||
"25% -5.000000 -20.000000 -3.000000 0.000000 \n",
|
||
"50% 2.000000 12.000000 -1.000000 0.000000 \n",
|
||
"75% 8.000000 30.000000 0.000000 1.000000 \n",
|
||
"max 53.000000 73.000000 5.000000 7.000000 \n",
|
||
"\n",
|
||
" lelf_right_gray_value lelf_right_gray_stddev lelf_right_gray_hist \\\n",
|
||
"count 9472.000000 9472.000000 9472.000000 \n",
|
||
"mean 11.064189 -1.537901 25.800570 \n",
|
||
"std 18.888033 7.605926 26.195686 \n",
|
||
"min -21.000000 -19.000000 -61.000000 \n",
|
||
"25% -6.000000 -7.000000 12.000000 \n",
|
||
"50% 13.000000 -2.000000 28.000000 \n",
|
||
"75% 22.000000 5.000000 43.000000 \n",
|
||
"max 58.000000 14.000000 93.000000 \n",
|
||
"\n",
|
||
" lelf_right_gray_max lelf_right_gray_min \n",
|
||
"count 9472.000000 9472.000000 \n",
|
||
"mean 2.967166 8.171769 \n",
|
||
"std 7.129989 31.073313 \n",
|
||
"min -16.000000 -50.000000 \n",
|
||
"25% -3.000000 -20.000000 \n",
|
||
"50% 3.000000 12.000000 \n",
|
||
"75% 8.000000 29.000000 \n",
|
||
"max 26.000000 73.000000 \n",
|
||
"\n",
|
||
"[8 rows x 45 columns]"
|
||
]
|
||
},
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"from sklearn.utils import shuffle\n",
|
||
"\n",
|
||
"\n",
|
||
"# data_shuffle1 = shuffle(data1)\n",
|
||
"# #data_shuffle = data_all;\n",
|
||
"# test_labels = data_shuffle1[\"index\"]\n",
|
||
"# test_features = data_shuffle1.drop(\"dateTime\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"index\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"whiteBalance\",axis=1)\n",
|
||
"\n",
|
||
"\n",
|
||
"# test_features = test_features.drop(\"left_block_R_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"left_block_G_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"left_block_B_stddev\",axis=1)\n",
|
||
"\n",
|
||
"# test_features = test_features.drop(\"left_block_H_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"left_block_S_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"left_block_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"# test_features = test_features.drop(\"left_block_l_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"left_block_a_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"left_block_b_stddev\",axis=1)\n",
|
||
"\n",
|
||
"# test_features = test_features.drop(\"right_block_R_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"right_block_G_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"right_block_B_stddev\",axis=1)\n",
|
||
"\n",
|
||
"# test_features = test_features.drop(\"right_block_H_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"right_block_S_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"right_block_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"# test_features = test_features.drop(\"right_block_l_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"right_block_a_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"right_block_b_stddev\",axis=1)\n",
|
||
"\n",
|
||
"# test_features = test_features.drop(\"whiteBlock_R_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"whiteBlock_G_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"whiteBlock_B_stddev\",axis=1)\n",
|
||
"\n",
|
||
"# test_features = test_features.drop(\"whiteBlock_H_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"whiteBlock_S_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"whiteBlock_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"# test_features = test_features.drop(\"whiteBlock_l_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"whiteBlock_a_stddev\",axis=1)\n",
|
||
"# test_features = test_features.drop(\"whiteBlock_b_stddev\",axis=1)\n",
|
||
"\n",
|
||
"train_features_10 = pd.DataFrame()\n",
|
||
"train_features_10['lelf_right_R'] = test_features['left_block_R'] - test_features['right_block_R']\n",
|
||
"train_features_10['lelf_right_G'] = test_features['left_block_G'] - test_features['right_block_G']\n",
|
||
"train_features_10['lelf_right_B'] = test_features['left_block_B'] - test_features['right_block_B']\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_H'] = test_features['left_block_H'] - test_features['right_block_H']\n",
|
||
"# train_features_10['lelf_right_S'] = test_features['left_block_S'] - test_features['right_block_S']\n",
|
||
"train_features_10['lelf_right_V'] = test_features['left_block_V'] - test_features['right_block_V']\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_l'] = test_features['left_block_l'] - test_features['right_block_l']\n",
|
||
"train_features_10['lelf_right_a'] = test_features['left_block_a'] - test_features['right_block_a']\n",
|
||
"train_features_10['lelf_right_b'] = test_features['left_block_b'] - test_features['right_block_b']\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_R_stddev'] = test_features['left_block_R_stddev'] - test_features['right_block_R_stddev']\n",
|
||
"train_features_10['lelf_right_G_stddev'] = test_features['left_block_G_stddev'] - test_features['right_block_G_stddev']\n",
|
||
"train_features_10['lelf_right_B_stddev'] = test_features['left_block_B_stddev'] - test_features['right_block_B_stddev']\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_H_stddev'] = test_features['left_block_H_stddev'] - test_features['right_block_H_stddev']\n",
|
||
"# train_features_10['lelf_right_S_stddev'] = test_features['left_block_S_stddev'] - test_features['right_block_S_stddev']\n",
|
||
"train_features_10['lelf_right_V_stddev'] = test_features['left_block_V_stddev'] - test_features['right_block_V_stddev']\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_l_stddev'] = test_features['left_block_l_stddev'] - test_features['right_block_l_stddev']\n",
|
||
"train_features_10['lelf_right_a_stddev'] = test_features['left_block_a_stddev'] - test_features['right_block_a_stddev']\n",
|
||
"train_features_10['lelf_right_b_stddev'] = test_features['left_block_b_stddev'] - test_features['right_block_b_stddev']\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_R_hist'] = test_features['left_block_R_hist'] - test_features['right_block_R_hist']\n",
|
||
"train_features_10['lelf_right_G_hist'] = test_features['left_block_G_hist'] - test_features['right_block_G_hist']\n",
|
||
"train_features_10['lelf_right_B_hist'] = test_features['left_block_B_hist'] - test_features['right_block_B_hist']\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_H_hist'] = test_features['left_block_H_hist'] - test_features['right_block_H_hist']\n",
|
||
"# train_features_10['lelf_right_S_hist'] = test_features['left_block_S_hist'] - test_features['right_block_S_hist']\n",
|
||
"train_features_10['lelf_right_V_hist'] = test_features['left_block_V_hist'] - test_features['right_block_V_hist']\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_l_hist'] = test_features['left_block_l_hist'] - test_features['right_block_l_hist']\n",
|
||
"train_features_10['lelf_right_a_hist'] = test_features['left_block_a_hist'] - test_features['right_block_a_hist']\n",
|
||
"train_features_10['lelf_right_b_hist'] = test_features['left_block_b_hist'] - test_features['right_block_b_hist']\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_R_max'] = test_features['left_block_R_max'] - test_features['right_block_R_max']\n",
|
||
"train_features_10['lelf_right_G_max'] = test_features['left_block_G_max'] - test_features['right_block_G_max']\n",
|
||
"train_features_10['lelf_right_B_max'] = test_features['left_block_B_max'] - test_features['right_block_B_max']\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_H_max'] = test_features['left_block_H_max'] - test_features['right_block_H_max']\n",
|
||
"# train_features_10['lelf_right_S_max'] = test_features['left_block_S_max'] - test_features['right_block_S_max']\n",
|
||
"train_features_10['lelf_right_V_max'] = test_features['left_block_V_max'] - test_features['right_block_V_max']\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_l_max'] = test_features['left_block_l_max'] - test_features['right_block_l_max']\n",
|
||
"train_features_10['lelf_right_a_max'] = test_features['left_block_a_max'] - test_features['right_block_a_max']\n",
|
||
"train_features_10['lelf_right_b_max'] = test_features['left_block_b_max'] - test_features['right_block_b_max']\n",
|
||
"\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_R_min'] = test_features['left_block_R_min'] - test_features['right_block_R_min']\n",
|
||
"train_features_10['lelf_right_G_min'] = test_features['left_block_G_min'] - test_features['right_block_G_min']\n",
|
||
"train_features_10['lelf_right_B_min'] = test_features['left_block_B_min'] - test_features['right_block_B_min']\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_H_min'] = test_features['left_block_H_min'] - test_features['right_block_H_min']\n",
|
||
"# train_features_10['lelf_right_S_min'] = test_features['left_block_S_min'] - test_features['right_block_S_min']\n",
|
||
"train_features_10['lelf_right_V_min'] = test_features['left_block_V_min'] - test_features['right_block_V_min']\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_l_min'] = test_features['left_block_l_min'] - test_features['right_block_l_min']\n",
|
||
"train_features_10['lelf_right_a_min'] = test_features['left_block_a_min'] - test_features['right_block_a_min']\n",
|
||
"train_features_10['lelf_right_b_min'] = test_features['left_block_b_min'] - test_features['right_block_b_min']\n",
|
||
"\n",
|
||
"# train_features_10['left_grayValue']= test_features['left_grayValue'];\n",
|
||
"# train_features_10['left_grayStddevValue']= test_features['left_grayStddevValue'];\n",
|
||
"# train_features_10['left_grayHist']= test_features['left_grayHist'];\n",
|
||
"# train_features_10['left_grayMax']= test_features['left_grayMax'];\n",
|
||
"# train_features_10['left_grayMin']= test_features['left_grayMin'];\n",
|
||
"\n",
|
||
"# train_features_10['right_grayValue']= test_features['right_grayValue'];\n",
|
||
"# train_features_10['right_grayStddevValue']= test_features['right_grayStddevValue'];\n",
|
||
"# train_features_10['right_grayHist']= test_features['right_grayHist'];\n",
|
||
"# train_features_10['right_grayMax']= test_features['right_grayMax'];\n",
|
||
"# train_features_10['right_grayMin']= test_features['right_grayMin'];\n",
|
||
"\n",
|
||
"# train_features_10['lelf_R_stddev'] = test_features['left_block_R_stddev'] \n",
|
||
"# train_features_10['lelf_G_stddev'] = test_features['left_block_G_stddev'] \n",
|
||
"# train_features_10['lelf_B_stddev'] = test_features['left_block_B_stddev'] \n",
|
||
"\n",
|
||
"# train_features_10['left_block_R_min'] = test_features['left_block_R_min'] \n",
|
||
"# train_features_10['left_block_G_min'] = test_features['left_block_G_min'] \n",
|
||
"# train_features_10['left_block_B_min'] = test_features['left_block_B_min'] \n",
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
"train_features_10['lelf_right_gray_value'] = test_features['left_grayValue'] - test_features['right_grayValue']\n",
|
||
"train_features_10['lelf_right_gray_stddev'] = test_features['left_grayStddevValue'] - test_features['right_grayStddevValue']\n",
|
||
"train_features_10['lelf_right_gray_hist'] = test_features['left_grayHist'] - test_features['right_grayHist']\n",
|
||
"train_features_10['lelf_right_gray_max'] = test_features['left_grayMax'] - test_features['right_grayMax']\n",
|
||
"train_features_10['lelf_right_gray_min'] = test_features['left_grayMin'] - test_features['right_grayMin']\n",
|
||
"\n",
|
||
"train_features_10.describe()\n",
|
||
"\n",
|
||
"\n",
|
||
"# feature = feature.drop(\"left_block_H_hist\",axis=1)\n",
|
||
"# feature = feature.drop(\"right_block_H_hist\",axis=1)\n",
|
||
"# feature = feature.drop(\"whiteBlock_H_hist\",axis=1)\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 111,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
" \n",
|
||
"test_features = test_features.drop(\"left_block_H\",axis=1)\n",
|
||
"test_features = test_features.drop(\"left_block_S\",axis=1)\n",
|
||
"test_features = test_features.drop(\"left_block_V\",axis=1)\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"right_block_H\",axis=1)\n",
|
||
"test_features = test_features.drop(\"right_block_S\",axis=1)\n",
|
||
"test_features = test_features.drop(\"right_block_V\",axis=1)\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"whiteBlock_H\",axis=1)\n",
|
||
"test_features = test_features.drop(\"whiteBlock_S\",axis=1)\n",
|
||
"test_features = test_features.drop(\"whiteBlock_V\",axis=1)\n",
|
||
"\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"left_block_H_stddev\",axis=1)\n",
|
||
"test_features = test_features.drop(\"left_block_S_stddev\",axis=1)\n",
|
||
"test_features = test_features.drop(\"left_block_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"right_block_H_stddev\",axis=1)\n",
|
||
"test_features = test_features.drop(\"right_block_S_stddev\",axis=1)\n",
|
||
"test_features = test_features.drop(\"right_block_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"whiteBlock_H_stddev\",axis=1)\n",
|
||
"test_features = test_features.drop(\"whiteBlock_S_stddev\",axis=1)\n",
|
||
"test_features = test_features.drop(\"whiteBlock_V_stddev\",axis=1)\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"left_block_H_hist\",axis=1)\n",
|
||
"test_features = test_features.drop(\"left_block_S_hist\",axis=1)\n",
|
||
"test_features = test_features.drop(\"left_block_V_hist\",axis=1)\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"right_block_H_hist\",axis=1)\n",
|
||
"test_features = test_features.drop(\"right_block_S_hist\",axis=1)\n",
|
||
"test_features = test_features.drop(\"right_block_V_hist\",axis=1)\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"whiteBlock_H_hist\",axis=1)\n",
|
||
"test_features = test_features.drop(\"whiteBlock_S_hist\",axis=1)\n",
|
||
"test_features = test_features.drop(\"whiteBlock_V_hist\",axis=1)\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"left_block_H_max\",axis=1)\n",
|
||
"test_features = test_features.drop(\"left_block_S_max\",axis=1)\n",
|
||
"test_features = test_features.drop(\"left_block_V_max\",axis=1)\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"right_block_H_max\",axis=1)\n",
|
||
"test_features = test_features.drop(\"right_block_S_max\",axis=1)\n",
|
||
"test_features = test_features.drop(\"right_block_V_max\",axis=1)\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"whiteBlock_H_max\",axis=1)\n",
|
||
"test_features = test_features.drop(\"whiteBlock_S_max\",axis=1)\n",
|
||
"test_features = test_features.drop(\"whiteBlock_V_max\",axis=1)\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"left_block_H_min\",axis=1)\n",
|
||
"test_features = test_features.drop(\"left_block_S_min\",axis=1)\n",
|
||
"test_features = test_features.drop(\"left_block_V_min\",axis=1)\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"right_block_H_min\",axis=1)\n",
|
||
"test_features = test_features.drop(\"right_block_S_min\",axis=1)\n",
|
||
"test_features = test_features.drop(\"right_block_V_min\",axis=1)\n",
|
||
"\n",
|
||
"test_features = test_features.drop(\"whiteBlock_H_min\",axis=1)\n",
|
||
"test_features = test_features.drop(\"whiteBlock_S_min\",axis=1)\n",
|
||
"test_features = test_features.drop(\"whiteBlock_V_min\",axis=1)\n",
|
||
" \n",
|
||
" \n",
|
||
"test_features['lelf_right_R'] = test_features['left_block_R'] - test_features['right_block_R']\n",
|
||
"test_features['lelf_right_G'] = test_features['left_block_G'] - test_features['right_block_G']\n",
|
||
"test_features['lelf_right_B'] = test_features['left_block_B'] - test_features['right_block_B']\n",
|
||
"\n",
|
||
"# test_features['lelf_right_H'] = test_features['left_block_H'] - test_features['right_block_H']\n",
|
||
"# test_features['lelf_right_S'] = test_features['left_block_S'] - test_features['right_block_S']\n",
|
||
"# test_features['lelf_right_V'] = test_features['left_block_V'] - test_features['right_block_V']\n",
|
||
"\n",
|
||
"# test_features['lelf_right_l'] = test_features['left_block_l'] - test_features['right_block_l']\n",
|
||
"# test_features['lelf_right_a'] = test_features['left_block_a'] - test_features['right_block_a']\n",
|
||
"# test_features['lelf_right_b'] = test_features['left_block_b'] - test_features['right_block_b']\n",
|
||
"\n",
|
||
"# test_features['lelf_right_R_stddev'] = test_features['left_block_R_stddev'] - test_features['right_block_R_stddev']\n",
|
||
"# test_features['lelf_right_G_stddev'] = test_features['left_block_G_stddev'] - test_features['right_block_G_stddev']\n",
|
||
"# test_features['lelf_right_B_stddev'] = test_features['left_block_B_stddev'] - test_features['right_block_B_stddev']\n",
|
||
"\n",
|
||
"# test_features['lelf_right_H_stddev'] = test_features['left_block_H_stddev'] - test_features['right_block_H_stddev']\n",
|
||
"# test_features['lelf_right_S_stddev'] = test_features['left_block_S_stddev'] - test_features['right_block_S_stddev']\n",
|
||
"# test_features['lelf_right_V_stddev'] = test_features['left_block_V_stddev'] - test_features['right_block_V_stddev']\n",
|
||
"\n",
|
||
"# test_features['lelf_right_l_stddev'] = test_features['left_block_l_stddev'] - test_features['right_block_l_stddev']\n",
|
||
"# test_features['lelf_right_a_stddev'] = test_features['left_block_a_stddev'] - test_features['right_block_a_stddev']\n",
|
||
"# test_features['lelf_right_b_stddev'] = test_features['left_block_b_stddev'] - test_features['right_block_b_stddev']\n",
|
||
"\n",
|
||
"# test_features['lelf_right_R_hist'] = test_features['left_block_R_hist'] - test_features['right_block_R_hist']\n",
|
||
"# test_features['lelf_right_G_hist'] = test_features['left_block_G_hist'] - test_features['right_block_G_hist']\n",
|
||
"# test_features['lelf_right_B_hist'] = test_features['left_block_B_hist'] - test_features['right_block_B_hist']\n",
|
||
"\n",
|
||
"# test_features['lelf_right_H_hist'] = test_features['left_block_H_hist'] - test_features['right_block_H_hist']\n",
|
||
"# test_features['lelf_right_S_hist'] = test_features['left_block_S_hist'] - test_features['right_block_S_hist']\n",
|
||
"# test_features['lelf_right_V_hist'] = test_features['left_block_V_hist'] - test_features['right_block_V_hist']\n",
|
||
"\n",
|
||
"# test_features['lelf_right_l_hist'] = test_features['left_block_l_hist'] - test_features['right_block_l_hist']\n",
|
||
"# test_features['lelf_right_a_hist'] = test_features['left_block_a_hist'] - test_features['right_block_a_hist']\n",
|
||
"# test_features['lelf_right_b_hist'] = test_features['left_block_b_hist'] - test_features['right_block_b_hist']\n",
|
||
"\n",
|
||
"# test_features['lelf_right_R_max'] = test_features['left_block_R_max'] - test_features['right_block_R_max']\n",
|
||
"# test_features['lelf_right_G_max'] = test_features['left_block_G_max'] - test_features['right_block_G_max']\n",
|
||
"# test_features['lelf_right_B_max'] = test_features['left_block_B_max'] - test_features['right_block_B_max']\n",
|
||
"\n",
|
||
"# test_features['lelf_right_H_max'] = test_features['left_block_H_max'] - test_features['right_block_H_max']\n",
|
||
"# test_features['lelf_right_S_max'] = test_features['left_block_S_max'] - test_features['right_block_S_max']\n",
|
||
"# test_features['lelf_right_V_max'] = test_features['left_block_V_max'] - test_features['right_block_V_max']\n",
|
||
"\n",
|
||
"# test_features['lelf_right_l_max'] = test_features['left_block_l_max'] - test_features['right_block_l_max']\n",
|
||
"# test_features['lelf_right_a_max'] = test_features['left_block_a_max'] - test_features['right_block_a_max']\n",
|
||
"# test_features['lelf_right_b_max'] = test_features['left_block_b_max'] - test_features['right_block_b_max']\n",
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
"# test_features['lelf_right_R_min'] = test_features['left_block_R_min'] - test_features['right_block_R_min']\n",
|
||
"# test_features['lelf_right_G_min'] = test_features['left_block_G_min'] - test_features['right_block_G_min']\n",
|
||
"# test_features['lelf_right_B_min'] = test_features['left_block_B_min'] - test_features['right_block_B_min']\n",
|
||
"\n",
|
||
"# test_features['lelf_right_H_min'] = test_features['left_block_H_min'] - test_features['right_block_H_min']\n",
|
||
"# test_features['lelf_right_S_min'] = test_features['left_block_S_min'] - test_features['right_block_S_min']\n",
|
||
"# test_features['lelf_right_V_min'] = test_features['left_block_V_min'] - test_features['right_block_V_min']\n",
|
||
"\n",
|
||
"# test_features['lelf_right_l_min'] = test_features['left_block_l_min'] - test_features['right_block_l_min']\n",
|
||
"# test_features['lelf_right_a_min'] = test_features['left_block_a_min'] - test_features['right_block_a_min']\n",
|
||
"# test_features['lelf_right_b_min'] = test_features['left_block_b_min'] - test_features['right_block_b_min']\n",
|
||
"\n",
|
||
"test_features['lelf_right_gray_value'] = test_features['left_grayValue'] - test_features['right_grayValue']\n",
|
||
"test_features['lelf_right_gray_stddev'] = test_features['left_grayStddevValue'] - test_features['right_grayStddevValue']\n",
|
||
"test_features['lelf_right_gray_hist'] = test_features['left_grayHist'] - test_features['right_grayHist']\n",
|
||
"test_features['lelf_right_gray_max'] = test_features['left_grayMax'] - test_features['right_grayMax']\n",
|
||
"test_features['lelf_right_gray_min'] = test_features['left_grayMin'] - test_features['right_grayMin']\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"svm linear accuracy score: 0.868243243243\n",
|
||
"f1 score: 0.868243243243\n",
|
||
"recall_score : 0.868243243243\n",
|
||
"precision_score : 0.868243243243\n",
|
||
"svm linear accuracy score: 0.907728040541\n",
|
||
"f1 score: 0.907728040541\n",
|
||
"recall_score : 0.907728040541\n",
|
||
"precision_score : 0.907728040541\n",
|
||
"('preds:', array([6, 1, 1, 6, 7, 7, 4, 4, 4, 4]))\n",
|
||
"('trues:\\n', 2720 6\n",
|
||
"3210 1\n",
|
||
"3118 1\n",
|
||
"2969 6\n",
|
||
"1026 7\n",
|
||
"1020 7\n",
|
||
"2258 4\n",
|
||
"2493 4\n",
|
||
"3424 4\n",
|
||
"2034 4\n",
|
||
"Name: index, dtype: int64)\n",
|
||
"7\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(6, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(6, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(6, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(4, 2)\n",
|
||
"(4, 2)\n",
|
||
"(6, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(6, 4)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(6, 4)\n",
|
||
"(6, 4)\n",
|
||
"(4, 2)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(4, 6)\n",
|
||
"(6, 4)\n",
|
||
"(6, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(6, 4)\n",
|
||
"(4, 2)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(6, 4)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(6, 4)\n",
|
||
"(2, 4)\n",
|
||
"(6, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(6, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(4, 2)\n",
|
||
"(4, 2)\n",
|
||
"(9472, 2911, 118)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(0, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(4, 2)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(0, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 1)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(6, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 4)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(6, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(0, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(0, 1)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(2, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(2, 1)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(0, 1)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(0, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 1)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(6, 4)\n",
|
||
"(6, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(0, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(0, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 4)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(6, 4)\n",
|
||
"(2, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(6, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(6, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 1)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(0, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(6, 7)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 4)\n",
|
||
"(0, 1)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(2, 1)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(4, 2)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(7, 6)\n",
|
||
"(9472, 0, 874)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"pred = clf_svm_linear.predict(train_features_10)\n",
|
||
"test_features_gray_stddev = test_features['left_grayStddevValue']\n",
|
||
"test_features_np = np.ndarray(test_features_gray_stddev.shape,dtype = np.float32)\n",
|
||
"\n",
|
||
"test_features_np = test_features_gray_stddev.values\n",
|
||
"print \"svm linear accuracy score:\" , accuracy_score(test_labels,pred)\n",
|
||
"print \"f1 score:\" , f1_score(test_labels,pred,average='micro')\n",
|
||
"print \"recall_score :\" , recall_score(test_labels,pred,average='micro')\n",
|
||
"print \"precision_score :\" , precision_score(test_labels,pred,average='micro')\n",
|
||
"\n",
|
||
"for i in range(0, len(test_features_np)):\n",
|
||
" if test_features_np[i] < 3:\n",
|
||
" pred[i] =0\n",
|
||
"print \"svm linear accuracy score:\" , accuracy_score(test_labels,pred)\n",
|
||
"print \"f1 score:\" , f1_score(test_labels,pred,average='micro')\n",
|
||
"print \"recall_score :\" , recall_score(test_labels,pred,average='micro')\n",
|
||
"print \"precision_score :\" , precision_score(test_labels,pred,average='micro')\n",
|
||
"\n",
|
||
"\n",
|
||
"print(\"preds:\",pred[120:130])\n",
|
||
"print('trues:\\n',test_labels[120:130])\n",
|
||
"test_labels_np = np.ndarray(test_labels.shape,dtype= np.int32)\n",
|
||
"test_labels_np = test_labels.values\n",
|
||
"print(test_labels_np[0])\n",
|
||
"all_counter = 0\n",
|
||
"counter = 0\n",
|
||
"for i in range(0 ,len(pred) ):\n",
|
||
" if (pred[i] == 4 or (pred[i] == 4 and test_labels_np[i] ==4 )or test_labels_np[i] ==4 ) :\n",
|
||
" all_counter = all_counter + 1\n",
|
||
" if pred[i] != test_labels_np[i] :\n",
|
||
" counter = counter+1\n",
|
||
" print(pred[i] , test_labels_np[i])\n",
|
||
"print(len(pred),all_counter, counter) \n",
|
||
"all_counter = 0\n",
|
||
"counter = 0\n",
|
||
"for i in range(0 ,len(pred) ):\n",
|
||
" if pred[i] != test_labels_np[i] :\n",
|
||
" counter = counter+1\n",
|
||
" print(pred[i] , test_labels_np[i])\n",
|
||
"print(len(pred),all_counter, counter) \n",
|
||
"\n",
|
||
"# print \"svm linear accuracy score:\" , accuracy_score(test_labels,pred)\n",
|
||
"# print \"f1 score:\" , f1_score(test_labels,pred,average='micro')\n",
|
||
"# print \"recall_score :\" , recall_score(test_labels,pred,average='micro')\n",
|
||
"# print \"precision_score :\" , precision_score(test_labels,pred,average='micro')\n",
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"**参数选择**"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"runing time: 0:00:00.000148\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from sklearn import svm, datasets\n",
|
||
"from sklearn.model_selection import GridSearchCV\n",
|
||
"\n",
|
||
"parameters = {'n_estimators':[15,16,17,18], 'max_features':[8,9,10,11],\\\n",
|
||
" 'min_samples_split':[3,4,5,6,7],\\\n",
|
||
" 'max_depth':[7,8,9,10,11,12,13,14,15]\n",
|
||
" }\n",
|
||
"clf = RandomForestClassifier(random_state=10)\n",
|
||
"\n",
|
||
"from datetime import datetime\n",
|
||
"trarining_start_time = datetime.now()\n",
|
||
"clf_grid = GridSearchCV(clf, parameters)\n",
|
||
"training_stop_time = datetime.now()\n",
|
||
"print \"runing time:\",(training_stop_time - trarining_start_time)\n",
|
||
"\n",
|
||
"clf_grid.fit(X_train, y_train)\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 89,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n",
|
||
" max_depth=7, max_features=9, max_leaf_nodes=None,\n",
|
||
" min_impurity_split=1e-07, min_samples_leaf=1,\n",
|
||
" min_samples_split=5, min_weight_fraction_leaf=0.0,\n",
|
||
" n_estimators=16, n_jobs=1, oob_score=False, random_state=10,\n",
|
||
" verbose=0, warm_start=False)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"print clf_grid.best_estimator_"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## from sklearn.metrics import recall_score\n",
|
||
"from sklearn.metrics import precision_score\n",
|
||
"print \"accuracy score:\" , accuracy_score(y_test,pred)\n",
|
||
"print \"recall_score :\" , recall_score(y_test,pred,average='macro')\n",
|
||
"print \"precision_score :\" , precision_score(y_test,pred,average='macro')\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 38,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from sklearn_porter import Porter\n",
|
||
"\n",
|
||
"porter_java = Porter(clf_svm, language='java').export()\n",
|
||
"porter_c = Porter(clf_svm, language='c').export()\n",
|
||
"\n",
|
||
"f = open(\"Protein_c.txt\",'wb')\n",
|
||
"f.write(porter_c)\n",
|
||
"f.close()\n",
|
||
"\n",
|
||
"f = open(\"Protein_svm_java.txt\",'wb')\n",
|
||
"f.write(porter_java)\n",
|
||
"f.close()"
|
||
]
|
||
}
|
||
],
|
||
"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.7.3"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 2
|
||
}
|