Pima Indians糖尿病发病情况数据集
下载地址:http://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes
描述了患者医疗记录数据,以及他们是否在五年内发生糖尿病。这是一个二元分类问题。(糖尿病为1或非糖尿病为0),描述每个患者的输入变量是数值类型,具有不同的尺度。
from pandas import read_csv
#简单地查看数据
#显示数据的前10行
filename = 'pima_data.csv'
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename,names=names)
print(data.head(10))
#数据的维度
print(data.shape)
#查看数据属性和类型
#字符串会被转化成浮点数或整数,以便于计算和分类
print(data.dtypes)
#描述性统计
#数据记录数、平均值、标准方差、最小值、下四分位数、中位数、上四分位数、最大值
print(data.describe())
#数据分组分布(适用于分类算法)
#数据分布是否平衡
print(data.groupby('class').size())
#数据属性的相关性是指数据的两个属性是否互相影响
#通用的计算两个属性的相关性的方法是皮尔逊相关系数,介于1和-1之间的值
#1表示变量完全正相关,0表示无关,-1表示完全负相关。
#数据特征的相关性比较高,应该考虑对特征进行降维处理
print(data.corr(method='pearson'))
#数据的分布分析
#高斯分布又叫正态分布,高斯分布的曲线:两头低、中间高、左右对称
#skew()函数的结果显示了数据分布是左偏还是右偏,当数据接近于0时,表示数据的偏差非常小
print(data.skew())
总结:通过对数据的理解,选择有效的算法。