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/markov_tofig.ipynb

328 lines
54 KiB
Plaintext
Raw Normal View History

2019-12-23 01:20:51 +08:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"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",
"root_dir = '/Users/Leo/Documents/github/GradProj/'\n",
"train_path = root_dir + 'Experiment/MarkovModel/CsvFile/' + date + '/train.csv'\n",
"test_path = root_dir + 'Experiment/MarkovModel/CsvFile/' + date + '/test.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": 4,
"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": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1\n",
"LogisticRegression 0.712848 0.712848 0.712848\n",
"SVM 0.733191 0.733191 0.733191\n",
"GaussianNB 0.685011 0.685011 0.685011\n",
"tree 0.805996 0.805996 0.805996\n",
"RandomForest 0.800000 0.800000 0.800000\n"
]
},
{
"data": {
"image/png": "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\nmeUnS7hPAfpI6i2pIzA
"text/plain": [
"<matplotlib.figure.Figure at 0x1a106506d8>"
]
},
"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": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1\n",
"LogisticRegression 0.974732 0.974732 0.974732\n",
"SVM 0.959529 0.959529 0.959529\n",
"GaussianNB 0.934904 0.934904 0.934904\n",
"tree 0.994433 0.994433 0.994433\n",
"RandomForest 0.995717 0.995717 0.995717\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAFcCAYAAAAzq/4LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmcVmX9//HXm10FNQVLQRb3XVRwySLKyuVXoNZXxQ33\nUszMLcwyc/mqWS7f0swNN1Axl8BITROXUgMUUUATEXTUFMwVULbP749zRu4ZZpgbvGfOPee8n4/H\nPLjPOdec+dz3MO/73Nc557oUEZiZWb60yboAMzOrPIe7mVkOOdzNzHLI4W5mlkMOdzOzHHK4m5nl\nkMPdWh1JIWmTDH7uQEk1Lf1zGyPpHEm3Zl2HVSeHu62QpFmSvpl1HVnI6k3ErBIc7laVJN0o6Yis\n66hWktplXYNVN4e7NUrSLUBPYKykjyWdIekvkn5Ur90USfumj0PSSZJmSpor6RJJbUraHiVpuqT3\nJD0gqdfnrLGjpN9Iek3S25KulrRaum2gpBpJp0p6R9Jbko4s+d51JY2V9KGkCZLOl/REuu2xtNlz\n6XM/sOT7GtxfA7WNT/f5z3QfY9OfObLkZ/YuaX+FpNfTbZMkfbVk2zmS/iTpVkkfAkfU+1ntJd0m\n6S5JHdLX5XJJb6Zfl0vqmLadLuk7Jd/bLv1d7bhKvwSrSg53a1REHAa8Bnw3IjpHxK+Bm4BDa9tI\n2h7oDowr+db9gH7AjsBg4Ki07b7Az4D9gW7A48Btn7PMi4HNgL7AJmktZ5ds/xKwVrr+aOBKSV9I\nt10JzEvbDE2/ap/7gPTh9ulzv6OM/TXkIOCwtP3GwJPACGAdYDrwy5K2E9LnsQ4wCrhTUqeS7YOB\nPwFrAyNrV6ZvZvcCnwIHRMRC4Cxg13R/2wM7Az9Pv+U2YEjJfvcE5kbEMyt4HtbaRIS//NXoFzAL\n+GbJckfgv8Cm6fJvgKtKtgewV8nyCcDD6eO/AkeXbGsDzAd6NfBzbwSOaKSmIAlykYTzxiXbdgNe\nTR8PBBYA7Uq2v0MSem2BRcDmJdvOB56o/3NKlhvdXyN1jgfOKln+LfDXkuXvApNX8Nq/R/LmAnAO\n8Fi97ecAY4BHgf8DVLLtFWCfkuU9gVnp402Aj4DV0+WRwNlZ/1/zV2W/fORuKyUiPgVGA4em3S1D\ngFvqNXu95PFsYIP0cS/gCknvS3qf5E1CJEe1td07tdsOBq6qXZZ0VQPldANWByaVfN/96fpa70bE\n4pLl+UDntE27erWWPm5MY/trzNsljxc0sPzZ96bdPdMlfZA+l7WArk3UtyuwHXBRpEmd2oDkta/1\n2e8hImaQfGr4rqTVgUEknxQsR3xSxprS0LChN5EE+hPA/Ih4st72DYGp6eOewJvp49eBCyJiJA2I\niO1qH0u6ERgfETeuoLa5JAG5dUS8seKnsZw5wGKgB/Dvkrozkfav/xTYA5gaEUslvUfy5lerod/F\ng8AU4GFJAyOi9s3jTZI304Z+D7Csa6YNMC0NfMsRH7lbU94GNipdkYb5UpJuhvpH7QCnS/qCpA2B\nHwO1/dVXA2dK2hpA0lqS/mdVC4uIpcC1wGWS1kv32V3SnmV87xLgbuAcSatL2gI4vF6z5Z57M+pC\n8mYzB2gn6WxgzXK+MZJzIaNIAr72SP824OeSuqXrzgZKr4m/Hfg2cDw+as8lh7s15UKSkHhf0mkl\n628GtqVuYNT6MzAJmAz8BbgeICLuITkBent6xccLwN6fs76fAjOAp9J9PgRsXub3nkjS9fEfkjep\n20hOStY6B7gpfe4HfM46m/IAyTmJf5N0oXxCed1EAETEeSQnVR+StA7J+YOJJEf1zwPPpOtq279F\ncnL3yyx787UcUd1uOrPySDocOC4ivlJvfZCcbG11H/MlXQx8KSKGNtnYrMr5yN1WWnoS7gTgmqxr\n+TwkbSFpOyV2Jrm08Z6s6zKrBIe7rZS0P3sOSX90a++r7ULS7z6P5Aqg35J0KZm1eu6WMTPLIR+5\nm5nlkMPdzCyHMruJqWvXrtG7d++sfryZWas0adKkuRHRral2mYV77969mThxYlY/3sysVZI0u+lW\n7pYxM8slh7uZWQ453M3McsjhbmaWQ02Gu6Qb0inFXmhkuyT9n6QZ6XjcnqrLzCxj5Ry53wjstYLt\newObpl/HAX/4/GWZmdnn0WS4R8RjJDPmNGYwcHMkngLWlrR+pQo0M7OVV4k+9+7UHXe6Jl23HEnH\nSZooaeKcOXMq8KPNzKwhlbiJSQ2sa3A0soi4hnSY2H79+nnEMrNm1nv4X8puO6vTwWW33bZPz7Lb\nPj/0+bLbNqeivRaVOHKvoe7ckz2oO1ejmZm1sEqE+xjg8PSqmV2BD9IpvMzMLCNNdstIug0YCHSV\nVAP8EmgPEBFXA+OAfUjmsZwPHNlcxZqZWXmaDPeIGNLE9gCGVayilVC0PjQzs3L5DlUzsxxyuJuZ\n5ZDD3cwshzKbrMMqy+cfzKyUj9zNzHLI4W5mlkMOdzOzHHK4m5nlkE+oWu745LKZj9zNzHLJ4W5m\nlkMOdzOzHHK4m5nlkMPdzCyHHO5mZjnkcDczyyGHu5lZDjnczcxyyOFuZpZDDnczsxxyuJuZ5ZDD\n3cwshxzuZmY55HA3M8shh7uZWQ453M3McsjhbmaWQw53M7MccribmeWQw93MLIcc7mZmOeRwNzPL\nobLCXdJekl6SNEPS8Aa295T0iKRnJU2RtE/lSzUzs3I1Ge6S2gJXAnsDWwFDJG1Vr9nPgdERsQNw\nEHBVpQs1M7PylXPkvjMwIyJmRsRC4HZgcL02AayZPl4LeLNyJZqZ2cpqV0ab7sDrJcs1wC712pwD\nPCjpR8AawDcrUp2Zma2Sco7c1cC6qLc8BLgxInoA+wC3SFpu35KOkzRR0sQ5c+asfLVmZlaWcsK9\nBtiwZLkHy3e7HA2MBoiIJ4FOQNf6O4qIayKiX0T069at26pVbGZmTSon3CcAm0rqI6kDyQnTMfXa\nvAbsASBpS5Jw96G5mVlGmgz3iFgMnAg8AEwnuSpmqqRzJQ1Km50KHCvpOeA24IiIqN91Y2ZmLaSc\nE6pExDhgXL11Z5c8ngbsXtnSzMxsVfkOVTOzHHK4m5nlkMPdzCyHHO5mZjnkcDczyyGHu5lZDjnc\nzcxyyOFuZpZDDnczsxxyuJuZ5ZDD3cwshxzuZmY55HA3M8shh7uZWQ453M3McsjhbmaWQw53M7Mc\ncribmeWQw93MLIcc7mZmOeRwNzPLIYe7mVkOOdzNzHLI4W5mlkMOdzOzHHK4m5nlkMPdzCyHHO5m\nZjnkcDczyyGHu5lZDjnczcxyyOFuZpZDDnczsxwqK9wl7SXpJUkzJA1vpM0BkqZJmippVGXLNDOz\nldGuqQaS2gJXAt8CaoAJksZExLSSNpsCZwK7R8R7ktZrroLNzKxp5Ry57wzMiIiZEbEQuB0YXK/N\nscCVEfEeQES8U9kyzcxsZZQT7t2B10uWa9J1pTYDNpP0D0lPSdqroR1JOk7SREkT58yZs2oVm5lZ\nk8oJdzWwLuottwM2BQYCQ4DrJK293DdFXBMR/SKiX7du3Va2VjMzK1M54V4DbFiy3AN4s4E2f46I\nRRHxKvASSdibmVkGygn3CcCmkvpI6gAcBIyp1+Ze4OsAkrqSdNPMrGShZmZWvibDPSIWAycCDwDT\ngdERMVXSuZIGpc0eAN6VNA14BDg9It5trqLNzGzFmrwUEiAixgHj6q07u+RxAKekX2ZmljHfoWpm\nlkMOdzOzHHK4m5nlkMPdzCyHHO5mZjnkcDczyyGHu5lZDjnczcxyyOFuZpZDDnczsxxyuJuZ5ZDD\n3cwshxzuZmY55HA3M8shh7uZWQ453M3McsjhbmaWQw53M7MccribmeWQw93MLIcc7mZmOeRwNzPL\nIYe7mVkOOdzNzHLI4W5mlkMOdzOzHHK4m5nlkMPdzCyHHO5mZjnkcDczyyGHu5lZDjnczcxyqKxw\nl7SXpJckzZA0fAXtvi8
"text/plain": [
"<matplotlib.figure.Figure at 0x1a1ce90dd8>"
]
},
"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",
"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')"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1\n",
"LogisticRegression 0.983298 0.983298 0.983298\n",
"SVM 0.964668 0.964668 0.964668\n",
"GaussianNB 0.966595 0.966595 0.966595\n",
"tree 0.997002 0.997002 0.997002\n",
"RandomForest 0.998929 0.998929 0.998929\n"
]
},
{
"data": {
"image/png": "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\nS5argNfr2efPEbE0Il4
"text/plain": [
"<matplotlib.figure.Figure at 0x1a1de3cb00>"
]
},
"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",
"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",
"ax = score_df.plot.bar(title='type+length+burst markov')\n",
"fig = ax.get_figure()\n",
"print(score_df)\n",
"#fig.savefig('../figure/type_length_burst.svg')"
]
},
{
"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
}