{ "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", " data_all = pd.read_excel(\"ov_data_all.xlsx\")\n", " #data1 = pd.read_csv(\"ovdata.csv\")\n", " #data2 = pd.read_csv(\"ovdataMore.csv\")\n", " #data1_0 = pd.read_csv(\"ovdata.csv\")\n", " #data2_0 = pd.read_csv(\"ovdataMore.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": [ " Unnamed: 0 left_block_R left_block_G left_block_B left_block_H \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 12630.082120 175.655973 147.635978 152.375456 149.687571 \n", "std 7991.088747 20.336975 35.535239 28.676148 91.663798 \n", "min 0.000000 71.000000 41.000000 40.000000 0.000000 \n", "25% 5957.250000 159.000000 115.000000 127.000000 31.000000 \n", "50% 11915.000000 171.000000 142.000000 150.000000 192.000000 \n", "75% 17872.750000 194.000000 185.000000 182.000000 232.000000 \n", "max 29668.000000 255.000000 255.000000 255.000000 250.000000 \n", "\n", " left_block_S left_block_V left_block_l left_block_a left_block_b \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 47.880366 175.855273 162.448177 139.151588 129.182871 \n", "std 27.322459 20.509936 29.863885 7.928096 2.532656 \n", "min 0.000000 71.000000 54.000000 120.000000 121.000000 \n", "25% 24.000000 159.000000 135.000000 131.000000 128.000000 \n", "50% 45.000000 171.000000 158.000000 140.000000 129.000000 \n", "75% 72.000000 195.000000 194.000000 146.000000 131.000000 \n", "max 148.000000 255.000000 255.000000 154.000000 144.000000 \n", "\n", " ... right_grayHist right_grayMax right_grayMin white_grayValue \\\n", "count ... 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean ... 150.883534 195.114095 113.259494 198.754417 \n", "std ... 22.038977 9.486027 13.231952 7.427376 \n", "min ... 43.000000 90.000000 23.000000 101.000000 \n", "25% ... 136.000000 190.000000 107.000000 196.000000 \n", "50% ... 150.000000 196.000000 112.000000 199.000000 \n", "75% ... 170.000000 201.000000 119.000000 203.000000 \n", "max ... 253.000000 255.000000 241.000000 255.000000 \n", "\n", " white_grayStddevValue white_grayHist white_grayMax white_grayMin \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 0.440896 199.092338 201.126600 197.426608 \n", "std 0.692059 8.054699 7.390833 7.635475 \n", "min 0.000000 0.000000 102.000000 100.000000 \n", "25% 0.000000 196.000000 198.000000 194.000000 \n", "50% 0.000000 200.000000 202.000000 198.000000 \n", "75% 1.000000 203.000000 205.000000 201.000000 \n", "max 17.000000 254.000000 255.000000 255.000000 \n", "\n", " whiteBalance index \n", "count 47662.000000 47662.000000 \n", "mean 0.500021 4.415593 \n", "std 0.500005 2.594731 \n", "min 0.000000 0.000000 \n", "25% 0.000000 2.000000 \n", "50% 1.000000 6.000000 \n", "75% 1.000000 7.000000 \n", "max 1.000000 7.000000 \n", "\n", "[8 rows x 153 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(['Unnamed: 0', 'dateTime', 'left_block_R', 'left_block_G',\n", " 'left_block_B', 'left_block_H', 'left_block_S', 'left_block_V',\n", " 'left_block_l', 'left_block_a',\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=154)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_all.columns\n", "#data1_0 = data1[data1[\"whiteBalance\"] == 0]\n", "\n", "#data_all[\"index\"][data_all[\"index\"]==4]=7\n", "#data_all[\"index\"][data_all[\"index\"]==3]=6\n", "#data_all[\"index\"][data_all[\"index\"]==2]=4\n", "#data_all[\"index\"][data_all[\"index\"]==1]=2\n", "#data_all.to_excel(\"ov_data_all.xlsx\")\n" ] }, { "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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Unnamed: 0left_block_Rleft_block_Gleft_block_Bleft_block_Hleft_block_Sleft_block_Vleft_block_lleft_block_aleft_block_b...right_grayValueright_grayStddevValueright_grayHistright_grayMaxright_grayMinwhite_grayValuewhite_grayStddevValuewhite_grayHistwhite_grayMaxwhite_grayMin
count47662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.000000...47662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.000000
mean12630.082120175.655973147.635978152.375456149.68757147.880366175.855273162.448177139.151588129.182871...151.64122421.378016150.883534195.114095113.259494198.7544170.440896199.092338201.126600197.426608
std7991.08874720.33697535.53523928.67614891.66379827.32245920.50993629.8638857.9280962.532656...8.4660113.29820722.0389779.48602713.2319527.4273760.6920598.0546997.3908337.635475
min0.00000071.00000041.00000040.0000000.0000000.00000071.00000054.000000120.000000121.000000...58.0000003.00000043.00000090.00000023.000000101.0000000.0000000.000000102.000000100.000000
25%5957.250000159.000000115.000000127.00000031.00000024.000000159.000000135.000000131.000000128.000000...147.00000019.000000136.000000190.000000107.000000196.0000000.000000196.000000198.000000194.000000
50%11915.000000171.000000142.000000150.000000192.00000045.000000171.000000158.000000140.000000129.000000...152.00000022.000000150.000000196.000000112.000000199.0000000.000000200.000000202.000000198.000000
75%17872.750000194.000000185.000000182.000000232.00000072.000000195.000000194.000000146.000000131.000000...157.00000024.000000170.000000201.000000119.000000203.0000001.000000203.000000205.000000201.000000
max29668.000000255.000000255.000000255.000000250.000000148.000000255.000000255.000000154.000000144.000000...248.00000031.000000253.000000255.000000241.000000255.00000017.000000254.000000255.000000255.000000
\n", "

8 rows × 151 columns

\n", "
" ], "text/plain": [ " Unnamed: 0 left_block_R left_block_G left_block_B left_block_H \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 12630.082120 175.655973 147.635978 152.375456 149.687571 \n", "std 7991.088747 20.336975 35.535239 28.676148 91.663798 \n", "min 0.000000 71.000000 41.000000 40.000000 0.000000 \n", "25% 5957.250000 159.000000 115.000000 127.000000 31.000000 \n", "50% 11915.000000 171.000000 142.000000 150.000000 192.000000 \n", "75% 17872.750000 194.000000 185.000000 182.000000 232.000000 \n", "max 29668.000000 255.000000 255.000000 255.000000 250.000000 \n", "\n", " left_block_S left_block_V left_block_l left_block_a left_block_b \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 47.880366 175.855273 162.448177 139.151588 129.182871 \n", "std 27.322459 20.509936 29.863885 7.928096 2.532656 \n", "min 0.000000 71.000000 54.000000 120.000000 121.000000 \n", "25% 24.000000 159.000000 135.000000 131.000000 128.000000 \n", "50% 45.000000 171.000000 158.000000 140.000000 129.000000 \n", "75% 72.000000 195.000000 194.000000 146.000000 131.000000 \n", "max 148.000000 255.000000 255.000000 154.000000 144.000000 \n", "\n", " ... right_grayValue right_grayStddevValue right_grayHist \\\n", "count ... 47662.000000 47662.000000 47662.000000 \n", "mean ... 151.641224 21.378016 150.883534 \n", "std ... 8.466011 3.298207 22.038977 \n", "min ... 58.000000 3.000000 43.000000 \n", "25% ... 147.000000 19.000000 136.000000 \n", "50% ... 152.000000 22.000000 150.000000 \n", "75% ... 157.000000 24.000000 170.000000 \n", "max ... 248.000000 31.000000 253.000000 \n", "\n", " right_grayMax right_grayMin white_grayValue white_grayStddevValue \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 195.114095 113.259494 198.754417 0.440896 \n", "std 9.486027 13.231952 7.427376 0.692059 \n", "min 90.000000 23.000000 101.000000 0.000000 \n", "25% 190.000000 107.000000 196.000000 0.000000 \n", "50% 196.000000 112.000000 199.000000 0.000000 \n", "75% 201.000000 119.000000 203.000000 1.000000 \n", "max 255.000000 241.000000 255.000000 17.000000 \n", "\n", " white_grayHist white_grayMax white_grayMin \n", "count 47662.000000 47662.000000 47662.000000 \n", "mean 199.092338 201.126600 197.426608 \n", "std 8.054699 7.390833 7.635475 \n", "min 0.000000 102.000000 100.000000 \n", "25% 196.000000 198.000000 194.000000 \n", "50% 200.000000 202.000000 198.000000 \n", "75% 203.000000 205.000000 201.000000 \n", "max 254.000000 255.000000 255.000000 \n", "\n", "[8 rows x 151 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": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lelf_right_Rlelf_right_Glelf_right_Blelf_right_Hlelf_right_Slelf_right_Vlelf_right_llelf_right_alelf_right_blelf_right_R_stddev...lelf_right_S_minlelf_right_V_minlelf_right_l_minlelf_right_a_minlelf_right_b_minlelf_right_gray_valuelelf_right_gray_stddevlelf_right_gray_histlelf_right_gray_maxlelf_right_gray_min
count47662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.000000...47662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.000000
mean1.6213556.6808154.458436-47.472179-2.3969411.8090304.853993-2.1249630.539633-2.441232...-8.098821-0.42996513.873673-0.9317910.6798504.913369-3.246486-9.6390841.11531214.039654
std20.82323233.41509826.64298780.78373723.11932021.04325128.6053506.6093631.6256578.844913...42.0168687.18385245.1206382.2506872.35244528.82363811.27466349.48900610.00176344.882554
min-37.000000-47.000000-40.000000-239.000000-79.000000-37.000000-41.000000-18.000000-3.000000-22.000000...-151.000000-25.000000-61.000000-9.000000-5.000000-41.000000-27.000000-251.000000-29.000000-58.000000
25%-17.000000-24.000000-21.000000-114.000000-23.000000-17.000000-22.000000-8.000000-1.000000-11.000000...-45.000000-5.000000-25.000000-3.000000-1.000000-22.000000-13.000000-53.000000-5.000000-25.000000
50%-2.000000-1.000000-1.000000-6.000000-1.000000-2.000000-1.000000-1.0000000.000000-1.000000...-5.000000-1.0000003.000000-1.0000000.000000-1.000000-1.000000-3.0000001.0000002.000000
75%24.00000045.00000034.00000010.00000019.00000025.00000038.0000004.0000002.0000005.000000...28.0000004.00000058.0000001.0000002.00000038.0000006.00000034.0000009.00000058.000000
max44.00000066.00000050.00000094.00000044.00000048.00000056.0000009.0000007.00000017.000000...76.00000029.000000102.0000006.00000010.00000056.00000020.000000101.00000039.000000101.000000
\n", "

8 rows × 50 columns

\n", "
" ], "text/plain": [ " lelf_right_R lelf_right_G lelf_right_B lelf_right_H lelf_right_S \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 1.621355 6.680815 4.458436 -47.472179 -2.396941 \n", "std 20.823232 33.415098 26.642987 80.783737 23.119320 \n", "min -37.000000 -47.000000 -40.000000 -239.000000 -79.000000 \n", "25% -17.000000 -24.000000 -21.000000 -114.000000 -23.000000 \n", "50% -2.000000 -1.000000 -1.000000 -6.000000 -1.000000 \n", "75% 24.000000 45.000000 34.000000 10.000000 19.000000 \n", "max 44.000000 66.000000 50.000000 94.000000 44.000000 \n", "\n", " lelf_right_V lelf_right_l lelf_right_a lelf_right_b \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 1.809030 4.853993 -2.124963 0.539633 \n", "std 21.043251 28.605350 6.609363 1.625657 \n", "min -37.000000 -41.000000 -18.000000 -3.000000 \n", "25% -17.000000 -22.000000 -8.000000 -1.000000 \n", "50% -2.000000 -1.000000 -1.000000 0.000000 \n", "75% 25.000000 38.000000 4.000000 2.000000 \n", "max 48.000000 56.000000 9.000000 7.000000 \n", "\n", " lelf_right_R_stddev ... lelf_right_S_min lelf_right_V_min \\\n", "count 47662.000000 ... 47662.000000 47662.000000 \n", "mean -2.441232 ... -8.098821 -0.429965 \n", "std 8.844913 ... 42.016868 7.183852 \n", "min -22.000000 ... -151.000000 -25.000000 \n", "25% -11.000000 ... -45.000000 -5.000000 \n", "50% -1.000000 ... -5.000000 -1.000000 \n", "75% 5.000000 ... 28.000000 4.000000 \n", "max 17.000000 ... 76.000000 29.000000 \n", "\n", " lelf_right_l_min lelf_right_a_min lelf_right_b_min \\\n", "count 47662.000000 47662.000000 47662.000000 \n", "mean 13.873673 -0.931791 0.679850 \n", "std 45.120638 2.250687 2.352445 \n", "min -61.000000 -9.000000 -5.000000 \n", "25% -25.000000 -3.000000 -1.000000 \n", "50% 3.000000 -1.000000 0.000000 \n", "75% 58.000000 1.000000 2.000000 \n", "max 102.000000 6.000000 10.000000 \n", "\n", " lelf_right_gray_value lelf_right_gray_stddev lelf_right_gray_hist \\\n", "count 47662.000000 47662.000000 47662.000000 \n", "mean 4.913369 -3.246486 -9.639084 \n", "std 28.823638 11.274663 49.489006 \n", "min -41.000000 -27.000000 -251.000000 \n", "25% -22.000000 -13.000000 -53.000000 \n", "50% -1.000000 -1.000000 -3.000000 \n", "75% 38.000000 6.000000 34.000000 \n", "max 56.000000 20.000000 101.000000 \n", "\n", " lelf_right_gray_max lelf_right_gray_min \n", "count 47662.000000 47662.000000 \n", "mean 1.115312 14.039654 \n", "std 10.001763 44.882554 \n", "min -29.000000 -58.000000 \n", "25% -5.000000 -25.000000 \n", "50% 1.000000 2.000000 \n", "75% 9.000000 58.000000 \n", "max 39.000000 101.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": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "train_features_9.to_excel(\"train_features_9.xlsx\")" ] }, { "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": [], "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", "ImportError: No module named 'sklearn.cross_validation'\n", "通常我们会使用方法(1)的方式进行导入sklearn.cross_validation,\n", "在大多数的版本里都会出现ImportError: No module named 'sklearn.cross_validation'问题,\n", "我试过windows7的python2下的环境和ubuntu下的python3.5环境下,都出现过这样的情况。\n", "所有当我们使用方法(1)出现问题的时候,我们不妨使用方法(2)代替一下。基本问题就解决了。\n", "(1)from sklearn.cross_validation import train_test_split\n", "(2)from sklearn.model_selection import cross_val_score\n", " from sklearn.model_selection import train_test_split\n", "\"\"\"\n", "from sklearn.ensemble import ExtraTreesClassifier\n", "from sklearn.ensemble import AdaBoostClassifier\n", "from sklearn.model_selection import train_test_split\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.5, random_state = 0)\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": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-----------classification_report----------------------\n", "\n", " precision recall f1-score support\n", "\n", " 0 0.99 0.99 0.99 1503\n", " 2 0.99 0.99 0.99 1337\n", " 4 1.00 1.00 1.00 1889\n", " 6 0.99 0.99 0.99 1512\n", " 7 0.99 1.00 1.00 3292\n", "\n", " micro avg 0.99 0.99 0.99 9533\n", " macro avg 0.99 0.99 0.99 9533\n", "weighted avg 0.99 0.99 0.99 9533\n", "\n", "-----------cm----------------------\n", "\n", "[[1495 8 0 0 0]\n", " [ 16 1321 0 0 0]\n", " [ 0 0 1889 0 0]\n", " [ 0 0 0 1494 18]\n", " [ 0 0 0 14 3278]]\n", "---------------------------------\n", "\n", "Accuracy of prediction: 0.295\n", "---------------------------------\n", "\n", "DecisionTree accuracy score: 0.9941256687296759\n", "f1 score: 0.9941256687296759\n", "precision_score: 0.9941256687296759\n", "recall_score: 0.9941256687296759\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----------------------\\n\")\n", "print(classification_report(y_test,predictions))\n", "print(\"-----------cm----------------------\\n\")\n", "cm=confusion_matrix(y_test,predictions)\n", "print(cm)\n", "print(\"---------------------------------\\n\")\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 (\"f1 score:\" , f1_score(y_test,predictions,average='micro'))\n", "print (\"precision_score:\" , precision_score(y_test,predictions,average='micro'))\n", "print (\"recall_score:\" , recall_score(y_test,predictions,average='micro'))" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " precision recall f1-score support\n", "\n", " 0 0.99 0.99 0.99 1503\n", " 2 0.99 0.99 0.99 1337\n", " 4 1.00 1.00 1.00 1889\n", " 6 0.99 0.99 0.99 1512\n", " 7 0.99 1.00 1.00 3292\n", "\n", " micro avg 0.99 0.99 0.99 9533\n", " macro avg 0.99 0.99 0.99 9533\n", "weighted avg 0.99 0.99 0.99 9533\n", "\n", "[[1500 3 0 0 0]\n", " [ 2 1334 1 0 0]\n", " [ 0 0 1889 0 0]\n", " [ 0 0 0 1510 2]\n", " [ 0 0 0 2 3290]]\n", "---------------------------------\n", "\n", "Accuracy of prediction: 0.297\n", "RandomForest accuracy score: 0.9989510122731564\n", "---------------------------------\n", "\n", "f1 score: 0.9989510122731564\n", "precision_score: 0.9989510122731564\n", "recall_score: 0.9989510122731564\n" ] } ], "source": [ "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.metrics import classification_report\n", "\n", "rfc = RandomForestClassifier(n_estimators=20)\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'))\n", "print (\"precision_score:\" , precision_score(y_test,rfc_pred,average='micro'))\n", "print (\"recall_score:\" , recall_score(y_test,rfc_pred,average='micro'))" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " precision recall f1-score support\n", "\n", " 0 0.99 0.99 0.99 1503\n", " 2 0.99 0.99 0.99 1337\n", " 4 1.00 1.00 1.00 1889\n", " 6 0.99 0.99 0.99 1512\n", " 7 0.99 1.00 1.00 3292\n", "\n", " micro avg 0.99 0.99 0.99 9533\n", " macro avg 0.99 0.99 0.99 9533\n", "weighted avg 0.99 0.99 0.99 9533\n", "\n", "[[1501 2 0 0 0]\n", " [ 3 1333 1 0 0]\n", " [ 0 0 1889 0 0]\n", " [ 0 0 0 1510 2]\n", " [ 0 0 0 2 3290]]\n", "---------------------------------\n", "\n", "Accuracy of prediction: 0.297\n", "RandomForest accuracy score: 0.9989510122731564\n", "---------------------------------\n", "\n", "f1 score: 0.9989510122731564\n", "precision_score: 0.9989510122731564\n", "recall_score: 0.9989510122731564\n" ] } ], "source": [ "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.metrics import classification_report\n", "#https://www.cnblogs.com/pinard/p/6160412.html\n", "rfcNew = RandomForestClassifier(n_estimators= 60)#, max_depth=20, min_samples_split=110,min_samples_leaf=20,max_features='sqrt' ,oob_score=True, random_state=10)\n", "rfcNew.fit(X_train, y_train)\n", "rfcNew_pred = rfcNew.predict(X_test)\n", "cr = classification_report(y_test,predictions)\n", "print(cr)\n", "cm = confusion_matrix(y_test,rfcNew_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,rfcNew_pred))\n", "print(\"---------------------------------\\n\")\n", "print (\"f1 score:\" , f1_score(y_test,rfcNew_pred,average='micro'))\n", "print (\"precision_score:\" , precision_score(y_test,rfcNew_pred,average='micro'))\n", "print (\"recall_score:\" , recall_score(y_test,rfcNew_pred,average='micro'))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# following lines is NOT used\n", "from sklearn.ensemble import RandomForestRegressor\n", "rfr = RandomForestRegressor(n_estimators=20)\n", "rfr.fit(X_train, y_train)\n", "rfr_pred = rfr.predict(X_test)\n", "print(\"Traing Score:%f\"%rfr.score(X_train,y_train))\n", "print(\"Tesing Score:%f\"%rfr.score(X_test,y_test))\n", " \n", "cm = confusion_matrix(y_test,rfr_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,rfr_pred))\n", "print(\"---------------------------------\\n\")\n", "print (\"f1 score:\" , f1_score(y_test,rfr_pred,average='micro'))\n", "print (\"precision_score:\" , precision_score(y_test,rfr_pred,average='micro'))\n", "print (\"recall_score:\" , recall_score(y_test,rfr_pred,average='micro'))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "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", " rfc = RandomForestClassifier(n_estimators=600)\n", " rfc.fit(X_train, y_train)\n", " rfc_pred = rfc.predict(X_test) \n", " print (\"svm linear accuracy score:\" , accuracy_score(y_test,rfc_pred))\n", " print (\"f1 score:\" , f1_score(y_test,rfc_pred,average='micro'))\n", " print (\"precision_score:\" , precision_score(y_test,rfc_pred,average='micro'))\n", " print (\"recall_score:\" , recall_score(y_test,rfc_pred,average='micro'))\n", "\n", " training_stop_time = datetime.now()\n", "\n", " print (\"runing time:\",(training_stop_time - trarining_start_time))\n", " print(\"\\n\\n\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "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.02, C=1)\n", " clf_svm_linear = clf_svm_linear.fit(X_train, y_train)\n", " #print(clf_svm_linear.predict(X_test))\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", " print (\"precision_score:\" , precision_score(y_test,pred,average='micro'))\n", " print (\"recall_score:\" , recall_score(y_test,pred,average='micro'))\n", "\n", " training_stop_time = datetime.now()\n", "\n", " print (\"runing time:\",(training_stop_time - trarining_start_time))\n", " print(\"\\n\\n\")\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", " C:C-SVC的惩罚参数C?默认值是1.0\n", "C越大,相当于惩罚松弛变量,希望松弛变量接近0,即对误分类的惩罚增大,趋向于对训练集全分对的情况,\n", "这样对训练集测试时准确率很高,但泛化能力弱。C值小,对误分类的惩罚减小,允许容错,将他们当成噪声点,\n", "泛化能力较强。\n", "kernel :核函数,默认是rbf,可以是‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’ \n", "   0 – 线性:u'v\n", "    1 – 多项式:(gamma*u'*v + coef0)^degree\n", "   2 – RBF函数:exp(-gamma|u-v|^2)\n", "   3 –sigmoid:tanh(gamma*u'*v + coef0)\n", "degree :多项式poly函数的维度,默认是3,选择其他核函数时会被忽略。\n", "gamma : ‘rbf’,‘poly’ 和‘sigmoid’的核函数参数。默认是’auto’,则会选择1/n_features\n", "coef0 :核函数的常数项。对于‘poly’和 ‘sigmoid’有用。\n", "probability :是否采用概率估计?.默认为False\n", "shrinking :是否采用shrinking heuristic方法,默认为true\n", "tol :停止训练的误差值大小,默认为1e-3\n", "cache_size :核函数cache缓存大小,默认为200\n", "class_weight :类别的权重,字典形式传递。设置第几类的参数C为weight*C(C-SVC中的C)\n", "verbose :允许冗余输出?\n", "max_iter :最大迭代次数。-1为无限制。\n", "decision_function_shape :‘ovo’, ‘ovr’ or None, default=None3\n", "random_state :数据洗牌时的种子值,int值\n", "主要调节的参数有:C、kernel、degree、gamma、coef0\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "#X_train = train_features_9\n", "#y_train = train_labels\n", "\n", "# X_test = test_features\n", "# y_test = test_labels\n", "\n", "from datetime import datetime\n", "trarining_start_time = datetime.now()\n", " \n", "#clf_svm_linear = SVC(kernel = 'linear',gamma=0.00001,C=0.01)\n", "clf_svm_linear = SVC(kernel = 'linear',gamma=0.02,C=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", "#print (\"precision_score:\" , precision_score(y_test,pred,average=None))\n", "#print (\"recall_score :\" , recall_score(y_test,pred,average=None))\n", "print (\"svm linear accuracy score:\" , accuracy_score(y_test,pred))\n", "print (\"f1 score:\" , f1_score(y_test,pred,average='micro'))\n", "print (\"precision_score:\" , precision_score(y_test,pred,average='micro'))\n", "print (\"recall_score:\" , recall_score(y_test,pred,average='micro'))\n", "\n", "training_stop_time = datetime.now()\n", "print (\"runing clf_svm_linear time:\",(training_stop_time - trarining_start_time))\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'\\nporter_dtree_java = Porter(dtree, language=\\'java\\').export()\\nporter_dtree_c = Porter(dtree, language=\\'c\\').export()\\n\\nf = open(\"ov_dtree_c.txt\",\\'wb\\')\\nf.write(porter_dtree_c.encode())\\nf.close()\\n\\nf = open(\"ov_dtree_java.txt\",\\'wb\\')\\nf.write(porter_dtree_java.encode())\\nf.close()\\n'" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn_porter import Porter\n", "\"\"\"\n", "No module named 'sklearn_porter'\n", "\n", "2、下载软件\n", ">git clone -b stable https://github.com/nok/sklearn-porter.git\n", ">cd sklearn-porter\n", "3、修改setup.py\n", "将 readme = open(readme_path, ‘r’).read().strip()\n", "改为 readme = open(readme_path, ‘r’, encoding=‘utf-8’).read().strip()\n", "4、使用setup.py安装\n", ">python setup.py install\n", "\"\"\"\n", "\"\"\"\n", "porter_svc_java = Porter(clf_svm_linear, language='java').export()\n", "porter_svc_c = Porter(clf_svm_linear, language='c').export()\n", "\n", "f = open(\"ov_svc_c.txt\",'wb')\n", "f.write(porter_svc_c.encode())\n", "f.close()\n", "f = open(\"ov_svc_java.txt\",'wb')\n", "f.write(porter_svc_java.encode())\n", "f.close()\n", "\"\"\"\n", "\n", "#------------------------\n", "porter_rfc_java = Porter(rfcNew, language='java').export()\n", "porter_rfc_c = Porter(rfcNew, language='c').export()\n", "\n", "f = open(\"ov_rfc60_c.txt\",'wb')\n", "f.write(porter_rfc_c.encode())\n", "f.close()\n", "\n", "f = open(\"ov_rfc60_java.txt\",'wb')\n", "f.write(porter_rfc_java.encode())\n", "f.close()\n", "#------------------------\n", "\"\"\"\n", "porter_dtree_java = Porter(dtree, language='java').export()\n", "porter_dtree_c = Porter(dtree, language='c').export()\n", "\n", "f = open(\"ov_dtree_c.txt\",'wb')\n", "f.write(porter_dtree_c.encode())\n", "f.close()\n", "\n", "f = open(\"ov_dtree_java.txt\",'wb')\n", "f.write(porter_dtree_java.encode())\n", "f.close()\n", "\"\"\"\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from sklearn_porter import Porter\n", "\n", "porter_clf_svm_liner = 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_20181220.txt\",'wb')\n", "#f = open(\"clf_svm_linear_125100_low_feature_data.txt\",'wb')\n", "f.write(porter_clf_svm_liner.encode())\n", "f.close()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from sklearn_porter import Porter\n", "\n", "porter_clf_svm_liner = Porter(clf_svm_linear, language='js').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_js_20181221.txt\",'wb')\n", "#f = open(\"clf_svm_linear_125100_low_feature_data.txt\",'wb')\n", "f.write(porter_clf_svm_liner.encode())\n", "f.close()" ] }, { "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": null, "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(\"ov_svm_c.txt\",'wb')\n", "f.write(porter_c)\n", "f.close()\n", "\n", "f = open(\"ov_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 }