scikit-kearn-1
2019-02-05 本文已影响11人
何同尘
sklearn是python里非常出名的机器学习模块。
在sklearn里的数据
基本数据放到二维表格里。
分为:特征变量 和 反应变量
特征变量就是用于预测或估计的特征。
反应变量就是估计的结果或目标。
使用sklearn的基本流程
- 选择适合的模型,并且从sklearn中导入对应的模块。
- 选择模型合适的假设,并且设置合适的值。
- 准备特征矩阵和目标向量。
- 拟合模型
fit()
- 使用该模型预测新数据。
对于监督学习,经常是从不知道类型的数据使用predict()
预测标签。
对于非监督学习,经常使用transform()
orpredict()
方法预测或转化内部数据。
监督学习实例:简单线性回归
#查看数据
import matplotlib.pyplot as plt
import numpy as np
rng = np.random.RandomState(42)
x = 10 * rng.rand(50)
y = 2 * x - 1 + rng.randn(50)
plt.scatter(x, y);
#选择模型,导入
from sklearn.linear_model import LinearRegression
#选择模型假设
#是否要截距
#是否需要将数据归一化
#是否想要预处理特征来增加模型灵活性
#模型正则化程度
model = LinearRegression(fit_intercept=True)
#处理数据,特征矩阵,目标向量
X = x[:, np.newaxis]
X.shape
#模型拟合
model.fit(X, y)
#预测新数据
xfit = np.linspace(-1, 11)
Xfit = xfit[:, np.newaxis]
yfit = model.predict(Xfit)
# 结果可视化
plt.scatter(x, y)
plt.plot(xfit, yfit);