scikit-learn 是在2007年发布的一个常用的第三方开源机器学习库。它对常用的机器学习算法进行了封装,包括分类、回归、聚类、数据降维等。
1.使用 scikit-learn 加载并检查数据
# 载入手写数字识别数据集
# 导入sklearn中的datasets
from sklearn import datasets
# 下载手写数字识别数据集
data = datasets.load_digits()
# 检查载入数据集情况
data.keys()
2、加载数据集
# 获取特征和标签
x = data.data
y = data.target
# 查看特征和标签的维度
x.shape, y.shape
3、划分数据集(训练集:测试集=7:3)
# 划分数据集为训练集和测试集,比例为7:3
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size= 0.3,random_state=10)
# 查看数据集的特征和标签的维度
x_train.shape,y_train.shape, x_test.shape, y_test.shape
4、使用SVM算法进行建模
# 建模
from sklearn import svm
# f(x) = wx+b
clf = svm.SVC()
clf.fit(x_train, y_train)
5、模型评估
# 模型评估
clf.score(x_test, y_test)
6、模型应用
import pickle
# 保存模型
model = open('model.pkl', 'wb')
pickle.dump(clf, model)
model.close()
# 加载模型
model_file = open('model.pkl', 'rb')
clf2 = pickle.load(model_file)
# 模型测试
y_pre = clf2.predict(x_test[-1:])
print(y_pre,y_test[-1:])