用美国波士顿的房价数据来介绍如何使用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. java反射_01

    为什么要用反射? 举个栗子: package com.imooc.reflect; public class Work { // 定义一个word方法 public void word() { Sys ...

  2. mysql手册操作

    1.show table status   显示表状态 2.VERSION()   版本:CURRENT_DATE   当前日期: NOW()   当前时间:USER   当前用户 3.GRANT A ...

  3. [luogu2602 ZJOI2010] 数字计数 (数位dp)

    传送门 Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. Input 输入文件中仅包含一行两个整数a.b,含义如上所述. Output ...

  4. BZOJ1001 BJOI2006 狼抓兔子

    Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个 ...

  5. Emacs学习笔记之主模式笔记

    % 模式相关—————————————————————————— 这里经常用的也就各种语言相对应的模式,有些就没再写进去,比如f90等模式 Fundamental mode 基本模式         ...

  6. mkdir:创建目录

    mkdir:命令 1.命令详解 [功能说明] mkdir命令是“make  directories”中每个单词的粗体字母组合而成,其功能是创建目录,默认情况下,如果要创建的目录已经存在,则会提示此文件 ...

  7. Golang - 处理json

    目录 Golang - 处理json 1. 编码json 2. 解码json Golang - 处理json 1. 编码json 使用json.Marshal()函数可以对一组数据进行JSON格式的编 ...

  8. 在centos6上面安装python3.4

    mkdir -p /work cd /work gwet https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz tar -axf Py ...

  9. csu1395模拟

    #include<stdio.h> #include<string.h> #define N  10 char s[N][N][N]={{"***",&qu ...

  10. 【ACM】poj_2080_Calendar_201307311043

    CalendarTime Limit: 1000MS  Memory Limit: 30000K Total Submissions: 9787  Accepted: 3677 Description ...