用美国波士顿的房价数据来介绍如何使用LR和SGDR模型进行预测

# 从sklearn.datasets导入波士顿房价数据读取器。

from sklearn.datasets import load_boston

# 从读取房价数据存储在变量boston中。

boston = load_boston()

# 输出数据描述。

print (boston.DESCR)

# 从sklearn.cross_validation导入数据分割器。

from sklearn.cross_validation import train_test_split

# 导入numpy并重命名为np。

import numpy as np

X = boston.data

y = boston.target

# 随机采样25%的数据构建测试样本,其余作为训练样本。

X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=33, test_size=0.25)

# 分析回归目标值的差异。

print( "The max target value is", np.max(boston.target))

print( "The min target value is", np.min(boston.target))

print( "The average target value is", np.mean(boston.target))

# 从sklearn.preprocessing导入数据标准化模块。

from sklearn.preprocessing import StandardScaler

# 分别初始化对特征和目标值的标准化器。

ss_X = StandardScaler()

ss_y = StandardScaler()

# 分别对训练和测试数据的特征以及目标值进行标准化处理。

X_train = ss_X.fit_transform(X_train)

X_test = ss_X.transform(X_test)

y_train = ss_y.fit_transform(y_train)

y_test = ss_y.transform(y_test)

# 从sklearn.linear_model导入LinearRegression。

from sklearn.linear_model import LinearRegression

# 使用默认配置初始化线性回归器LinearRegression。

lr = LinearRegression()

# 使用训练数据进行参数估计。

lr.fit(X_train, y_train)

# 对测试数据进行回归预测。

lr_y_predict = lr.predict(X_test)

# 从sklearn.linear_model导入SGDRegressor。

from sklearn.linear_model import SGDRegressor

# 使用默认配置初始化线性回归器SGDRegressor。

sgdr = SGDRegressor()

# 使用训练数据进行参数估计。

sgdr.fit(X_train, y_train)

# 对测试数据进行回归预测。

sgdr_y_predict = sgdr.predict(X_test)

# 使用LinearRegression模型自带的评估模块,并输出评估结果。

print ('The value of default measurement of LinearRegression is', lr.score(X_test, y_test))

# 从sklearn.metrics依次导入r2_score、mean_squared_error以及mean_absoluate_error用于回归性能的评估。

from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error

# 使用r2_score模块,并输出评估结果。

print( 'The value of R-squared of LinearRegression is', r2_score(y_test, lr_y_predict))

# 使用mean_squared_error模块,并输出评估结果。

print( 'The mean squared error of LinearRegression is', mean_squared_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(lr_y_predict)))

# 使用mean_absolute_error模块,并输出评估结果。

print( 'The mean absoluate error of LinearRegression is', mean_absolute_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(lr_y_predict)))

# 使用SGDRegressor模型自带的评估模块,并输出评估结果。

print( 'The value of default measurement of SGDRegressor is', sgdr.score(X_test, y_test))

# 使用r2_score模块,并输出评估结果。

print ('The value of R-squared of SGDRegressor is', r2_score(y_test, sgdr_y_predict))

# 使用mean_squared_error模块,并输出评估结果。

print( 'The mean squared error of SGDRegressor is', mean_squared_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(sgdr_y_predict)))

# 使用mean_absolute_error模块,并输出评估结果。

print( 'The mean absoluate error of SGDRegressor is', mean_absolute_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(sgdr_y_predict))y

线性回归模型之LinearRegression和SGDRegressor的更多相关文章

  1. Python机器学习/LinearRegression(线性回归模型)(附源码)

    LinearRegression(线性回归) 2019-02-20  20:25:47 1.线性回归简介 线性回归定义: 百科中解释 我个人的理解就是:线性回归算法就是一个使用线性函数作为模型框架($ ...

  2. (原创)(三)机器学习笔记之Scikit Learn的线性回归模型初探

    一.Scikit Learn中使用estimator三部曲 1. 构造estimator 2. 训练模型:fit 3. 利用模型进行预测:predict 二.模型评价 模型训练好后,度量模型拟合效果的 ...

  3. 【scikit-learn】scikit-learn的线性回归模型

     内容概要 怎样使用pandas读入数据 怎样使用seaborn进行数据的可视化 scikit-learn的线性回归模型和用法 线性回归模型的评估測度 特征选择的方法 作为有监督学习,分类问题是预 ...

  4. 吴裕雄 python 机器学习——线性回归模型

    import numpy as np from sklearn import datasets,linear_model from sklearn.model_selection import tra ...

  5. scikit-learn的线性回归模型

    来自 http://blog.csdn.net/jasonding1354/article/details/46340729 内容概要 如何使用pandas读入数据 如何使用seaborn进行数据的可 ...

  6. R语言解读多元线性回归模型

    转载:http://blog.fens.me/r-multi-linear-regression/ 前言 本文接上一篇R语言解读一元线性回归模型.在许多生活和工作的实际问题中,影响因变量的因素可能不止 ...

  7. R语言解读一元线性回归模型

    转载自:http://blog.fens.me/r-linear-regression/ 前言 在我们的日常生活中,存在大量的具有相关性的事件,比如大气压和海拔高度,海拔越高大气压强越小:人的身高和体 ...

  8. 多元线性回归 ——模型、估计、检验与预测

    一.模型假设 传统多元线性回归模型 最重要的假设的原理为: 1. 自变量和因变量之间存在多元线性关系,因变量y能够被x1,x2-.x{k}完全地线性解释:2.不能被解释的部分则为纯粹的无法观测到的误差 ...

  9. 一元线性回归模型与最小二乘法及其C++实现

    原文:http://blog.csdn.net/qll125596718/article/details/8248249 监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等), ...

随机推荐

  1. Beta冲刺-星期三

    这个作业属于哪个课程  <课程的链接>            这个作业要求在哪里 <作业要求的链接> 团队名称 Three cobblers 这个作业的目标 剩余任务预估,分配 ...

  2. 三维重建面试0:*SLAM滤波方法的串联综述

    知乎上的提问,高翔作了回答:能否简单并且易懂地介绍一下多个基于滤波方法的SLAM算法原理? 写的比较通顺,抄之.如有异议,请拜访原文.如有侵权,请联系删除. 我怎么会写得那么长--如果您有兴趣可以和我 ...

  3. OpenCV: kalman滤波的代码段

    序言:在我的疲劳检测工程 AviTest中!显示框为320*240,使用OpenCV的kalman滤波算法,可以实现简单的锁相追踪-实现对眼球的位置锁定. 代码如下: CvPoint Wishchin ...

  4. Mysql正则

    摘自:http://www.runoob.com/mysql/mysql-regexp.html 模式 描述 ^ 匹配输入字符串的开始位置.如果设置了 RegExp 对象的 Multiline 属性, ...

  5. react-native 横向滚动的商品展示

    在app中会有这种页面 像这样商品是横向的,而且要滚动,思路是利用 ScrollView 横向的滚动 思路: (a): 横向滚动的整体作为一个组件  ShopCenter {/*** 横向滚动 *** ...

  6. LeetCode -- 1038. Binary Search Tree to Greater Sum Tree

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  7. 获取第n天日期

    function datezh(s){ return s = s>9 ? s:"0"+s } function dateTime(t){ var getNowTime = v ...

  8. Keras手写识别例子(1)----softmax

    转自:https://morvanzhou.github.io/tutorials/machine-learning/keras/2-2-classifier/#测试模型 下载数据: # downlo ...

  9. 【剑指Offer】32、把数组排成最小的数

      题目描述:   输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323.   ...

  10. 关于node对文件的读取

    设计: 通过终端git / cmd 获取用户输入路径,然后遍历路径下所有的文件,打印输出. 因为需要命令行交互,所以引入prompt库 (https://github.com/flatiron/pro ...