数据分析小技巧第七集:快速清洗、定位最关键特征

共 1254字,需浏览 3分钟

 ·

2020-12-24 07:04

Python与算法社区
第 451 篇原创,干货满满
三步加星标


01

02

03

三步加星标






你好,我是 zhenguo

我正在按照下面施工计划往前推进,标记小红旗部分已经讲完,你可以从这里:施工专题已完成 60 篇 汇总 找到过往推送文章



今天晚上使用最经典的泰坦尼克数据集,和你一起探讨,如何快速清洗数据,如何快速找出影响y的特征列表。

在文末我会提供数据集和这个notebook的下载

首先导入包:

import numpy as np 
import pandas as pd 
import seaborn as sns
import matplotlib.pyplot as plt

导入数据

df = pd.read_csv('./kaggle-data/titanic/train.csv')

找到所有列的None值

df.isnull().sum()
PassengerId      0
Survived         0
Pclass           0
Name             0
Sex              0
Age            177
SibSp            0
Parch            0
Ticket           0
Fare             0
Cabin          687
Embarked         2
dtype: int64

Age列较多,使用平均值填充

df['Age'] = df['Age'].transform(lambda val: val.fillna(val.mean()))

sex列映射male为0,female为1

df['Sex'] = df['Sex'].map({'male'0'female'1})
df = df.fillna(0)

接下来就是最关键的,使用corr方法,找出各个变量间的相关系数,并使用heatmap绘制相关性:

plt.figure(figsize=(8,6), dpi=150)
sns.heatmap(data=df.corr(), cmap='coolwarm', annot=True)

找出与survived列最相关的几个特征:

np.abs(df.corr()['Survived']).sort_values().tail(6)

去掉相关不大的列,得到如下影响survived最大的特征 DataFrame:

X = df.drop(['Survived''Cabin''Name''Embarked''Ticket'], axis=1)


想要本文数据集和这个notebook的,微信我备注:泰坦尼克

不必打赏
给我点个赞
就心满意足了
浏览 50
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报