sklearn入门

sklearn使用流程:
准备数据集→选择类型→训练模型→测试模型

from sklearn import datasets

iris=datasets.load_iris()
digits=datasets.load_digits()

#查看数据集
#iris
print(iris.data)
print(iris.data.shape)
print(iris.target_names)  #标签名
print(iris.target)

#digits
print(digits.data)
print(digits.data.shape)
print(digits.target_names)
print(digits.target)

#手动划分训练集、测试集
n_test=100  #测试样本个数
train_X=digits.data[:-n_test,:]
train_y=digits.target[:-n_test]

test_X=digits.data[-n_test:,:]
true_y=digits.target[-n_test:]

#选择SVM模型
from sklearn import svm

svm_model=svm.SVC(gamma=0.01,C=100)  

#训练模型
svm_model.fit(train_X,train_y)

#选择LG模型
from sklearn.linear_model import LogisticRegression

lr_model=LogisticRegression()

#训练模型
lr_model.fit(train_X,train_y)

#在测试集上测试模型
y_pred_svm=svm_model.predict(test_X)
y_pred_lr=lr_model.predict(test_X)

#查看模型预测结果
from sklearn.metrics import accuracy_score

print('svm预测结果:',accuracy_score(true_y,y_pred_svm))
print('lr预测结果:',accuracy_score(true_y,y_pred_lr))

#保存模型
import pickle

with open(r'C:\Users\frizy\Desktop\svm_model','wb') as f:
    pickle.dump(svm_model,f)

#重新加载模型进行预测
import numpy as np

with open(r'C:\Users\frizy\Desktop\svm_model','rb') as f:
    model=pickle.load(f)
    
random_samples_index=np.random.randint(0,1796,5)
random_samples=digits.data[random_samples_index,:]
random_targets=digits.target[random_samples_index]

random_pred=model.predict(random_samples)
print(random_pred)
print(random_targets)


猜你喜欢

转载自blog.csdn.net/weixin_43222937/article/details/84179531