多语言展示
当前在线:571今日阅读:19今日分享:20

怎么用sklearn学习简单的线性回归?

sklearn是一个机器学习用的python模块。本文来学习一下这个模块在线性拟合方面的应用。
工具/原料
1

电脑

2

python3+(anaconda集成环境)

3

scikit-learn模块

4

jupyter notebook

方法/步骤
1

请安装anaconda的python3+,这里面已经自带了需要用到的模块,比如sklearn、scipy等模块。

2

这里要处理的问题是——给定一组数据X和yX = [[0,0],[1,1],[2,2]]y = [0,1,2]需要拟合一个二元函数f,使得:f(X[i])=y[i],其中,i=0,1,2

3

这里介绍一下用线性表达式来表示这个f,需要加载下面的模块:from sklearn import linear_model

4

创建一个有待定系数的线性函数:f = linear_model.LinearRegression()

5

准备数据:X = [[0,0],[1,1],[2,2]]y = [0,1,2]

6

拟合f,得到f的待定系数:f.fit(X,y)print(f.coef_)

7

知道了系数,就可以构造这个函数:import numpy as npa = f.coef_def f(n):    b = np.dot(np.array(n),a)    return b用这个函数来预测:print(f([6,6]))

8

f得到的预测结果是64位的浮点数:print(f([5,5]).dtype)

9

所以,这里需要在函数f的return的数据转一下数据类型:def f(n):    b = np.dot(np.array(n),a)    return round(b).astype(np.int8)四舍五入取整,再转化为int8类型的数据。

注意事项
1

线性拟合,或者叫做线性回归,是最简单的模型。

2

本文的例子,是最简单的机器学习模型。

推荐信息