Python数据分析与挖掘实战 第9章

因学习中发现《Python数据分析与挖掘实战》中的代码,有些不能实现,自己学习的时候走了很多弯路,特此分享可直接实现的代码,希望能让有需要的朋友少走弯路。

#数据抽样
import pandas as pd
from random import shuffle
inputfile='../9.2/moment.csv'
data=pd.read_csv(inputfile,encoding='gbk')
data=data.as_matrix()

shuffle(data)
train=data[:int(len(data)*0.8),:]
test=data[int(len(data)*0.8):,:]

#构建支持向量机模型
x_train=train[:,2:]*30  #特征放大
y_train=train[:,0].astype(int)  #数据类型转化
x_test=test[:,2:]*30
y_test=test[:,0].astype(int)

import pickle
from sklearn import svm
model=svm.SVC()
model.fit(x_train,y_train)  #z训练模型
pickle.dump(model,open('../9.2/svm.model','wb'))    #保存模型,可通过:model=pickle.load(open('../9.2/svm.model','rb')) 加载模型

from sklearn import metrics #导入相关库,生产混淆矩阵
cm_train=metrics.confusion_matrix(y_train,model.predict(x_train))   #训练样本的混淆矩阵
cm_test=metrics.confusion_matrix(y_test,model.predict(x_test))      #测试样本的混淆矩阵

pd.DataFrame(cm_train,index=range(1,4),columns=range(1,4)).to_excel('../9.2/cm_train.xls')  #转化为DataFrame对象,并保存
pd.DataFrame(cm_test,index=range(1,5),columns=range(1,5)).to_excel('../9.2/cm_test.xls')

猜你喜欢

转载自blog.csdn.net/lonely2018/article/details/80170656