目录

一、分析数据

数据:

二、拆分训练集和预测集

1、构建训练集和预测集

2、拆分

三、训练模型

四、开始预测

五、评价

六、散点图显示家庭收入中位数和房价中位数的分布


一、分析数据

import pandas as pd #导入“Pandas”,用于数据读取和处理
#读入房价数据 read_csv()
df_housing = pd.read_csv("../data/house.csv")
#显示加州房价数据
df_housing # df_housing.head 只显示一部分数据

数据:

17000条数据 (8个属性(特征)-影响房价的因素)

第九个是标签

longitude 经度

latitude 纬度

housing_median_age 房龄中位数

。。。。

这是加州各地区房价的整体统计信息(不是一套套房子的价格信息),是1990年的人口普查结果之一,共包含17 000个样本。其中包含每一个具体地区的经度(longitude)、纬度(latitude)、房屋的平均年龄(housing_median_age)、房屋数量(total_rooms)、家庭收入中位数(median_income)等信息,这些信息都是加州地区房价的特征。

数据集最后一列“房价中位数”(median_house_value)是标签。这个机器学习项目的目标,就是根据已有的数据样本,对其特征进行推理归纳,得到一个函数模型后,就可以用它推断加州其他地区的房价中位数。

二、拆分训练集和预测集

1、构建训练集和预测集

然后构建特征数据集X和标签数据集y,如下段代码所示。

在机器学习领域,似乎有一种习惯是把特征集X大写,把标签集y小写

因为最后一列是标签,所以我们去掉最后一列,其余的作为训练集X

#median_house_value 为csv文件中的最后一列
#构建特征集X
#drop 去掉最后一列,作为特征集X
# drop 默认删除行,删除列的话加上 “axis=1”
X = df_housing.drop("median_house_value",axis = 1)
#构建标签集y
#将最后一列赋给y
y = df_housing.median_house_value

y的部分数据如下:

2、拆分

#random_state  随机数种子,不同的随机数种子划分的结果不同

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%的比例进行数据集的拆分

输出如下:可以看到被打乱了顺序

三、训练模型

# from sklearn.linear_model import SomeClassifier
from sklearn.linear_model import LinearRegression #导入线性回归算法模型
model = LinearRegression() #使用线性回归算法
model.fit(X_train, y_train) #用训练集数据,训练机器,拟合函数,确定参数
print(model.coef_,model.intercept_)
model.coef_:斜率 正值说明正相关,负值说明负相关
model.intercept_:截距(用的默认的----fit_intercept=True)

四、开始预测

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

输出如下:


# print ('预测的房价(测试集)',y_pred)
y_pred

输出如下:

五、评价

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

输出如下:

给预测评分: 0.6321014171579477

越接近1说明拟合的方程越好

六、散点图显示家庭收入中位数和房价中位数的分布

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() #显示房价分布和机器习得的函数图形

【机器学习】线性回归之加州房价预测相关推荐

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

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

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

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

  3. Python建立线性回归模型进行房价预测

    Python建立线性回归模型进行房价预测 前期准备 多因子房价预测 实战流程 1.数据加载 2.数据可视化 3.数据预处理 4.模型建立与训练 5.模型预测 6.模型评估 7.房价预测 数据与代码 前 ...

  4. 使用线性回归实现波士顿房价预测

    使用线性回归实现波士顿房价预测 本文不进行线性回归基础知识讲解,只提供三种方法对波士顿房价进行预测,这三种方法分别是: 1.使用正规方程的优化方法对波士顿房价进行预测 2.使用梯度下降的优化方法对波士 ...

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

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

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

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

  7. 基于线性回归的波士顿房价预测

    折线图代码 #-*-coding:utf-8-*- import pandas as pd import numpy as np import matplotlib.pyplot as plt #加载 ...

  8. 线性回归实战【房价预测】

    前言 本文属于 线性回归算法[AIoT阶段三],这里截取自其中一段内容,方便读者理解和根据需求快速阅读.本文通过公式推导+代码两个方面同时进行,因为涉及到代码的编译运行,如果你没有 NumPyNumP ...

  9. 一元线性回归python示例——房价预测

    假设房价只有面积一个影响因素,根据下列数据集建立线性回归模型,并预测面积为700平方英尺的房子价格. No square_feet price 1 150 6450 2 200 7450 3 250 ...

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

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

最新文章

  1. 参数等效模型可以用于_等效媒质理论(介电参数反演)
  2. linux查看apache端口,linux系统下Apache服务启动时80端口报错
  3. this的用法添加样式给tr或者div
  4. .net自带的IOC容器MEF使用
  5. 8 Tactics to Combat Imbalanced Classes in Your Machine Learning Dataset
  6. element ui 分页增删改查_【新插件发布】AzureAD运维Excel版插件,增删改查快10倍c以上!...
  7. 互联网晚报 | 1月21日 星期五 | 中兴手机官宣吴京为新代言人;58同城旗下“赶集网”更名“赶集直招”;罗永浩年后回归科技界...
  8. 公共邮箱,共享邮箱,免费邮箱,匿名邮箱,临时邮箱,免费收信
  9. java中打开eclipse_关于Java:如何在Eclipse中打开jar文件
  10. 电脑启动计算机无法启动 修复工具栏,如何利用Win7启动修复功能解决电脑启动进不了系统的问题...
  11. 大数据技术之Spark Streaming概述
  12. 【日语】日语商务情景口语
  13. c++ 十六进制打印
  14. 水深6到9米有鱼吗_我国四大家鱼之一,营养价值高,为何很少有人养殖?|青鱼|养殖|草鱼|罗非鱼|淡水鱼|黑鱼...
  15. mysql分布式主键_技术分享 | 优化 InnoDB 的主键
  16. Java小白修炼手册--锻体期--第二阶段:Java SE 核心API
  17. Linux效劳器装机安全快速进阶指南(6)
  18. 【MySql】解决安装时,无自定义安装
  19. ffmpeg.dll下载 附丢失的解决办法
  20. Android MediaCodec 完全解析

热门文章

  1. ncbi和ensembl上的序列下载
  2. 编写吃c语言程序步骤,自己做的一个C语言小游戏——吃金子
  3. 【问题解决】“Web“ facet resources
  4. electron 修改修改应用默认图标
  5. Android 高通Camx架构学习 - 第1章
  6. 线性代数代码实现(五)求矩阵的逆(C++)
  7. GTX1050 Ti(notebooks)+Ubuntu16.04上安装Cuda8.0
  8. 【ElectronJs】基于Electron Forge打包的一些问题汇总
  9. 虚拟服务器跟目录,如何找虚拟主机根目录?
  10. isSucess = result == sucess_signal