机器学习之路: python 线性回归LinearRegression, 随机参数回归SGDRegressor 预测波士顿房价

python3学习使用api

线性回归,和 随机参数回归

git: https://github.com/linyi0604/MachineLearning

 1 from sklearn.datasets import load_boston
 2 from sklearn.cross_validation import train_test_split
 3 from sklearn.preprocessing import StandardScaler
 4 from sklearn.linear_model import LinearRegression, SGDRegressor
 5 from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error
 6 import numpy as np
 7
 8 # 1 准备数据
 9 # 读取波士顿地区房价信息
10 boston = load_boston()
11 # 查看数据描述
12 # print(boston.DESCR)   # 共506条波士顿地区房价信息,每条13项数值特征描述和目标房价
13 # 查看数据的差异情况
14 # print("最大房价:", np.max(boston.target))   # 50
15 # print("最小房价:",np.min(boston.target))    # 5
16 # print("平均房价:", np.mean(boston.target))   # 22.532806324110677
17
18 x = boston.data
19 y = boston.target
20
21 # 2 分割训练数据和测试数据
22 # 随机采样25%作为测试 75%作为训练
23 x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25, random_state=33)
24
25
26 # 3 训练数据和测试数据进行标准化处理
27 ss_x = StandardScaler()
28 x_train = ss_x.fit_transform(x_train)
29 x_test = ss_x.transform(x_test)
30
31 ss_y = StandardScaler()
32 y_train = ss_y.fit_transform(y_train.reshape(-1, 1))
33 y_test = ss_y.transform(y_test.reshape(-1, 1))
34
35 # 4 使用两种线性回归模型进行训练和预测
36 # 初始化LinearRegression线性回归模型
37 lr = LinearRegression()
38 # 训练
39 lr.fit(x_train, y_train)
40 # 预测 保存预测结果
41 lr_y_predict = lr.predict(x_test)
42
43 # 初始化SGDRRegressor随机梯度回归模型
44 sgdr = SGDRegressor()
45 # 训练
46 sgdr.fit(x_train, y_train)
47 # 预测 保存预测结果
48 sgdr_y_predict = sgdr.predict(x_test)
49
50 # 5 模型评估
51 # 对Linear模型评估
52 lr_score = lr.score(x_test, y_test)
53 print("Linear的默认评估值为:", lr_score)
54 lr_R_squared = r2_score(y_test, lr_y_predict)
55 print("Linear的R_squared值为:", lr_R_squared)
56 lr_mse = mean_squared_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(lr_y_predict))
57 print("Linear的均方误差为:", lr_mse)
58 lr_mae = mean_absolute_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(lr_y_predict))
59 print("Linear的平均绝对误差为:", lr_mae)
60
61 # 对SGD模型评估
62 sgdr_score = sgdr.score(x_test, y_test)
63 print("SGD的默认评估值为:", sgdr_score)
64 sgdr_R_squared = r2_score(y_test, sgdr_y_predict)
65 print("SGD的R_squared值为:", sgdr_R_squared)
66 sgdr_mse = mean_squared_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(sgdr_y_predict))
67 print("SGD的均方误差为:", sgdr_mse)
68 sgdr_mae = mean_absolute_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(sgdr_y_predict))
69 print("SGD的平均绝对误差为:", sgdr_mae)
70
71 ‘‘‘
72 Linear的默认评估值为: 0.6763403830998702
73 Linear的R_squared值为: 0.6763403830998701
74 Linear的均方误差为: 25.09698569206773
75 Linear的平均绝对误差为: 3.5261239963985433
76
77 SGD的默认评估值为: 0.659795654161198
78 SGD的R_squared值为: 0.659795654161198
79 SGD的均方误差为: 26.379885392159494
80 SGD的平均绝对误差为: 3.5094445431026413
81 ‘‘‘

原文地址:https://www.cnblogs.com/Lin-Yi/p/8971798.html

时间: 2024-11-12 07:06:44

机器学习之路: python 线性回归LinearRegression, 随机参数回归SGDRegressor 预测波士顿房价的相关文章

机器学习之路:python线性回归分类器 进行良恶性肿瘤分类预测

使用python3 学习了线性回归的api 分别使用逻辑斯蒂回归  和   随机参数估计回归 对良恶性肿瘤进行预测 我把数据集下载到了本地,可以来我的git下载源代码和数据集:https://github.com/linyi0604/kaggle 1 import numpy as np 2 import pandas as pd 3 from sklearn.cross_validation import train_test_split 4 from sklearn.preprocessin

机器学习之路: python 回归树 DecisionTreeRegressor 预测波士顿房价

python3 学习api的使用 git: https://github.com/linyi0604/MachineLearning 代码: 1 from sklearn.datasets import load_boston 2 from sklearn.cross_validation import train_test_split 3 from sklearn.preprocessing import StandardScaler 4 from sklearn.tree import De

机器学习之路: python k近邻分类器 鸢尾花分类预测

使用python语言 学习k近邻分类器的api 欢迎来到我的git查看源代码: https://github.com/linyi0604/kaggle 1 from sklearn.datasets import load_iris 2 from sklearn.cross_validation import train_test_split 3 from sklearn.preprocessing import StandardScaler 4 from sklearn.neighbors i

机器学习之路:python支持向量机回归SVR 预测波士顿地区房价

python3 学习使用api 支持向量机的两种核函数模型进行预测 git: https://github.com/linyi0604/MachineLearning from sklearn.datasets import load_boston from sklearn.cross_validation import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.svm impor

机器学习之路: python 决策树分类 预测泰坦尼克号乘客是否幸存

使用python3 学习了决策树分类器的api 涉及到 特征的提取,数据类型保留,分类类型抽取出来新的类型 需要网上下载数据集,我把他们下载到了本地, 可以到我的git下载代码和数据集: https://github.com/linyi0604/MachineLearning 1 import pandas as pd 2 from sklearn.cross_validation import train_test_split 3 from sklearn.feature_extraction

机器学习之路:python 综合分类器 随机森林分类 梯度提升决策树分类 泰坦尼克号幸存者

python3 学习使用随机森林分类器 梯度提升决策树分类 的api,并将他们和单一决策树预测结果做出对比 附上我的git,欢迎大家来参考我其他分类器的代码: https://github.com/linyi0604/MachineLearning 1 import pandas as pd 2 from sklearn.cross_validation import train_test_split 3 from sklearn.feature_extraction import DictVe

机器学习之路:python 多项式特征生成PolynomialFeatures 欠拟合与过拟合

分享一下 线性回归中 欠拟合 和 过拟合 是怎么回事~为了解决欠拟合的情 经常要提高线性的次数建立模型拟合曲线, 次数过高会导致过拟合,次数不够会欠拟合.再建立高次函数时候,要利用多项式特征生成器 生成训练数据.下面把整个流程展示一下模拟了一个预测蛋糕价格的从欠拟合到过拟合的过程 git: https://github.com/linyi0604/MachineLearning 在做线性回归预测时候,为了提高模型的泛化能力,经常采用多次线性函数建立模型 f = k*x + b 一次函数f = a

机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)

机器学习算法与Python实践这个系列主要是参考<机器学习实战>这本书.因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学习算法.恰好遇见这本同样定位的书籍,所以就参考这本书的过程来学习了. 这节学习的是逻辑回归(Logistic Regression),也算进入了比较正统的机器学习算法.啥叫正统呢?我概念里面机器学习算法一般是这样一个步骤: 1)对于一个问题,我们用数学语言来描述它,然后建立一个模型,例如回归模型或者分类模型等

【机器学习详解】线性回归、梯度下降、最小二乘的几何和概率解释

线性回归 即线性拟合,给定N个样本数据(x1,y1),(x2,y2)....(xN,yN)其中xi为输入向量,yi表示目标值,即想要预测的值.采用曲线拟合方式,找到最佳的函数曲线来逼近原始数据.通过使得代价函数最小来决定函数参数值. 采用斯坦福大学公开课的例子:假如一套房子的价格只考虑由房屋面积(Living area)与卧室数目(bedrooms)两个因素决定,现在拿到手有m个样本,如下图所示.此例中,输入x=(x1,x2)为2维向量,分别对应房屋面积和卧室数目,y对应价格.现在想根据上述样本