This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
cuiyiming-gradproj/Experiment/MarkovModel/.ipynb_checkpoints/markov_tofig-checkpoint.ipynb
2020-05-10 13:52:13 +08:00

616 lines
58 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 113,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"end2\n"
]
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"#date = '2019-12-20_21'\n",
"date = 'noProxy/All'\n",
"root_dir = '/Users/Leo/Documents/github/GradProj/'\n",
"train_path = root_dir + 'Experiment/MarkovModel/CsvFile/' + date + '/train_all_0.9.csv'\n",
"test_path = root_dir + 'Experiment/MarkovModel/CsvFile/' + date + '/test_all_0.9.csv'\n",
"train_df = pd.read_csv(train_path,index_col=0)\n",
"test_df = pd.read_csv(test_path,index_col=0)\n",
"print('end2')"
]
},
{
"cell_type": "code",
"execution_count": 114,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.svm import SVC\n",
"from sklearn.naive_bayes import GaussianNB\n",
"from sklearn import tree\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.metrics import f1_score,recall_score,precision_score\n",
"\n",
"%matplotlib inline\n",
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 115,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1\n",
"LogisticRegression 0.461388 0.461388 0.461388\n",
"SVM 0.469571 0.469571 0.469571\n",
"GaussianNB 0.384278 0.384278 0.384278\n",
"tree 0.761296 0.761296 0.761296\n",
"RandomForest 0.759682 0.759682 0.759682\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1a1ff3bef0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#type markov\n",
"x_train = train_df.iloc[:,0:5].values.copy()\n",
"y_train = train_df['label'].values.copy()\n",
"x_test = test_df.iloc[:,0:5].values.copy()\n",
"y_test = test_df['label'].values.copy()\n",
"lr_classifer = LogisticRegression()\n",
"lr_classifer.fit(x_train, y_train)\n",
"y_pred = lr_classifer.predict(x_test)\n",
"lr_precision = precision_score(y_test, y_pred, average='micro')\n",
"lr_recall = recall_score(y_test, y_pred, average='micro')\n",
"lr_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"svm_classifer = SVC()\n",
"svm_classifer.fit(x_train, y_train)\n",
"y_pred = svm_classifer.predict(x_test)\n",
"svm_precision = precision_score(y_test, y_pred, average='micro')\n",
"svm_recall = recall_score(y_test, y_pred, average='micro')\n",
"svm_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"gn_classifer = GaussianNB()\n",
"gn_classifer.fit(x_train, y_train)\n",
"y_pred = gn_classifer.predict(x_test)\n",
"gn_precision = precision_score(y_test, y_pred, average='micro')\n",
"gn_recall = recall_score(y_test, y_pred, average='micro')\n",
"gn_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"tr_classifer = tree.DecisionTreeClassifier()\n",
"tr_classifer.fit(x_train, y_train)\n",
"y_pred = tr_classifer.predict(x_test)\n",
"tr_precision = precision_score(y_test, y_pred, average='micro')\n",
"tr_recall = recall_score(y_test, y_pred, average='micro')\n",
"tr_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"rf_classifer = RandomForestClassifier()\n",
"rf_classifer.fit(x_train, y_train)\n",
"y_pred = rf_classifer.predict(x_test)\n",
"rf_precision = precision_score(y_test, y_pred, average='micro')\n",
"rf_recall = recall_score(y_test, y_pred, average='micro')\n",
"rf_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"score_df = pd.DataFrame(np.zeros((5,3)),index = ['LogisticRegression', 'SVM', 'GaussianNB', 'tree', 'RandomForest'], \\\n",
" columns = ['precision', 'recall', 'f1'])\n",
"score_df.loc['LogisticRegression'] = [lr_precision, lr_recall, lr_f1]\n",
"score_df.loc['SVM'] = [svm_precision, svm_recall, svm_f1]\n",
"score_df.loc['GaussianNB'] = [gn_precision, gn_recall, gn_f1]\n",
"score_df.loc['tree'] = [tr_precision, tr_recall, tr_f1]\n",
"score_df.loc['RandomForest'] = [rf_precision, rf_recall, rf_f1]\n",
"print(score_df)\n",
"ax = score_df.plot.bar(title='type markov')\n",
"fig = ax.get_figure()\n",
"#fig.savefig('../figure/type.svg')"
]
},
{
"cell_type": "code",
"execution_count": 116,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LogisticRegression: \n",
"[ 0.89386563 0.99702823 0.93087558 0.60880196 0.90322581 0.80033557\n",
" 0.89409369 0.66467066 0.98565841 0.93424926]\n",
"[ 0.87179487 0.80071599 0.81616162 0.46111111 0.86498856 0.95879397\n",
" 0.8950051 0.88977956 0.88111888 0.91187739]\n",
"[ 0.88269231 0.88815354 0.86975242 0.52476291 0.88369375 0.87242798\n",
" 0.89454916 0.76092545 0.93046154 0.92292778]\n",
"0.86128047872\n",
"0.835134704944\n",
"0.843034683143\n",
"SVM: \n",
"[ 0.9325026 0.98874598 0.95852535 0.54513889 0.86461889 0.80252101\n",
" 0.85928144 0.64389535 0.9862069 0.97469747]\n",
"[ 0.85280152 0.73389021 0.84040404 0.58148148 0.86956522 0.95979899\n",
" 0.87767584 0.88777555 0.83333333 0.848659 ]\n",
"[ 0.89087302 0.84246575 0.89558665 0.56272401 0.867085 0.87414188\n",
" 0.86838124 0.74641955 0.90334807 0.90732207]\n",
"0.855613385703\n",
"0.828538519776\n",
"0.835834723703\n",
"GaussianNB: \n",
"[ 0.77950043 0.98123324 0.65576324 0.3697479 0.85714286 0.64207451\n",
" 0.85661765 0.65736041 0.82718651 0.97447281]\n",
"[ 0.85944919 0.87350835 0.85050505 0.08148148 0.77574371 0.88341709\n",
" 0.71253823 0.77855711 0.91491841 0.84099617]\n",
"[ 0.81752484 0.92424242 0.74054529 0.13353566 0.81441441 0.74365482\n",
" 0.77796327 0.71284404 0.86884339 0.90282776]\n",
"0.760109955101\n",
"0.757111479454\n",
"0.743639591678\n",
"DecisionTree: \n",
"[ 0.81478405 0.98659517 0.89430894 0.67817896 0.94694348 0.9665127\n",
" 0.89026915 0.86559679 0.98379052 0.93357598]\n",
"[ 0.93162393 0.87828162 0.88888889 0.8 0.93935927 0.84120603\n",
" 0.87665647 0.86472946 0.91958042 0.98275862]\n",
"[ 0.86929553 0.92929293 0.89159068 0.73406967 0.94313613 0.89951639\n",
" 0.88341037 0.86516291 0.95060241 0.95753616]\n",
"0.896055576312\n",
"0.892308471348\n",
"0.89236131756\n",
"RandomForest: \n",
"[ 0.86442142 0.98397864 0.9475891 0.77816291 0.96219931 0.96921444\n",
" 0.9170082 0.8978389 0.96924969 0.94602013]\n",
"[ 0.95061728 0.87947494 0.91313131 0.83148148 0.9610984 0.91758794\n",
" 0.91233435 0.91583166 0.91841492 0.99042146]\n",
"[ 0.90547264 0.92879647 0.93004115 0.80393912 0.96164854 0.94269489\n",
" 0.9146653 0.90674603 0.94314782 0.96771175]\n",
"0.923568273176\n",
"0.919039374715\n",
"0.920486370932\n"
]
}
],
"source": [
"#type+length markov\n",
"\n",
"\n",
"def classify(classifer, name):\n",
" f1_score_list = list()\n",
" recall_score_list = list()\n",
" precision_score_list = list()\n",
" classifer.fit(x_train, y_train)\n",
" y_pred = classifer.predict(x_test)\n",
" precision_score_list.append(precision_score(y_test, y_pred, average=None))\n",
" recall_score_list.append(recall_score(y_test, y_pred, average=None))\n",
" f1_score_list.append(f1_score(y_test, y_pred, average=None))\n",
" scores = [np.mean(precision_score_list, axis=0), np.mean(recall_score_list, axis=0), np.mean(f1_score_list, axis=0)]\n",
" print(name + \": \")\n",
" for score in scores:\n",
" print(score)\n",
" print(np.mean(np.mean(precision_score_list, axis=0)))\n",
" print(np.mean(np.mean(recall_score_list, axis=0)))\n",
" print(np.mean(np.mean(f1_score_list, axis=0)))\n",
" \n",
" \n",
"x_train = train_df.iloc[:,0:15].values.copy()\n",
"y_train = train_df['label'].values.copy()\n",
"x_test = test_df.iloc[:,0:15].values.copy()\n",
"y_test = test_df['label'].values.copy()\n",
"\n",
"\n",
"classifer = LogisticRegression()\n",
"classify(classifer, \"LogisticRegression\")\n",
"\n",
"classifer = SVC()\n",
"classify(classifer, \"SVM\")\n",
"\n",
"classifer = GaussianNB()\n",
"classify(classifer, \"GaussianNB\")\n",
"\n",
"classifer = tree.DecisionTreeClassifier()\n",
"classify(classifer, \"DecisionTree\")\n",
"\n",
"classifer = RandomForestClassifier()\n",
"classify(classifer, \"RandomForest\")\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 117,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1\n",
"LogisticRegression 0.843937 0.843937 0.843937\n",
"SVM 0.837022 0.837022 0.837022\n",
"GaussianNB 0.778469 0.778469 0.778469\n",
"tree 0.896150 0.896150 0.896150\n",
"RandomForest 0.922084 0.922084 0.922084\n"
]
}
],
"source": [
"#type+burst markov\n",
"x_train = np.append(train_df.iloc[:,0:5].values.copy(), train_df.iloc[:,10:15].values.copy(), axis = 1)\n",
"y_train = train_df['label'].values.copy()\n",
"x_test = np.append(test_df.iloc[:,0:5].values.copy(), test_df.iloc[:,10:15].values.copy(), axis = 1)\n",
"y_test = test_df['label'].values.copy()\n",
"\n",
"\n",
"lr_classifer = LogisticRegression()\n",
"lr_classifer.fit(x_train, y_train)\n",
"y_pred = lr_classifer.predict(x_test)\n",
"lr_precision = precision_score(y_test, y_pred, average='micro')\n",
"lr_recall = recall_score(y_test, y_pred, average='micro')\n",
"lr_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"svm_classifer = SVC()\n",
"svm_classifer.fit(x_train, y_train)\n",
"y_pred = svm_classifer.predict(x_test)\n",
"svm_precision = precision_score(y_test, y_pred, average='micro')\n",
"svm_recall = recall_score(y_test, y_pred, average='micro')\n",
"svm_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"gn_classifer = GaussianNB()\n",
"gn_classifer.fit(x_train, y_train)\n",
"y_pred = gn_classifer.predict(x_test)\n",
"gn_precision = precision_score(y_test, y_pred, average='micro')\n",
"gn_recall = recall_score(y_test, y_pred, average='micro')\n",
"gn_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"tr_classifer = tree.DecisionTreeClassifier()\n",
"tr_classifer.fit(x_train, y_train)\n",
"y_pred = tr_classifer.predict(x_test)\n",
"tr_precision = precision_score(y_test, y_pred, average='micro')\n",
"tr_recall = recall_score(y_test, y_pred, average='micro')\n",
"tr_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"rf_classifer = RandomForestClassifier()\n",
"rf_classifer.fit(x_train, y_train)\n",
"y_pred = rf_classifer.predict(x_test)\n",
"rf_precision = precision_score(y_test, y_pred, average='micro')\n",
"rf_recall = recall_score(y_test, y_pred, average='micro')\n",
"rf_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"score_df = pd.DataFrame(np.zeros((5,3)),index = ['LogisticRegression', 'SVM', 'GaussianNB', 'tree', 'RandomForest'], \\\n",
" columns = ['precision', 'recall', 'f1'])\n",
"score_df.loc['LogisticRegression'] = [lr_precision, lr_recall, lr_f1]\n",
"score_df.loc['SVM'] = [svm_precision, svm_recall, svm_f1]\n",
"score_df.loc['GaussianNB'] = [gn_precision, gn_recall, gn_f1]\n",
"score_df.loc['tree'] = [tr_precision, tr_recall, tr_f1]\n",
"score_df.loc['RandomForest'] = [rf_precision, rf_recall, rf_f1]\n",
"print(score_df)\n",
"#ax = score_df.plot.bar(title='type+length markov')\n",
"#fig = ax.get_figure()\n",
"#fig.savefig('../figure/type_length.svg')\n",
"#print(score_df.loc['RandomForest']) "
]
},
{
"cell_type": "code",
"execution_count": 118,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.65499969 0.76136568 0.55295999 0.60128684 0.61584048 0.52059905\n",
" 0.7443919 0.78323909 0.6133771 0.62920631]\n",
"[ 0.65499969 0.76136568 0.55295999 0.60128684 0.61584048 0.10701564\n",
" 0. 0.20441502 0.09619128 0. ]\n"
]
}
],
"source": [
"\n",
"x_train = train_df.iloc[:,0:10].values.copy()\n",
"y_train = train_df['label'].values.copy()\n",
"x_test = test_df.iloc[:,0:15].values.copy()\n",
"y_test = test_df['label'].values.copy()\n",
"\n",
"x1_train = np.append(train_df.iloc[:,0:5].values.copy(), train_df.iloc[:,10:15].values.copy(), axis = 1)\n",
"y1_train = train_df['label'].values.copy()\n",
"\n",
"print(x_train[10])\n",
"print(x1_train[10])"
]
},
{
"cell_type": "code",
"execution_count": 119,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1\n",
"LogisticRegression 0.545528 0.545528 0.545528\n",
"SVM 0.528124 0.528124 0.528124\n",
"GaussianNB 0.459889 0.459889 0.459889\n",
"tree 0.762448 0.762448 0.762448\n",
"RandomForest 0.760143 0.760143 0.760143\n"
]
},
{
"data": {
"image/png": "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\nCAsAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1a1efcf710>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#type+length markov\n",
"x_train = train_df.iloc[:,0:10].values.copy()\n",
"y_train = train_df['label'].values.copy()\n",
"x_test = test_df.iloc[:,0:10].values.copy()\n",
"y_test = test_df['label'].values.copy()\n",
"\n",
"\n",
"# x_test = np.append(test_df.iloc[:,0:5].values.copy(), test_df.iloc[:,5:10].values.copy(), axis = 1)\n",
"# y_test = test_df['label'].values.copy()\n",
"\n",
"def my_pred(y_pred, y_test, proba):\n",
" y_pred1 = list()\n",
" y_test1 = list()\n",
" [rows, clos] = proba.shape\n",
" print([rows, clos])\n",
" for i in range(rows):\n",
" temp = max(proba[i])\n",
" if temp < 0.5:\n",
" continue\n",
" y_pred1.append(y_pred[i])\n",
" y_test1.append(y_test[i])\n",
" f1 = f1_score(y_test1, y_pred1, average=None)\n",
" recall = recall_score(y_test1, y_pred1, average=None)\n",
" precision = precision_score(y_test1, y_pred1, average=None)\n",
" print(precision)\n",
" print(recall)\n",
" print(f1)\n",
" print(np.mean(precision))\n",
" print(np.mean(recall))\n",
" print(np.mean(f1))\n",
" print(str(len(y_test)) + \": \" + str(len(y_test1)) + \": \" + str(len(y_test1) / len(y_test)))\n",
" \n",
"\n",
"lr_classifer = LogisticRegression()\n",
"lr_classifer.fit(x_train, y_train)\n",
"y_pred = lr_classifer.predict(x_test)\n",
"lr_precision = precision_score(y_test, y_pred, average='micro')\n",
"lr_recall = recall_score(y_test, y_pred, average='micro')\n",
"lr_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"svm_classifer = SVC()\n",
"svm_classifer.fit(x_train, y_train)\n",
"y_pred = svm_classifer.predict(x_test)\n",
"svm_precision = precision_score(y_test, y_pred, average='micro')\n",
"svm_recall = recall_score(y_test, y_pred, average='micro')\n",
"svm_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"gn_classifer = GaussianNB()\n",
"gn_classifer.fit(x_train, y_train)\n",
"y_pred = gn_classifer.predict(x_test)\n",
"gn_precision = precision_score(y_test, y_pred, average='micro')\n",
"gn_recall = recall_score(y_test, y_pred, average='micro')\n",
"gn_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"tr_classifer = tree.DecisionTreeClassifier()\n",
"tr_classifer.fit(x_train, y_train)\n",
"y_pred = tr_classifer.predict(x_test)\n",
"tr_precision = precision_score(y_test, y_pred, average='micro')\n",
"tr_recall = recall_score(y_test, y_pred, average='micro')\n",
"tr_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"\n",
"rf_classifer = RandomForestClassifier()\n",
"rf_classifer.fit(x_train, y_train)\n",
"y_pred = rf_classifer.predict(x_test)\n",
"proba = rf_classifer.predict_proba(x_test)\n",
"#my_pred(y_pred, y_test, proba)\n",
"\n",
"\n",
"rf_precision = precision_score(y_test, y_pred, average='micro')\n",
"rf_recall = recall_score(y_test, y_pred, average='micro')\n",
"rf_f1 = f1_score(y_test, y_pred, average='micro')\n",
"score_df = pd.DataFrame(np.zeros((5,3)),index = ['LogisticRegression', 'SVM', 'GaussianNB', 'tree', 'RandomForest'], \\\n",
" columns = ['precision', 'recall', 'f1'])\n",
"score_df.loc['LogisticRegression'] = [lr_precision, lr_recall, lr_f1]\n",
"score_df.loc['SVM'] = [svm_precision, svm_recall, svm_f1]\n",
"score_df.loc['GaussianNB'] = [gn_precision, gn_recall, gn_f1]\n",
"score_df.loc['tree'] = [tr_precision, tr_recall, tr_f1]\n",
"score_df.loc['RandomForest'] = [rf_precision, rf_recall, rf_f1]\n",
"ax = score_df.plot.bar(title='type+length+burst markov')\n",
"fig = ax.get_figure()\n",
"print(score_df)\n",
"fig.savefig('type_length_burst.svg')"
]
},
{
"cell_type": "code",
"execution_count": 120,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1\n",
"LogisticRegression 0.855924 0.855924 0.855924\n",
"SVM 0.842093 0.842093 0.842093\n",
"GaussianNB 0.783541 0.783541 0.783541\n",
"tree 0.895920 0.895920 0.895920\n",
"RandomForest 0.930959 0.930959 0.930959\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1a1ec13940>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#type+length+burst markov\n",
"x_train = train_df.iloc[:,0:15].values.copy()\n",
"y_train = train_df['label'].values.copy()\n",
"x_test = test_df.iloc[:,0:15].values.copy()\n",
"y_test = test_df['label'].values.copy()\n",
"\n",
"\n",
"# x_test = np.append(test_df.iloc[:,0:5].values.copy(), test_df.iloc[:,5:10].values.copy(), axis = 1)\n",
"# y_test = test_df['label'].values.copy()\n",
"\n",
"def my_pred(y_pred, y_test, proba):\n",
" y_pred1 = list()\n",
" y_test1 = list()\n",
" [rows, clos] = proba.shape\n",
" print([rows, clos])\n",
" for i in range(rows):\n",
" temp = max(proba[i])\n",
" if temp < 0.5:\n",
" continue\n",
" y_pred1.append(y_pred[i])\n",
" y_test1.append(y_test[i])\n",
" f1 = f1_score(y_test1, y_pred1, average=None)\n",
" recall = recall_score(y_test1, y_pred1, average=None)\n",
" precision = precision_score(y_test1, y_pred1, average=None)\n",
" print(precision)\n",
" print(recall)\n",
" print(f1)\n",
" print(np.mean(precision))\n",
" print(np.mean(recall))\n",
" print(np.mean(f1))\n",
" print(str(len(y_test)) + \": \" + str(len(y_test1)) + \": \" + str(len(y_test1) / len(y_test)))\n",
" \n",
"\n",
"lr_classifer = LogisticRegression()\n",
"lr_classifer.fit(x_train, y_train)\n",
"y_pred = lr_classifer.predict(x_test)\n",
"lr_precision = precision_score(y_test, y_pred, average='micro')\n",
"lr_recall = recall_score(y_test, y_pred, average='micro')\n",
"lr_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"svm_classifer = SVC()\n",
"svm_classifer.fit(x_train, y_train)\n",
"y_pred = svm_classifer.predict(x_test)\n",
"svm_precision = precision_score(y_test, y_pred, average='micro')\n",
"svm_recall = recall_score(y_test, y_pred, average='micro')\n",
"svm_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"gn_classifer = GaussianNB()\n",
"gn_classifer.fit(x_train, y_train)\n",
"y_pred = gn_classifer.predict(x_test)\n",
"gn_precision = precision_score(y_test, y_pred, average='micro')\n",
"gn_recall = recall_score(y_test, y_pred, average='micro')\n",
"gn_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"tr_classifer = tree.DecisionTreeClassifier()\n",
"tr_classifer.fit(x_train, y_train)\n",
"y_pred = tr_classifer.predict(x_test)\n",
"tr_precision = precision_score(y_test, y_pred, average='micro')\n",
"tr_recall = recall_score(y_test, y_pred, average='micro')\n",
"tr_f1 = f1_score(y_test, y_pred, average='micro')\n",
"\n",
"\n",
"rf_classifer = RandomForestClassifier()\n",
"rf_classifer.fit(x_train, y_train)\n",
"y_pred = rf_classifer.predict(x_test)\n",
"proba = rf_classifer.predict_proba(x_test)\n",
"#my_pred(y_pred, y_test, proba)\n",
"\n",
"\n",
"rf_precision = precision_score(y_test, y_pred, average='micro')\n",
"rf_recall = recall_score(y_test, y_pred, average='micro')\n",
"rf_f1 = f1_score(y_test, y_pred, average='micro')\n",
"score_df = pd.DataFrame(np.zeros((5,3)),index = ['LogisticRegression', 'SVM', 'GaussianNB', 'tree', 'RandomForest'], \\\n",
" columns = ['precision', 'recall', 'f1'])\n",
"score_df.loc['LogisticRegression'] = [lr_precision, lr_recall, lr_f1]\n",
"score_df.loc['SVM'] = [svm_precision, svm_recall, svm_f1]\n",
"score_df.loc['GaussianNB'] = [gn_precision, gn_recall, gn_f1]\n",
"score_df.loc['tree'] = [tr_precision, tr_recall, tr_f1]\n",
"score_df.loc['RandomForest'] = [rf_precision, rf_recall, rf_f1]\n",
"ax = score_df.plot.bar(title='type+length+burst markov')\n",
"fig = ax.get_figure()\n",
"print(score_df)\n",
"fig.savefig('type_length_burst.svg')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"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.6.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}