目录
一.用pandas库读入文件
import pandas as pd
import numpy as np
filename="C:/Users/XRJ/Desktop/pima-indians-diabetes-master/pima-indians-diabetes.csv"
name=['preg','plas','pres','skin','test','mass','pedi','age','class']
二.数据理解
2.1查看数据
# 查看数据
print(data.head(10))
2.2数据维度
# 数据的维度
print(data.shape)
2.3数据属性和类型
# 数据的属性和类型
print(data.dtypes)
2.4数据分组分布(适用于分类算法)
# 数据的分布
print(data.groupby('class').size())
2.5数据属性相关性
# 数据的相关性:皮尔逊相关系数 r=0只能说明二者没有线性关系,不能说明没有关系
print(data.corr(method='pearson'))
2.6数据分布分析
# 数据的分布分析:高斯分布
print(data.skew())
三.数据可视化
3.1数据可视化
3.1.1直方图
# 直方图
data.hist()
3.1.2密度图
# 密度图
data.plot(kind='density', subplots=True, layout=(3,3), sharex=False)
3.1.3箱线图
# 箱线图
data.plot(kind='box', subplots=True, layout=(3,3), sharex=False)
3.2多重图表
3.2.1相关矩阵图
# 转换列类型
for column in names[:-1]: # 排除 'class' 列
data[column] = pd.to_numeric(data[column], errors='coerce')
# 计算数值列的相关性
numerical_data = data.select_dtypes(include=[np.number])
correlations = numerical_data.corr()
# 创建图形和子图
fig, ax = plt.subplots(figsize=(10, 8))
cax = ax.matshow(correlations, vmin=-1, vmax=1) # vmin=-1, vmax=1 通常是用于标准化颜色映射的范围
fig.colorbar(cax) # 添加颜色条
# 设置刻度
# 使用NumPy库时,np.arange(0, 9, 1)是一个生成数组的函数调用,它创建了一个从0开始(包括0),到9结束(不包括9),步长为1的整数数组
ticks = np.arange(len(names[:-1]))
ax.set_xticks(ticks)
ax.set_yticks(ticks)
ax.set_xticklabels(names[:-1])
ax.set_yticklabels(names[:-1])
# 显示相关性矩阵图
plt.show()
3.2.2混淆矩阵
from pandas.plotting import scatter_matrix
scatter_matrix(data)
plt.show()