糖尿病遗传风险检测挑战赛 -- 实战记录 (一)

1.数据集初识

1.1加载数据集、查看数据集内容

# coding=gbk
import pandas as pd

train_df = pd.read_csv('E:/project/NLP/dataSet/糖尿病遗传风险预测挑战赛公开数据/比赛训练集.csv', encoding='gbk')
test_df = pd.read_csv('E:/project/NLP/dataSet/糖尿病遗传风险预测挑战赛公开数据/比赛测试集.csv', encoding='gbk')
train_df.head(10)
#test_df.head(10)糖尿病遗传风险检测挑战赛 -- 实战记录 (一)_第1张图片

1.2查看数据集大小及数据类型

print(train_df.shape, test_df.shape)
print(train_df.dtypes, test_df.dtypes) 

糖尿病遗传风险检测挑战赛 -- 实战记录 (一)_第2张图片

 2.数据分析

2.1 缺失值

#查看哪一列有缺失值

train_df.isnull().any()

糖尿病遗传风险检测挑战赛 -- 实战记录 (一)_第3张图片

#统计空值个数

train_df.isnull().values.sum()

train_df.isnull().sum()

糖尿病遗传风险检测挑战赛 -- 实战记录 (一)_第4张图片

 

 

#可以看出只有舒张压有缺失值,其他数据都是完整的。(初步看上去还让人挺高兴) 

# 缺失值计算
train_df.isnull().mean(0)

糖尿病遗传风险检测挑战赛 -- 实战记录 (一)_第5张图片
test_df.isnull().mean(0)

 

糖尿病遗传风险检测挑战赛 -- 实战记录 (一)_第6张图片

 #缺失值分析

isnull().mean()函数给出了空值列的占比,训练集 总数据量5070,舒张压空值个数274,得到空值列占比为0.0487。

训练集和测试集空值分布基本差不多,空值占比都不是很高(忍不住又想夸一夸数据集了,真干净哈哈)

2.2 相关性

#相关性计算

train_df.corr()

糖尿病遗传风险检测挑战赛 -- 实战记录 (一)_第7张图片

# 相关性分析

可以看出原始数据集和患有糖尿病标识相关性最高的特征依次是:1. 肱三头肌皮褶厚度 2.体重指数 3.口服耐糖量测试 4.舒张压 5.胰岛素释放实验

其他特征的相关性就比较低了,但是这是数据未做任何处理的情况,比如出生年份,可以转换为年龄(个人猜想效果会变好,后面有待验证)

(这一篇先到这儿,接下来先在原始数据集上使用逻辑回归看下效果,然后一步步进行特征优化,得到更强的模型)

你可能感兴趣的:(赛题实战记录,pandas,python,机器学习,数据分析)