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.linear_model import LinearRegression, SGDRegressor
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 使用两种线性回归模型进行训练和预测
# 初始化LinearRegression线性回归模型
lr = LinearRegression()
# 训练
lr.fit(x_train, y_train)
# 预测 保存预测结果
lr_y_predict = lr.predict(x_test) # 初始化SGDRRegressor随机梯度回归模型
sgdr = SGDRegressor()
# 训练
sgdr.fit(x_train, y_train)
# 预测 保存预测结果
sgdr_y_predict = sgdr.predict(x_test) # 5 模型评估
# 对Linear模型评估
lr_score = lr.score(x_test, y_test)
print("Linear的默认评估值为:", lr_score)
lr_R_squared = r2_score(y_test, lr_y_predict)
print("Linear的R_squared值为:", lr_R_squared)
lr_mse = mean_squared_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(lr_y_predict))
print("Linear的均方误差为:", lr_mse)
lr_mae = mean_absolute_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(lr_y_predict))
print("Linear的平均绝对误差为:", lr_mae) # 对SGD模型评估
sgdr_score = sgdr.score(x_test, y_test)
print("SGD的默认评估值为:", sgdr_score)
sgdr_R_squared = r2_score(y_test, sgdr_y_predict)
print("SGD的R_squared值为:", sgdr_R_squared)
sgdr_mse = mean_squared_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(sgdr_y_predict))
print("SGD的均方误差为:", sgdr_mse)
sgdr_mae = mean_absolute_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(sgdr_y_predict))
print("SGD的平均绝对误差为:", sgdr_mae) '''
Linear的默认评估值为: 0.6763403830998702
Linear的R_squared值为: 0.6763403830998701
Linear的均方误差为: 25.09698569206773
Linear的平均绝对误差为: 3.5261239963985433 SGD的默认评估值为: 0.659795654161198
SGD的R_squared值为: 0.659795654161198
SGD的均方误差为: 26.379885392159494
SGD的平均绝对误差为: 3.5094445431026413
'''

最新文章

  1. JDK与Java SE/EE/ME的区别
  2. 关于ifram之间的相互调用
  3. Win7新建ftp快捷方式(原XP网上邻居中客户端图标)
  4. 【转】Windows按键消息—虚拟键码
  5. (转)C# DateTime格式化大全
  6. JS帮你计算属相
  7. python成长之路第三篇(3)_内置函数及生成器迭代器
  8. satellite-menu和ArcMenu
  9. ACE编译
  10. MySQL引擎的相关知识
  11. Spring Security(05)——异常信息本地化
  12. jquery 如何动态添加、删除class样式方法介绍_jquery_脚本之家
  13. ubuntu14.04_CUDA8.0_cudnn5.1_Tensorflow配置
  14. POJ1273 网络流-->最大流-->模板级别-->最大流常用算法总结
  15. UNIX环境高级编程——Linux终端设备详解
  16. July 06th. 2018, Week 27th. Friday
  17. 在OS X 10.9配置WebDAV服务器联合NSURLSessionUploadTask实现文件上传
  18. 导出到word
  19. 201771010142 张燕《面向对象程序设计(java)》第三周学习总结
  20. Java新AIO/NIO2:AsynchronousServerSocketChannel和AsynchronousSocketChannel简单服务器-客户端

热门文章

  1. sklearn_PCA主成分降维
  2. linux查看及设置别名,权限,生成ssh秘钥
  3. Python练习-面向过程编程-模拟Grep命令
  4. jquery 根据后台传过来的值动态设置下拉框、单选框选中
  5. C# Json字符串反序列化
  6. BNUOJ 12756 Social Holidaying(二分匹配)
  7. [转]CMake快速入门教程:实战
  8. 【Tomcat】Tomcat配置与优化(内存、并发、管理)【自己配置】
  9. Centos6.5下搭建nagios详解
  10. 个人对java中对象锁与类锁的一些理解与实例