波士顿房价数据集

数据集

  • Keras中常见的集成数据集
  • 波士顿房价数据集
    • 1. 加载数据集
    • 2. 访问数据集
    • 3. 数据可视化

Keras是一个高层的神经网络和深度学习库,可以快速搭建神经网络,易于调试和从扩展,是TensorFlow的官方API,内置了常用的公共数据集,可通过 keras.datasets模块来加载和访问。

Keras中常见的集成数据集

名称 说明
boston_sousing 波士顿房价数据集
CIFAR10 10种类别的图片集
CIFAR100 100种类别的图片集
MNIST 手写数字图片集
Fashion-MNIST 10重时尚类别的图片集
IMDB 电影点评数据集
reuters 路透社新闻数据集

波士顿房价数据集

1. 加载数据集

import tensorflow as tf

boston_housing=tf.keras.datasets.boston_housing
#train_x和train_y分别接收训练数据集的属性和房价
#test_x和test_y分别接收测试数据集的属性和房价
#(train_x,train_y),(test_x,test_y)=boston_housing.load_data()    #默认test_split=0.2,即train数据占比0.8,test数据占比0.2
(train_x,train_y),(test_x,test_y)=boston_housing.load_data(test_split=0)#所有数据划分为训练数据

print("Training set:",len(train_x))
print("Testing set:",len(test_x))
print("Dim of train_x:",train_x.ndim)#维度
print("Dim of train_x:",train_x.shape)#形状
print("Dim of train_y:",train_y.ndim)
print("Dim of train_y:",train_y.shape)

输出结果如下:

Training set: 506
Testing set: 0
Dim of train_x: 2
Dim of train_x: (506, 13)
Dim of train_y: 1
Dim of train_y: (506,)

数据集下载经常因为网络问题而下载错误,多试几次就好了,数据集下载提示如下图:
波士顿房价数据集下载也可以自己在网上找链接下载后放到文件夹中(推荐),默认路径是:
C:\Users\Administrator\.keras\datasets\boston_housing.npz
我的路径是:C:\Users\覃忠原\.keras\datasets\boston_housing.npz

2. 访问数据集

  • 输出行数据
#通过numpy数组的索引和切片来查看数据
print(train_x[0:3])    #输出train_x中的前3行数据

由输出结果可看出是二维数组,一个维度对应一条房屋信息数据,每条信息中包括13个属性,如下:

[[1.23247e+00 0.00000e+00 8.14000e+00 0.00000e+00 5.38000e-01 6.14200e+00
  9.17000e+01 3.97690e+00 4.00000e+00 3.07000e+02 2.10000e+01 3.96900e+02
  1.87200e+01]
 [2.17700e-02 8.25000e+01 2.03000e+00 0.00000e+00 4.15000e-01 7.61000e+00
  1.57000e+01 6.27000e+00 2.00000e+00 3.48000e+02 1.47000e+01 3.95380e+02
  3.11000e+00]
 [4.89822e+00 0.00000e+00 1.81000e+01 0.00000e+00 6.31000e-01 4.97000e+00
  1.00000e+02 1.33250e+00 2.40000e+01 6.66000e+02 2.02000e+01 3.75520e+02
  3.26000e+00]]
  • 输出列数据
print(train_x[:,5])  #取出train_x中第一维的全部数据,第二维取出索引为5的数据

返回一个一维数组,分别是每条数据中的平均房间数,结果如下:

[6.142 7.61  4.97  6.037 6.376 5.708 5.536 5.468 5.628 5.019 6.404 4.628
 5.572 6.251 5.613 5.957 7.016 6.345 6.162 6.727 6.202 6.595 7.135 6.575
 5.895 6.794 6.012 7.185 5.813 5.569 6.315 6.297 6.301 5.935 7.024 6.415
 ....... #太多了这里就不一一列出来了
 5.885 6.375 6.968 4.88  5.981 7.52  5.593 6.485 5.705 6.172 6.229 5.951
 6.593 7.061 6.03  5.884 6.897 8.259 6.812 6.122 7.333 8.78  6.273 7.802
 6.951 6.101]
  • 输出全部数据
print(train_y)    #输出train_y的全部数据

3. 数据可视化

  • 波士顿房价属性描述
变量名 说明
CRIM 城镇人口犯罪率
ZN 超过25000平方英尺的住宅用地所占比例
INDUS 城镇非零售业务地区的比例
CHAS 查尔斯河虚拟变量(如果土地在河边=1;否则是0)
NOX 一氧化氮浓度(每1000万份)
RM 平均每居民房数
AGE 在1940年之前建成的所有者占用单位的比例
DIS 与五个波士顿就业中心的加权距离
RAD 辐射状公路的可达性指数
TAX 每10,000美元的全额物业税率
RTRATIO 城镇师生比例
B 1000(Bk-0.63)^2其中Bk是城镇黑人的比例
LSTAT 人口中地位较低人群的百分数
MEDV (目标变量/类别属性)以1000美元计算的自有住房的中位数
  • scatter()函数:展示平均房间数与房价之间的关系
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf

plt.rcParams['font.sans-serif']="SimHei"

boston_housing=tf.keras.datasets.boston_housing
#没有用到test数据,故可用下划线_代替
(train_x,train_y),(_,_)=boston_housing.load_data(test_split=0)

plt.figure(figsize=(5,5))    #设置绘图尺寸
plt.scatter(train_x[:,5],train_y)    #散点图
plt.xlabel("平均房间数")
plt.ylabel("价格/$1000")
plt.title("平均房间数和价格之间的关系")
plt.show()

输出结果如下(总体上趋于数量越多价格越高):
波士顿房价数据集_第1张图片- 循环语句:输出所有属性关系图

import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf

plt.rcParams['font.sans-serif']="SimHei"
plt.rcParams['axes.unicode_minus']=False

boston_housing=tf.keras.datasets.boston_housing
(train_x,train_y),(_,_)=boston_housing.load_data(test_split=0)    #没有用到test数据,故可用下划线_代替

titles=["CRIM","ZN","INDUS","CHAS","NOX","AGE","DIS",
        "RAD","TAX","PTRATIO","B-1000","LSTAT","MEDV"]

plt.figure(figsize=(12,9))

for i in range(12):
    plt.subplot(3,4,(i+1))
    plt.scatter(train_x[:,i],train_y)
    plt.xlabel(titles[i])
    plt.ylabel("价格/$1000")
    plt.title(str(i+1)+"."+titles[i]+"-价格")

plt.tight_layout()
plt.suptitle("各个属性与房价间的关系",x=0.5,y=1.02,fontsize=20)
plt.show()

输出结果如下:
波士顿房价数据集_第2张图片

你可能感兴趣的:(python,机器学习,数据分析,深度学习,人工智能)