648 lines
25 KiB
Plaintext
648 lines
25 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# 这是一个测试尿常规的算法文件"
|
|
]
|
|
},
|
|
{
|
|
"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"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"load data successful !!!!!\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"try :\n",
|
|
" data_cre = pd.read_csv(\"14/data_cre.txt\")\n",
|
|
" \n",
|
|
" print (\"load data successful !!!!!\")\n",
|
|
"except :\n",
|
|
" print (\"load data error !!!!!!!!!!\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#test only\n",
|
|
"data_cre['h'] = data_cre['h'].map(lambda x: x*2)\n",
|
|
"data_cre.to_csv('data_cre_2h.txt')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>h</th>\n",
|
|
" <th>s</th>\n",
|
|
" <th>v</th>\n",
|
|
" <th>l</th>\n",
|
|
" <th>a</th>\n",
|
|
" <th>b</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>count</th>\n",
|
|
" <td>13358.000000</td>\n",
|
|
" <td>13358.000000</td>\n",
|
|
" <td>13358.000000</td>\n",
|
|
" <td>13358.000000</td>\n",
|
|
" <td>13358.000000</td>\n",
|
|
" <td>13358.000000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>mean</th>\n",
|
|
" <td>27.351999</td>\n",
|
|
" <td>90.980985</td>\n",
|
|
" <td>143.211633</td>\n",
|
|
" <td>131.036907</td>\n",
|
|
" <td>133.195763</td>\n",
|
|
" <td>145.954185</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>std</th>\n",
|
|
" <td>15.279598</td>\n",
|
|
" <td>13.948394</td>\n",
|
|
" <td>29.943108</td>\n",
|
|
" <td>33.892032</td>\n",
|
|
" <td>6.900436</td>\n",
|
|
" <td>9.115498</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>min</th>\n",
|
|
" <td>4.000000</td>\n",
|
|
" <td>46.000000</td>\n",
|
|
" <td>93.000000</td>\n",
|
|
" <td>74.000000</td>\n",
|
|
" <td>116.000000</td>\n",
|
|
" <td>132.000000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>25%</th>\n",
|
|
" <td>12.000000</td>\n",
|
|
" <td>83.000000</td>\n",
|
|
" <td>118.000000</td>\n",
|
|
" <td>104.000000</td>\n",
|
|
" <td>128.000000</td>\n",
|
|
" <td>138.000000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>50%</th>\n",
|
|
" <td>24.000000</td>\n",
|
|
" <td>92.000000</td>\n",
|
|
" <td>140.000000</td>\n",
|
|
" <td>124.000000</td>\n",
|
|
" <td>135.000000</td>\n",
|
|
" <td>144.000000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>75%</th>\n",
|
|
" <td>40.000000</td>\n",
|
|
" <td>101.000000</td>\n",
|
|
" <td>167.000000</td>\n",
|
|
" <td>161.000000</td>\n",
|
|
" <td>139.000000</td>\n",
|
|
" <td>153.000000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>max</th>\n",
|
|
" <td>60.000000</td>\n",
|
|
" <td>128.000000</td>\n",
|
|
" <td>227.000000</td>\n",
|
|
" <td>215.000000</td>\n",
|
|
" <td>145.000000</td>\n",
|
|
" <td>168.000000</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" h s v l a \\\n",
|
|
"count 13358.000000 13358.000000 13358.000000 13358.000000 13358.000000 \n",
|
|
"mean 27.351999 90.980985 143.211633 131.036907 133.195763 \n",
|
|
"std 15.279598 13.948394 29.943108 33.892032 6.900436 \n",
|
|
"min 4.000000 46.000000 93.000000 74.000000 116.000000 \n",
|
|
"25% 12.000000 83.000000 118.000000 104.000000 128.000000 \n",
|
|
"50% 24.000000 92.000000 140.000000 124.000000 135.000000 \n",
|
|
"75% 40.000000 101.000000 167.000000 161.000000 139.000000 \n",
|
|
"max 60.000000 128.000000 227.000000 215.000000 145.000000 \n",
|
|
"\n",
|
|
" b \n",
|
|
"count 13358.000000 \n",
|
|
"mean 145.954185 \n",
|
|
"std 9.115498 \n",
|
|
"min 132.000000 \n",
|
|
"25% 138.000000 \n",
|
|
"50% 144.000000 \n",
|
|
"75% 153.000000 \n",
|
|
"max 168.000000 "
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"data_cre.columns\n",
|
|
"train_labels = data_cre[\"index\"]\n",
|
|
"train_features = data_cre.drop(\"index\",axis=1)\n",
|
|
"\n",
|
|
"train_features.describe()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# 测试算法"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#test all those Ensemble Methods\n",
|
|
"\n",
|
|
"from sklearn.ensemble import AdaBoostClassifier\n",
|
|
"from sklearn.ensemble import AdaBoostRegressor\n",
|
|
"\n",
|
|
"from sklearn.ensemble import BaggingClassifier\n",
|
|
"from sklearn.ensemble import BaggingRegressor\n",
|
|
"\n",
|
|
"from sklearn.ensemble import ExtraTreesClassifier\n",
|
|
"from sklearn.ensemble import ExtraTreesRegressor\n",
|
|
"\n",
|
|
"from sklearn.ensemble import GradientBoostingClassifier\n",
|
|
"from sklearn.ensemble import GradientBoostingRegressor\n",
|
|
"\n",
|
|
"from sklearn.ensemble import IsolationForest\n",
|
|
"from sklearn.ensemble import RandomForestClassifier\n",
|
|
"from sklearn.ensemble import RandomForestRegressor\n",
|
|
"from sklearn.ensemble import RandomTreesEmbedding\n",
|
|
"\n",
|
|
"from sklearn.ensemble import StackingClassifier\n",
|
|
"from sklearn.ensemble import StackingRegressor\n",
|
|
"\n",
|
|
"from sklearn.ensemble import VotingClassifier\n",
|
|
"from sklearn.ensemble import VotingRegressor\n",
|
|
"\n",
|
|
"#from sklearn.ensemble import HistGradientBoostingRegressor\n",
|
|
"#from sklearn.ensemble import HistGradientBoostingClassifier\n",
|
|
"\n",
|
|
"from sklearn.metrics import accuracy_score\n",
|
|
"from sklearn.metrics import f1_score\n",
|
|
"from sklearn.metrics import precision_score\n",
|
|
"from sklearn.metrics import recall_score\n",
|
|
"\n",
|
|
"from sklearn.model_selection import train_test_split\n",
|
|
"X_train ,X_test,y_train,y_test = train_test_split(train_features,train_labels,test_size = 0.3, random_state = 20)\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"accuracy_score : 0.9927644710578842\n",
|
|
"f1_score : [0.99713877 0.99615385 0.9964209 0.98213009 0.99281093]\n",
|
|
"precision_score: [1. 0.99233716 0.99856528 0.98283262 0.9913855 ]\n",
|
|
"recall_score : [0.99429387 1. 0.99428571 0.98142857 0.99424046]\n",
|
|
"runing time: 0:00:00.896607\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#case 1 AdaBoostClassifier \n",
|
|
"#https://www.cnblogs.com/pinard/p/6136914.html\n",
|
|
"from sklearn.tree import DecisionTreeClassifier\n",
|
|
"from datetime import datetime\n",
|
|
"bdt = AdaBoostClassifier(DecisionTreeClassifier(max_depth=15, min_samples_split=20, min_samples_leaf=10),\n",
|
|
" n_estimators=50, learning_rate=0.8)\n",
|
|
"\n",
|
|
"trarining_start_time = datetime.now()\n",
|
|
"\n",
|
|
"bdt.fit(X_train, y_train)\n",
|
|
"pred = bdt.predict(X_test)\n",
|
|
"print (\"accuracy_score :\" , accuracy_score(y_test,pred))\n",
|
|
"print (\"f1_score :\" , f1_score(y_test,pred,average=None))\n",
|
|
"print (\"precision_score:\" , precision_score(y_test,pred,average=None))\n",
|
|
"print (\"recall_score :\" , recall_score(y_test,pred,average=None))\n",
|
|
"\n",
|
|
"training_stop_time = datetime.now()\n",
|
|
"print (\"runing time:\",(training_stop_time - trarining_start_time))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"0.9970078111947333\n",
|
|
"runing time: 0:00:00.679213\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#case 2 AdaBoostRegressor\n",
|
|
"#https://www.programcreek.com/python/example/86712/sklearn.ensemble.AdaBoostRegressor\n",
|
|
"from sklearn.tree import DecisionTreeRegressor\n",
|
|
"from datetime import datetime\n",
|
|
"bdt = AdaBoostRegressor(DecisionTreeRegressor(max_depth=15, min_samples_split=20, min_samples_leaf=10),\n",
|
|
" n_estimators=50, learning_rate=0.8)\n",
|
|
"\n",
|
|
"trarining_start_time = datetime.now()\n",
|
|
"\n",
|
|
"bdt.fit(X_train, y_train)\n",
|
|
"pred = bdt.predict(X_test)\n",
|
|
"test_accuracy = bdt.score(X_test, y_test)\n",
|
|
"print(test_accuracy)\n",
|
|
"training_stop_time = datetime.now()\n",
|
|
"print (\"runing time:\",(training_stop_time - trarining_start_time))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"accuracy_score : 0.9897704590818364\n",
|
|
"f1_score : [0.99642602 0.99230769 0.99357602 0.97637795 0.99028427]\n",
|
|
"precision_score: [0.99856734 0.98850575 0.99286733 0.9784792 0.98992806]\n",
|
|
"recall_score : [0.99429387 0.996139 0.99428571 0.97428571 0.99064075]\n",
|
|
"runing time: 0:00:00.063829\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#case 3 BaggingClassifier \n",
|
|
"from sklearn.tree import DecisionTreeClassifier\n",
|
|
"from datetime import datetime\n",
|
|
"bc = BaggingClassifier(DecisionTreeClassifier(max_depth=15, min_samples_split=20, min_samples_leaf=10),\n",
|
|
" max_samples=0.5,max_features=0.5)\n",
|
|
"\n",
|
|
"trarining_start_time = datetime.now()\n",
|
|
"\n",
|
|
"bc.fit(X_train, y_train)\n",
|
|
"pred = bc.predict(X_test)\n",
|
|
"print (\"accuracy_score :\" , accuracy_score(y_test,pred))\n",
|
|
"print (\"f1_score :\" , f1_score(y_test,pred,average=None))\n",
|
|
"print (\"precision_score:\" , precision_score(y_test,pred,average=None))\n",
|
|
"print (\"recall_score :\" , recall_score(y_test,pred,average=None))\n",
|
|
"\n",
|
|
"training_stop_time = datetime.now()\n",
|
|
"print (\"runing time:\",(training_stop_time - trarining_start_time))\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"0.9970078111947333\n",
|
|
"runing time: 0:00:00.061834\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"'\\nBagging通过降低基分类器的方差,改善了泛化误差\\n其性能依赖于基分类器的稳定性;如果基分类器不稳定,bagging有助于降低训练数据的随机波动导致的误差;如果稳定,则集成分类器的误差主要由基分类器的偏倚引起\\n由于每个样本被选中的概率相同,因此bagging并不侧重于训练数据集中的任何特定实例\\n'"
|
|
]
|
|
},
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"#case 4 BaggingRegressor\n",
|
|
"from sklearn.tree import DecisionTreeRegressor\n",
|
|
"from datetime import datetime\n",
|
|
"br = BaggingRegressor(DecisionTreeRegressor(max_depth=15, min_samples_split=20, min_samples_leaf=10),\n",
|
|
" max_samples=0.5,max_features=0.5)\n",
|
|
"\n",
|
|
"trarining_start_time = datetime.now()\n",
|
|
"\n",
|
|
"br.fit(X_train, y_train)\n",
|
|
"pred = br.predict(X_test)\n",
|
|
"print(bdt.score(X_test, y_test))\n",
|
|
"training_stop_time = datetime.now()\n",
|
|
"print (\"runing time:\",(training_stop_time - trarining_start_time))\n",
|
|
"'''\n",
|
|
"Bagging通过降低基分类器的方差,改善了泛化误差\n",
|
|
"其性能依赖于基分类器的稳定性;如果基分类器不稳定,bagging有助于降低训练数据的随机波动导致的误差;如果稳定,则集成分类器的误差主要由基分类器的偏倚引起\n",
|
|
"由于每个样本被选中的概率相同,因此bagging并不侧重于训练数据集中的任何特定实例\n",
|
|
"'''"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"accuracy_score : 0.9775449101796407\n",
|
|
"f1_score : [0.99570201 0.99424184 0.99008499 0.93777778 0.97514205]\n",
|
|
"precision_score: [1. 0.98854962 0.98174157 0.97384615 0.96215837]\n",
|
|
"recall_score : [0.9914408 1. 0.99857143 0.90428571 0.98848092]\n",
|
|
"runing time: 0:00:00.186499\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#case 5 ExtraTreesClassifier \n",
|
|
"from datetime import datetime\n",
|
|
"ec = ExtraTreesClassifier(n_estimators=50,max_depth=20,min_samples_leaf=50)\n",
|
|
"\n",
|
|
"trarining_start_time = datetime.now()\n",
|
|
"\n",
|
|
"ec.fit(X_train, y_train)\n",
|
|
"pred = ec.predict(X_test)\n",
|
|
"print (\"accuracy_score :\" , accuracy_score(y_test,pred))\n",
|
|
"print (\"f1_score :\" , f1_score(y_test,pred,average=None))\n",
|
|
"print (\"precision_score:\" , precision_score(y_test,pred,average=None))\n",
|
|
"print (\"recall_score :\" , recall_score(y_test,pred,average=None))\n",
|
|
"\n",
|
|
"training_stop_time = datetime.now()\n",
|
|
"print (\"runing time:\",(training_stop_time - trarining_start_time))\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"score : 0.9936999103106667\n",
|
|
"runing time: 0:00:00.210410\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#case 6 ExtraTreesRegressor \n",
|
|
"from datetime import datetime\n",
|
|
"er = ExtraTreesRegressor(n_estimators=50,max_depth=20,min_samples_leaf=50)\n",
|
|
"\n",
|
|
"trarining_start_time = datetime.now()\n",
|
|
"\n",
|
|
"er.fit(X_train, y_train)\n",
|
|
"pred = er.predict(X_test)\n",
|
|
"print (\"score :\" , er.score(X_test, y_test))\n",
|
|
"training_stop_time = datetime.now()\n",
|
|
"print (\"runing time:\",(training_stop_time - trarining_start_time))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"accuracy_score : 0.9812874251497006\n",
|
|
"f1_score : [0.990681 0.98467433 0.98639943 0.95859649 0.98439201]\n",
|
|
"precision_score: [0.99567723 0.97718631 0.98852224 0.94206897 0.99267936]\n",
|
|
"recall_score : [0.98573466 0.99227799 0.98428571 0.97571429 0.9762419 ]\n",
|
|
"runing time: 0:00:00.237341\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#case 7 RandomForestClassifier \n",
|
|
"from datetime import datetime\n",
|
|
"rfc = RandomForestClassifier(n_estimators=50,max_depth=20,min_samples_leaf=50)\n",
|
|
"\n",
|
|
"trarining_start_time = datetime.now()\n",
|
|
"\n",
|
|
"rfc.fit(X_train, y_train)\n",
|
|
"pred = rfc.predict(X_test)\n",
|
|
"print (\"accuracy_score :\" , accuracy_score(y_test,pred))\n",
|
|
"print (\"f1_score :\" , f1_score(y_test,pred,average=None))\n",
|
|
"print (\"precision_score:\" , precision_score(y_test,pred,average=None))\n",
|
|
"print (\"recall_score :\" , recall_score(y_test,pred,average=None))\n",
|
|
"\n",
|
|
"training_stop_time = datetime.now()\n",
|
|
"print (\"runing time:\",(training_stop_time - trarining_start_time))\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"score : 0.9908021301577461\n",
|
|
"runing time: 0:00:00.345108\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#case 8 RandomForestRegressor \n",
|
|
"from datetime import datetime\n",
|
|
"rfr = RandomForestRegressor(n_estimators=50,max_depth=20,min_samples_leaf=50)\n",
|
|
"\n",
|
|
"trarining_start_time = datetime.now()\n",
|
|
"\n",
|
|
"rfr.fit(X_train, y_train)\n",
|
|
"print (\"score :\" , rfr.score(X_test, y_test))\n",
|
|
"training_stop_time = datetime.now()\n",
|
|
"print (\"runing time:\",(training_stop_time - trarining_start_time))\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"svm linear accuracy score: 0.9755489021956087\n",
|
|
"f1 score : [0.99356683 0.99038462 0.99286733 0.93696275 0.97157251]\n",
|
|
"precision_score: [0.99570201 0.98659004 0.99145299 0.93965517 0.97122302]\n",
|
|
"recall_score : [0.9914408 0.99420849 0.99428571 0.93428571 0.97192225]\n",
|
|
"runing time: 0:00:00.237364\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#case 9 C-Support Vector Classification.\n",
|
|
"from sklearn.svm import SVC\n",
|
|
"\n",
|
|
"trarining_start_time = datetime.now()\n",
|
|
"\n",
|
|
"svc_linear = SVC(kernel = 'linear',C=0.1)\n",
|
|
"#svm linear accuracy score: 0.974885004599816\n",
|
|
"svc_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 = svc_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",
|
|
"training_stop_time = datetime.now()\n",
|
|
"print (\"runing time:\",(training_stop_time - trarining_start_time))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"ename": "ValueError",
|
|
"evalue": "Classification metrics can't handle a mix of multiclass and continuous targets",
|
|
"output_type": "error",
|
|
"traceback": [
|
|
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
|
"\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
|
|
"\u001b[1;32m<ipython-input-16-cf11b79d75d3>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[1;31m# print \"f1 score:\" , f1_score(y_test,pred,average='micro')\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[0mpred\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msvr_linear\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mX_test\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 13\u001b[1;33m \u001b[0mprint\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m\"svm linear accuracy score:\"\u001b[0m \u001b[1;33m,\u001b[0m \u001b[0maccuracy_score\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_test\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mpred\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 14\u001b[0m \u001b[0mprint\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m\"f1 score :\"\u001b[0m \u001b[1;33m,\u001b[0m \u001b[0mf1_score\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_test\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mpred\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0maverage\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[0mprint\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m\"precision_score:\"\u001b[0m \u001b[1;33m,\u001b[0m \u001b[0mprecision_score\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_test\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mpred\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0maverage\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[1;32md:\\Anaconda3\\lib\\site-packages\\sklearn\\metrics\\_classification.py\u001b[0m in \u001b[0;36maccuracy_score\u001b[1;34m(y_true, y_pred, normalize, sample_weight)\u001b[0m\n\u001b[0;32m 183\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 184\u001b[0m \u001b[1;31m# Compute accuracy for each possible representation\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 185\u001b[1;33m \u001b[0my_type\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_true\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_pred\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_check_targets\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_true\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_pred\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 186\u001b[0m \u001b[0mcheck_consistent_length\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_true\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_pred\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msample_weight\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 187\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0my_type\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstartswith\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'multilabel'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[1;32md:\\Anaconda3\\lib\\site-packages\\sklearn\\metrics\\_classification.py\u001b[0m in \u001b[0;36m_check_targets\u001b[1;34m(y_true, y_pred)\u001b[0m\n\u001b[0;32m 88\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_type\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 89\u001b[0m raise ValueError(\"Classification metrics can't handle a mix of {0} \"\n\u001b[1;32m---> 90\u001b[1;33m \"and {1} targets\".format(type_true, type_pred))\n\u001b[0m\u001b[0;32m 91\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 92\u001b[0m \u001b[1;31m# We can't have more than one value on y_type => The set is no more needed\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
|
"\u001b[1;31mValueError\u001b[0m: Classification metrics can't handle a mix of multiclass and continuous targets"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#case 9 C-Support Vector Classification.\n",
|
|
"from sklearn.svm import SVR\n",
|
|
"\n",
|
|
"trarining_start_time = datetime.now()\n",
|
|
"\n",
|
|
"svr_linear = SVR(kernel = 'linear',C=0.1)\n",
|
|
"#svm linear accuracy score: 0.974885004599816\n",
|
|
"svr_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 = svr_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",
|
|
"training_stop_time = datetime.now()\n",
|
|
"print (\"runing time:\",(training_stop_time - trarining_start_time))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.7.6"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|