Matplotlib绘图示例1-波士顿房价可视化

首先介绍一下Keras

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

Keras中集成的数据集如下:
在这里插入图片描述
其中,波士顿房价数据集

  • 涵盖了麻省波士顿的506个不同地区的房屋数据
  • 404条训练数据集,102条测试数据集
  • 每条数据有14个字段,包含13个属性,和1个房价的平均值

14个字段具体介绍如下:
在这里插入图片描述
(1)加载数据集 —.load_data()方法

注意:使用.load_data()方法得到的数据集是NumPy数组的形式

加载波士顿房价数据集完整代码如下:

import tensorflow as tf
boston_housing = tf.keras.datasets.boston_housing(train_x,train_y),(test_x,test_y) = boston_housing.load_data()

执行结果如下:
在这里插入图片描述
(2) 改变数据集的划分比例

只需要在load_data()函数中添加参数test_split=测试集占全部数据的比例值

(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(type(train_x))    #   返回的是numpy数据
print(type(train_y))     #   返回的是numpy数据print(train_x.ndim)   #   2  --》 二维数组
print(train_x.shape)   #  (506, 13)   ---》  506 行  13列数据。print(train_y.ndim)  # 1   --》  一维数据
print(train_y.shape)  # (506,)   ---》506个数据# 输出前5行
print(train_x[0:5])# 输出第六列数据
print(train_x[:,5])# 输出train_y全部数据
print(train_y)

示例1–将平均房间数与房价之间的关系通过散点图进行可视化
完整代码如下:

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
# 加载数据集
boston_housing = tf.keras.datasets.boston_housing# 因不需要测试集,此处让测试集所占比例为0
(train_x,train_y),(test_x,test_y) = boston_housing.load_data(test_split=0)'''  将平均房间数与房价之间的关系可视化'''
plt.figure(figsize=(5,5))
plt.scatter(train_x[:,5],train_y)
plt.xlabel("RM")
plt.ylabel("Price($1000's)")
plt.title("5. RM-Price")
plt.show()

执行结果如下:
在这里插入图片描述
**拓展示例:**在示例1的基础上,将13个属性分别于房价之间的关系进行可视化,如下图展示:
在这里插入图片描述
完整代码如下:

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as pltboston_housing = tf.keras.datasets.boston_housing# 此处让测试集所占比例为0
(train_x,train_y),(test_x,test_y) = boston_housing.load_data(test_split=0)'''将所有属性分别于房价关系可视化'''titles = ["CRIM","ZN","INDUS","CHAS","NOX","RM","AGE","DIS","RAD","IAX","PTRATIO","B-1000","LSTAT","MEDV"]plt.figure(figsize=(12,12))for i in range(13):plt.subplot(4,4,(i+1))plt.scatter(train_x[:,i],train_y)plt.xlabel(titles[i])plt.ylabel("Price($1000's')")plt.title(str(i+1)+'.'+titles[i]+" - Price")plt.tight_layout()
plt.suptitle("The Title",x=0.5,y=0.98,fontsize=20)
plt.show()


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部