{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 排卵试纸机器学习算法验证" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 1. **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": [ "# 2. **load data**" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "load data successful !!!!!\n" ] } ], "source": [ "try :\n", "# data_iphone6p_75_10 = pd.read_csv(\"20170912.pm.csv\")\n", "# data_iphone6p_1234 = pd.read_csv(\"20170920.pm.csv\")\n", "# data_iphone6p_5 = pd.read_csv(\"20170922.pm.csv\")\n", "# data_iphone6p_0 = pd.read_csv(\"20170925.am.csv\")\n", "# data_iphone6p_0_0 = pd.read_csv(\"20170925.pm.csv\")\n", "# data_iphone6p_246 = pd.read_csv(\"20171011.pm.csv\")\n", " \n", "# data1 = pd.read_csv(\"ovdata_reindex.csv\")\n", "# data2 = pd.read_csv(\"ovdataMore_reindex.csv\")\n", "# data3 = pd.read_csv(\"ov_data_2020_reindex.csv\")\n", " data1 = pd.read_csv(\"ovdata.csv\")\n", " data2 = pd.read_csv(\"ovdataMore.csv\")\n", " data3 = pd.read_csv(\"ov_data_2020.csv\")\n", " data4 = pd.read_csv(\"data10more.csv\")\n", "\n", "# data4 = pd.read_csv(\"10_25_renew.csv\")\n", "\n", "# data_all = pd.read_csv(\"data_all_2019_2020_reindex.csv\")\n", "# data_all = pd.read_csv(\"ov_data_2020_reindex.csv\")\n", " \n", "# data1 = pd.read_csv(\"ovdata.csv\")\n", "# data2 = pd.read_csv(\"ovdataMore.csv\")\n", "# data3 = pd.read_csv(\"ov_data_2020.csv\")\n", "# data_test1 = pd.read_csv(\"./newData/test.csv\")\n", "# data_test2 = pd.read_csv(\"./newData/nubia_test.csv\")\n", " \n", " print (\"load data successful !!!!!\")\n", "except :\n", " print (\"load data error !!!!!!!!!!\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "data1.describe()\n", "data2.describe()\n", "data3.describe()\n", "data4.describe()\n", "data5.describe()\n", "\n", "data10_all = data1.append(data2).append(data3).append(data4).append(data5)\n", "data10_all['index'].replace(2,1,inplace=True)\n", "data10_all.describe()\n", "data10_all.to_csv('data10more.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 3. **分析数据**" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\lenovo\\AppData\\Local\\Temp\\ipykernel_5204\\296813344.py:43: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", " data =data1.append(data2).append(data3).append(data4)\n", "C:\\Users\\lenovo\\AppData\\Local\\Temp\\ipykernel_5204\\296813344.py:43: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", " data =data1.append(data2).append(data3).append(data4)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " left_block_R left_block_G left_block_B left_block_H left_block_S \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 180.289098 153.385590 160.582351 178.323906 44.126600 \n", "std 21.700504 35.551055 32.701433 78.575314 26.848687 \n", "min 58.000000 33.000000 34.000000 0.000000 0.000000 \n", "25% 162.000000 122.000000 134.000000 155.000000 18.000000 \n", "50% 181.000000 153.000000 159.000000 217.000000 45.000000 \n", "75% 198.000000 188.000000 190.000000 236.000000 68.000000 \n", "max 255.000000 255.000000 255.000000 250.000000 148.000000 \n", "\n", " left_block_V left_block_l left_block_a left_block_b \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 181.053984 167.856427 139.075259 127.747241 \n", "std 22.735616 30.366616 7.378973 3.389799 \n", "min 58.000000 41.000000 121.000000 114.000000 \n", "25% 163.000000 142.000000 133.000000 126.000000 \n", "50% 181.000000 169.000000 140.000000 128.000000 \n", "75% 198.000000 197.000000 146.000000 130.000000 \n", "max 255.000000 255.000000 154.000000 144.000000 \n", "\n", " left_block_R_stddev ... right_grayMax right_grayMin \\\n", "count 47662.000000 ... 47662.000000 47662.000000 \n", "mean 12.002476 ... 194.762725 122.369645 \n", "std 7.959948 ... 12.987519 18.713574 \n", "min 0.000000 ... 91.000000 24.000000 \n", "25% 4.000000 ... 189.000000 110.000000 \n", "50% 11.000000 ... 196.000000 120.000000 \n", "75% 19.000000 ... 202.000000 137.000000 \n", "max 32.000000 ... 255.000000 242.000000 \n", "\n", " white_grayValue white_grayStddevValue white_grayHist white_grayMax \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 201.867903 0.263627 202.181276 203.812240 \n", "std 13.437574 0.556166 14.096635 13.327305 \n", "min 102.000000 0.000000 0.000000 103.000000 \n", "25% 196.000000 0.000000 196.000000 198.000000 \n", "50% 202.000000 0.000000 202.000000 204.000000 \n", "75% 207.000000 0.000000 208.000000 209.000000 \n", "max 255.000000 17.000000 254.000000 255.000000 \n", "\n", " white_grayMin whiteBalance index Unnamed: 0 \n", "count 47662.000000 47662.0 47662.000000 5714.000000 \n", "mean 200.900340 0.0 2.187948 1289.203710 \n", "std 13.602098 0.0 1.380523 850.267883 \n", "min 101.000000 0.0 0.000000 0.000000 \n", "25% 194.000000 0.0 1.000000 570.250000 \n", "50% 201.000000 0.0 2.000000 1146.000000 \n", "75% 207.000000 0.0 4.000000 1981.500000 \n", "max 255.000000 0.0 4.000000 3226.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", "#data1['index'].replace(4,6,inplace=True)\n", "#data1['index'].replace(3,5,inplace=True)\n", "#data1['index'].replace(2,4,inplace=True)\n", "#data1['index'].replace(1,2,inplace=True)\n", "\n", "#data2['index'].replace(4,6,inplace=True)\n", "#data2['index'].replace(3,5,inplace=True)\n", "#data2['index'].replace(2,4,inplace=True)\n", "#data2['index'].replace(1,2,inplace=True)\n", "\n", "#data3['index'].replace(4,6,inplace=True)\n", "#data3['index'].replace(3,5,inplace=True)\n", "#data3['index'].replace(2,4,inplace=True)\n", "#data3['index'].replace(1,2,inplace=True)\n", "\n", "#data4['index'].replace(2,1,inplace=True)\n", "#data4['index'].replace(4,2,inplace=True)\n", "\n", "#data1_0 = data1[data1[\"whiteBalance\"] == 0]\n", "#data2_0 = data2[data2[\"whiteBalance\"] == 0]\n", "#data3_0 = data3[data3[\"whiteBalance\"] == 0]\n", "\n", "#data_test_0 = data_test\n", "\n", "#data_all =data1_0.append(data2_0);\n", "#data_all =data1.append(data2).append(data3);\n", "\n", "#data_all.to_csv('data_all_2019_2020_reindex.csv')\n", "#data1.to_csv('ovdata_modifed.csv')\n", "#data2.to_csv('ovdataMore_modifed.csv')\n", "#data3.to_csv('ov_data_2020_modifed.csv')\n", "#data4.to_csv('10_25_renew.csv')\n", "\n", "data =data1.append(data2).append(data3).append(data4)\n", "data_all = data[data[\"whiteBalance\"] == 0]\n", "print(data_all.describe())\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "whiteBlock_R_one =data_all[data_all[\"index\"] == 0 ][\"right_block_l_min\"]\n", "whiteBlock_G_one = data_all[data_all[\"index\"] == 0 ][\"right_block_a_min\"]\n", "whiteBlock_B_one = data_all[data_all[\"index\"] == 0 ][\"right_block_b_min\"]\n", "\n", "whiteBlock_R_two = data_all[data_all[\"index\"] == 1 ][\"right_block_l_min\"]\n", "whiteBlock_G_two = data_all[data_all[\"index\"] == 1 ][\"right_block_a_min\"]\n", "whiteBlock_B_two = data_all[data_all[\"index\"] == 1 ][\"right_block_b_min\"]\n", "\n", "whiteBlock_R_three = data_all[data_all[\"index\"] == 2 ][\"right_block_l_min\"]\n", "whiteBlock_G_three = data_all[data_all[\"index\"] == 2 ][\"right_block_a_min\"]\n", "whiteBlock_B_three = data_all[data_all[\"index\"] == 2 ][\"right_block_b_min\"]\n", "\n", "whiteBlock_R_four = data_all[data_all[\"index\"] == 4 ][\"right_block_l_min\"]\n", "whiteBlock_G_four = data_all[data_all[\"index\"] == 4 ][\"right_block_a_min\"]\n", "whiteBlock_B_four = data_all[data_all[\"index\"] == 4 ][\"right_block_b_min\"]\n", "\n", "\n", "whiteBlock_R_five = data_all[data_all[\"index\"] == 6 ][\"right_block_l_min\"]\n", "whiteBlock_G_five = data_all[data_all[\"index\"] == 6 ][\"right_block_a_min\"]\n", "whiteBlock_B_five = data_all[data_all[\"index\"] == 6 ][\"right_block_b_min\"]\n", "\n", "whiteBlock_R_six = data_all[data_all[\"index\"] == 7 ][\"right_block_l_min\"]\n", "whiteBlock_G_six = data_all[data_all[\"index\"] == 7 ][\"right_block_a_min\"]\n", "whiteBlock_B_six = data_all[data_all[\"index\"] == 7 ][\"right_block_b_min\"]\n", "\n", "fig = plt.figure()\n", "#plt.rcParams[\"figure.figsize\"] = 20,20\n", "ax = Axes3D(fig)\n", "\n", "ax.set_xlim(0,255)\n", "ax.set_ylim(0,255)\n", "ax.set_zlim(0,255)\n", "ax.set_xlabel('H')\n", "ax.set_ylabel('S')\n", "ax.set_zlabel('V')\n", "ax.set_title('HSV colorspace OV right block max value')\n", "# ax.scatter(whiteBlock_R_zero, whiteBlock_G_zero, whiteBlock_B_zero,s = 15,c='y')\n", "ax.scatter(whiteBlock_R_one, whiteBlock_G_one, whiteBlock_B_one,s = 15,c='r')\n", "\n", "ax.scatter(whiteBlock_R_two, whiteBlock_G_two, whiteBlock_B_two,s = 15,c='g')\n", "ax.scatter(whiteBlock_R_three, whiteBlock_G_three, whiteBlock_B_three,s = 15,c='b')\n", "\n", "ax.scatter(whiteBlock_R_four, whiteBlock_G_four, whiteBlock_B_four,s = 15,c='y')\n", "ax.scatter(whiteBlock_R_five, whiteBlock_G_five, whiteBlock_B_five,s = 15,c='pink')\n", "ax.scatter(whiteBlock_R_six, whiteBlock_G_six, whiteBlock_B_six,s = 15,c='c')\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['dateTime', 'left_block_R', 'left_block_G', 'left_block_B',\n", " 'left_block_H', 'left_block_S', 'left_block_V', 'left_block_l',\n", " 'left_block_a', 'left_block_b',\n", " ...\n", " 'right_grayMax', 'right_grayMin', 'white_grayValue',\n", " 'white_grayStddevValue', 'white_grayHist', 'white_grayMax',\n", " 'white_grayMin', 'whiteBalance', 'index', 'Unnamed: 0'],\n", " dtype='object', length=154)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_all.columns" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "hsv max min hist value h值要去掉" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 预处理数据" ] }, { "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", "
left_block_Rleft_block_Gleft_block_Bleft_block_Hleft_block_Sleft_block_Vleft_block_lleft_block_aleft_block_bleft_block_R_stddev...right_grayStddevValueright_grayHistright_grayMaxright_grayMinwhite_grayValuewhite_grayStddevValuewhite_grayHistwhite_grayMaxwhite_grayMinUnnamed: 0
count47662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.000000...47662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.0000005714.000000
mean180.289098153.385590160.582351178.32390644.126600181.053984167.856427139.075259127.74724112.002476...19.333809153.983719194.762725122.369645201.8679030.263627202.181276203.812240200.9003401289.203710
std21.70050435.55105532.70143378.57531426.84868722.73561630.3666167.3789733.3897997.959948...4.07141122.84810312.98751918.71357413.4375740.55616614.09663513.32730513.602098850.267883
min58.00000033.00000034.0000000.0000000.00000058.00000041.000000121.000000114.0000000.000000...1.00000028.00000091.00000024.000000102.0000000.0000000.000000103.000000101.0000000.000000
25%162.000000122.000000134.000000155.00000018.000000163.000000142.000000133.000000126.0000004.000000...16.000000139.000000189.000000110.000000196.0000000.000000196.000000198.000000194.000000570.250000
50%181.000000153.000000159.000000217.00000045.000000181.000000169.000000140.000000128.00000011.000000...19.000000151.000000196.000000120.000000202.0000000.000000202.000000204.000000201.0000001146.000000
75%198.000000188.000000190.000000236.00000068.000000198.000000197.000000146.000000130.00000019.000000...23.000000170.000000202.000000137.000000207.0000000.000000208.000000209.000000207.0000001981.500000
max255.000000255.000000255.000000250.000000148.000000255.000000255.000000154.000000144.00000032.000000...31.000000251.000000255.000000242.000000255.00000017.000000254.000000255.000000255.0000003226.000000
\n", "

8 rows × 151 columns

\n", "
" ], "text/plain": [ " left_block_R left_block_G left_block_B left_block_H left_block_S \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 180.289098 153.385590 160.582351 178.323906 44.126600 \n", "std 21.700504 35.551055 32.701433 78.575314 26.848687 \n", "min 58.000000 33.000000 34.000000 0.000000 0.000000 \n", "25% 162.000000 122.000000 134.000000 155.000000 18.000000 \n", "50% 181.000000 153.000000 159.000000 217.000000 45.000000 \n", "75% 198.000000 188.000000 190.000000 236.000000 68.000000 \n", "max 255.000000 255.000000 255.000000 250.000000 148.000000 \n", "\n", " left_block_V left_block_l left_block_a left_block_b \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 181.053984 167.856427 139.075259 127.747241 \n", "std 22.735616 30.366616 7.378973 3.389799 \n", "min 58.000000 41.000000 121.000000 114.000000 \n", "25% 163.000000 142.000000 133.000000 126.000000 \n", "50% 181.000000 169.000000 140.000000 128.000000 \n", "75% 198.000000 197.000000 146.000000 130.000000 \n", "max 255.000000 255.000000 154.000000 144.000000 \n", "\n", " left_block_R_stddev ... right_grayStddevValue right_grayHist \\\n", "count 47662.000000 ... 47662.000000 47662.000000 \n", "mean 12.002476 ... 19.333809 153.983719 \n", "std 7.959948 ... 4.071411 22.848103 \n", "min 0.000000 ... 1.000000 28.000000 \n", "25% 4.000000 ... 16.000000 139.000000 \n", "50% 11.000000 ... 19.000000 151.000000 \n", "75% 19.000000 ... 23.000000 170.000000 \n", "max 32.000000 ... 31.000000 251.000000 \n", "\n", " right_grayMax right_grayMin white_grayValue white_grayStddevValue \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 194.762725 122.369645 201.867903 0.263627 \n", "std 12.987519 18.713574 13.437574 0.556166 \n", "min 91.000000 24.000000 102.000000 0.000000 \n", "25% 189.000000 110.000000 196.000000 0.000000 \n", "50% 196.000000 120.000000 202.000000 0.000000 \n", "75% 202.000000 137.000000 207.000000 0.000000 \n", "max 255.000000 242.000000 255.000000 17.000000 \n", "\n", " white_grayHist white_grayMax white_grayMin Unnamed: 0 \n", "count 47662.000000 47662.000000 47662.000000 5714.000000 \n", "mean 202.181276 203.812240 200.900340 1289.203710 \n", "std 14.096635 13.327305 13.602098 850.267883 \n", "min 0.000000 103.000000 101.000000 0.000000 \n", "25% 196.000000 198.000000 194.000000 570.250000 \n", "50% 202.000000 204.000000 201.000000 1146.000000 \n", "75% 208.000000 209.000000 207.000000 1981.500000 \n", "max 254.000000 255.000000 255.000000 3226.000000 \n", "\n", "[8 rows x 151 columns]" ] }, "execution_count": 6, "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": [ "\n", "#这一节的代码,不要执行\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(\"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": "markdown", "metadata": {}, "source": [ "# train_features_9是真正的训练数据" ] }, { "cell_type": "code", "execution_count": 7, "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.5246117.4143554.993936-29.645441-4.3005122.0483825.319017-2.4622550.554404-1.499895...-9.937833-0.31322612.762725-0.9569680.7408215.371596-2.692417-2.5818890.88021912.910872
std19.87769332.67659426.32020569.62818423.35777620.53950827.8179846.5658941.4981758.691766...41.7951046.60892043.9655072.2728742.20306928.07044111.11984246.1454299.52955143.804821
min-37.000000-52.000000-45.000000-242.000000-60.000000-37.000000-46.000000-17.000000-3.000000-21.000000...-124.000000-24.000000-74.000000-9.000000-5.000000-46.000000-27.000000-251.000000-28.000000-70.000000
25%-18.000000-25.000000-21.000000-41.000000-26.000000-18.000000-22.000000-9.000000-1.000000-8.000000...-47.000000-5.000000-28.000000-3.000000-1.000000-22.000000-12.000000-42.000000-6.000000-28.000000
50%2.0000008.0000007.000000-2.000000-7.0000002.0000006.000000-2.0000000.000000-3.000000...-13.000000-1.00000016.000000-1.0000000.0000006.000000-4.0000002.0000001.00000015.000000
75%21.00000041.00000031.0000006.00000018.00000022.00000034.0000004.0000002.0000006.000000...29.0000004.00000049.0000001.0000002.00000034.0000008.00000039.0000009.00000050.000000
max41.00000066.00000051.000000140.00000068.00000050.00000056.00000011.0000007.00000018.000000...138.00000029.000000101.0000007.00000010.00000056.00000020.000000101.00000039.000000100.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.524611 7.414355 4.993936 -29.645441 -4.300512 \n", "std 19.877693 32.676594 26.320205 69.628184 23.357776 \n", "min -37.000000 -52.000000 -45.000000 -242.000000 -60.000000 \n", "25% -18.000000 -25.000000 -21.000000 -41.000000 -26.000000 \n", "50% 2.000000 8.000000 7.000000 -2.000000 -7.000000 \n", "75% 21.000000 41.000000 31.000000 6.000000 18.000000 \n", "max 41.000000 66.000000 51.000000 140.000000 68.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 2.048382 5.319017 -2.462255 0.554404 \n", "std 20.539508 27.817984 6.565894 1.498175 \n", "min -37.000000 -46.000000 -17.000000 -3.000000 \n", "25% -18.000000 -22.000000 -9.000000 -1.000000 \n", "50% 2.000000 6.000000 -2.000000 0.000000 \n", "75% 22.000000 34.000000 4.000000 2.000000 \n", "max 50.000000 56.000000 11.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 -1.499895 ... -9.937833 -0.313226 \n", "std 8.691766 ... 41.795104 6.608920 \n", "min -21.000000 ... -124.000000 -24.000000 \n", "25% -8.000000 ... -47.000000 -5.000000 \n", "50% -3.000000 ... -13.000000 -1.000000 \n", "75% 6.000000 ... 29.000000 4.000000 \n", "max 18.000000 ... 138.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 12.762725 -0.956968 0.740821 \n", "std 43.965507 2.272874 2.203069 \n", "min -74.000000 -9.000000 -5.000000 \n", "25% -28.000000 -3.000000 -1.000000 \n", "50% 16.000000 -1.000000 0.000000 \n", "75% 49.000000 1.000000 2.000000 \n", "max 101.000000 7.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 5.371596 -2.692417 -2.581889 \n", "std 28.070441 11.119842 46.145429 \n", "min -46.000000 -27.000000 -251.000000 \n", "25% -22.000000 -12.000000 -42.000000 \n", "50% 6.000000 -4.000000 2.000000 \n", "75% 34.000000 8.000000 39.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 0.880219 12.910872 \n", "std 9.529551 43.804821 \n", "min -28.000000 -70.000000 \n", "25% -6.000000 -28.000000 \n", "50% 1.000000 15.000000 \n", "75% 9.000000 50.000000 \n", "max 39.000000 100.000000 \n", "\n", "[8 rows x 50 columns]" ] }, "execution_count": 7, "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": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# train_features_10 修改后的训练数据" ] }, { "cell_type": "code", "execution_count": 7, "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.5246117.4143554.993936-29.645441-4.3005122.0483825.319017-2.4622550.554404-1.499895...-9.937833-0.31322612.762725-0.9569680.7408215.371596-2.692417-2.5818890.88021912.910872
std19.87769332.67659426.32020569.62818423.35777620.53950827.8179846.5658941.4981758.691766...41.7951046.60892043.9655072.2728742.20306928.07044111.11984246.1454299.52955143.804821
min-37.000000-52.000000-45.000000-242.000000-60.000000-37.000000-46.000000-17.000000-3.000000-21.000000...-124.000000-24.000000-74.000000-9.000000-5.000000-46.000000-27.000000-251.000000-28.000000-70.000000
25%-18.000000-25.000000-21.000000-41.000000-26.000000-18.000000-22.000000-9.000000-1.000000-8.000000...-47.000000-5.000000-28.000000-3.000000-1.000000-22.000000-12.000000-42.000000-6.000000-28.000000
50%2.0000008.0000007.000000-2.000000-7.0000002.0000006.000000-2.0000000.000000-3.000000...-13.000000-1.00000016.000000-1.0000000.0000006.000000-4.0000002.0000001.00000015.000000
75%21.00000041.00000031.0000006.00000018.00000022.00000034.0000004.0000002.0000006.000000...29.0000004.00000049.0000001.0000002.00000034.0000008.00000039.0000009.00000050.000000
max41.00000066.00000051.000000140.00000068.00000050.00000056.00000011.0000007.00000018.000000...138.00000029.000000101.0000007.00000010.00000056.00000020.000000101.00000039.000000100.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.524611 7.414355 4.993936 -29.645441 -4.300512 \n", "std 19.877693 32.676594 26.320205 69.628184 23.357776 \n", "min -37.000000 -52.000000 -45.000000 -242.000000 -60.000000 \n", "25% -18.000000 -25.000000 -21.000000 -41.000000 -26.000000 \n", "50% 2.000000 8.000000 7.000000 -2.000000 -7.000000 \n", "75% 21.000000 41.000000 31.000000 6.000000 18.000000 \n", "max 41.000000 66.000000 51.000000 140.000000 68.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 2.048382 5.319017 -2.462255 0.554404 \n", "std 20.539508 27.817984 6.565894 1.498175 \n", "min -37.000000 -46.000000 -17.000000 -3.000000 \n", "25% -18.000000 -22.000000 -9.000000 -1.000000 \n", "50% 2.000000 6.000000 -2.000000 0.000000 \n", "75% 22.000000 34.000000 4.000000 2.000000 \n", "max 50.000000 56.000000 11.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 -1.499895 ... -9.937833 -0.313226 \n", "std 8.691766 ... 41.795104 6.608920 \n", "min -21.000000 ... -124.000000 -24.000000 \n", "25% -8.000000 ... -47.000000 -5.000000 \n", "50% -3.000000 ... -13.000000 -1.000000 \n", "75% 6.000000 ... 29.000000 4.000000 \n", "max 18.000000 ... 138.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 12.762725 -0.956968 0.740821 \n", "std 43.965507 2.272874 2.203069 \n", "min -74.000000 -9.000000 -5.000000 \n", "25% -28.000000 -3.000000 -1.000000 \n", "50% 16.000000 -1.000000 0.000000 \n", "75% 49.000000 1.000000 2.000000 \n", "max 101.000000 7.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 5.371596 -2.692417 -2.581889 \n", "std 28.070441 11.119842 46.145429 \n", "min -46.000000 -27.000000 -251.000000 \n", "25% -22.000000 -12.000000 -42.000000 \n", "50% 6.000000 -4.000000 2.000000 \n", "75% 34.000000 8.000000 39.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 0.880219 12.910872 \n", "std 9.529551 43.804821 \n", "min -28.000000 -70.000000 \n", "25% -6.000000 -28.000000 \n", "50% 1.000000 15.000000 \n", "75% 9.000000 50.000000 \n", "max 39.000000 100.000000 \n", "\n", "[8 rows x 50 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_features_10 = pd.DataFrame()\n", "#train_features_10['lelf_right_R'] = train_features['left_block_R'] - train_features['right_block_R']\n", "#train_features_10['lelf_right_G'] = train_features['left_block_G'] - train_features['right_block_G']\n", "#train_features_10['lelf_right_B'] = train_features['left_block_B'] - train_features['right_block_B']\n", "\n", "train_features_10['lelf_right_H'] = train_features['left_block_H'] - train_features['right_block_H']\n", "train_features_10['lelf_right_S'] = train_features['left_block_S'] - train_features['right_block_S']\n", "train_features_10['lelf_right_V'] = train_features['left_block_V'] - train_features['right_block_V']\n", "\n", "#train_features_10['lelf_right_l'] = train_features['left_block_l'] - train_features['right_block_l']\n", "#train_features_10['lelf_right_a'] = train_features['left_block_a'] - train_features['right_block_a']\n", "#train_features_10['lelf_right_b'] = train_features['left_block_b'] - train_features['right_block_b']\n", "\n", "#train_features_10['lelf_right_R_stddev'] = train_features['left_block_R_stddev'] - train_features['right_block_R_stddev']\n", "#train_features_10['lelf_right_G_stddev'] = train_features['left_block_G_stddev'] - train_features['right_block_G_stddev']\n", "#train_features_10['lelf_right_B_stddev'] = train_features['left_block_B_stddev'] - train_features['right_block_B_stddev']\n", "\n", "train_features_10['lelf_right_H_stddev'] = train_features['left_block_H_stddev'] - train_features['right_block_H_stddev']\n", "train_features_10['lelf_right_S_stddev'] = train_features['left_block_S_stddev'] - train_features['right_block_S_stddev']\n", "train_features_10['lelf_right_V_stddev'] = train_features['left_block_V_stddev'] - train_features['right_block_V_stddev']\n", "\n", "#train_features_10['lelf_right_l_stddev'] = train_features['left_block_l_stddev'] - train_features['right_block_l_stddev']\n", "#train_features_10['lelf_right_a_stddev'] = train_features['left_block_a_stddev'] - train_features['right_block_a_stddev']\n", "#train_features_10['lelf_right_b_stddev'] = train_features['left_block_b_stddev'] - train_features['right_block_b_stddev']\n", "\n", "#train_features_10['lelf_right_R_hist'] = train_features['left_block_R_hist'] - train_features['right_block_R_hist']\n", "#train_features_10['lelf_right_G_hist'] = train_features['left_block_G_hist'] - train_features['right_block_G_hist']\n", "#train_features_10['lelf_right_B_hist'] = train_features['left_block_B_hist'] - train_features['right_block_B_hist']\n", "\n", "train_features_10['lelf_right_H_hist'] = train_features['left_block_H_hist'] - train_features['right_block_H_hist']\n", "train_features_10['lelf_right_S_hist'] = train_features['left_block_S_hist'] - train_features['right_block_S_hist']\n", "train_features_10['lelf_right_V_hist'] = train_features['left_block_V_hist'] - train_features['right_block_V_hist']\n", "\n", "#train_features_10['lelf_right_l_hist'] = train_features['left_block_l_hist'] - train_features['right_block_l_hist']\n", "#train_features_10['lelf_right_a_hist'] = train_features['left_block_a_hist'] - train_features['right_block_a_hist']\n", "#train_features_10['lelf_right_b_hist'] = train_features['left_block_b_hist'] - train_features['right_block_b_hist']\n", "\n", "#train_features_10['lelf_right_R_max'] = train_features['left_block_R_max'] - train_features['right_block_R_max']\n", "#train_features_10['lelf_right_G_max'] = train_features['left_block_G_max'] - train_features['right_block_G_max']\n", "#train_features_10['lelf_right_B_max'] = train_features['left_block_B_max'] - train_features['right_block_B_max']\n", "\n", "train_features_10['lelf_right_H_max'] = train_features['left_block_H_max'] - train_features['right_block_H_max']\n", "train_features_10['lelf_right_S_max'] = train_features['left_block_S_max'] - train_features['right_block_S_max']\n", "train_features_10['lelf_right_V_max'] = train_features['left_block_V_max'] - train_features['right_block_V_max']\n", "\n", "#train_features_10['lelf_right_l_max'] = train_features['left_block_l_max'] - train_features['right_block_l_max']\n", "#train_features_10['lelf_right_a_max'] = train_features['left_block_a_max'] - train_features['right_block_a_max']\n", "#train_features_10['lelf_right_b_max'] = train_features['left_block_b_max'] - train_features['right_block_b_max']\n", "\n", "#train_features_10['lelf_right_R_min'] = train_features['left_block_R_min'] - train_features['right_block_R_min']\n", "#train_features_10['lelf_right_G_min'] = train_features['left_block_G_min'] - train_features['right_block_G_min']\n", "#train_features_10['lelf_right_B_min'] = train_features['left_block_B_min'] - train_features['right_block_B_min']\n", "\n", "train_features_10['lelf_right_H_min'] = train_features['left_block_H_min'] - train_features['right_block_H_min']\n", "train_features_10['lelf_right_S_min'] = train_features['left_block_S_min'] - train_features['right_block_S_min']\n", "train_features_10['lelf_right_V_min'] = train_features['left_block_V_min'] - train_features['right_block_V_min']\n", "\n", "#train_features_10['lelf_right_l_min'] = train_features['left_block_l_min'] - train_features['right_block_l_min']\n", "#train_features_10['lelf_right_a_min'] = train_features['left_block_a_min'] - train_features['right_block_a_min']\n", "#train_features_10['lelf_right_b_min'] = train_features['left_block_b_min'] - train_features['right_block_b_min']\n", "\n", "# train_features_10['left_grayValue']= train_features['left_grayValue'];\n", "# train_features_10['left_grayStddevValue']= train_features['left_grayStddevValue'];\n", "# train_features_10['left_grayHist']= train_features['left_grayHist'];\n", "# train_features_10['left_grayMax']= train_features['left_grayMax'];\n", "# train_features_10['left_grayMin']= train_features['left_grayMin'];\n", "\n", "# train_features_10['right_grayValue']= train_features['right_grayValue'];\n", "# train_features_10['right_grayStddevValue']= train_features['right_grayStddevValue'];\n", "# train_features_10['right_grayHist']= train_features['right_grayHist'];\n", "# train_features_10['right_grayMax']= train_features['right_grayMax'];\n", "# train_features_10['right_grayMin']= train_features['right_grayMin'];\n", "\n", "# train_features_10['lelf_R_stddev'] = train_features['left_block_R_stddev'] \n", "# train_features_10['lelf_G_stddev'] = train_features['left_block_G_stddev'] \n", "# train_features_10['lelf_B_stddev'] = train_features['left_block_B_stddev'] \n", "\n", "# train_features_10['left_block_R_min'] = train_features['left_block_R_min'] \n", "# train_features_10['left_block_G_min'] = train_features['left_block_G_min'] \n", "# train_features_10['left_block_B_min'] = train_features['left_block_B_min'] \n", "\n", "\n", "train_features_10['lelf_right_gray_value'] = train_features['left_grayValue'] - train_features['right_grayValue']\n", "train_features_10['lelf_right_gray_stddev'] = train_features['left_grayStddevValue'] - train_features['right_grayStddevValue']\n", "train_features_10['lelf_right_gray_hist'] = train_features['left_grayHist'] - train_features['right_grayHist']\n", "train_features_10['lelf_right_gray_max'] = train_features['left_grayMax'] - train_features['right_grayMax']\n", "train_features_10['lelf_right_gray_min'] = train_features['left_grayMin'] - train_features['right_grayMin']\n", "#train_features_10['index'] = train_labels\n", "train_features_10.describe()\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**去掉左边块的方差和白块和右边块的特征**" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "scrolled": false }, "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", "
left_block_Rleft_block_Gleft_block_Bleft_block_R_histleft_block_G_histleft_block_B_histleft_block_R_maxleft_block_G_maxleft_block_B_maxleft_block_R_min...right_grayStddevValueright_grayHistright_grayMaxright_grayMinwhite_grayValuewhite_grayStddevValuewhite_grayHistwhite_grayMaxwhite_grayMinUnnamed: 0
count47662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.000000...47662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.0000005714.000000
mean180.289098153.385590160.582351174.927049137.170723149.288112204.751857192.065356193.262263158.169275...19.333809153.983719194.762725122.369645201.8679030.263627202.181276203.812240200.9003401289.203710
std21.70050435.55105532.70143330.18912950.04512544.21897312.83755418.27451519.75975733.942822...4.07141122.84810312.98751918.71357413.4375740.55616614.09663513.32730513.602098850.267883
min58.00000033.00000034.0000000.0000000.0000000.000000103.00000084.00000078.00000019.000000...1.00000028.00000091.00000024.000000102.0000000.0000000.000000103.000000101.0000000.000000
25%162.000000122.000000134.000000153.00000092.000000112.000000199.000000180.000000181.000000130.000000...16.000000139.000000189.000000110.000000196.0000000.000000196.000000198.000000194.000000570.250000
50%181.000000153.000000159.000000182.000000142.000000151.000000206.000000193.000000194.000000160.000000...19.000000151.000000196.000000120.000000202.0000000.000000202.000000204.000000201.0000001146.000000
75%198.000000188.000000190.000000200.000000183.000000189.000000212.000000205.000000206.000000188.000000...23.000000170.000000202.000000137.000000207.0000000.000000208.000000209.000000207.0000001981.500000
max255.000000255.000000255.000000254.000000252.000000251.000000255.000000255.000000255.000000255.000000...31.000000251.000000255.000000242.000000255.00000017.000000254.000000255.000000255.0000003226.000000
\n", "

8 rows × 61 columns

\n", "
" ], "text/plain": [ " left_block_R left_block_G left_block_B left_block_R_hist \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 180.289098 153.385590 160.582351 174.927049 \n", "std 21.700504 35.551055 32.701433 30.189129 \n", "min 58.000000 33.000000 34.000000 0.000000 \n", "25% 162.000000 122.000000 134.000000 153.000000 \n", "50% 181.000000 153.000000 159.000000 182.000000 \n", "75% 198.000000 188.000000 190.000000 200.000000 \n", "max 255.000000 255.000000 255.000000 254.000000 \n", "\n", " left_block_G_hist left_block_B_hist left_block_R_max \\\n", "count 47662.000000 47662.000000 47662.000000 \n", "mean 137.170723 149.288112 204.751857 \n", "std 50.045125 44.218973 12.837554 \n", "min 0.000000 0.000000 103.000000 \n", "25% 92.000000 112.000000 199.000000 \n", "50% 142.000000 151.000000 206.000000 \n", "75% 183.000000 189.000000 212.000000 \n", "max 252.000000 251.000000 255.000000 \n", "\n", " left_block_G_max left_block_B_max left_block_R_min ... \\\n", "count 47662.000000 47662.000000 47662.000000 ... \n", "mean 192.065356 193.262263 158.169275 ... \n", "std 18.274515 19.759757 33.942822 ... \n", "min 84.000000 78.000000 19.000000 ... \n", "25% 180.000000 181.000000 130.000000 ... \n", "50% 193.000000 194.000000 160.000000 ... \n", "75% 205.000000 206.000000 188.000000 ... \n", "max 255.000000 255.000000 255.000000 ... \n", "\n", " right_grayStddevValue right_grayHist right_grayMax right_grayMin \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 19.333809 153.983719 194.762725 122.369645 \n", "std 4.071411 22.848103 12.987519 18.713574 \n", "min 1.000000 28.000000 91.000000 24.000000 \n", "25% 16.000000 139.000000 189.000000 110.000000 \n", "50% 19.000000 151.000000 196.000000 120.000000 \n", "75% 23.000000 170.000000 202.000000 137.000000 \n", "max 31.000000 251.000000 255.000000 242.000000 \n", "\n", " white_grayValue white_grayStddevValue white_grayHist white_grayMax \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 201.867903 0.263627 202.181276 203.812240 \n", "std 13.437574 0.556166 14.096635 13.327305 \n", "min 102.000000 0.000000 0.000000 103.000000 \n", "25% 196.000000 0.000000 196.000000 198.000000 \n", "50% 202.000000 0.000000 202.000000 204.000000 \n", "75% 207.000000 0.000000 208.000000 209.000000 \n", "max 255.000000 17.000000 254.000000 255.000000 \n", "\n", " white_grayMin Unnamed: 0 \n", "count 47662.000000 5714.000000 \n", "mean 200.900340 1289.203710 \n", "std 13.602098 850.267883 \n", "min 101.000000 0.000000 \n", "25% 194.000000 570.250000 \n", "50% 201.000000 1146.000000 \n", "75% 207.000000 1981.500000 \n", "max 255.000000 3226.000000 \n", "\n", "[8 rows x 61 columns]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# train_features = train_features.drop(\"left_block_R\",axis=1)\n", "# train_features = train_features.drop(\"left_block_G\",axis=1)\n", "# train_features = train_features.drop(\"left_block_B\",axis=1)\n", "\n", "# train_features = train_features.drop(\"left_block_R_hist\",axis=1)\n", "# train_features = train_features.drop(\"left_block_G_hist\",axis=1)\n", "# train_features = train_features.drop(\"left_block_B_hist\",axis=1)\n", "\n", "train_features = train_features.drop(\"left_block_R_stddev\",axis=1)\n", "train_features = train_features.drop(\"left_block_G_stddev\",axis=1)\n", "train_features = train_features.drop(\"left_block_B_stddev\",axis=1)\n", "\n", "# train_features = train_features.drop(\"left_block_R_max\",axis=1)\n", "# train_features = train_features.drop(\"left_block_G_max\",axis=1)\n", "# train_features = train_features.drop(\"left_block_B_max\",axis=1)\n", "\n", "train_features = train_features.drop(\"left_block_H\",axis=1)\n", "train_features = train_features.drop(\"left_block_S\",axis=1)\n", "train_features = train_features.drop(\"left_block_V\",axis=1)\n", "\n", "train_features = train_features.drop(\"left_block_H_stddev\",axis=1)\n", "train_features = train_features.drop(\"left_block_S_stddev\",axis=1)\n", "train_features = train_features.drop(\"left_block_V_stddev\",axis=1)\n", "\n", "train_features = train_features.drop(\"left_block_H_hist\",axis=1)\n", "train_features = train_features.drop(\"left_block_S_hist\",axis=1)\n", "train_features = train_features.drop(\"left_block_V_hist\",axis=1)\n", "\n", "train_features = train_features.drop(\"left_block_H_max\",axis=1)\n", "train_features = train_features.drop(\"left_block_S_max\",axis=1)\n", "train_features = train_features.drop(\"left_block_V_max\",axis=1)\n", "\n", "train_features = train_features.drop(\"left_block_l\",axis=1)\n", "train_features = train_features.drop(\"left_block_a\",axis=1)\n", "train_features = train_features.drop(\"left_block_b\",axis=1)\n", "\n", "train_features = train_features.drop(\"left_block_l_stddev\",axis=1)\n", "train_features = train_features.drop(\"left_block_a_stddev\",axis=1)\n", "train_features = train_features.drop(\"left_block_b_stddev\",axis=1)\n", "\n", "train_features = train_features.drop(\"left_block_l_hist\",axis=1)\n", "train_features = train_features.drop(\"left_block_a_hist\",axis=1)\n", "train_features = train_features.drop(\"left_block_b_hist\",axis=1)\n", "\n", "train_features = train_features.drop(\"left_block_l_max\",axis=1)\n", "train_features = train_features.drop(\"left_block_a_max\",axis=1)\n", "train_features = train_features.drop(\"left_block_b_max\",axis=1)\n", "##################################################################\n", "\n", "# train_features = train_features.drop(\"right_block_R\",axis=1)\n", "# train_features = train_features.drop(\"right_block_G\",axis=1)\n", "# train_features = train_features.drop(\"right_block_B\",axis=1)\n", "\n", "train_features = train_features.drop(\"right_block_R_stddev\",axis=1)\n", "train_features = train_features.drop(\"right_block_G_stddev\",axis=1)\n", "train_features = train_features.drop(\"right_block_B_stddev\",axis=1)\n", "\n", "# train_features = train_features.drop(\"right_block_R_hist\",axis=1)\n", "# train_features = train_features.drop(\"right_block_G_hist\",axis=1)\n", "# train_features = train_features.drop(\"right_block_B_hist\",axis=1)\n", "\n", "# train_features = train_features.drop(\"right_block_R_max\",axis=1)\n", "# train_features = train_features.drop(\"right_block_G_max\",axis=1)\n", "# train_features = train_features.drop(\"right_block_B_max\",axis=1)\n", "\n", "train_features = train_features.drop(\"right_block_H\",axis=1)\n", "train_features = train_features.drop(\"right_block_S\",axis=1)\n", "train_features = train_features.drop(\"right_block_V\",axis=1)\n", "\n", "train_features = train_features.drop(\"right_block_H_stddev\",axis=1)\n", "train_features = train_features.drop(\"right_block_S_stddev\",axis=1)\n", "train_features = train_features.drop(\"right_block_V_stddev\",axis=1)\n", "\n", "train_features = train_features.drop(\"right_block_H_hist\",axis=1)\n", "train_features = train_features.drop(\"right_block_S_hist\",axis=1)\n", "train_features = train_features.drop(\"right_block_V_hist\",axis=1)\n", "\n", "train_features = train_features.drop(\"right_block_H_max\",axis=1)\n", "train_features = train_features.drop(\"right_block_S_max\",axis=1)\n", "train_features = train_features.drop(\"right_block_V_max\",axis=1)\n", "\n", "train_features = train_features.drop(\"right_block_l\",axis=1)\n", "train_features = train_features.drop(\"right_block_a\",axis=1)\n", "train_features = train_features.drop(\"right_block_b\",axis=1)\n", "\n", "train_features = train_features.drop(\"right_block_l_stddev\",axis=1)\n", "train_features = train_features.drop(\"right_block_a_stddev\",axis=1)\n", "train_features = train_features.drop(\"right_block_b_stddev\",axis=1)\n", "\n", "train_features = train_features.drop(\"right_block_l_hist\",axis=1)\n", "train_features = train_features.drop(\"right_block_a_hist\",axis=1)\n", "train_features = train_features.drop(\"right_block_b_hist\",axis=1)\n", "\n", "train_features = train_features.drop(\"right_block_l_max\",axis=1)\n", "train_features = train_features.drop(\"right_block_a_max\",axis=1)\n", "train_features = train_features.drop(\"right_block_b_max\",axis=1)\n", "\n", "####################################################################\n", "\n", "train_features = train_features.drop(\"whiteBlock_R\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_G\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_B\",axis=1)\n", "\n", "train_features = train_features.drop(\"whiteBlock_R_stddev\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_G_stddev\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_B_stddev\",axis=1)\n", "\n", "train_features = train_features.drop(\"whiteBlock_R_hist\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_G_hist\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_B_hist\",axis=1)\n", "\n", "train_features = train_features.drop(\"whiteBlock_R_max\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_G_max\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_B_max\",axis=1)\n", "\n", "\n", "train_features = train_features.drop(\"whiteBlock_H\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_S\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_V\",axis=1)\n", "\n", "train_features = train_features.drop(\"whiteBlock_H_stddev\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_S_stddev\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_V_stddev\",axis=1)\n", "\n", "train_features = train_features.drop(\"whiteBlock_H_hist\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_S_hist\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_V_hist\",axis=1)\n", "\n", "train_features = train_features.drop(\"whiteBlock_H_max\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_S_max\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_V_max\",axis=1)\n", "\n", "\n", "\n", "train_features = train_features.drop(\"whiteBlock_l\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_a\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_b\",axis=1)\n", "\n", "train_features = train_features.drop(\"whiteBlock_l_stddev\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_a_stddev\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_b_stddev\",axis=1)\n", "\n", "train_features = train_features.drop(\"whiteBlock_l_hist\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_a_hist\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_b_hist\",axis=1)\n", "\n", "train_features = train_features.drop(\"whiteBlock_l_max\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_a_max\",axis=1)\n", "train_features = train_features.drop(\"whiteBlock_b_max\",axis=1)\n", "\n", "##################################################################\n", "\n", "\n", "\n", "train_features.describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**去掉所有块的方差特征**" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "ename": "KeyError", "evalue": "\"['left_block_R_stddev'] not found in axis\"", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mKeyError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[9], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m train_features \u001b[38;5;241m=\u001b[39m train_features\u001b[38;5;241m.\u001b[39mdrop(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mleft_block_R_stddev\u001b[39m\u001b[38;5;124m\"\u001b[39m,axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m)\n\u001b[0;32m 2\u001b[0m train_features \u001b[38;5;241m=\u001b[39m train_features\u001b[38;5;241m.\u001b[39mdrop(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mleft_block_G_stddev\u001b[39m\u001b[38;5;124m\"\u001b[39m,axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m)\n\u001b[0;32m 3\u001b[0m train_features \u001b[38;5;241m=\u001b[39m train_features\u001b[38;5;241m.\u001b[39mdrop(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mleft_block_B_stddev\u001b[39m\u001b[38;5;124m\"\u001b[39m,axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m)\n", "File \u001b[1;32m~\\anaconda3\\Lib\\site-packages\\pandas\\util\\_decorators.py:331\u001b[0m, in \u001b[0;36mdeprecate_nonkeyword_arguments..decorate..wrapper\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 325\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(args) \u001b[38;5;241m>\u001b[39m num_allow_args:\n\u001b[0;32m 326\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[0;32m 327\u001b[0m msg\u001b[38;5;241m.\u001b[39mformat(arguments\u001b[38;5;241m=\u001b[39m_format_argument_list(allow_args)),\n\u001b[0;32m 328\u001b[0m \u001b[38;5;167;01mFutureWarning\u001b[39;00m,\n\u001b[0;32m 329\u001b[0m stacklevel\u001b[38;5;241m=\u001b[39mfind_stack_level(),\n\u001b[0;32m 330\u001b[0m )\n\u001b[1;32m--> 331\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m func(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", "File \u001b[1;32m~\\anaconda3\\Lib\\site-packages\\pandas\\core\\frame.py:5399\u001b[0m, in \u001b[0;36mDataFrame.drop\u001b[1;34m(self, labels, axis, index, columns, level, inplace, errors)\u001b[0m\n\u001b[0;32m 5251\u001b[0m \u001b[38;5;129m@deprecate_nonkeyword_arguments\u001b[39m(version\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, allowed_args\u001b[38;5;241m=\u001b[39m[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mself\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlabels\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n\u001b[0;32m 5252\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdrop\u001b[39m( \u001b[38;5;66;03m# type: ignore[override]\u001b[39;00m\n\u001b[0;32m 5253\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 5260\u001b[0m errors: IgnoreRaise \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mraise\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 5261\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m DataFrame \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 5262\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m 5263\u001b[0m \u001b[38;5;124;03m Drop specified labels from rows or columns.\u001b[39;00m\n\u001b[0;32m 5264\u001b[0m \n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 5397\u001b[0m \u001b[38;5;124;03m weight 1.0 0.8\u001b[39;00m\n\u001b[0;32m 5398\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m-> 5399\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39mdrop(\n\u001b[0;32m 5400\u001b[0m labels\u001b[38;5;241m=\u001b[39mlabels,\n\u001b[0;32m 5401\u001b[0m axis\u001b[38;5;241m=\u001b[39maxis,\n\u001b[0;32m 5402\u001b[0m index\u001b[38;5;241m=\u001b[39mindex,\n\u001b[0;32m 5403\u001b[0m columns\u001b[38;5;241m=\u001b[39mcolumns,\n\u001b[0;32m 5404\u001b[0m level\u001b[38;5;241m=\u001b[39mlevel,\n\u001b[0;32m 5405\u001b[0m inplace\u001b[38;5;241m=\u001b[39minplace,\n\u001b[0;32m 5406\u001b[0m errors\u001b[38;5;241m=\u001b[39merrors,\n\u001b[0;32m 5407\u001b[0m )\n", "File \u001b[1;32m~\\anaconda3\\Lib\\site-packages\\pandas\\util\\_decorators.py:331\u001b[0m, in \u001b[0;36mdeprecate_nonkeyword_arguments..decorate..wrapper\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 325\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(args) \u001b[38;5;241m>\u001b[39m num_allow_args:\n\u001b[0;32m 326\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[0;32m 327\u001b[0m msg\u001b[38;5;241m.\u001b[39mformat(arguments\u001b[38;5;241m=\u001b[39m_format_argument_list(allow_args)),\n\u001b[0;32m 328\u001b[0m \u001b[38;5;167;01mFutureWarning\u001b[39;00m,\n\u001b[0;32m 329\u001b[0m stacklevel\u001b[38;5;241m=\u001b[39mfind_stack_level(),\n\u001b[0;32m 330\u001b[0m )\n\u001b[1;32m--> 331\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m func(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", "File \u001b[1;32m~\\anaconda3\\Lib\\site-packages\\pandas\\core\\generic.py:4505\u001b[0m, in \u001b[0;36mNDFrame.drop\u001b[1;34m(self, labels, axis, index, columns, level, inplace, errors)\u001b[0m\n\u001b[0;32m 4503\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m axis, labels \u001b[38;5;129;01min\u001b[39;00m axes\u001b[38;5;241m.\u001b[39mitems():\n\u001b[0;32m 4504\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m labels \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m-> 4505\u001b[0m obj \u001b[38;5;241m=\u001b[39m obj\u001b[38;5;241m.\u001b[39m_drop_axis(labels, axis, level\u001b[38;5;241m=\u001b[39mlevel, errors\u001b[38;5;241m=\u001b[39merrors)\n\u001b[0;32m 4507\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m inplace:\n\u001b[0;32m 4508\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_update_inplace(obj)\n", "File \u001b[1;32m~\\anaconda3\\Lib\\site-packages\\pandas\\core\\generic.py:4546\u001b[0m, in \u001b[0;36mNDFrame._drop_axis\u001b[1;34m(self, labels, axis, level, errors, only_slice)\u001b[0m\n\u001b[0;32m 4544\u001b[0m new_axis \u001b[38;5;241m=\u001b[39m axis\u001b[38;5;241m.\u001b[39mdrop(labels, level\u001b[38;5;241m=\u001b[39mlevel, errors\u001b[38;5;241m=\u001b[39merrors)\n\u001b[0;32m 4545\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m-> 4546\u001b[0m new_axis \u001b[38;5;241m=\u001b[39m axis\u001b[38;5;241m.\u001b[39mdrop(labels, errors\u001b[38;5;241m=\u001b[39merrors)\n\u001b[0;32m 4547\u001b[0m indexer \u001b[38;5;241m=\u001b[39m axis\u001b[38;5;241m.\u001b[39mget_indexer(new_axis)\n\u001b[0;32m 4549\u001b[0m \u001b[38;5;66;03m# Case for non-unique axis\u001b[39;00m\n\u001b[0;32m 4550\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", "File \u001b[1;32m~\\anaconda3\\Lib\\site-packages\\pandas\\core\\indexes\\base.py:6934\u001b[0m, in \u001b[0;36mIndex.drop\u001b[1;34m(self, labels, errors)\u001b[0m\n\u001b[0;32m 6932\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m mask\u001b[38;5;241m.\u001b[39many():\n\u001b[0;32m 6933\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m errors \u001b[38;5;241m!=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mignore\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m-> 6934\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mlist\u001b[39m(labels[mask])\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m not found in axis\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 6935\u001b[0m indexer \u001b[38;5;241m=\u001b[39m indexer[\u001b[38;5;241m~\u001b[39mmask]\n\u001b[0;32m 6936\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdelete(indexer)\n", "\u001b[1;31mKeyError\u001b[0m: \"['left_block_R_stddev'] not found in axis\"" ] } ], "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": 10, "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", "
left_block_Rleft_block_Gleft_block_Bleft_block_R_histleft_block_G_histleft_block_B_histleft_block_R_maxleft_block_G_maxleft_block_B_maxleft_block_R_min...right_grayStddevValueright_grayHistright_grayMaxright_grayMinwhite_grayValuewhite_grayStddevValuewhite_grayHistwhite_grayMaxwhite_grayMinUnnamed: 0
count47662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.000000...47662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.00000047662.0000005714.000000
mean180.289098153.385590160.582351174.927049137.170723149.288112204.751857192.065356193.262263158.169275...19.333809153.983719194.762725122.369645201.8679030.263627202.181276203.812240200.9003401289.203710
std21.70050435.55105532.70143330.18912950.04512544.21897312.83755418.27451519.75975733.942822...4.07141122.84810312.98751918.71357413.4375740.55616614.09663513.32730513.602098850.267883
min58.00000033.00000034.0000000.0000000.0000000.000000103.00000084.00000078.00000019.000000...1.00000028.00000091.00000024.000000102.0000000.0000000.000000103.000000101.0000000.000000
25%162.000000122.000000134.000000153.00000092.000000112.000000199.000000180.000000181.000000130.000000...16.000000139.000000189.000000110.000000196.0000000.000000196.000000198.000000194.000000570.250000
50%181.000000153.000000159.000000182.000000142.000000151.000000206.000000193.000000194.000000160.000000...19.000000151.000000196.000000120.000000202.0000000.000000202.000000204.000000201.0000001146.000000
75%198.000000188.000000190.000000200.000000183.000000189.000000212.000000205.000000206.000000188.000000...23.000000170.000000202.000000137.000000207.0000000.000000208.000000209.000000207.0000001981.500000
max255.000000255.000000255.000000254.000000252.000000251.000000255.000000255.000000255.000000255.000000...31.000000251.000000255.000000242.000000255.00000017.000000254.000000255.000000255.0000003226.000000
\n", "

8 rows × 61 columns

\n", "
" ], "text/plain": [ " left_block_R left_block_G left_block_B left_block_R_hist \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 180.289098 153.385590 160.582351 174.927049 \n", "std 21.700504 35.551055 32.701433 30.189129 \n", "min 58.000000 33.000000 34.000000 0.000000 \n", "25% 162.000000 122.000000 134.000000 153.000000 \n", "50% 181.000000 153.000000 159.000000 182.000000 \n", "75% 198.000000 188.000000 190.000000 200.000000 \n", "max 255.000000 255.000000 255.000000 254.000000 \n", "\n", " left_block_G_hist left_block_B_hist left_block_R_max \\\n", "count 47662.000000 47662.000000 47662.000000 \n", "mean 137.170723 149.288112 204.751857 \n", "std 50.045125 44.218973 12.837554 \n", "min 0.000000 0.000000 103.000000 \n", "25% 92.000000 112.000000 199.000000 \n", "50% 142.000000 151.000000 206.000000 \n", "75% 183.000000 189.000000 212.000000 \n", "max 252.000000 251.000000 255.000000 \n", "\n", " left_block_G_max left_block_B_max left_block_R_min ... \\\n", "count 47662.000000 47662.000000 47662.000000 ... \n", "mean 192.065356 193.262263 158.169275 ... \n", "std 18.274515 19.759757 33.942822 ... \n", "min 84.000000 78.000000 19.000000 ... \n", "25% 180.000000 181.000000 130.000000 ... \n", "50% 193.000000 194.000000 160.000000 ... \n", "75% 205.000000 206.000000 188.000000 ... \n", "max 255.000000 255.000000 255.000000 ... \n", "\n", " right_grayStddevValue right_grayHist right_grayMax right_grayMin \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 19.333809 153.983719 194.762725 122.369645 \n", "std 4.071411 22.848103 12.987519 18.713574 \n", "min 1.000000 28.000000 91.000000 24.000000 \n", "25% 16.000000 139.000000 189.000000 110.000000 \n", "50% 19.000000 151.000000 196.000000 120.000000 \n", "75% 23.000000 170.000000 202.000000 137.000000 \n", "max 31.000000 251.000000 255.000000 242.000000 \n", "\n", " white_grayValue white_grayStddevValue white_grayHist white_grayMax \\\n", "count 47662.000000 47662.000000 47662.000000 47662.000000 \n", "mean 201.867903 0.263627 202.181276 203.812240 \n", "std 13.437574 0.556166 14.096635 13.327305 \n", "min 102.000000 0.000000 0.000000 103.000000 \n", "25% 196.000000 0.000000 196.000000 198.000000 \n", "50% 202.000000 0.000000 202.000000 204.000000 \n", "75% 207.000000 0.000000 208.000000 209.000000 \n", "max 255.000000 17.000000 254.000000 255.000000 \n", "\n", " white_grayMin Unnamed: 0 \n", "count 47662.000000 5714.000000 \n", "mean 200.900340 1289.203710 \n", "std 13.602098 850.267883 \n", "min 101.000000 0.000000 \n", "25% 194.000000 570.250000 \n", "50% 201.000000 1146.000000 \n", "75% 207.000000 1981.500000 \n", "max 255.000000 3226.000000 \n", "\n", "[8 rows x 61 columns]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_features.describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# svc支持向量机算法" ] }, { "cell_type": "code", "execution_count": 11, "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", "#集成学习(Ensemble Learning) \n", "from sklearn.ensemble import ExtraTreesClassifier\n", "from sklearn.ensemble import AdaBoostClassifier\n", "\n", "#报错:ModuleNotFoundError: No module named 'sklearn.cross_validation'\n", "#原因:当前 sklearn 版本中 cross_validation 已经替换成了 model_selection,但其中的函数功能并没有变化\n", "#from sklearn.cross_validation import train_test_split\n", "from sklearn.model_selection import train_test_split\n", "X_train ,X_test,y_train,y_test = train_test_split(train_features_9,train_labels,test_size = 0.3, random_state = 20)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##fit_transform,fit,transform区别和作用详解\n", "###fit和transform没有任何关系,仅仅是数据处理的两个不同环节,之所以出来fit_transform这个函数名,仅仅是为了写代码方便,会高效一点。\n", "###sklearn里的封装好的各种算法使用前都要fit,fit相对于整个代码而言,为后续API服务。fit之后,然后调用各种API方法,transform只是其中一个API方法,所以当你调用transform之外的方法,也必须要先fit。\n", "###fit原义指的是安装、使适合的意思,其实有点train的含义,但是和train不同的是,它并不是一个训练的过程,而是一个适配的过程,过程都是确定的,最后得到一个可用于转换的有价值的信息。\n", "###https://blog.csdn.net/weixin_38278334/article/details/82971752\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "##这个不需要了!\n", "X = train_features.values\n", "y = train_labels.values\n", "\n", "kf = KFold(n_splits=5)\n", "kf.get_n_splits(X)\n", "\n", "print(kf) \n", "\n", "for train_index, test_index in kf.split(X):\n", " print(\"TRAIN:\", train_index, \"TEST:\", test_index)\n", " X_train, X_test = X[train_index], X[test_index]\n", " y_train, y_test = y[train_index], y[test_index]\n", " \n", " \n", " from datetime import datetime\n", " trarining_start_time = datetime.now()\n", "\n", " clf_svm_linear = SVC(kernel = 'linear',gamma=0.00001,C=0.1)\n", " clf_svm_linear = clf_svm_linear.fit(X_train, y_train)\n", " pred = clf_svm_linear.predict(X_test)\n", " print \"svm linear accuracy score:\" , accuracy_score(y_test,pred)\n", " print \"f1 score:\" , f1_score(y_test,pred,average='micro')\n", "\n", "\n", " training_stop_time = datetime.now()\n", "\n", " print \"runing time:\",(training_stop_time - trarining_start_time)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import StratifiedKFold #交叉验证\n", "from sklearn.model_selection import GridSearchCV #网格搜索\n", "from sklearn.model_selection import train_test_split #将数据集分开成训练集和测试集\n", "from xgboost import XGBClassifier #xgboost\n", "\n", "#这个不需要了!\n", "model = XGBClassifier()\n", "learning_rate = [0.0001,0.001,0.01,0.1,0.2,0.3] #学习率\n", "gamma = [1, 0.1, 0.01, 0.001]\n", "param_grid = dict(learning_rate = learning_rate,gamma = gamma)#转化为字典格式,网络搜索要求\n", "kflod = StratifiedKFold(n_splits=10, shuffle = True,random_state=7)#将训练/测试数据集划分10个互斥子集,\n", "grid_search = GridSearchCV(model,param_grid,scoring = 'neg_log_loss',n_jobs = -1,cv = kflod)\n", "#scoring指定损失函数类型,n_jobs指定全部cpu跑,cv指定交叉验证\n", "grid_result = grid_search.fit(X_train, y_train) #运行网格搜索\n", "print(\"Best: %f using %s\" % (grid_result.best_score_,grid_search.best_params_))\n", "#grid_scores_:给出不同参数情况下的评价结果。best_params_:描述了已取得最佳结果的参数的组合\n", "#best_score_:成员提供优化过程期间观察到的最好的评分\n", "#具有键作为列标题和值作为列的dict,可以导入到DataFrame中。\n", "#注意,“params”键用于存储所有参数候选项的参数设置列表。\n", "means = grid_result.cv_results_['mean_test_score']\n", "params = grid_result.cv_results_['params']\n", "for mean,param in zip(means,params):\n", " print(\"%f with: %r\" % (mean,param))\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import StratifiedKFold #交叉验证\n", "from sklearn.model_selection import GridSearchCV #网格搜索\n", "from sklearn.model_selection import GridSearchCV\n", "from sklearn import metrics \n", "#https://blog.csdn.net/WJWFighting/article/details/80983022\n", "thresholds=np.linspace(0,0.1,20)#设置gamma参数列表,生成等差数列\n", "thresholds\n", "param_grid={'gamma':thresholds}\n", "clf=GridSearchCV(SVC(kernel='rbf'),param_grid,cv=5)\n", "clf.fit(X_train, y_train)\n", "\n", "print(\"best param: {0}\\nbest score: {1}\".format(clf.best_params_, clf.best_score_))\n", "\n", "y_pred = clf.predict(X_test)\n", "\n", "print(\"查准率:\",metrics.precision_score(y_pred, y_test))\n", "print(\"召回率:\",metrics.recall_score(y_pred, y_test))\n", "print(\"F1:\",metrics.f1_score(y_pred, y_test))\n", "\n", "print(\"最佳效果:%0.3f\"% clf.best_score_)\n", "print(\"最优参数组合:\")\n", "best_parameters=clf.best_estimator_.get_params()\n", "for param_name in sorted(param_grid.keys()):\n", " print('\\t%s:%r' %(param_name,best_parameters[param_name]))\n", "\n", "#print(\"训练集评分:\",clf.score(x_train,y_train))\n", "#print(\"测试集评分:\",clf.score(x_test,y_test))\n", "\n", "\"\"\"\n", "SVC方法。常用的参数如下:\n", "C:默认为1.0,是对于错误的惩罚项。\n", "kernel:指定算法的核函数,默认为'rbf',常用的有'linear','poly','rbf','sigmoid','precomputed'。\n", "degree:多项式核函数的次数('poly'),默认为3。 其他核函数会将其忽略。\n", "gamma:'rbf','poly'和'sigmoid'的核系数。 如果gamma是'auto',那么将使用1 / n_features。\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "svm linear accuracy score: 0.9637037555073782\n", "f1 score : [0.97881107 0.98879072 0.99156366 0.92002962 0.94296151]\n", "precision_score: [0.97823529 0.98866034 0.99136916 0.91731266 0.94561848]\n", "recall_score : [0.97938751 0.98892113 0.99175824 0.92276272 0.94031942]\n", "preds: [4 0 1 0 1 4 3 2 1 3]\n", "trues:\n", " 10750 4\n", "18097 0\n", "4773 1\n", "1940 0\n", "3083 1\n", "29579 4\n", "6159 3\n", "25339 2\n", "94 1\n", "14801 4\n", "Name: index, dtype: int64\n", "\n", "\n", "svm polynomial accuracy score: 0.9833554794041541\n", "f1 score : [0.99440353 0.99472852 0.99116781 0.96412144 0.97501764]\n", "precision_score: [0.99469652 0.99394259 0.99136239 0.95550693 0.98236633]\n", "recall_score : [0.99411072 0.9955157 0.99097331 0.97289268 0.96777809]\n", "svm rbf accuracy score: 0.2651234352052591\n", "f1 score : [0. 0.41912659 0. 0. 0. ]\n", "precision_score: [0. 0.26512344 0. 0. 0. ]\n", "recall_score : [0. 1. 0. 0. 0.]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\lenovo\\anaconda3\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:1344: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, msg_start, len(result))\n" ] } ], "source": [ "#X_train = train_features_9\n", "#y_train = train_labels\n", "# X_test = test_features\n", "# y_test = test_labels\n", "#clf_svm_linear = SVC(kernel = 'linear',gamma=0.00001,C=0.01)\n", "#clf_svm_linear = SVC(kernel = 'linear',gamma=0.01,C=0.01)\n", "#svm linear accuracy score: 0.9746101835242169\n", "clf_svm_linear = SVC(kernel = 'linear',C=0.1)\n", "#svm linear accuracy score: 0.974885004599816\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", "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", "print(\"preds:\",pred[:10])\n", "print('trues:\\n',y_test[:10])\n", "print(\"\\n\")\n", "###针对同一份数据,\n", "clf_svc_poly = SVC(kernel='poly',degree=3,gamma=0.001,C=0.1)\n", "#clf_svc_poly = SVC(kernel='poly',degree=3,gamma=0.00001,C=0.1)\n", "\n", "##svm polynomial accuracy score: 0.37460901563937443\n", "clf_svc_poly.fit(X_train, y_train)\n", "pred_poly = clf_svc_poly.predict(X_test)\n", "print (\"svm polynomial accuracy score:\" , accuracy_score(y_test,pred_poly))\n", "print (\"f1 score :\" , f1_score(y_test,pred_poly,average=None))\n", "print (\"precision_score:\" , precision_score(y_test,pred_poly,average=None))\n", "print (\"recall_score :\" , recall_score(y_test,pred_poly,average=None))\n", "\n", "clf_svc_rbf = SVC(kernel='rbf', gamma=0.05,C=0.1)\n", "##svm rbf accuracy score: 0.284360625574977\n", "clf_svc_rbf.fit(X_train, y_train)\n", "pred_rbf = clf_svc_rbf.predict(X_test)\n", "print (\"svm rbf accuracy score:\" , accuracy_score(y_test,pred_rbf))\n", "print (\"f1 score :\" , f1_score(y_test,pred_rbf,average=None))\n", "print (\"precision_score:\" , precision_score(y_test,pred_rbf,average=None))\n", "print (\"recall_score :\" , recall_score(y_test,pred_rbf,average=None))\n", "\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_2020.cpp\",'wb')\n", "#f = open(\"clf/clf_svm_linear_50features_20171207.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": "markdown", "metadata": {}, "source": [ "# 随机森林算法" ] }, { "cell_type": "code", "execution_count": 13, "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", "from sklearn.ensemble import ExtraTreesClassifier\n", "from sklearn.ensemble import AdaBoostClassifier\n", "\n", "from sklearn.model_selection import train_test_split\n", "X_train ,X_test,y_train,y_test = train_test_split(train_features_9,train_labels,test_size = 0.3, random_state = 20)\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": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " precision recall f1-score support\n", "\n", " 0 0.99 0.98 0.99 1698\n", " 1 0.99 0.99 0.99 3791\n", " 2 0.99 0.99 0.99 2548\n", " 3 0.96 0.97 0.97 2693\n", " 4 0.98 0.97 0.98 3569\n", "\n", " accuracy 0.98 14299\n", " macro avg 0.98 0.98 0.98 14299\n", "weighted avg 0.98 0.98 0.98 14299\n", "\n", "[[1666 30 1 1 0]\n", " [ 10 3760 20 1 0]\n", " [ 1 12 2531 4 0]\n", " [ 0 0 9 2606 78]\n", " [ 0 0 0 95 3474]]\n", "---------------------------------\n", "\n", "Accuracy of prediction: 0.379\n", "RandomForest accuracy score: 0.9816770403524722\n", "---------------------------------\n", "\n", "f1 score: 0.9816770403524722\n", "precision_score: 0.9816770403524722\n", "recall_score: 0.9816770403524722\n" ] } ], "source": [ "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.metrics import classification_report\n", "from sklearn.metrics import classification_report,confusion_matrix\n", "from sklearn.metrics import f1_score\n", "from sklearn.metrics import precision_score\n", "from sklearn.metrics import recall_score\n", "\n", "#rfc = RandomForestClassifier(n_estimators=600)\n", "\n", "#rfc = RandomForestClassifier(n_estimators=50)\n", "#RandomForest accuracy score: 0.9955591300090916\n", "\n", "rfc = RandomForestClassifier(n_estimators=50,min_samples_leaf=20)\n", "#RandomForest accuracy score: 0.9772012028813204/0.9803133086229806/0.9811874956290649/0.9852786908175397\n", "\n", "#rfc = RandomForestClassifier(n_estimators=50)\n", "#RandomForest accuracy score: 0.9955940974893349\n", "\n", "#rfc = RandomForestClassifier(n_estimators=100,min_samples_leaf=50)\n", "#RandomForest accuracy score: 0.97688649555913\n", "\n", "#rfc = RandomForestClassifier(n_estimators=50,min_samples_leaf=100)\n", "#RandomForest accuracy score: 0.9669906986502552\n", "\n", "\n", "rfc.fit(X_train, y_train)\n", "rfc_pred = rfc.predict(X_test)\n", "cr = classification_report(y_test,rfc_pred)\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": 10, "metadata": {}, "outputs": [ { "ename": "ModuleNotFoundError", "evalue": "No module named 'sklearn_porter'", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[10], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01msklearn_porter\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Porter\n\u001b[0;32m 3\u001b[0m porter_clf_rfc \u001b[38;5;241m=\u001b[39m Porter(rfc, language\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mc\u001b[39m\u001b[38;5;124m'\u001b[39m)\u001b[38;5;241m.\u001b[39mexport()\n\u001b[0;32m 4\u001b[0m \u001b[38;5;66;03m#porter_clf_svm_poly = Porter(clf_svm_poly, language='c').export()\u001b[39;00m\n\u001b[0;32m 5\u001b[0m \u001b[38;5;66;03m# porter_clf_forest = Porter(clf_randomForest, language='c').export()\u001b[39;00m\n\u001b[0;32m 6\u001b[0m \u001b[38;5;66;03m#porter_clf_extra_forest = Porter(clf_extra_forest, language='c').export()\u001b[39;00m\n\u001b[0;32m 7\u001b[0m \n\u001b[0;32m 8\u001b[0m \u001b[38;5;66;03m#print(porter_clf_svm_linear)\u001b[39;00m\n", "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'sklearn_porter'" ] } ], "source": [ "from sklearn_porter import Porter\n", "\n", "porter_clf_rfc = Porter(rfc, 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/ov_rtree50_f20_20233428.cpp\",'wb')\n", "#f = open(\"clf/clf_svm_linear_50features_20171207.txt\",'wb')\n", "#f = open(\"clf_svm_linear_125100_low_feature_data.txt\",'wb')\n", "f.write(porter_clf_rfc.encode())\n", "f.close()" ] }, { "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": [ "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)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "from sklearn.utils import shuffle\n", "\n", "\n", "# data_shuffle1 = shuffle(data1)\n", "# #data_shuffle = data_all;\n", "# test_labels = data_shuffle1[\"index\"]\n", "# test_features = data_shuffle1.drop(\"dateTime\",axis=1)\n", "# test_features = test_features.drop(\"index\",axis=1)\n", "# test_features = test_features.drop(\"whiteBalance\",axis=1)\n", "\n", "\n", "# test_features = test_features.drop(\"left_block_R_stddev\",axis=1)\n", "# test_features = test_features.drop(\"left_block_G_stddev\",axis=1)\n", "# test_features = test_features.drop(\"left_block_B_stddev\",axis=1)\n", "\n", "# test_features = test_features.drop(\"left_block_H_stddev\",axis=1)\n", "# test_features = test_features.drop(\"left_block_S_stddev\",axis=1)\n", "# test_features = test_features.drop(\"left_block_V_stddev\",axis=1)\n", "\n", "# test_features = test_features.drop(\"left_block_l_stddev\",axis=1)\n", "# test_features = test_features.drop(\"left_block_a_stddev\",axis=1)\n", "# test_features = test_features.drop(\"left_block_b_stddev\",axis=1)\n", "\n", "# test_features = test_features.drop(\"right_block_R_stddev\",axis=1)\n", "# test_features = test_features.drop(\"right_block_G_stddev\",axis=1)\n", "# test_features = test_features.drop(\"right_block_B_stddev\",axis=1)\n", "\n", "# test_features = test_features.drop(\"right_block_H_stddev\",axis=1)\n", "# test_features = test_features.drop(\"right_block_S_stddev\",axis=1)\n", "# test_features = test_features.drop(\"right_block_V_stddev\",axis=1)\n", "\n", "# test_features = test_features.drop(\"right_block_l_stddev\",axis=1)\n", "# test_features = test_features.drop(\"right_block_a_stddev\",axis=1)\n", "# test_features = test_features.drop(\"right_block_b_stddev\",axis=1)\n", "\n", "# test_features = test_features.drop(\"whiteBlock_R_stddev\",axis=1)\n", "# test_features = test_features.drop(\"whiteBlock_G_stddev\",axis=1)\n", "# test_features = test_features.drop(\"whiteBlock_B_stddev\",axis=1)\n", "\n", "# test_features = test_features.drop(\"whiteBlock_H_stddev\",axis=1)\n", "# test_features = test_features.drop(\"whiteBlock_S_stddev\",axis=1)\n", "# test_features = test_features.drop(\"whiteBlock_V_stddev\",axis=1)\n", "\n", "# test_features = test_features.drop(\"whiteBlock_l_stddev\",axis=1)\n", "# test_features = test_features.drop(\"whiteBlock_a_stddev\",axis=1)\n", "# test_features = test_features.drop(\"whiteBlock_b_stddev\",axis=1)\n", "\n", "train_features_10 = pd.DataFrame()\n", "train_features_10['lelf_right_R'] = test_features['left_block_R'] - test_features['right_block_R']\n", "train_features_10['lelf_right_G'] = test_features['left_block_G'] - test_features['right_block_G']\n", "train_features_10['lelf_right_B'] = test_features['left_block_B'] - test_features['right_block_B']\n", "\n", "train_features_10['lelf_right_H'] = test_features['left_block_H'] - test_features['right_block_H']\n", "# train_features_10['lelf_right_S'] = test_features['left_block_S'] - test_features['right_block_S']\n", "train_features_10['lelf_right_V'] = test_features['left_block_V'] - test_features['right_block_V']\n", "\n", "train_features_10['lelf_right_l'] = test_features['left_block_l'] - test_features['right_block_l']\n", "train_features_10['lelf_right_a'] = test_features['left_block_a'] - test_features['right_block_a']\n", "train_features_10['lelf_right_b'] = test_features['left_block_b'] - test_features['right_block_b']\n", "\n", "train_features_10['lelf_right_R_stddev'] = test_features['left_block_R_stddev'] - test_features['right_block_R_stddev']\n", "train_features_10['lelf_right_G_stddev'] = test_features['left_block_G_stddev'] - test_features['right_block_G_stddev']\n", "train_features_10['lelf_right_B_stddev'] = test_features['left_block_B_stddev'] - test_features['right_block_B_stddev']\n", "\n", "train_features_10['lelf_right_H_stddev'] = test_features['left_block_H_stddev'] - test_features['right_block_H_stddev']\n", "# train_features_10['lelf_right_S_stddev'] = test_features['left_block_S_stddev'] - test_features['right_block_S_stddev']\n", "train_features_10['lelf_right_V_stddev'] = test_features['left_block_V_stddev'] - test_features['right_block_V_stddev']\n", "\n", "train_features_10['lelf_right_l_stddev'] = test_features['left_block_l_stddev'] - test_features['right_block_l_stddev']\n", "train_features_10['lelf_right_a_stddev'] = test_features['left_block_a_stddev'] - test_features['right_block_a_stddev']\n", "train_features_10['lelf_right_b_stddev'] = test_features['left_block_b_stddev'] - test_features['right_block_b_stddev']\n", "\n", "train_features_10['lelf_right_R_hist'] = test_features['left_block_R_hist'] - test_features['right_block_R_hist']\n", "train_features_10['lelf_right_G_hist'] = test_features['left_block_G_hist'] - test_features['right_block_G_hist']\n", "train_features_10['lelf_right_B_hist'] = test_features['left_block_B_hist'] - test_features['right_block_B_hist']\n", "\n", "train_features_10['lelf_right_H_hist'] = test_features['left_block_H_hist'] - test_features['right_block_H_hist']\n", "# train_features_10['lelf_right_S_hist'] = test_features['left_block_S_hist'] - test_features['right_block_S_hist']\n", "train_features_10['lelf_right_V_hist'] = test_features['left_block_V_hist'] - test_features['right_block_V_hist']\n", "\n", "train_features_10['lelf_right_l_hist'] = test_features['left_block_l_hist'] - test_features['right_block_l_hist']\n", "train_features_10['lelf_right_a_hist'] = test_features['left_block_a_hist'] - test_features['right_block_a_hist']\n", "train_features_10['lelf_right_b_hist'] = test_features['left_block_b_hist'] - test_features['right_block_b_hist']\n", "\n", "train_features_10['lelf_right_R_max'] = test_features['left_block_R_max'] - test_features['right_block_R_max']\n", "train_features_10['lelf_right_G_max'] = test_features['left_block_G_max'] - test_features['right_block_G_max']\n", "train_features_10['lelf_right_B_max'] = test_features['left_block_B_max'] - test_features['right_block_B_max']\n", "\n", "train_features_10['lelf_right_H_max'] = test_features['left_block_H_max'] - test_features['right_block_H_max']\n", "# train_features_10['lelf_right_S_max'] = test_features['left_block_S_max'] - test_features['right_block_S_max']\n", "train_features_10['lelf_right_V_max'] = test_features['left_block_V_max'] - test_features['right_block_V_max']\n", "\n", "train_features_10['lelf_right_l_max'] = test_features['left_block_l_max'] - test_features['right_block_l_max']\n", "train_features_10['lelf_right_a_max'] = test_features['left_block_a_max'] - test_features['right_block_a_max']\n", "train_features_10['lelf_right_b_max'] = test_features['left_block_b_max'] - test_features['right_block_b_max']\n", "\n", "\n", "train_features_10['lelf_right_R_min'] = test_features['left_block_R_min'] - test_features['right_block_R_min']\n", "train_features_10['lelf_right_G_min'] = test_features['left_block_G_min'] - test_features['right_block_G_min']\n", "train_features_10['lelf_right_B_min'] = test_features['left_block_B_min'] - test_features['right_block_B_min']\n", "\n", "train_features_10['lelf_right_H_min'] = test_features['left_block_H_min'] - test_features['right_block_H_min']\n", "# train_features_10['lelf_right_S_min'] = test_features['left_block_S_min'] - test_features['right_block_S_min']\n", "train_features_10['lelf_right_V_min'] = test_features['left_block_V_min'] - test_features['right_block_V_min']\n", "\n", "train_features_10['lelf_right_l_min'] = test_features['left_block_l_min'] - test_features['right_block_l_min']\n", "train_features_10['lelf_right_a_min'] = test_features['left_block_a_min'] - test_features['right_block_a_min']\n", "train_features_10['lelf_right_b_min'] = test_features['left_block_b_min'] - test_features['right_block_b_min']\n", "\n", "# train_features_10['left_grayValue']= test_features['left_grayValue'];\n", "# train_features_10['left_grayStddevValue']= test_features['left_grayStddevValue'];\n", "# train_features_10['left_grayHist']= test_features['left_grayHist'];\n", "# train_features_10['left_grayMax']= test_features['left_grayMax'];\n", "# train_features_10['left_grayMin']= test_features['left_grayMin'];\n", "\n", "# train_features_10['right_grayValue']= test_features['right_grayValue'];\n", "# train_features_10['right_grayStddevValue']= test_features['right_grayStddevValue'];\n", "# train_features_10['right_grayHist']= test_features['right_grayHist'];\n", "# train_features_10['right_grayMax']= test_features['right_grayMax'];\n", "# train_features_10['right_grayMin']= test_features['right_grayMin'];\n", "\n", "# train_features_10['lelf_R_stddev'] = test_features['left_block_R_stddev'] \n", "# train_features_10['lelf_G_stddev'] = test_features['left_block_G_stddev'] \n", "# train_features_10['lelf_B_stddev'] = test_features['left_block_B_stddev'] \n", "\n", "# train_features_10['left_block_R_min'] = test_features['left_block_R_min'] \n", "# train_features_10['left_block_G_min'] = test_features['left_block_G_min'] \n", "# train_features_10['left_block_B_min'] = test_features['left_block_B_min'] \n", "\n", "\n", "\n", "train_features_10['lelf_right_gray_value'] = test_features['left_grayValue'] - test_features['right_grayValue']\n", "train_features_10['lelf_right_gray_stddev'] = test_features['left_grayStddevValue'] - test_features['right_grayStddevValue']\n", "train_features_10['lelf_right_gray_hist'] = test_features['left_grayHist'] - test_features['right_grayHist']\n", "train_features_10['lelf_right_gray_max'] = test_features['left_grayMax'] - test_features['right_grayMax']\n", "train_features_10['lelf_right_gray_min'] = test_features['left_grayMin'] - test_features['right_grayMin']\n", "\n", "train_features_10.describe()\n", "\n", "\n", "# feature = feature.drop(\"left_block_H_hist\",axis=1)\n", "# feature = feature.drop(\"right_block_H_hist\",axis=1)\n", "# feature = feature.drop(\"whiteBlock_H_hist\",axis=1)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ " \n", "test_features = test_features.drop(\"left_block_H\",axis=1)\n", "test_features = test_features.drop(\"left_block_S\",axis=1)\n", "test_features = test_features.drop(\"left_block_V\",axis=1)\n", "\n", "test_features = test_features.drop(\"right_block_H\",axis=1)\n", "test_features = test_features.drop(\"right_block_S\",axis=1)\n", "test_features = test_features.drop(\"right_block_V\",axis=1)\n", "\n", "test_features = test_features.drop(\"whiteBlock_H\",axis=1)\n", "test_features = test_features.drop(\"whiteBlock_S\",axis=1)\n", "test_features = test_features.drop(\"whiteBlock_V\",axis=1)\n", "\n", "\n", "test_features = test_features.drop(\"left_block_H_stddev\",axis=1)\n", "test_features = test_features.drop(\"left_block_S_stddev\",axis=1)\n", "test_features = test_features.drop(\"left_block_V_stddev\",axis=1)\n", "\n", "test_features = test_features.drop(\"right_block_H_stddev\",axis=1)\n", "test_features = test_features.drop(\"right_block_S_stddev\",axis=1)\n", "test_features = test_features.drop(\"right_block_V_stddev\",axis=1)\n", "\n", "test_features = test_features.drop(\"whiteBlock_H_stddev\",axis=1)\n", "test_features = test_features.drop(\"whiteBlock_S_stddev\",axis=1)\n", "test_features = test_features.drop(\"whiteBlock_V_stddev\",axis=1)\n", "\n", "test_features = test_features.drop(\"left_block_H_hist\",axis=1)\n", "test_features = test_features.drop(\"left_block_S_hist\",axis=1)\n", "test_features = test_features.drop(\"left_block_V_hist\",axis=1)\n", "\n", "test_features = test_features.drop(\"right_block_H_hist\",axis=1)\n", "test_features = test_features.drop(\"right_block_S_hist\",axis=1)\n", "test_features = test_features.drop(\"right_block_V_hist\",axis=1)\n", "\n", "test_features = test_features.drop(\"whiteBlock_H_hist\",axis=1)\n", "test_features = test_features.drop(\"whiteBlock_S_hist\",axis=1)\n", "test_features = test_features.drop(\"whiteBlock_V_hist\",axis=1)\n", "\n", "test_features = test_features.drop(\"left_block_H_max\",axis=1)\n", "test_features = test_features.drop(\"left_block_S_max\",axis=1)\n", "test_features = test_features.drop(\"left_block_V_max\",axis=1)\n", "\n", "test_features = test_features.drop(\"right_block_H_max\",axis=1)\n", "test_features = test_features.drop(\"right_block_S_max\",axis=1)\n", "test_features = test_features.drop(\"right_block_V_max\",axis=1)\n", "\n", "test_features = test_features.drop(\"whiteBlock_H_max\",axis=1)\n", "test_features = test_features.drop(\"whiteBlock_S_max\",axis=1)\n", "test_features = test_features.drop(\"whiteBlock_V_max\",axis=1)\n", "\n", "test_features = test_features.drop(\"left_block_H_min\",axis=1)\n", "test_features = test_features.drop(\"left_block_S_min\",axis=1)\n", "test_features = test_features.drop(\"left_block_V_min\",axis=1)\n", "\n", "test_features = test_features.drop(\"right_block_H_min\",axis=1)\n", "test_features = test_features.drop(\"right_block_S_min\",axis=1)\n", "test_features = test_features.drop(\"right_block_V_min\",axis=1)\n", "\n", "test_features = test_features.drop(\"whiteBlock_H_min\",axis=1)\n", "test_features = test_features.drop(\"whiteBlock_S_min\",axis=1)\n", "test_features = test_features.drop(\"whiteBlock_V_min\",axis=1)\n", " \n", " \n", "test_features['lelf_right_R'] = test_features['left_block_R'] - test_features['right_block_R']\n", "test_features['lelf_right_G'] = test_features['left_block_G'] - test_features['right_block_G']\n", "test_features['lelf_right_B'] = test_features['left_block_B'] - test_features['right_block_B']\n", "\n", "# test_features['lelf_right_H'] = test_features['left_block_H'] - test_features['right_block_H']\n", "# test_features['lelf_right_S'] = test_features['left_block_S'] - test_features['right_block_S']\n", "# test_features['lelf_right_V'] = test_features['left_block_V'] - test_features['right_block_V']\n", "\n", "# test_features['lelf_right_l'] = test_features['left_block_l'] - test_features['right_block_l']\n", "# test_features['lelf_right_a'] = test_features['left_block_a'] - test_features['right_block_a']\n", "# test_features['lelf_right_b'] = test_features['left_block_b'] - test_features['right_block_b']\n", "\n", "# test_features['lelf_right_R_stddev'] = test_features['left_block_R_stddev'] - test_features['right_block_R_stddev']\n", "# test_features['lelf_right_G_stddev'] = test_features['left_block_G_stddev'] - test_features['right_block_G_stddev']\n", "# test_features['lelf_right_B_stddev'] = test_features['left_block_B_stddev'] - test_features['right_block_B_stddev']\n", "\n", "# test_features['lelf_right_H_stddev'] = test_features['left_block_H_stddev'] - test_features['right_block_H_stddev']\n", "# test_features['lelf_right_S_stddev'] = test_features['left_block_S_stddev'] - test_features['right_block_S_stddev']\n", "# test_features['lelf_right_V_stddev'] = test_features['left_block_V_stddev'] - test_features['right_block_V_stddev']\n", "\n", "# test_features['lelf_right_l_stddev'] = test_features['left_block_l_stddev'] - test_features['right_block_l_stddev']\n", "# test_features['lelf_right_a_stddev'] = test_features['left_block_a_stddev'] - test_features['right_block_a_stddev']\n", "# test_features['lelf_right_b_stddev'] = test_features['left_block_b_stddev'] - test_features['right_block_b_stddev']\n", "\n", "# test_features['lelf_right_R_hist'] = test_features['left_block_R_hist'] - test_features['right_block_R_hist']\n", "# test_features['lelf_right_G_hist'] = test_features['left_block_G_hist'] - test_features['right_block_G_hist']\n", "# test_features['lelf_right_B_hist'] = test_features['left_block_B_hist'] - test_features['right_block_B_hist']\n", "\n", "# test_features['lelf_right_H_hist'] = test_features['left_block_H_hist'] - test_features['right_block_H_hist']\n", "# test_features['lelf_right_S_hist'] = test_features['left_block_S_hist'] - test_features['right_block_S_hist']\n", "# test_features['lelf_right_V_hist'] = test_features['left_block_V_hist'] - test_features['right_block_V_hist']\n", "\n", "# test_features['lelf_right_l_hist'] = test_features['left_block_l_hist'] - test_features['right_block_l_hist']\n", "# test_features['lelf_right_a_hist'] = test_features['left_block_a_hist'] - test_features['right_block_a_hist']\n", "# test_features['lelf_right_b_hist'] = test_features['left_block_b_hist'] - test_features['right_block_b_hist']\n", "\n", "# test_features['lelf_right_R_max'] = test_features['left_block_R_max'] - test_features['right_block_R_max']\n", "# test_features['lelf_right_G_max'] = test_features['left_block_G_max'] - test_features['right_block_G_max']\n", "# test_features['lelf_right_B_max'] = test_features['left_block_B_max'] - test_features['right_block_B_max']\n", "\n", "# test_features['lelf_right_H_max'] = test_features['left_block_H_max'] - test_features['right_block_H_max']\n", "# test_features['lelf_right_S_max'] = test_features['left_block_S_max'] - test_features['right_block_S_max']\n", "# test_features['lelf_right_V_max'] = test_features['left_block_V_max'] - test_features['right_block_V_max']\n", "\n", "# test_features['lelf_right_l_max'] = test_features['left_block_l_max'] - test_features['right_block_l_max']\n", "# test_features['lelf_right_a_max'] = test_features['left_block_a_max'] - test_features['right_block_a_max']\n", "# test_features['lelf_right_b_max'] = test_features['left_block_b_max'] - test_features['right_block_b_max']\n", "\n", "\n", "\n", "# test_features['lelf_right_R_min'] = test_features['left_block_R_min'] - test_features['right_block_R_min']\n", "# test_features['lelf_right_G_min'] = test_features['left_block_G_min'] - test_features['right_block_G_min']\n", "# test_features['lelf_right_B_min'] = test_features['left_block_B_min'] - test_features['right_block_B_min']\n", "\n", "# test_features['lelf_right_H_min'] = test_features['left_block_H_min'] - test_features['right_block_H_min']\n", "# test_features['lelf_right_S_min'] = test_features['left_block_S_min'] - test_features['right_block_S_min']\n", "# test_features['lelf_right_V_min'] = test_features['left_block_V_min'] - test_features['right_block_V_min']\n", "\n", "# test_features['lelf_right_l_min'] = test_features['left_block_l_min'] - test_features['right_block_l_min']\n", "# test_features['lelf_right_a_min'] = test_features['left_block_a_min'] - test_features['right_block_a_min']\n", "# test_features['lelf_right_b_min'] = test_features['left_block_b_min'] - test_features['right_block_b_min']\n", "\n", "test_features['lelf_right_gray_value'] = test_features['left_grayValue'] - test_features['right_grayValue']\n", "test_features['lelf_right_gray_stddev'] = test_features['left_grayStddevValue'] - test_features['right_grayStddevValue']\n", "test_features['lelf_right_gray_hist'] = test_features['left_grayHist'] - test_features['right_grayHist']\n", "test_features['lelf_right_gray_max'] = test_features['left_grayMax'] - test_features['right_grayMax']\n", "test_features['lelf_right_gray_min'] = test_features['left_grayMin'] - test_features['right_grayMin']\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "pred = clf_svm_linear.predict(train_features_10)\n", "test_features_gray_stddev = test_features['left_grayStddevValue']\n", "test_features_np = np.ndarray(test_features_gray_stddev.shape,dtype = np.float32)\n", "\n", "test_features_np = test_features_gray_stddev.values\n", "print \"svm linear accuracy score:\" , accuracy_score(test_labels,pred)\n", "print \"f1 score:\" , f1_score(test_labels,pred,average='micro')\n", "print \"recall_score :\" , recall_score(test_labels,pred,average='micro')\n", "print \"precision_score :\" , precision_score(test_labels,pred,average='micro')\n", "\n", "for i in range(0, len(test_features_np)):\n", " if test_features_np[i] < 3:\n", " pred[i] =0\n", "print \"svm linear accuracy score:\" , accuracy_score(test_labels,pred)\n", "print \"f1 score:\" , f1_score(test_labels,pred,average='micro')\n", "print \"recall_score :\" , recall_score(test_labels,pred,average='micro')\n", "print \"precision_score :\" , precision_score(test_labels,pred,average='micro')\n", "\n", "\n", "print(\"preds:\",pred[120:130])\n", "print('trues:\\n',test_labels[120:130])\n", "test_labels_np = np.ndarray(test_labels.shape,dtype= np.int32)\n", "test_labels_np = test_labels.values\n", "print(test_labels_np[0])\n", "all_counter = 0\n", "counter = 0\n", "for i in range(0 ,len(pred) ):\n", " if (pred[i] == 4 or (pred[i] == 4 and test_labels_np[i] ==4 )or test_labels_np[i] ==4 ) :\n", " all_counter = all_counter + 1\n", " if pred[i] != test_labels_np[i] :\n", " counter = counter+1\n", " print(pred[i] , test_labels_np[i])\n", "print(len(pred),all_counter, counter) \n", "all_counter = 0\n", "counter = 0\n", "for i in range(0 ,len(pred) ):\n", " if pred[i] != test_labels_np[i] :\n", " counter = counter+1\n", " print(pred[i] , test_labels_np[i])\n", "print(len(pred),all_counter, counter) \n", "\n", "# print \"svm linear accuracy score:\" , accuracy_score(test_labels,pred)\n", "# print \"f1 score:\" , f1_score(test_labels,pred,average='micro')\n", "# print \"recall_score :\" , recall_score(test_labels,pred,average='micro')\n", "# print \"precision_score :\" , precision_score(test_labels,pred,average='micro')\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## from sklearn.metrics import recall_score\n", "from sklearn.metrics import precision_score\n", "print \"accuracy score:\" , accuracy_score(y_test,pred)\n", "print \"recall_score :\" , recall_score(y_test,pred,average='macro')\n", "print \"precision_score :\" , precision_score(y_test,pred,average='macro')\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from sklearn_porter import Porter\n", "\n", "porter_java = Porter(clf_svm, language='java').export()\n", "porter_c = Porter(clf_svm, language='c').export()\n", "\n", "f = open(\"Protein_c.txt\",'wb')\n", "f.write(porter_c)\n", "f.close()\n", "\n", "f = open(\"Protein_svm_java.txt\",'wb')\n", "f.write(porter_java)\n", "f.close()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.11.4" } }, "nbformat": 4, "nbformat_minor": 2 }