机器学习之路: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 import SVR
- from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error
- import numpy as np
- # 1 准备数据
- # 读取波士顿地区房价信息
- boston = load_boston()
- # 查看数据描述
- # print(boston.DESCR) # 共506条波士顿地区房价信息,每条13项数值特征描述和目标房价
- # 查看数据的差异情况
- # print("最大房价:", np.max(boston.target)) # 50
- # print("最小房价:",np.min(boston.target)) # 5
- # print("平均房价:", np.mean(boston.target)) # 22.532806324110677
- x = boston.data
- y = boston.target
- # 2 分割训练数据和测试数据
- # 随机采样25%作为测试 75%作为训练
- x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25, random_state=33)
- # 3 训练数据和测试数据进行标准化处理
- ss_x = StandardScaler()
- x_train = ss_x.fit_transform(x_train)
- x_test = ss_x.transform(x_test)
- ss_y = StandardScaler()
- y_train = ss_y.fit_transform(y_train.reshape(-1, 1))
- y_test = ss_y.transform(y_test.reshape(-1, 1))
- # 4.1 支持向量机模型进行学习和预测
- # 线性核函数配置支持向量机
- linear_svr = SVR(kernel="linear")
- # 训练
- linear_svr.fit(x_train, y_train)
- # 预测 保存预测结果
- linear_svr_y_predict = linear_svr.predict(x_test)
- # 多项式核函数配置支持向量机
- poly_svr = SVR(kernel="poly")
- # 训练
- poly_svr.fit(x_train, y_train)
- # 预测 保存预测结果
- poly_svr_y_predict = linear_svr.predict(x_test)
- # 5 模型评估
- # 线性核函数 模型评估
- print("线性核函数支持向量机的默认评估值为:", linear_svr.score(x_test, y_test))
- print("线性核函数支持向量机的R_squared值为:", r2_score(y_test, linear_svr_y_predict))
- print("线性核函数支持向量机的均方误差为:", mean_squared_error(ss_y.inverse_transform(y_test),
- ss_y.inverse_transform(linear_svr_y_predict)))
- print("线性核函数支持向量机的平均绝对误差为:", mean_absolute_error(ss_y.inverse_transform(y_test),
- ss_y.inverse_transform(linear_svr_y_predict)))
- # 对多项式核函数模型评估
- print("对多项式核函数的默认评估值为:", poly_svr.score(x_test, y_test))
- print("对多项式核函数的R_squared值为:", r2_score(y_test, poly_svr_y_predict))
- print("对多项式核函数的均方误差为:", mean_squared_error(ss_y.inverse_transform(y_test),
- ss_y.inverse_transform(poly_svr_y_predict)))
- print("对多项式核函数的平均绝对误差为:", mean_absolute_error(ss_y.inverse_transform(y_test),
- ss_y.inverse_transform(poly_svr_y_predict)))
- '''
- 线性核函数支持向量机的默认评估值为: 0.651717097429608
- 线性核函数支持向量机的R_squared值为: 0.651717097429608
- 线性核函数支持向量机的均方误差为: 27.0063071393243
- 线性核函数支持向量机的平均绝对误差为: 3.426672916872753
- 对多项式核函数的默认评估值为: 0.40445405800289286
- 对多项式核函数的R_squared值为: 0.651717097429608
- 对多项式核函数的均方误差为: 27.0063071393243
- 对多项式核函数的平均绝对误差为: 3.426672916872753
- '''
机器学习之路:python支持向量机回归SVR 预测波士顿地区房价的更多相关文章
- 机器学习之路: python 决策树分类DecisionTreeClassifier 预测泰坦尼克号乘客是否幸存
使用python3 学习了决策树分类器的api 涉及到 特征的提取,数据类型保留,分类类型抽取出来新的类型 需要网上下载数据集,我把他们下载到了本地, 可以到我的git下载代码和数据集: https: ...
- 机器学习之路: python 回归树 DecisionTreeRegressor 预测波士顿房价
python3 学习api的使用 git: https://github.com/linyi0604/MachineLearning 代码: from sklearn.datasets import ...
- 机器学习之路: python 线性回归LinearRegression, 随机参数回归SGDRegressor 预测波士顿房价
python3学习使用api 线性回归,和 随机参数回归 git: https://github.com/linyi0604/MachineLearning from sklearn.datasets ...
- 机器学习之路: python k近邻分类器 KNeighborsClassifier 鸢尾花分类预测
使用python语言 学习k近邻分类器的api 欢迎来到我的git查看源代码: https://github.com/linyi0604/MachineLearning from sklearn.da ...
- 机器学习之路--Python
常用数据结构 1.list 列表 有序集合 classmates = ['Michael', 'Bob', 'Tracy'] len(classmates) classmates[0] len(cla ...
- 机器学习之路:python 集成回归模型 随机森林回归RandomForestRegressor 极端随机森林回归ExtraTreesRegressor GradientBoostingRegressor回归 预测波士顿房价
python3 学习机器学习api 使用了三种集成回归模型 git: https://github.com/linyi0604/MachineLearning 代码: from sklearn.dat ...
- 机器学习之路:python k近邻回归 预测波士顿房价
python3 学习机器学习api 使用两种k近邻回归模型 分别是 平均k近邻回归 和 距离加权k近邻回归 进行预测 git: https://github.com/linyi0604/Machine ...
- 吴裕雄 python 机器学习——支持向量机非线性回归SVR模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm fr ...
- 吴裕雄 python 机器学习——支持向量机线性回归SVR模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm fr ...
随机推荐
- [NOIP提高&洛谷P1024]一元三次方程求解 题解(二分答案)
[NOIP提高&洛谷P1024]一元三次方程求解 Description 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约 ...
- HDU 1256 画8 模拟题
解题报告:这题我觉得题目有一个没有交代清楚的地方就是关于横线的字符的宽度的问题,题目并没有说,事实上题目要求的是在保证下面的圈高度不小于上面的圈的高度的情况下,横线的宽度就是等于下面的圈的高度. #i ...
- c++刷题(9/100):链表
题目一:https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tqId=11156&tP ...
- POJ 1185 炮兵阵地 (状态压缩DP)
题目链接 Description 司令部的将军们打算在NM的网格地图上部署他们的炮兵部队.一个NM的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用& ...
- Anaconda3+python3环境下如何创建python2环境(win+Linux下适用,同一个anaconda下py2/3共存)
本人之前已经在anaconda环境下已经安装了python3的环境,现在因为一些需求,要安装python2环境 1.打开anaconda的anaconda prompt查看当前环境: conda in ...
- Servlet笔记3--Servlet生命周期
Servlet生命周期:
- redis安装(linux)
一.redis安装步骤 1.yum install gcc 如果你机器已经安装了编译环境请忽略,否则在使用make编译源码时会报错. 报错信息:make: *** [adlist.o] 2.使用w ...
- Sublime2编译Python程序EOFError:EOF when reading a line解决方法【转】
在Sublime2中编译运行Python文件时,如果代码中包含用户输入的函数时(eg. raw_input()),Ctrl+b编译运行之后会提示以下错误: 解决方法:安装SublimeREPL打开Su ...
- Linux修改主机名【转】
一.永久修改修改/etc/sysconfig/network,在里面指定主机名称HOSTNAME=然后执行命令hostname 主机名这个时候可以注销一下系统,再重登录之后就行了. 或者修改/etc/ ...
- Java代码优化总结
代码优化是一个很重要的课题.一般来说,代码优化的目标主要有两个,一个是减小代码的体积,另一个是提高代码运行的效率. 代码优化的细节有很多,此处列举部分: 1.尽量指定类.方法的final修饰符. 带有 ...