目录

  • 1 快速搭建运行环境
  • 2 快速构建项目
    • 2.1 导入训练集
    • 2.2 安装函数库
      • 2.2.1 安装numpy
      • 2.2.2 安装pandas
    • 2.3 构建特征集和标签
    • 2.4 导入数据集拆分工具sklearn
    • 2.5 导入线性回归算法模型
    • 2.6 进行预测
    • 2.7 精准度计算
  • 3 导入matplotlib画图库
  • 4 作图时遇到的错误

1 快速搭建运行环境

我这里比较懒是全是一键安装的直接使用vscode插件进行部署,没有去搭建jupyter notebook,不过也比较简单后续我会出相关文章进行搭建。

2 快速构建项目

2.1 导入训练集

https://raw.githubusercontent.com/huangjia2019/house/master/house.csv

import pandas as pd #导入Pandas,用于数据读取和处理
# 读入房价数据
df_housing = pd.read_csv("https://raw.githubusercontent.com/huangjia2019/house/master/house.csv")
df_housing.head #显示加州房价数据

数据集介绍:经度(longitude)、纬度(latitude)、房屋的平均年龄(housing_median_age)、房屋数量(total_rooms)、家庭收入中位数(median_income)等信息,这些信息都是加州地区房价的特征。数据集最后一列“房价中位数”(median_house_value)是标签。这个机器学习项目的目标,就是根据已有的数据样本,对其特征进行推理归纳,得到一个函数模型后,就可以用它推断加州其他地区的房价中位数。

2.2 安装函数库

由于导入了Pandas,这是一个常见的Python数据处理函数库,如果没有这个库是不能运行的
使用vscode安装非常简单。

2.2.1 安装numpy

pip install numpy

输入这行代码不会报错就安装成功了

import numpy as nparray = np.array([[1,2,3],[2,3,4]])print(array)

2.2.2 安装pandas

pip install pandas

输入这行代码不会报错就安装成功了

2.3 构建特征集和标签

X = df_housing.drop("median_house_value",axis = 1) #构建特征集X
y = df_housing.median_house_value #构建标签集y

上面的代码使用drop方法,把最后一列median_house_value字段去掉,其他所有字段都保留下来作为特征集

2.4 导入数据集拆分工具sklearn

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=0) #以80%/20%的比例进行数据集的拆分

现在要把数据集一分为二,80%用于机器训练(训练数据集),剩下的留着做测试(测试数据集)如下段代码所示。这也就是告诉机器:你看,拥有这些特征的地方,房价是这样的,等一会儿你想个办法给我猜猜另外20%的地区的房价。

另外20%的地区的房价数据,本来就有了,但是我们假装不知道,故意让机器用自己学到的模型去预测。所以,之后通过比较预测值和真值,才知道机器“猜”得准不准,给模型打分。

2.5 导入线性回归算法模型

from sklearn.linear_model import LinearRegression #导入线性回归算法模型
model = LinearRegression() #使用线性回归算法
model.fit(X_train, y_train) #用训练集数据,训练机器,拟合函数,确定参数

下面这段代码就开始训练机器:首先选择LinearRegression(线性回归)作为这个机器学习的模型,这是选定了模型的类型,也就是算法;然后通过其中的fit方法来训练机器,进行函数的拟合。拟合意味着找到最优的函数去模拟训练集中的输入(特征)和目标(标签)的关系,这是确定模型的参数

运行完成,此时已经成功运行完fit方法,学习到的函数也已经存在机器中了,现在就可以用model(模型)的predict方法对测试集的房价进行预测,如下段代码所示。(当然,等会儿我们也可以偷偷瞅一瞅这个函数是什么样……)

2.6 进行预测

y_pred = model.predict(X_test) #预测测试集的Y值
print ('房价的真值(测试集)',y_test)
print ('预测的房价(测试集)',y_pred)


对应起来看着趋势是没什么问题

2.7 精准度计算

print("给预测评分:", model.score(X_test, y_test)) #评估预测结果


0.63及格 Sklearn线性回归模型的score属性给出的是R2分数,它是一个机器学习模型的评估指标,给出的是预测值的方差与总体方差之间的差异。要理解这个,需要一点儿统计学知识,现在只要知道,要比较不同的模型,都应采用相同的评估指标,在同样的标准下,哪个分数更高,就说明哪个模型更好!

3 导入matplotlib画图库

import matplotlib.pyplot as plt #导入matplotlib画图库
#用散点图显示家庭收入中位数和房价中位数的分布
plt.scatter(X_test.median_income, y_test,  color='brown')
#画出回归函数(从特征到预测标签)
plt.plot(X_test.median_income, y_pred, color='green', linewidth=1)
plt.xlabel('Median Income') #X轴-家庭收入中位数
plt.ylabel('Median House Value') #Y轴-房价中位数
plt.show() #显示房价分布和机器习得的函数图形

绿色为机器学习所得函数图形,可以看出加州各个地区的平均房价中位数有随着该地区家庭收入中位数的上升而增加的趋势,而机器学习到的函数也同样体现了这一点。说明富人区就肯定都是收入高的。

4 作图时遇到的错误

VS Code错误 “preloads: Could not find renderer” ,只需禁用 “Jupyter Notebook Renderers” 即可。

机器学习入门实战加州房价预测相关推荐

  1. 机器学习入门实战---波士顿房价预测

    波士顿房价预测 波士顿房价数据集介绍 波士顿房价数据说明:此数据源于美国某经济学杂志上,分析研究波士顿房价( Boston HousePrice)的数据集.数据集中的每一行数据都是对波士顿周边或城镇房 ...

  2. 机器学习入门实例-加州房价预测-1(数据准备与可视化)

    问题描述 数据来源:California Housing Prices dataset from the StatLib repository,1990年加州的统计数据. 要求:预测任意一个街区的房价 ...

  3. Python机器学习/数据挖掘项目实战 波士顿房价预测 回归分析

    Python机器学习/数据挖掘项目实战 波士顿房价预测 回归分析 此数据源于美国某经济学杂志上,分析研究波士顿房价( Boston HousePrice)的数据集. 在这个项目中,你将利用马萨诸塞州波 ...

  4. 《机器学习入门实战》第 01 篇 如何入门机器学习?

    文章目录 机器学习与数据挖掘 传统入门方法的问题 逆向学习方法 专栏内容介绍 目标人群 专栏章节 机器学习与数据挖掘 如果你是一个想要入门数据科学的初学者,首先需要面对的就是各种相关的名词和概念.例如 ...

  5. 数据科学家之路 实战2---Kaggle房价预测

    第一个O2O我其实主要讲了思路,大部分的代码并没有去实现.究其原因还是因为能力不够......感觉天池的题目前对我还是有点难了,找不到下手点.所以还是先回归kaggle,希望仔细研究几个题目后再转战天 ...

  6. 深度学习经典入门项目—波士顿房价预测

    目录 房价预测--线性回归 数据处理 数据形状变换 数据集划分 数据归一化处理 housing.data数据格式 模型设计 线性回归模型设计 训练配置 训练过程 保存并测试模型 保存模型 测试模型 房 ...

  7. 东北大学大数据班机器学习大作业——印度房价预测

    目录 1.项目背景. 3 2.实验描述. 3 3.实验目的. 3 4.实验环境. 3 5.实验原理. 4 5.1 决策树. 4 5.2 随机森林. 4 5.3 数据预处理与特征工程. 4 5.4 主成 ...

  8. 机器学习项目实践——波士顿房价预测

    基于线性回归预测波士顿房价 摘要:分类和回归属于机器学习领域有监督学习算法的两种方法,有监督学习是通过已有的训练样本去训练得到一个模型,再使用这个模型将所有的输入映射到相应的输出,若输出结果是离散型称 ...

  9. kaggle房价预测特征意思_Kaggle实战-波士顿房价预测

    本文数据集来自Kaggle波士顿房价预测项目https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data 1.数据 ...

  10. Kaggle实战之 房价预测案例

    房价预测案例(进阶版) 这是进阶版的notebook.主要是为了比较几种模型框架.所以前面的特征工程部分内容,我也并没有做任何改动,重点都在后面的模型建造section Step 1: 检视源数据集 ...

最新文章

  1. Netbackup Status code 6解决思路
  2. CentOS7内核升级
  3. MyGeneration学习笔记(5) :在Web Service中使用dOOdad(中)
  4. reentrantlock非公平锁不会随机挂起线程?_程序员必须要知道的ReentrantLock 及 AQS 实现原理...
  5. a33 linux内核启动网卡,a33核心板启动问题 - nevermore1981的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. 【git】IDEA下GitLab分支使用测试
  7. 原创设计师如何提高影响力?到集设,让你的原创设计作品展示给世界
  8. sqlalchemy query
  9. windows服务器迁到_将文件服务器及域控制器从2003迁移至Windows Server 2008 R2
  10. 机器视觉运动控制一体机应用例程|U盘视觉定位激光打标解决方案
  11. shopex php5.3,shopex.4.85支持php5.3 | 学步园
  12. 苏格拉底的爱情与婚姻观
  13. 2007山东公务员面试真题汇总
  14. oracle触发器调试日志,Oracle 11g 触发器调试记录Error: PLS-00201: identifier'SYS.DBMS_SYSTEM' must be declared...
  15. 飞越650四轴无人机安装全程详解(多图)
  16. 用镭神32线激光雷达实现A_LOAM LeGO_LOAM
  17. 2018年中国500强排行榜
  18. 加密流量分析-4.加密协议分析
  19. inside gen_server call
  20. android实现点餐功能

热门文章

  1. html图片轮播代码 贴吧,JS实现简易图片轮播效果的方法
  2. c语言指针存在哪,C语言指针你弄明白了吗
  3. Comparator.comparing排序使用示例
  4. 转胡一虎Blog:父亲是我生命中的永恒
  5. 提高工作效率的工具[分享]
  6. PS背后的神秘AI力量 是Adobe憋了十年的神功
  7. 地毯店人员告诉你如何正确选购合适地毯
  8. #一份怀念# 致亲爱的旺旺狗狗
  9. Java流程控制:用for循环打印一个三角形
  10. systemverilog : constraint slove... before 详解