sklearn 简单线性回归
简单线性回归
线性回归的思想其实就是解一组方程,得到回归函数,不过在出现误差之后,方程的解法就存在改变,一般使用最小二乘法计算。
使用sklearn.liner_model.LinearRegression进行线性回归
sklearn对Data Mining的各类算法已经有了较好的封装,基本可以使用fit
、predict
、score来训练、预测、评价模型。一个简单的例子如下:
>>> from sklearn import linear_model >>> clf = linear_model.LinearRegression() >>> X = [[0. 0], [1, 1], [2, 2]] >>> y = [0, 1, 2] >>> clf.fit(X, y) >>> print(clf.coef_) [0.5 0.5] >>> print(clf.intercept_) 1.11022302463e-16
LinearRegression已经实现了多元线性回归模型,当然,也可以用来计算一元线性模型.
使用方法
实例化
使用clf = LinearRegression()就可以完成,下面是可能会用到的参数:
- fit_intercept:是否存在截距,默认存在
- normalize:标准化开关,默认关闭
回归
fit进行回归计算:
- fit(X, y, sample_weight = None):X, y以矩阵的方式传入,而sample_weight则是每条测试数据的权重,同样以array格式传入。
- predict(X):预测方法,将返回预测值y_pred
- score(X, y, sample_weight = None):评价函数,将返回一个小于1的得分,可能会小于0
方程
LinearRegression将方程分为两个部分存放,coef_存放回归系数,intercept_则存放截距,因此要查看方程,就是查看这两个变量的取值。
多项式回归
其实,多项式就是多元回归的一个变种,只不过是原来需要传入的是X向量,而多项式则只要一个X值就行。通过将x扩展为指定阶数的向量,就可以使用LinearRegression进行回归了。sklearn已经提供了扩展的方法——sklearn.preprocessing.PolynomialFeatures。利用这个类可以轻松的将x扩展为X向量,如下:
>>> from sklearn.preprocessing import PolynomialFeatures >>> X_train = [[1],[2],[3],[4]] >>> quadratic_featurizer = PolynomialFeatures(degree=2) >>> X_train_quadratic = quadratic_featurizer.fit_transform(X_train) >>> print(X_train_quadratic) [[ 1 1 1] [ 1 2 4] [ 1 3 9] [ 1 4 16]]
经过以上处理,就可以使用LinearRegression进行回归计算了。
来自:Magle
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)