Files
yola/pailuan/master/ov2019/.ipynb_checkpoints/hcg-LOCAL - 2018-12-18-checkpoint.ipynb
T
coco 85d885e008 a
2026-07-03 16:29:47 +08:00

2285 lines
136 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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",
"import sklearn\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(\"light.csv\")\n",
" data2 = pd.read_csv(\"nature_light.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": "markdown",
"metadata": {},
"source": [
"**分析数据**"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" left_block_R left_block_G left_block_B left_block_H left_block_S \\\n",
"count 91301.000000 91301.000000 91301.000000 91301.000000 91301.000000 \n",
"mean 165.729696 134.358506 140.457706 178.764099 56.932838 \n",
"std 30.728156 39.645554 35.580123 62.957946 28.703214 \n",
"min 90.000000 51.000000 60.000000 7.000000 7.000000 \n",
"25% 145.000000 103.000000 114.000000 143.000000 31.000000 \n",
"50% 165.000000 135.000000 140.000000 202.000000 51.000000 \n",
"75% 186.000000 165.000000 167.000000 228.000000 83.000000 \n",
"max 247.000000 230.000000 233.000000 248.000000 119.000000 \n",
"\n",
" left_block_V left_block_l left_block_a left_block_b \\\n",
"count 91301.000000 91301.000000 91301.000000 91301.000000 \n",
"mean 166.771580 150.273458 140.877241 129.089342 \n",
"std 31.214224 35.806975 7.556304 2.173696 \n",
"min 90.000000 67.000000 124.000000 122.000000 \n",
"25% 146.000000 124.000000 135.000000 128.000000 \n",
"50% 166.000000 152.000000 141.000000 129.000000 \n",
"75% 188.000000 177.000000 148.000000 131.000000 \n",
"max 247.000000 231.000000 154.000000 135.000000 \n",
"\n",
" left_block_R_stddev ... right_grayHist right_grayMax \\\n",
"count 91301.000000 ... 91301.000000 91301.000000 \n",
"mean 11.584725 ... 124.195693 178.770342 \n",
"std 8.180077 ... 30.525042 22.532460 \n",
"min 0.000000 ... 49.000000 120.000000 \n",
"25% 4.000000 ... 104.000000 162.000000 \n",
"50% 11.000000 ... 122.000000 178.000000 \n",
"75% 18.000000 ... 144.000000 194.000000 \n",
"max 36.000000 ... 232.000000 251.000000 \n",
"\n",
" right_grayMin white_grayValue white_grayStddevValue white_grayHist \\\n",
"count 91301.000000 91301.000000 91301.000000 91301.000000 \n",
"mean 98.756312 192.484661 1.065191 193.134763 \n",
"std 27.773504 24.373492 3.633961 24.401654 \n",
"min 39.000000 102.000000 0.000000 0.000000 \n",
"25% 78.000000 175.000000 0.000000 175.000000 \n",
"50% 95.000000 194.000000 1.000000 195.000000 \n",
"75% 115.000000 208.000000 1.000000 208.000000 \n",
"max 196.000000 255.000000 52.000000 254.000000 \n",
"\n",
" white_grayMax white_grayMin whiteBalance index \n",
"count 91301.000000 91301.000000 91301.0 91301.000000 \n",
"mean 196.246043 189.544912 0.0 3.221476 \n",
"std 22.966470 26.690282 0.0 1.891621 \n",
"min 139.000000 49.000000 0.0 0.000000 \n",
"25% 179.000000 172.000000 0.0 2.000000 \n",
"50% 197.000000 192.000000 0.0 3.000000 \n",
"75% 211.000000 206.000000 0.0 5.000000 \n",
"max 255.000000 255.000000 0.0 6.000000 \n",
"\n",
"[8 rows x 152 columns]\n"
]
}
],
"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\"] == 0]\n",
"data2_0 = data2[data2[\"whiteBalance\"] == 0]\n",
"#data_test_0 = data_test\n",
"\n",
"data_all =data1_0.append(data2_0);\n",
"#data_all =data1.append(data2);\n",
"#data_all = data2\n",
"whiteBlock_R_one = data_all[data_all[\"index\"] == 0 ][\"left_block_R_stddev\"]\n",
"whiteBlock_G_one = data_all[data_all[\"index\"] == 0 ][\"left_block_G_stddev\"]\n",
"whiteBlock_B_one = data_all[data_all[\"index\"] == 0 ][\"left_block_B_stddev\"]\n",
"\n",
"whiteBlock_R_two = data_all[data_all[\"index\"] == 1 ][\"left_block_R_stddev\"]\n",
"whiteBlock_G_two = data_all[data_all[\"index\"] == 1 ][\"left_block_G_stddev\"]\n",
"whiteBlock_B_two = data_all[data_all[\"index\"] == 1 ][\"left_block_B_stddev\"]\n",
"\n",
"whiteBlock_R_three = data_all[data_all[\"index\"] == 2 ][\"left_block_R_stddev\"]\n",
"whiteBlock_G_three = data_all[data_all[\"index\"] == 2 ][\"left_block_G_stddev\"]\n",
"whiteBlock_B_three = data_all[data_all[\"index\"] == 2 ][\"left_block_B_stddev\"]\n",
"\n",
"whiteBlock_R_four = data_all[data_all[\"index\"] == 3 ][\"left_block_R_stddev\"]\n",
"whiteBlock_G_four = data_all[data_all[\"index\"] == 3 ][\"left_block_G_stddev\"]\n",
"whiteBlock_B_four = data_all[data_all[\"index\"] == 3 ][\"left_block_B_stddev\"]\n",
"\n",
"\n",
"whiteBlock_R_five = data_all[data_all[\"index\"] == 4 ][\"left_block_R_stddev\"]\n",
"whiteBlock_G_five = data_all[data_all[\"index\"] == 4 ][\"left_block_G_stddev\"]\n",
"whiteBlock_B_five = data_all[data_all[\"index\"] == 4 ][\"left_block_B_stddev\"]\n",
"\n",
"whiteBlock_R_six = data_all[data_all[\"index\"] == 5 ][\"left_block_R_stddev\"]\n",
"whiteBlock_G_six = data_all[data_all[\"index\"] == 5 ][\"left_block_G_stddev\"]\n",
"whiteBlock_B_six = data_all[data_all[\"index\"] == 5 ][\"left_block_B_stddev\"]\n",
"\n",
"whiteBlock_R_seven = data_all[data_all[\"index\"] == 6 ][\"left_block_R_stddev\"]\n",
"whiteBlock_G_seven = data_all[data_all[\"index\"] == 6 ][\"left_block_G_stddev\"]\n",
"whiteBlock_B_seven = data_all[data_all[\"index\"] == 6 ][\"left_block_B_stddev\"]\n",
"\n",
"whiteBlock_R_eghit = data_all[data_all[\"index\"] == 7 ][\"left_block_R_stddev\"]\n",
"whiteBlock_G_eghit = data_all[data_all[\"index\"] == 7 ][\"left_block_G_stddev\"]\n",
"whiteBlock_B_eghit = data_all[data_all[\"index\"] == 7 ][\"left_block_B_stddev\"]\n",
"\n",
"print(data_all.describe())\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['dateTime', 'left_block_R', 'left_block_G', 'left_block_B',\n",
" 'left_block_H', 'left_block_S', 'left_block_V', 'left_block_l',\n",
" 'left_block_a', 'left_block_b',\n",
" ...\n",
" 'right_grayHist', 'right_grayMax', 'right_grayMin', 'white_grayValue',\n",
" 'white_grayStddevValue', 'white_grayHist', 'white_grayMax',\n",
" 'white_grayMin', 'whiteBalance', 'index'],\n",
" dtype='object', length=153)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data_all.columns"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"hsv max min hist value h值要去掉"
]
},
{
"cell_type": "code",
"execution_count": 5,
"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_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>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>...</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>165.729696</td>\n",
" <td>134.358506</td>\n",
" <td>140.457706</td>\n",
" <td>178.764099</td>\n",
" <td>56.932838</td>\n",
" <td>166.771580</td>\n",
" <td>150.273458</td>\n",
" <td>140.877241</td>\n",
" <td>129.089342</td>\n",
" <td>11.584725</td>\n",
" <td>...</td>\n",
" <td>136.328233</td>\n",
" <td>20.844142</td>\n",
" <td>124.195693</td>\n",
" <td>178.770342</td>\n",
" <td>98.756312</td>\n",
" <td>192.484661</td>\n",
" <td>1.065191</td>\n",
" <td>193.134763</td>\n",
" <td>196.246043</td>\n",
" <td>189.544912</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>30.728156</td>\n",
" <td>39.645554</td>\n",
" <td>35.580123</td>\n",
" <td>62.957946</td>\n",
" <td>28.703214</td>\n",
" <td>31.214224</td>\n",
" <td>35.806975</td>\n",
" <td>7.556304</td>\n",
" <td>2.173696</td>\n",
" <td>8.180077</td>\n",
" <td>...</td>\n",
" <td>25.583188</td>\n",
" <td>4.952730</td>\n",
" <td>30.525042</td>\n",
" <td>22.532460</td>\n",
" <td>27.773504</td>\n",
" <td>24.373492</td>\n",
" <td>3.633961</td>\n",
" <td>24.401654</td>\n",
" <td>22.966470</td>\n",
" <td>26.690282</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>90.000000</td>\n",
" <td>51.000000</td>\n",
" <td>60.000000</td>\n",
" <td>7.000000</td>\n",
" <td>7.000000</td>\n",
" <td>90.000000</td>\n",
" <td>67.000000</td>\n",
" <td>124.000000</td>\n",
" <td>122.000000</td>\n",
" <td>0.000000</td>\n",
" <td>...</td>\n",
" <td>81.000000</td>\n",
" <td>9.000000</td>\n",
" <td>49.000000</td>\n",
" <td>120.000000</td>\n",
" <td>39.000000</td>\n",
" <td>102.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>139.000000</td>\n",
" <td>49.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>145.000000</td>\n",
" <td>103.000000</td>\n",
" <td>114.000000</td>\n",
" <td>143.000000</td>\n",
" <td>31.000000</td>\n",
" <td>146.000000</td>\n",
" <td>124.000000</td>\n",
" <td>135.000000</td>\n",
" <td>128.000000</td>\n",
" <td>4.000000</td>\n",
" <td>...</td>\n",
" <td>119.000000</td>\n",
" <td>17.000000</td>\n",
" <td>104.000000</td>\n",
" <td>162.000000</td>\n",
" <td>78.000000</td>\n",
" <td>175.000000</td>\n",
" <td>0.000000</td>\n",
" <td>175.000000</td>\n",
" <td>179.000000</td>\n",
" <td>172.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>165.000000</td>\n",
" <td>135.000000</td>\n",
" <td>140.000000</td>\n",
" <td>202.000000</td>\n",
" <td>51.000000</td>\n",
" <td>166.000000</td>\n",
" <td>152.000000</td>\n",
" <td>141.000000</td>\n",
" <td>129.000000</td>\n",
" <td>11.000000</td>\n",
" <td>...</td>\n",
" <td>135.000000</td>\n",
" <td>21.000000</td>\n",
" <td>122.000000</td>\n",
" <td>178.000000</td>\n",
" <td>95.000000</td>\n",
" <td>194.000000</td>\n",
" <td>1.000000</td>\n",
" <td>195.000000</td>\n",
" <td>197.000000</td>\n",
" <td>192.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>186.000000</td>\n",
" <td>165.000000</td>\n",
" <td>167.000000</td>\n",
" <td>228.000000</td>\n",
" <td>83.000000</td>\n",
" <td>188.000000</td>\n",
" <td>177.000000</td>\n",
" <td>148.000000</td>\n",
" <td>131.000000</td>\n",
" <td>18.000000</td>\n",
" <td>...</td>\n",
" <td>153.000000</td>\n",
" <td>24.000000</td>\n",
" <td>144.000000</td>\n",
" <td>194.000000</td>\n",
" <td>115.000000</td>\n",
" <td>208.000000</td>\n",
" <td>1.000000</td>\n",
" <td>208.000000</td>\n",
" <td>211.000000</td>\n",
" <td>206.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>247.000000</td>\n",
" <td>230.000000</td>\n",
" <td>233.000000</td>\n",
" <td>248.000000</td>\n",
" <td>119.000000</td>\n",
" <td>247.000000</td>\n",
" <td>231.000000</td>\n",
" <td>154.000000</td>\n",
" <td>135.000000</td>\n",
" <td>36.000000</td>\n",
" <td>...</td>\n",
" <td>215.000000</td>\n",
" <td>35.000000</td>\n",
" <td>232.000000</td>\n",
" <td>251.000000</td>\n",
" <td>196.000000</td>\n",
" <td>255.000000</td>\n",
" <td>52.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 91301.000000 91301.000000 91301.000000 91301.000000 91301.000000 \n",
"mean 165.729696 134.358506 140.457706 178.764099 56.932838 \n",
"std 30.728156 39.645554 35.580123 62.957946 28.703214 \n",
"min 90.000000 51.000000 60.000000 7.000000 7.000000 \n",
"25% 145.000000 103.000000 114.000000 143.000000 31.000000 \n",
"50% 165.000000 135.000000 140.000000 202.000000 51.000000 \n",
"75% 186.000000 165.000000 167.000000 228.000000 83.000000 \n",
"max 247.000000 230.000000 233.000000 248.000000 119.000000 \n",
"\n",
" left_block_V left_block_l left_block_a left_block_b \\\n",
"count 91301.000000 91301.000000 91301.000000 91301.000000 \n",
"mean 166.771580 150.273458 140.877241 129.089342 \n",
"std 31.214224 35.806975 7.556304 2.173696 \n",
"min 90.000000 67.000000 124.000000 122.000000 \n",
"25% 146.000000 124.000000 135.000000 128.000000 \n",
"50% 166.000000 152.000000 141.000000 129.000000 \n",
"75% 188.000000 177.000000 148.000000 131.000000 \n",
"max 247.000000 231.000000 154.000000 135.000000 \n",
"\n",
" left_block_R_stddev ... right_grayValue \\\n",
"count 91301.000000 ... 91301.000000 \n",
"mean 11.584725 ... 136.328233 \n",
"std 8.180077 ... 25.583188 \n",
"min 0.000000 ... 81.000000 \n",
"25% 4.000000 ... 119.000000 \n",
"50% 11.000000 ... 135.000000 \n",
"75% 18.000000 ... 153.000000 \n",
"max 36.000000 ... 215.000000 \n",
"\n",
" right_grayStddevValue right_grayHist right_grayMax right_grayMin \\\n",
"count 91301.000000 91301.000000 91301.000000 91301.000000 \n",
"mean 20.844142 124.195693 178.770342 98.756312 \n",
"std 4.952730 30.525042 22.532460 27.773504 \n",
"min 9.000000 49.000000 120.000000 39.000000 \n",
"25% 17.000000 104.000000 162.000000 78.000000 \n",
"50% 21.000000 122.000000 178.000000 95.000000 \n",
"75% 24.000000 144.000000 194.000000 115.000000 \n",
"max 35.000000 232.000000 251.000000 196.000000 \n",
"\n",
" white_grayValue white_grayStddevValue white_grayHist white_grayMax \\\n",
"count 91301.000000 91301.000000 91301.000000 91301.000000 \n",
"mean 192.484661 1.065191 193.134763 196.246043 \n",
"std 24.373492 3.633961 24.401654 22.966470 \n",
"min 102.000000 0.000000 0.000000 139.000000 \n",
"25% 175.000000 0.000000 175.000000 179.000000 \n",
"50% 194.000000 1.000000 195.000000 197.000000 \n",
"75% 208.000000 1.000000 208.000000 211.000000 \n",
"max 255.000000 52.000000 254.000000 255.000000 \n",
"\n",
" white_grayMin \n",
"count 91301.000000 \n",
"mean 189.544912 \n",
"std 26.690282 \n",
"min 49.000000 \n",
"25% 172.000000 \n",
"50% 192.000000 \n",
"75% 206.000000 \n",
"max 255.000000 \n",
"\n",
"[8 rows x 150 columns]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"\n",
"train_labels = data_all[\"index\"]\n",
"train_features = data_all.drop(\"dateTime\",axis=1)\n",
"train_features = train_features.drop(\"index\",axis=1)\n",
"train_features = train_features.drop(\"whiteBalance\",axis=1)\n",
"\n",
"\n",
"\n",
"train_features.describe()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"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": 6,
"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>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_S_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>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>...</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" <td>91301.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>1.262549</td>\n",
" <td>11.583499</td>\n",
" <td>8.142594</td>\n",
" <td>-30.762193</td>\n",
" <td>-11.383139</td>\n",
" <td>2.284028</td>\n",
" <td>8.190655</td>\n",
" <td>-4.545503</td>\n",
" <td>0.222155</td>\n",
" <td>-1.514967</td>\n",
" <td>...</td>\n",
" <td>-1.485909</td>\n",
" <td>7.071325</td>\n",
" <td>16.983593</td>\n",
" <td>-1.059320</td>\n",
" <td>0.402131</td>\n",
" <td>8.089287</td>\n",
" <td>-3.907175</td>\n",
" <td>11.542732</td>\n",
" <td>2.554802</td>\n",
" <td>17.138443</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>27.838211</td>\n",
" <td>44.035454</td>\n",
" <td>37.026650</td>\n",
" <td>64.432921</td>\n",
" <td>35.029158</td>\n",
" <td>29.075898</td>\n",
" <td>38.617100</td>\n",
" <td>8.653738</td>\n",
" <td>1.352848</td>\n",
" <td>9.775919</td>\n",
" <td>...</td>\n",
" <td>8.281171</td>\n",
" <td>44.608714</td>\n",
" <td>53.477432</td>\n",
" <td>3.800465</td>\n",
" <td>2.222573</td>\n",
" <td>38.236717</td>\n",
" <td>12.018341</td>\n",
" <td>51.666312</td>\n",
" <td>14.254111</td>\n",
" <td>52.269917</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>-52.000000</td>\n",
" <td>-63.000000</td>\n",
" <td>-54.000000</td>\n",
" <td>-222.000000</td>\n",
" <td>-84.000000</td>\n",
" <td>-52.000000</td>\n",
" <td>-56.000000</td>\n",
" <td>-25.000000</td>\n",
" <td>-4.000000</td>\n",
" <td>-18.000000</td>\n",
" <td>...</td>\n",
" <td>-38.000000</td>\n",
" <td>-71.000000</td>\n",
" <td>-65.000000</td>\n",
" <td>-12.000000</td>\n",
" <td>-9.000000</td>\n",
" <td>-57.000000</td>\n",
" <td>-31.000000</td>\n",
" <td>-126.000000</td>\n",
" <td>-33.000000</td>\n",
" <td>-65.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>-26.000000</td>\n",
" <td>-33.000000</td>\n",
" <td>-29.000000</td>\n",
" <td>-76.000000</td>\n",
" <td>-43.000000</td>\n",
" <td>-26.000000</td>\n",
" <td>-30.000000</td>\n",
" <td>-11.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>-11.000000</td>\n",
" <td>...</td>\n",
" <td>-7.000000</td>\n",
" <td>-38.000000</td>\n",
" <td>-37.000000</td>\n",
" <td>-4.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>-30.000000</td>\n",
" <td>-16.000000</td>\n",
" <td>-40.000000</td>\n",
" <td>-10.000000</td>\n",
" <td>-35.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>12.000000</td>\n",
" <td>22.000000</td>\n",
" <td>20.000000</td>\n",
" <td>-7.000000</td>\n",
" <td>-20.000000</td>\n",
" <td>12.000000</td>\n",
" <td>19.000000</td>\n",
" <td>-5.000000</td>\n",
" <td>0.000000</td>\n",
" <td>-4.000000</td>\n",
" <td>...</td>\n",
" <td>-1.000000</td>\n",
" <td>18.000000</td>\n",
" <td>27.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>19.000000</td>\n",
" <td>-5.000000</td>\n",
" <td>20.000000</td>\n",
" <td>5.000000</td>\n",
" <td>27.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>26.000000</td>\n",
" <td>52.000000</td>\n",
" <td>42.000000</td>\n",
" <td>18.000000</td>\n",
" <td>22.000000</td>\n",
" <td>29.000000</td>\n",
" <td>44.000000</td>\n",
" <td>3.000000</td>\n",
" <td>1.000000</td>\n",
" <td>8.000000</td>\n",
" <td>...</td>\n",
" <td>4.000000</td>\n",
" <td>51.000000</td>\n",
" <td>69.000000</td>\n",
" <td>2.000000</td>\n",
" <td>2.000000</td>\n",
" <td>44.000000</td>\n",
" <td>8.000000</td>\n",
" <td>56.000000</td>\n",
" <td>15.000000</td>\n",
" <td>69.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>52.000000</td>\n",
" <td>99.000000</td>\n",
" <td>79.000000</td>\n",
" <td>152.000000</td>\n",
" <td>46.000000</td>\n",
" <td>60.000000</td>\n",
" <td>80.000000</td>\n",
" <td>13.000000</td>\n",
" <td>5.000000</td>\n",
" <td>19.000000</td>\n",
" <td>...</td>\n",
" <td>35.000000</td>\n",
" <td>93.000000</td>\n",
" <td>127.000000</td>\n",
" <td>11.000000</td>\n",
" <td>10.000000</td>\n",
" <td>80.000000</td>\n",
" <td>19.000000</td>\n",
" <td>120.000000</td>\n",
" <td>50.000000</td>\n",
" <td>127.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8 rows × 50 columns</p>\n",
"</div>"
],
"text/plain": [
" lelf_right_R lelf_right_G lelf_right_B lelf_right_H lelf_right_S \\\n",
"count 91301.000000 91301.000000 91301.000000 91301.000000 91301.000000 \n",
"mean 1.262549 11.583499 8.142594 -30.762193 -11.383139 \n",
"std 27.838211 44.035454 37.026650 64.432921 35.029158 \n",
"min -52.000000 -63.000000 -54.000000 -222.000000 -84.000000 \n",
"25% -26.000000 -33.000000 -29.000000 -76.000000 -43.000000 \n",
"50% 12.000000 22.000000 20.000000 -7.000000 -20.000000 \n",
"75% 26.000000 52.000000 42.000000 18.000000 22.000000 \n",
"max 52.000000 99.000000 79.000000 152.000000 46.000000 \n",
"\n",
" lelf_right_V lelf_right_l lelf_right_a lelf_right_b \\\n",
"count 91301.000000 91301.000000 91301.000000 91301.000000 \n",
"mean 2.284028 8.190655 -4.545503 0.222155 \n",
"std 29.075898 38.617100 8.653738 1.352848 \n",
"min -52.000000 -56.000000 -25.000000 -4.000000 \n",
"25% -26.000000 -30.000000 -11.000000 -1.000000 \n",
"50% 12.000000 19.000000 -5.000000 0.000000 \n",
"75% 29.000000 44.000000 3.000000 1.000000 \n",
"max 60.000000 80.000000 13.000000 5.000000 \n",
"\n",
" lelf_right_R_stddev ... lelf_right_S_min \\\n",
"count 91301.000000 ... 91301.000000 \n",
"mean -1.514967 ... -1.485909 \n",
"std 9.775919 ... 8.281171 \n",
"min -18.000000 ... -38.000000 \n",
"25% -11.000000 ... -7.000000 \n",
"50% -4.000000 ... -1.000000 \n",
"75% 8.000000 ... 4.000000 \n",
"max 19.000000 ... 35.000000 \n",
"\n",
" lelf_right_V_min lelf_right_l_min lelf_right_a_min lelf_right_b_min \\\n",
"count 91301.000000 91301.000000 91301.000000 91301.000000 \n",
"mean 7.071325 16.983593 -1.059320 0.402131 \n",
"std 44.608714 53.477432 3.800465 2.222573 \n",
"min -71.000000 -65.000000 -12.000000 -9.000000 \n",
"25% -38.000000 -37.000000 -4.000000 -1.000000 \n",
"50% 18.000000 27.000000 -1.000000 0.000000 \n",
"75% 51.000000 69.000000 2.000000 2.000000 \n",
"max 93.000000 127.000000 11.000000 10.000000 \n",
"\n",
" lelf_right_gray_value lelf_right_gray_stddev lelf_right_gray_hist \\\n",
"count 91301.000000 91301.000000 91301.000000 \n",
"mean 8.089287 -3.907175 11.542732 \n",
"std 38.236717 12.018341 51.666312 \n",
"min -57.000000 -31.000000 -126.000000 \n",
"25% -30.000000 -16.000000 -40.000000 \n",
"50% 19.000000 -5.000000 20.000000 \n",
"75% 44.000000 8.000000 56.000000 \n",
"max 80.000000 19.000000 120.000000 \n",
"\n",
" lelf_right_gray_max lelf_right_gray_min \n",
"count 91301.000000 91301.000000 \n",
"mean 2.554802 17.138443 \n",
"std 14.254111 52.269917 \n",
"min -33.000000 -65.000000 \n",
"25% -10.000000 -35.000000 \n",
"50% 5.000000 27.000000 \n",
"75% 15.000000 69.000000 \n",
"max 50.000000 127.000000 \n",
"\n",
"[8 rows x 50 columns]"
]
},
"execution_count": 6,
"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": null,
"metadata": {
"scrolled": false
},
"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_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": null,
"metadata": {},
"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": null,
"metadata": {},
"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": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"train_features.describe()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"d:\\Anaconda3\\lib\\site-packages\\sklearn\\ensemble\\weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release.\n",
" from numpy.core.umath_tests import inner1d\n",
"d:\\Anaconda3\\lib\\site-packages\\sklearn\\cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.\n",
" \"This module will be removed in 0.20.\", DeprecationWarning)\n"
]
}
],
"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_9,train_labels,test_size = 0.2, random_state = 20)\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" 0 1.00 1.00 1.00 1397\n",
" 1 1.00 1.00 1.00 2923\n",
" 2 1.00 1.00 1.00 2765\n",
" 3 1.00 1.00 1.00 2786\n",
" 4 1.00 1.00 1.00 2830\n",
" 5 1.00 0.99 0.99 2822\n",
" 6 0.99 1.00 1.00 2738\n",
"\n",
"avg / total 1.00 1.00 1.00 18261\n",
"\n",
"[[1396 1 0 0 0 0 0]\n",
" [ 0 2917 6 0 0 0 0]\n",
" [ 0 8 2757 0 0 0 0]\n",
" [ 0 0 0 2786 0 0 0]\n",
" [ 0 0 0 0 2829 1 0]\n",
" [ 0 0 0 0 4 2800 18]\n",
" [ 0 0 0 0 0 7 2731]]\n",
"Accuracy of prediction: 0.236\n",
"---------------------------------\n",
"\n",
"DecisionTree accuracy score: 0.9975357318876293\n",
"---------------------------------\n",
"\n",
"f1 score: 0.9975357318876293\n"
]
}
],
"source": [
"from sklearn.tree import DecisionTreeClassifier\n",
"from sklearn.metrics import classification_report,confusion_matrix\n",
"\n",
"dtree = DecisionTreeClassifier(criterion='gini',max_depth=None)\n",
"dtree.fit(X_train,y_train)\n",
"predictions = dtree.predict(X_test)\n",
"\n",
"print(classification_report(y_test,predictions))\n",
"\n",
"cm=confusion_matrix(y_test,predictions)\n",
"print(cm)\n",
"print (\"Accuracy of prediction:\",round((cm[0,0]+cm[1,1])/cm.sum(),3))\n",
"print(\"---------------------------------\\n\")\n",
"print (\"DecisionTree accuracy score:\" , accuracy_score(y_test,predictions))\n",
"print(\"---------------------------------\\n\")\n",
"print (\"f1 score:\" , f1_score(y_test,predictions,average='micro'))"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" 0 1.00 1.00 1.00 1397\n",
" 1 1.00 1.00 1.00 2923\n",
" 2 1.00 1.00 1.00 2765\n",
" 3 1.00 1.00 1.00 2786\n",
" 4 1.00 1.00 1.00 2830\n",
" 5 1.00 0.99 0.99 2822\n",
" 6 0.99 1.00 1.00 2738\n",
"\n",
"avg / total 1.00 1.00 1.00 18261\n",
"\n",
"[[1397 0 0 0 0 0 0]\n",
" [ 0 2922 1 0 0 0 0]\n",
" [ 0 0 2765 0 0 0 0]\n",
" [ 0 0 0 2786 0 0 0]\n",
" [ 0 0 0 0 2830 0 0]\n",
" [ 0 0 0 0 0 2820 2]\n",
" [ 0 0 0 0 0 1 2737]]\n",
"---------------------------------\n",
"\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9997809539455671\n",
"---------------------------------\n",
"\n",
"f1 score: 0.9997809539455671\n"
]
}
],
"source": [
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.metrics import classification_report\n",
"\n",
"rfc = RandomForestClassifier(n_estimators=600)\n",
"rfc.fit(X_train, y_train)\n",
"rfc_pred = rfc.predict(X_test)\n",
"cr = classification_report(y_test,predictions)\n",
"print(cr)\n",
"cm = confusion_matrix(y_test,rfc_pred)\n",
"print(cm)\n",
"\n",
"print(\"---------------------------------\\n\")\n",
"print (\"Accuracy of prediction:\",round((cm[0,0]+cm[1,1])/cm.sum(),3))\n",
"print (\"RandomForest accuracy score:\" , accuracy_score(y_test,rfc_pred))\n",
"print(\"---------------------------------\\n\")\n",
"print (\"f1 score:\" , f1_score(y_test,rfc_pred,average='micro'))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"RandomForest accuracy score: 0.9996166694047424\n",
"f1 score: 0.9996166694047424\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9990142927550517\n",
"f1 score: 0.9990142927550517\n",
"Accuracy of prediction: 0.236\n",
"RandomForest accuracy score: 0.9996166694047424\n",
"f1 score: 0.9996166694047424\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9996714309183505\n",
"f1 score: 0.9996714309183505\n",
"Accuracy of prediction: 0.236\n",
"RandomForest accuracy score: 0.9997809539455671\n",
"f1 score: 0.9997809539455671\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9996714309183505\n",
"f1 score: 0.9996714309183505\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9997261924319588\n",
"f1 score: 0.9997261924319588\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9995619078911341\n",
"f1 score: 0.9995619078911341\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9996714309183505\n",
"f1 score: 0.9996714309183505\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9997809539455671\n",
"f1 score: 0.9997809539455671\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9996714309183505\n",
"f1 score: 0.9996714309183505\n",
"Accuracy of prediction: 0.236\n",
"RandomForest accuracy score: 0.9996714309183505\n",
"f1 score: 0.9996714309183505\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9997261924319588\n",
"f1 score: 0.9997261924319588\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9996714309183505\n",
"f1 score: 0.9996714309183505\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9997261924319588\n",
"f1 score: 0.9997261924319588\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9996714309183505\n",
"f1 score: 0.9996714309183505\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9996714309183505\n",
"f1 score: 0.9996714309183505\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9997809539455671\n",
"f1 score: 0.9997809539455671\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9997809539455671\n",
"f1 score: 0.9997809539455671\n",
"Accuracy of prediction: 0.237\n",
"RandomForest accuracy score: 0.9997261924319588\n",
"f1 score: 0.9997261924319588\n",
"Accuracy of prediction: 0.237\n"
]
},
{
"data": {
"text/plain": [
"Text(0,0.5,'Prediction accuracy from confusion matrix')"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"\n",
"nsimu = 21\n",
"accuracy=[0]*nsimu\n",
"ntree = [0]*nsimu\n",
"for i in range(1,nsimu):\n",
" rfc = RandomForestClassifier(n_estimators=i*5,min_samples_split=10,max_depth=None,criterion='gini')\n",
" rfc.fit(X_train, y_train)\n",
" rfc_pred = rfc.predict(X_test)\n",
" cm = confusion_matrix(y_test,rfc_pred)\n",
" accuracy[i] = (cm[0,0]+cm[1,1])/cm.sum()\n",
" ntree[i]=i*5\n",
"\n",
" print (\"RandomForest accuracy score:\" , accuracy_score(y_test,rfc_pred))\n",
" print (\"f1 score:\" , f1_score(y_test,rfc_pred,average='micro')) \n",
" print (\"Accuracy of prediction:\",round((cm[0,0]+cm[1,1])/cm.sum(),3))\n",
"\n",
" \n",
"plt.figure(figsize=(10,6))\n",
"plt.scatter(x=ntree[1:nsimu],y=accuracy[1:nsimu],s=60,c='red')\n",
"plt.title(\"Number of trees in the Random Forest vs. prediction accuracy (criterion: 'gini')\", fontsize=18)\n",
"plt.xlabel(\"Number of trees\", fontsize=15)\n",
"plt.ylabel(\"Prediction accuracy from confusion matrix\", fontsize=15)\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"from sklearn.model_selection import KFold\n",
"\n",
"X = train_features_9.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": 24,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"svm linear accuracy score: 0.9998904769727835\n",
"f1 score: 0.9998904769727835\n"
]
}
],
"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.01,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": null,
"metadata": {
"scrolled": false
},
"outputs": [],
"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=None)\n",
"print \"precision_score:\" , precision_score(y_test,pred,average=None)\n",
"print \"recall_score :\" , recall_score(y_test,pred,average=None)\n",
"\n",
"print(\"preds:\",pred[:10])\n",
"print('trues:\\n',y_test[:10])\n"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"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_50features_20181207.txt\",'wb')\n",
"#f = open(\"clf_svm_linear_125100_low_feature_data.txt\",'wb')\n",
"f.write(porter_clf_svm_linear.encode())\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": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"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": null,
"metadata": {},
"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": null,
"metadata": {},
"outputs": [],
"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": [
"## 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": null,
"metadata": {},
"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
}