数据分类流程(以titanic分类为例)

一、流程(实际中,以下流程中各个环节可能是循环往复的)
以下数据为例
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、预测

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值