理解 scikit-Learn 线性回归

由于公司项目涉及到智能调度,智能报价的业务,经常听到几个时髦的词语、AI 、大数据、机器学习,知其然而不知其所以然,今天找了下资料,记录下理解的过程,培养下AI思维

学习资料
scikit-Learn:是一个专门面向机器学习的Python开源框架,方便安装,文档丰富,内部实现各种成熟的算法,可以帮初学者理解入门机器学习
地址:https://scikit-learn.org
中文资料:https://sklearn.apachecn.org
最小二乘法
https://www.zhihu.com/question/37031188/answer/411760828
一元二次方程:https://baike.baidu.com/item/%E4%B8%80%E5%85%83%E4%BA%8C%E6%AC%A1%E6%96%B9%E7%A8%8B/7231190?fr=aladdin
矩阵乘法
https://baike.baidu.com/item/%E7%9F%A9%E9%98%B5%E4%B9%98%E6%B3%95/5446029?fr=aladdin
内积

第一个例子
本次学习第一个例子,线性模型(LinearRegression ) ,通过该模型理解是如何通过数据进行预测的。
例子地址:https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html#sklearn.linear_model.LinearRegression

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
>>> X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
>>> # y = 1 * x_0 + 2 * x_1 + 3
>>> y = np.dot(X, np.array([1, 2])) + 3
>>> reg = LinearRegression().fit(X, y)
>>> reg.score(X, y)
1.0
>>> reg.coef_
array([1., 2.])
>>> reg.intercept_
3.0000...
>>> reg.predict(np.array([[3, 5]]))
array([16.])

这句话

 X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])

是得的一个二维数组
在这里插入图片描述
这句话

y = np.dot(X, np.array([1, 2])) + 3

X 和 np.array([1, 2]) 数据相乘 ,每一行的内积
在这里插入图片描述

reg = LinearRegression().fit(X, y)

调用 fit 方法来拟合数组 X, y,并且将线性模型的系数存储 reg.coef_,本例系数是array([1., 2.]) ,1 和2 。

本例给出的模型是: y = a * x_0 + b * x_1 + 3,a和b为了说明已经给出是,1 和2 。实际情况X 和Y 调用 fit 去求 a b 的值,这就是回归,如何去求出a和 b的,通过最小二乘法。
求出 a b 之后,通过另外一组特征数据代入方程就能得出y值,这就是预测。
如:reg.predict(np.array([[3, 5]])) = 16

发布了12 篇原创文章 · 获赞 0 · 访问量 358

猜你喜欢

转载自blog.csdn.net/weixin_46279293/article/details/104430607