Python----多项式回归
多项式线性回归
1、多项式线性方程:
与多元线性回归相比,它只有一个自变量,但有不同次方数。
2、举例:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd dataset = pd.read_csv('data.csv')
#包含自变量的格式应该是矩阵,不然很可能有错误信息
X = dataset.iloc[:, 1:2].values
y = dataset.iloc[:, 2].values #创建线性回归模型
from sklearn.linear_model import LinearRegression
lin_reg = LinearRegression()#lin_reg线性回归
lin_reg.fit(X, y) #创建多项式回归
from sklearn.preprocessing import PolynomialFeatures #PolynomialFeatures将自变量转换成包含了自变量不同次数的矩阵
poly_reg = PolynomialFeatures(degree = 4)#degree :转化的包含了不同多项式的最高次数为多少,默认为2,则代表默认最高为2
X_poly = poly_reg.fit_transform(X)
lin_reg_2 = LinearRegression()#lin_reg_2多项式回归
lin_reg_2.fit(X_poly, y) #线性回归
plt.scatter(X, y, color = 'red')#实际结果点标红
plt.plot(X, lin_reg.predict(X), color = 'blue')#预测结果线为蓝色
plt.title('Truth or Bluff (Linear Regression)')
plt.xlabel('Position Level')
plt.ylabel('Salary')
plt.show()
#实际情况与预测结果相差很大 #多项式回归模型
#线条更加平滑
X_grid=np.arange(min(X),max(X),0.1)#start :从哪个值开始;stop :到哪个数为止;step :每个点数之间间距为多少
X_grid=X_grid.reshape(len(X_grid),1)#转化为矩阵
plt.scatter(X, y, color = 'red')
plt.plot(X_grid, lin_reg_2.predict(poly_reg.fit_transform(X_grid)), color = 'blue')
plt.title('Truth or Bluff (Polynomial Regression)')
plt.xlabel('Position Level')
plt.ylabel('Salary')
plt.show() #lin_reg已经拟合好的线性回归模型,predict预测,括号中为数据
lin_reg.predict(6.5) lin_reg_2.predict(poly_reg.fit_transform(6.5))
Python----多项式回归的更多相关文章
- 【机器学习】多项式回归python实现
[机器学习]多项式回归原理介绍 [机器学习]多项式回归python实现 [机器学习]多项式回归sklearn实现 使用python实现多项式回归,没有使用sklearn等机器学习框架,目的是帮助理解算 ...
- Python学习之多项式回归
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 线性回归的改进版本中的多项式回归.如果您知道线性回归,那么对您来说很简单.如果没有,我将在本文中解释 ...
- python 机器学习多项式回归
现实世界的曲线关系都是通过增加多项式实现的,现在解决多项式回归问题 住房价格样本 样本图像 import matplotlib.font_manager as fm import matplotlib ...
- python实现线性回归
参考:<机器学习实战>- Machine Learning in Action 一. 必备的包 一般而言,这几个包是比较常见的: • matplotlib,用于绘图 • numpy,数组处 ...
- 机器学习:scipy和sklearn中普通最小二乘法与多项式回归的使用对
相关内容连接: 机器学习:Python中如何使用最小二乘法(以下简称文一) 机器学习:形如抛物线的散点图在python和R中的非线性回归拟合方法(以下简称文二) 有些内容已经在上面两篇博文中提到了,所 ...
- python 实现神经网络算法
注: Scratch是一款由麻省理工学院(MIT) 设计开发的一款面向少年的简易编程工具.这里写链接内容 本文翻译自“IMPLEMENTING A NEURAL NETWORK FRO ...
- python data analysis | python数据预处理(基于scikit-learn模块)
原文:http://www.jianshu.com/p/94516a58314d Dataset transformations| 数据转换 Combining estimators|组合学习器 Fe ...
- <转>机器学习系列(9)_机器学习算法一览(附Python和R代码)
转自http://blog.csdn.net/han_xiaoyang/article/details/51191386 – 谷歌的无人车和机器人得到了很多关注,但我们真正的未来却在于能够使电脑变得更 ...
- 【机器学习】多项式回归sklearn实现
[机器学习]多项式回归原理介绍 [机器学习]多项式回归python实现 [机器学习]多项式回归sklearn实现 使用sklearn框架实现多项式回归.使用框架更方便,可以少写很多代码. 使用一个简单 ...
- Python机器学习--回归
线性回归 # -*- coding: utf-8 -*- """ Created on Wed Aug 30 19:55:37 2017 @author: Adminis ...
随机推荐
- Android-PickerView【仿iOS的PickerView控件,并封装了时间选择和选项选择这两种选择器】使用
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本文主要演示Android-PickerView的选项选择器.时间选择器的简单运用.由于每一个版本略有不用,所以实际使用方式以git ...
- 30分钟ES6从陌生到熟悉
前言 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScript 语言可以用来编写复杂的 ...
- Redis集群伸缩
集群扩容 前提准备,目前集群中一共有6台机器,端口号分别是6381.6382.6383.6384.6385.6386 1) 准备新节点 准备两个新节点,端口号为6387和6388,配置和以前集群配置一 ...
- OpenXMl倒出word、PDF
OpenXMl倒出word.PDF @using MarkdownSharp @{ ViewBag.Title = "预览"; Layout = "~/V ...
- SpringBoot+Dubbo+Zookeeper整合搭建简单的分布式应用
为什么要使用分布式系统? 容错 减少延迟/提高性能 可用性 负载均衡 总而言之,其实目的只有一个,”用户体验“. 什么是分布式系统? 分布式系统是由使用分发中间件连接的自治计算机组成的网络.它们有助于 ...
- MVC开发模式简述
了解MVC开发模式,首先我们要了解一下发展趋势 一.什么是软件设计 Jack W.Reeves 于14年前(1992年),就在其撰写的论文——<What is Software Design&g ...
- 客户端浏览器- UWP兼容版本WebView
WebView简介 在win10之前,浏览器控件有WPF版本webBrowser.Winform版本WebBrowser,浏览器内核为IE. win10之后,微软不再维护原有的WebBrowser,转 ...
- CVE-2017-1000405 利用脏牛漏洞Linux提权复现
当前路径: /var/www 磁盘列表: / 系统信息: Linux zico 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 ...
- .NET redis cluster
一.下载Windows版本Redis 下载链接:https://github.com/MSOpenTech/redis/releases(根据系统选择对应版本) 二.修改默认的配置文件 如上图两个配置 ...
- RSA签名和验签Util
目录 1.DigitalSign类 2.CryptException异常类 3.加签示例 1.DigitalSign类 import org.apache.commons.codec.binary.B ...