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