随着AI时代的到来及物联网概念的日益受到人们的关注,机器学习正逐步应用于科技、生活生产各个领域。今天我们就为介绍机器学习中常用到的一个第三库Sklearn,它是属于python的第三方库,今天的讲解也是基于python-IDE来进行讲解的。
使用sklearn的准备工作:
- 安装python3.6.*
- 安装python开发的IDE环境
- 首先应该安装sklearn所需依赖的第三库,包括scipy、numpy、matplotlib、pandas,安装以上四个库以后最后安装sklearn
机器学习的六个主要步骤:
- 首先应该加载训练模型所用的数据集
- 采用合适的比例将数据集划分为训练集和测试
- 选取合适或者创建合适的训练模型
- 将训练集中的数据输入到模型中进行训练
- 通过第四步的训练大致确定模型所用的合理参数
- 将测试集中的数据输入到模型中,根据模型得到的结果和真实的结果进行比较再次调整参数
Sklearn基础知识概览:
1. 加载sklearn中的数据集datasets
from sklearn import datasets iris = datasets.load_iris() # 鸢尾花卉数据 digits = datasets.load_digits() # 手写数字8x8像素信息数据
2. 查看数据的信息
print(iris.data[:4]) # 查看数据的特征信息
print iris.data.shape) # 查看数据的特征信息维度print(iris.target_names)# 查看标签对应的文本
print (iris.target[:4] )# 查看数据的标签 setosa:0 ...3. 训练集和分割集的分割
from sklearn.model_selection import train_test_splitX = digits.data # 特征矩阵y = digits.target # 标签向量# 随机分割训练集和测试集:# test_size:设置测试集的比例。random_state:可理解为种子,保证随机唯一X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=1/3., random_state=8)
sklearn实战例子:
from sklearn import datasetsfrom sklearn.linear_model import LinearRegressionfrom sklearn.model_selection import train_test_splitiris = datasets.load_iris()X = iris.datay = iris.target# 新建一个模型(参数默认)iris_model = LinearRegression()# 分割训练集、测试集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=1/3., random_state=7)# 训练该模型iris_model.fit(X_train,y_train)# 返回模型参数列表print(iris_model.get_params())# 模型在训练集上的评分print(iris_model.score(X_train, y_train))# 模型在测试集上的评分print(iris_model.score(X_test, y_test))# 使用模型进行预测y_pred = iris_model.predict(X_test)print('预测标签:', y_pred[:3])print('真实标签:', y_test[:3])# 使用pickle保存模型import cPickle as picklewith open('LR_model.pkl', 'w') as f:pickle.dump(iris_model, f)# 重新加载模型进行预测with open('LR_model.pkl', 'r') as f:model = pickle.load(f)# 使用模型进行预测model.predict(X_test)[:3]
运行成功结果截图: