用线性算法去拟合非线性的y

多项式回归:叫回归但并不是去做拟合的算法
PolynomialFeatures是来做预处理的,来转换我们的数据,把数据进行升维!
注意注意!!这里是改变数据,把数据整理为类似线性,所以模型依旧是线性回归

Q:升维有什么用?
A:升维就是增加更多的影响Y结果的因素,这样考虑的更全面,最终是要增加准确率!
还有时候,就像PolynomialFeatures去做升维,是为了让线性模型去拟合非线性的数据!

Q:PolynomialFeatures是怎么升维的?
A:可以传入degree超参数,如果等于2,那么就会在原有维度基础之上增加二阶的数据变化!
更高阶的以此类推

Q:如果数据是非线性的变化,但是就想用线性的模型去拟合这个非线性的数据,怎么办?
A:1,非线性的数据去找非线性的算法生成的模型去拟合
2,可以把非线性的数据进行变化,变成类似线性的变化,然后使用线性的模型去拟合
PolynomialFeatures类其实就是这里说的第二种方式

代码

import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegressionm = 100
X = 6 * np.random.rand(m, 1) - 3
y = 0.5 * X ** 2 + X + 2 + np.random.randn(m, 1)plt.plot(X, y, 'b.')d = {1: 'g-', 2: 'r+', 10: 'y*'}
for i in d:poly_features = PolynomialFeatures(degree=i, include_bias=False)X_poly = poly_features.fit_transform(X)print(X[0])print(X_poly[0])print(X_poly[:, 0])lin_reg = LinearRegression(fit_intercept=True)lin_reg.fit(X_poly, y)print(lin_reg.intercept_, lin_reg.coef_)y_predict = lin_reg.predict(X_poly)plt.plot(X_poly[:, 0], y_predict, d[i])plt.show()

多项式回归-Polynomial regression相关推荐

  1. java求多项式回归_通过LINEST进行多项式回归(Polynomial Regression via LINEST)

    通过LINEST进行多项式回归(Polynomial Regression via LINEST) 我正在尝试通过Excel 2013中的LINEST进行二次回归,如本主题中所描述的那样精彩的答案. ...

  2. R语言 | 多项式回归, 正交多项式回归(Polynomial Regression), 滑动多项式回归(sliding polynomial regression)

    1. 多项式回归 P404/643 alloy<-data.frame(x=c(37.0, 37.5, 38.0, 38.5, 39.0, 39.5, 40.0,40.5, 41.0, 41.5 ...

  3. 多项式回归 Polynomial Regression

    前面介绍了线性拟合数据的情况.那么,当数据并不符合线性规律而是更复杂的时候应该怎么办呢? 一种简单的解决方法就是将每一维特征的幂次添加为新的特征,再对所有的特征进行线性回归分析.这种方法就是 多项式回 ...

  4. R构建多项式回归模型(Polynomial Regression)

    R构建多项式回归模型(Polynomial Regression) 目录 R构建多项式回归模型(Polynomial Regression) 使用ggplot可视化数据

  5. NNs(Neural Networks,神经网络)和Polynomial Regression(多项式回归)等价性之思考,以及深度模型可解释性原理研究与案例...

    1. Main Point 0x1:行文框架 第二章:我们会分别介绍NNs神经网络和PR多项式回归各自的定义和应用场景. 第三章:讨论NNs和PR在数学公式上的等价性,NNs和PR是两个等价的理论方法 ...

  6. 多项式回归1(Polynomial regression)

    在线性回归中,我们是寻找一条直线来尽可能的拟合数据.但是我们在大部分情况下并不满足简单的线性回归的.如下图所示的这种特殊的线性回归的情况,这种特殊的回归方法被称为多项式回归(Polynomial re ...

  7. 论文翻译—PolyLaneNet Lane Estimation via Deep Polynomial Regression

    PolyLaneNet Lane Estimation via Deep Polynomial Regression 通过深度多项式回归的车道估计 Abstract   自主驾驶取得巨大进步的主要因素 ...

  8. machine learning (6)---how to choose features, polynomial regression

    how to choose features, polynomial regression:通过定义更适合我们的feature,选择更好的模型,使我们的曲线与数据更好的拟合(而不仅仅是一条直线) 可以 ...

  9. 非线性回归-Polynomial regression

    非线性回归-Polynomial regression 之前讲过线性回归.本文主要讲下非线性回归中的polynominal regression. 非线性回归包含的算法非常多,比如常见的逻辑回归,SV ...

最新文章

  1. c语言实验设计报告,C语言实验设计报告.doc
  2. java如何解决高并发症,一整套Java线上故障排查技巧,爱了!
  3. Spring @Qualifier 注释
  4. Eclipse出现the type java.lang.CharSequence can't be resolved.
  5. 取消android所有动画,android studio 取消BottomNavigationView的动画等
  6. Magento教程 22:如何确认订单报表?
  7. pascal行人voc_在Pascal VOC 数据集上训练YOLOv3模型
  8. LeetCode刷题(1)
  9. python文件复制_python文件的复制
  10. 车用总线技术 | 从另一种视角了解CAN FD
  11. mysql workbench 安全模式_MySQL Workbench的安全模式解决
  12. IT人也有情感------------孔雀东南飞
  13. 正睿OIday3总结
  14. Mongodb Mysql 小测试 (To Be Continued)
  15. UG NX 12 创建有界平面
  16. 嵌入式面试题 | 为年后求职找工作做准备
  17. U-Boot参数设置 .
  18. 学生成绩管理系统(C语言链表)
  19. PDMS项目管理-创建项目-Admin模块
  20. 淘宝双十二活动复盘——Mysql数据分析+Tableau可视化

热门文章

  1. JavaScript知识点总结(十一)- 内置对象
  2. #pragma warning
  3. 透明多级分流系统(架构扫盲贴)
  4. 【Web技术】785- 网页骨架屏自动生成方案分享
  5. 3dmax高模转低模导入cesiumlab切片
  6. FileZilla Server 下载文件时提示 550 Could not open file for reading 的解决方法(图解)
  7. bzoj2386 [CEOI2011] Team
  8. Spring +SpringMVC+SpringDataJpa之采购订单页面展示
  9. 安卓OpenGL ES——透视投影
  10. [学习报告]《LeetCode零基础指南》(第三讲)一维数组