【神经网络与深度学习】波士顿房价数据集、Iris数据集、MINIST数据集可视化

一、波士顿房价数据集

波士顿房价数据集来自卡内基梅隆大学StatLib库,涵盖了麻省波士顿的506个不同郊区的房屋数据,404条训练数据集,102条测试数据集 每条数据14个字段,包含13个属性和1个房价的平均值。

属性说明:

房屋属性

示例代码:

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']="SimHei"
plt.rcParams['axes.unicode_minus']=False

boston_housing = tf.keras.datasets.boston_housing
(train_x,train_y),(test_x, test_y) = boston_housing.load_data(test_split=0)

# 检查数据源各属性
# print(train_x)
# print(train_y)
# print("训练集X轴大小:",len(train_x))
# print("测试集x轴大小:",len(test_x))
# print("训练集X轴形状:",train_x.shape)
# print("训练集Y轴形状:",train_y.shape) 

# 显示某一因素对房价的影响图
# plt.scatter(train_x[:,6],train_y)
# plt.show()

# 显示所有因素属性与房价的关系图
plt.figure(figsize=(12,12))
titles = [ "CRIM","ZN", "INDUS", "CHAS", "NOX" ,"RM","AGE" ,"DIS", "RAD", "TAX", "PTRATIO", "B-1000", "LSTAT", "MEDV"]
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")

plt.tight_layout()  # 自动调整子图,使之填充整个绘图区域,并消除子图之间的重叠
plt.show()

单一因素与房价关系图:

单一因素关系图

所有因素对房价的影响:

所有属性关系图

二、鸢尾花数据集

鸢尾花数据集包含150个样本。

  • 4个属性:花萼长度(Sepal Length)、花萼宽度(Sepal Width)、花瓣长度(Petal Length)、花瓣宽度(Petal Width)
  • 1个标签:山鸢尾(Setosa)、变色鸢尾(Versicolour)、维吉尼亚鸢尾(Virginica)
Iris数据集示例

示例代码:

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

#下载数据集
TRAINURL = "http://download.tensorflow.org/data/iris_training.csv"
train_path=tf.keras.utils.get_file(TRAINURL.split('/')[-1],TRAINURL)

#读取数据集,设置第一列为标题列并将标题改为如下数组
COLUMN_NAMES =['SepalLength','SepalWidth','PetalLength','PetalWidth','Species']
df_iris=pd.read_csv(train_path,header=0,names=COLUMN_NAMES)

# print(type(df_iris)) #pandas.core.frame.DataFrame:panda中的二维数据表类型

#将panda数据转换为数组
iris=np.array(df_iris)

#画出PetalLength'与'PetalWidth之间的线性关系散点图
# scatter中的参数c指定为一个列表或数组,所绘制图形的颜色可以随这个列表或数组中元素的值而变换,
# 变换所对应的颜色由参数cmap中的颜色所提供。
# plt.scatter(iris[:,2],iris[:,3],c=iris[:,4],cmap='brg')
# plt.xlabel(COLUMN_NAMES[2])
# plt.ylabel(COLUMN_NAMES[3])
# plt.show()

# plt.figure(figsize=(16,16))
for i in range(4):
    for j in range (4):
        plt.subplot(4,4,4*i+(j+1))
        plt.scatter(iris[:,j],iris[:,i],c=iris[:,4],cmap='brg')
        plt.xlabel(COLUMN_NAMES[j])
        plt.ylabel(COLUMN_NAMES[i])

plt.tight_layout() 
plt.show()

花瓣长度与花瓣宽度与品种的关系:

某两种属性关系图

所有属性与品种的关系:

所有属性与品种关系图

三、MNIS手写数据集

MNIS手写数据集由250个不同的人手写而成,以28×28像素灰度图像存储,包含60000条训练数据和10000条测试数据。

示例代码:

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

mnist = tf.keras.datasets.mnist
(train_x,train_y),(test_x,test_y)= mnist.load_data()

# 显示一个图像
# plt.imshow(train_x[1],cmap="gray")
# plt.show()

#随机显示4个图像
for i in range(4):
    num=np.random.randint(1,50000)
    plt.subplot(1,4,i+1)
    plt.imshow(train_x[num],cmap="gray")
    plt.title(train_y[num])
plt.show()

随机显示四个图像:

image.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容