随着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_split
X = 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 datasets
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
iris = datasets.load_iris()
X = iris.data
y = 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 pickle
with 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]
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。