一、流程(实际中,以下流程中各个环节可能是循环往复的)
以下数据为例
trn_df = pd.read_csv("./train.csv")
tst_df = pd.read_csv("./test.csv")
1、观察数据(以下对特征和类的变换,要用在trn和tst上,切忌只操作trn)
(1)概览(有多少特征,每种特征类型,类别数,缺失情况)
trn_df.info()
trn_df.describe(include='all')
(2)类分布、特征值分布(可以通过多种图标方式展示value_counts()-->bar()、groupby、hist、 kde)
trn_survived_vals = trn_df.Survived.value_counts()
trn_df.Age.plot(kind='kde')
(3)特征和类标签之间的关系
trn_df.Age[trn_df.Survived == 0].plot(kind='hist')
trn_df.Age[trn_df.Survived == 1].plot(kind='hist')
df.plot.bar(stacked=True)
trn_df.groupby(['SibSp','Survived']).count()
2、预处理
(1)缺失值处理
drop缺失过多的行或列
将缺失值作为一个特殊值
变换
填充(依据全体或同类或相似样本对应特征值)
(2)对categorical特征进行,dummy变换
dummy_sex = pd.get_dummies(trn_df['Sex'], prefix='Sex')
trn_df.drop(['Sex'], axis=1, inplace=True)
trn_df = pd.concat([trn_df, dummies_Cabin, dummies_Embarked, dummy_sex], axis=1)
(3)scaling处理
min-max
x'={\frac {x-{\text{min}}(x)}{{\text{max}}(x)-{\text{min}}(x)}}
normalization
x' = \frac{x - \bar{x}}{\sigma}
Scaling to unit length
{\displaystyle x'={\frac {x}{||x||}}} x'={\frac {x}{||x||}}
(4)特征选择
手工(根据之前的观察)选择
机器学习方法选择(随机森林)
3、cv(模型及参数选择)
4、训练
5、预测
以下数据为例
trn_df = pd.read_csv("./train.csv")
tst_df = pd.read_csv("./test.csv")
1、观察数据(以下对特征和类的变换,要用在trn和tst上,切忌只操作trn)
(1)概览(有多少特征,每种特征类型,类别数,缺失情况)
trn_df.info()
trn_df.describe(include='all')
(2)类分布、特征值分布(可以通过多种图标方式展示value_counts()-->bar()、groupby、hist、 kde)
trn_survived_vals = trn_df.Survived.value_counts()
trn_df.Age.plot(kind='kde')
(3)特征和类标签之间的关系
trn_df.Age[trn_df.Survived == 0].plot(kind='hist')
trn_df.Age[trn_df.Survived == 1].plot(kind='hist')
df.plot.bar(stacked=True)
trn_df.groupby(['SibSp','Survived']).count()
2、预处理
(1)缺失值处理
drop缺失过多的行或列
将缺失值作为一个特殊值
变换
填充(依据全体或同类或相似样本对应特征值)
(2)对categorical特征进行,dummy变换
dummy_sex = pd.get_dummies(trn_df['Sex'], prefix='Sex')
trn_df.drop(['Sex'], axis=1, inplace=True)
trn_df = pd.concat([trn_df, dummies_Cabin, dummies_Embarked, dummy_sex], axis=1)
(3)scaling处理
min-max
x'={\frac {x-{\text{min}}(x)}{{\text{max}}(x)-{\text{min}}(x)}}
normalization
x' = \frac{x - \bar{x}}{\sigma}
Scaling to unit length
{\displaystyle x'={\frac {x}{||x||}}} x'={\frac {x}{||x||}}
(4)特征选择
手工(根据之前的观察)选择
机器学习方法选择(随机森林)
3、cv(模型及参数选择)
4、训练
5、预测