# -*- coding: utf-8 -*-
'''
Created on 2018年1月24日
@author: Jason.F
@summary: 有监督回归学习-多项式回归,通过多项式特征拟合非线性关系
'''
import pandas as pd
import numpy as np
import time
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
from sklearn.metrics.regression import mean_squared_error, r2_scoreif __name__ == "__main__":   start = time.clock()    df=pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data',header=None,sep='\s+')df.columns=['CRIM','ZM','INDUS','CHAS','NOX','RM','AGE','DIS','RAD','TAX','PTRATIO','B','LSTAT','MEDV'] X = df[['LSTAT']].valuesy = df['MEDV'].valuesregr = LinearRegression()#创建多项式特征quadratic = PolynomialFeatures(degree=2)#二项式cubic = PolynomialFeatures(degree=3)X_quad = quadratic.fit_transform(X)X_cubic = cubic.fit_transform(X)#线性拟合X_fit = np.arange(X.min(),X.max(),1)[:,np.newaxis]regr = regr.fit(X,y)linear_r2 = r2_score(y,regr.predict(X))y_lin_fit = regr.predict(X_fit)#二项式拟合regr = regr.fit(X_quad,y)quadratic_r2 = r2_score(y,regr.predict(X_quad))y_quad_fit =regr.predict(quadratic.fit_transform(X_fit))#三项式regr = regr.fit(X_cubic,y)cubic_r2=r2_score(y,regr.predict(X_cubic))y_cubic_fit = regr.predict(cubic.fit_transform(X_fit))#可视化效果plt.scatter(X,y,label='training points',color='lightgray')plt.plot(X_fit,y_lin_fit,label='linear(d=1),$R^2=%.2f$'%linear_r2,color='blue',lw=2,linestyle=':')plt.plot(X_fit,y_quad_fit,label='quadratic(d=2),$R^2=%.2f$'%quadratic_r2,color='red',lw=2,linestyle='-')plt.plot(X_fit,y_cubic_fit,label='cubic(d=3),$R^2=%.2f$'%cubic_r2,color='green',lw=2,linestyle='--')plt.xlabel('% lower status of the population [LSTAT]')plt.ylabel('Price in $1000\'s [LSTAT]')plt.legend(loc='upper right')plt.show()'''X = np.array([258.0,270.0,294.0,320.0,342.0,368.0,396.0,446.0,480.0,586.0])[:,np.newaxis]y = np.array([236.4,234.4,252.8,298.6,314.2,342.2,360.8,368.0,391.2,390.8])lr = LinearRegression()pr = LinearRegression()quadratic = PolynomialFeatures(degree=2)#二项式X_quad = quadratic.fit_transform(X)#一项线性回归lr.fit(X,y)X_fit = np.arange(250,600,10)[:,np.newaxis]y_lin_fit =lr.predict(X_fit)#多项项目回归pr.fit(X_quad,y)y_quad_fit = pr.predict(quadratic.fit_transform(X_fit))#可视化效果plt.scatter(X,y,label='training points')plt.plot(X_fit,y_lin_fit,label='linear fit',linestyle='--')plt.plot(X_fit,y_quad_fit,label='quadratic fit')plt.legend(loc='upper left')plt.show()#评估y_lin_pred = lr.predict(X)y_quad_pred = pr.predict(X_quad)print ('Training MSE linear:%.3f,quadratic:%.3f'%(mean_squared_error(y,y_lin_pred),mean_squared_error(y,y_quad_pred)))print ('Training R^2 linear:%.3f,quadratic:%.3f'%(r2_score(y,y_lin_pred),r2_score(y,y_quad_pred)))'''end = time.clock()    print('finish all in %s' % str(end - start))

结果:

【Python-ML】SKlearn库多项式回归相关推荐

  1. Python安装sklearn库时出现异常:ERROR: Could not install packages due to an EnvironmentError: [Errno 2]

    文章目录 一.问题描述 二.问题解决 一.问题描述 今天在学习python机器学习时,需要安装python的sklearn库,在安装的过程中出现了以下错误 上CSDN上找了好多文章,都没办法解决问题 ...

  2. 用Python的sklearn库进行PCA(主成分分析)

    在python的sklearn的库里面集成很多机器学习算法的库,其中也包括主成分分析的方法. 1.PCA算法的原理: PCA主要是用来数据降维,将高纬度的特征映射到低维度的特征,加快机器学习的速度.比 ...

  3. ID3决策树 Python实现 + sklearn库决策树模型的应用

    本文介绍机器学习中决策树算法的python实现过程 共介绍两类方法: (1)亲手实习Python ID3决策树经典算法 (2)利用sklearn库实现决策树算法 关于决策树的原理,指路:机器学习 第四 ...

  4. 每天进步一点点《ML - Sklearn库简单学习》

    一:Sklearn介绍 Sklearn是一个强大的机器学习库,基于python的.官方文档(http://scikit-learn.org/stable/ ).如下列举部分的使用场景. 由图中,可以看 ...

  5. Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别

    敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: ...

  6. python中sklearn库更新_python库之sklearn

    一.安装sklearn conda install scikit-learn 参考文献 [1]整体介绍sklearn https://blog.csdn.net/u014248127/article/ ...

  7. python分类算法的应用_Python基于sklearn库的分类算法简单应用示例

    Python基于sklearn库的分类算法简单应用示例 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  Python基于sklearn库的分类算法简单应用示例.tx ...

  8. python分类算法的应用_Python使用sklearn库实现的各种分类算法简单应用小结

    本文实例讲述了Python使用sklearn库实现的各种分类算法简单应用.分享给大家供大家参考,具体如下: KNN from sklearn.neighbors import KNeighborsCl ...

  9. Py之scikit-learn:机器学习Sklearn库的简介、安装、使用方法(ML算法如何选择)、代码实现之详细攻略

    Py之scikit-learn:机器学习Sklearn库的简介.安装.使用方法.代码实现之详细攻略 目录 scikit-learn的简介 scikit-learn的安装 scikit-learn的使用 ...

最新文章

  1. 如何手工删除AD RMS SCP?
  2. 无需SherlockActionbar的SlidingMenu使用详解(一)——通过SlidingMenu设置容器并解决滑动卡顿的问题
  3. 语言舒尔特方格程序_有效提升孩子注意力的方法,舒尔特方格训练法,简单有效...
  4. Redis HyperLogLog常用命令
  5. spring +springmvc+mybatis组合springmvc.xml文件配置
  6. 实战案例:贷款分析之plotly VS ggplot2
  7. WinForm教程(一)App.config等配置文件
  8. word 文档规范,比如标题、正文的字号
  9. 数据结构(主席树,Bit):XTU 1247/COGS 2344. pair-pair
  10. FxFactory 7 Pro for Mac(fcpx/ae/pr视觉特效插件包)v7.2.5
  11. 人生若只如初见服务器维护,「北京服务器」人生若只如初见
  12. CoBOT助力ITSS技术要求标准制定和落地
  13. lol哪个服务器有无限乱斗,英雄联盟无限乱斗和无限火力有什么区别 2021无限乱斗开放时间表[多图]...
  14. 不重复随机数的产生 (C++)
  15. 在nsa组网架构中,3gpp定义的nr与epc的接口是什么
  16. 冯·诺依曼体系和哈佛体系结构比较
  17. 【Unity小游戏】一款类似“恐龙快打”的《横版街机格斗游戏》 该如何制作?| 一起来学习 顺便送源码
  18. 一次简单的路由器渗透
  19. 单目三维运动重建(sfm算法)
  20. dll文件导出对应的lib文件

热门文章

  1. 现代操作系统: 第九章 安全
  2. 进程间通信的方式(三):消息队列
  3. 电子信息工程水声考研去向_哈工大电子与信息工程专业考研 科研方向汇总
  4. 用yum安装配置搭建lamp环境--超简单!
  5. 服务器死机是怎么造成的?
  6. mac python3 安装mysqlclient
  7. slice 与 substring
  8. 服务器中同一个【ip:port】可以多次accept的问题
  9. (转)Linux(Centos)之安装Java JDK及注意事项
  10. 解决AW2013用led_classdev_register()注册red但/sys/class/leds下看不到red的问题