本节内容:
首先是要导入数据,看数据有多少个样本,有多少个特征标签,对其进行模型训练,用线性回归的方式对80%的训练集进行训练,发现训练的score比较低,优化为多项式模型,画学习曲线判断哪个多项式最符合,然后就训练出房价。


导入模块

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np

导入数据并且看有多少样本

from sklearn.datasets import load_bostonboston = load_boston()
X = boston.data
y = boston.target
X.shape

看有多少特征标签

boston.feature_names

分离数据集

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=3)

用线性回归模型进行训练

python3.8的time中,clock被禁用了,改为:perf_counter()

import time
from sklearn.linear_model import LinearRegressionmodel = LinearRegression()start = time.perf_counter()
model.fit(X_train, y_train)train_score = model.score(X_train, y_train)
cv_score = model.score(X_test, y_test)
print('elaspe: {0:.6f}; train_score: {1:0.6f}; cv_score: {2:.6f}'.format(time.perf_counter()-start, train_score, cv_score))

发现预测的效果不太好,优化模型

二阶多项式模型:degree=2

from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import Pipelinedef polynomial_model(degree=1):polynomial_features = PolynomialFeatures(degree=degree,include_bias=False)linear_regression = LinearRegression(normalize=True)pipeline = Pipeline([("polynomial_features", polynomial_features),("linear_regression", linear_regression)])return pipelinemodel = polynomial_model(degree=2)start = time.perf_counter()
model.fit(X_train, y_train)train_score = model.score(X_train, y_train)
cv_score = model.score(X_test, y_test)
print('elaspe: {0:.6f}; train_score: {1:0.6f}; cv_score: {2:.6f}'.format(time.perf_counter()-start, train_score, cv_score))

绘制学习曲线

degree = 1,2,3,也就是一阶,二阶,三阶
二阶的学习曲线交叉间距太大,说明需要更多的训练集

from common.utils import plot_learning_curve
from sklearn.model_selection import ShuffleSplitcv = ShuffleSplit(n_splits=10, test_size=0.2, random_state=0)
plt.figure(figsize=(18, 4))
title = 'Learning Curves (degree={0})'
degrees = [1, 2, 3]start = time.clock()
plt.figure(figsize=(18, 4), dpi=200)
for i in range(len(degrees)):plt.subplot(1, 3, i + 1)plot_learning_curve(plt, polynomial_model(degrees[i]), title.format(degrees[i]), X, y, ylim=(0.01, 1.01), cv=cv)print('elaspe: {0:.6f}'.format(time.clock()-start))

如果为三阶

其中score为负数,说明这个过拟合过分了,不适合

其实线性回归的模型都差不多,代码都是一个样子的,只用换degree就行。

《scikit-learn机器学习》波斯顿房价预测(线性回归预测)相关推荐

  1. 波士顿房价预测python代码_Python之机器学习-波斯顿房价预测

    AI 人工智能 Python之机器学习-波斯顿房价预测 波士顿房价预测 导入模块 import pandas as pd import numpy as np import matplotlib.py ...

  2. 机器学习:numpy版本线性回归预测波士顿房价

    机器学习:numpy版本线性回归预测波士顿房价 导入数据 划分数据 模型 数据链接 链接: https://pan.baidu.com/s/1uDG_2IZVZCn9kndZ_ZIGaA?pwd=ne ...

  3. scikit-learn线性回归实践 - 波斯顿房价预测

    Educoder实训平台机器学习-线性回归:scikit-learn线性回归实践 - 波斯顿房价预测 (下方代码已成功通过平台测试) 文章目录 机器学习:波士顿房价数据集 任务描述 相关知识 Line ...

  4. bagging回归 波斯顿房价预测

    #bagging回归 波斯顿房价预测from sklearn.datasets import load_bostonboston = load_boston()from sklearn.model_s ...

  5. 【ML】基于机器学习的房价预测研究(系列7:双向LSTM模型)

    写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌. 本次实战的项目是:基于机器学习的房价预测研究(附完整代 ...

  6. PaddlePaddle 波斯顿房价预测训练结果

    paddlepaddle是百度提出来的深度学习的框架,个人感觉其实和tensorflow差不多(语法上面),因为本人也是初学者,也不是很懂tensorflow,所以,这些都是个人观点. 百度的padd ...

  7. Eudcoder scikit-learn线性回归实践 - 波斯顿房价预测

    任务描述 本关任务:你需要调用 sklearn 中的线性回归模型,并通过波斯顿房价数据集中房价的13种属性与目标房价对线性回归模型进行训练.我们会调用你训练好的线性回归模型,来对房价进行预测. 相关知 ...

  8. 02-06 普通线性回归(波斯顿房价预测)+特征选择

    文章目录 普通线性回归(波士顿房价预测) 导入模块 获取数据 打印数据 特征选择 散点图矩阵 关联矩阵 训练模型 可视化 普通线性回归(波士顿房价预测) 导入模块 import pandas as p ...

  9. 利用机器学习进行房价预测

    爬虫能做什么 爬虫除了能够获取互联网的数据以外还能够帮我们完成很多繁琐的手动操作,这些操作不仅仅包括获取数据,还能够添加数据,比如: 投票 管理多个平台的多个账户(如各个电商平台的账号) 微信聊天机器 ...

最新文章

  1. windows 上rsync客户端使用方法
  2. 在html中超链接_HTML 超级链接详细讲解
  3. 剑指 Offer 52. 两个链表的第一个公共节点(C语言)
  4. 前端开发工程师做些什么?
  5. EF Core Model更新迁移
  6. 图解算法学习笔记(八):贪婪算法
  7. 2.1.3码元、波特、速率、带宽
  8. python字符串倒数第三个_python字符串常用方法
  9. 山西铁警演练防暴处突
  10. 联网玩具CloudPets 泰迪熊泄漏数百万语音信息
  11. optistruct线性求解一次二次单元应力位移比较
  12. TransE,知识图谱嵌入(KGE)论文精读
  13. 极域电子教室破解控制---万能密码、查找密码
  14. word中图片为嵌入式格式时显示不全_word插入图片嵌入式 word图片显示不全
  15. 下午:准备考试——SOA解决方案架构师认证
  16. flac格式的音乐怎么转换成mp3格式
  17. 班级纪念册php源码,班级纪念册内容,班级纪念册的创意设计图片内容
  18. 关于产品MVP的定义与实践
  19. Android虚拟机、模拟器识别
  20. Android Wifi密码查看器实现思路

热门文章

  1. MySQL导入mdx_一个简单的MDX案例及说明 (转)
  2. 秒杀大促-淘宝用缓存实现方式
  3. animation 只触发一次的解决办法
  4. 颜色类中英文词汇大全(2)
  5. python — cnn+opencv 识别车牌
  6. 怎么将PPT里面的普通文字设置成艺术文字
  7. maya表情blendshape_maya在表情制作中Blendshape的使用技巧
  8. 数字电路逻辑电路-实验一(逻辑门的应用及相互转换)
  9. 【RocketMq实战第四篇】-不同类型消费者(DefaultMQPushConsumerDefaultMQPullConsumer)
  10. 批量比对 mysql 字段_MS SQL Server数据库两个库之间相同数据表名内容批量对比方法...