用python在kaggle上试了几个project,有点体会,记录下。
Step1: Exploratory Data Analysis
EDA,也就是对数据进行探索性的分析,一般就用到pandas和matplotlib就够了。EDA一般包括:
-
每个feature的意义,feature的类型,比较有用的代码如下
df.describe()
df['Category'].unique()
-
看是否存在missing value
df.loc[df.Dates.isnull(),'Dates']
-
每个特征下的数据分布,可以用boxplot或者hist来看
%matplotlib inline
import matplotlib.pyplot as plt
df.boxplot(column='Fare', by = 'Pclass')
plt.hist(df['Fare'], bins = 10, range =(df['Fare'].min(),df['Fare'].max()))
plt.title('Fare >distribution')
plt.xlabel('Fare')
plt.ylabel('Count of Passengers')
#如果变量是categorical的,想看distribution,则可以:
df.PdDistrict.value_counts().plot(kind='bar', figsize=(8,10))
-
如果想看几个feature之间的联立情况,则可以用pandas的groupby,
temp = pd.crosstab([df.Pclass, df.Sex], df.Survived.astype(bool))
temp.plot(kind='bar', stacked=True, color=['red','blue'], grid=False)
在这步完成之后,要对以下几点有大致了解
-
理解每个特征的意义
-
要知道哪些特征是有用的,这些特征哪些是直接可以用的,哪些需要经过变换才能用,为之后的特征工程做准备
Step2: Data Preprocessing
数据预处理,就是将数据处理下,为模型输入做准备,其中包括:
阅读(989) | 评论(0) | 转发(0) |