kaggle:titanic

来源:互联网 发布:路由器网络延迟不稳定 编辑:程序博客网 时间:2024/04/27 21:10

整个过程可以概括为:训练数据中进行数据清洗,特征提取,模型构建,训练和验证。之后在测试数据中进行相同的步骤,在模型构建后进行预测分类。
数据清洗和特征提取:如果某一列的缺省值很多可以删除该列 eg : del train[‘Sex’]
可以对特征进行onehot编码,如果对应的特征不是数字可以先转化成标签。
这里写图片描述
sex_label就是类似于[0,0,1,0,1,1…]的标签集
sex_oh是类似于[[1,0],[1,0],[0,1],[1,0]…]的onehot形式
对数据进行归一化处理:
这里写图片描述
StanddardScaler()是数据减去均值再除以方差。
预测空缺的年纪并补全:使用随机森林进行预测。
模型的构建:分类问题可以选择逻辑回归,决策树等方法。
对训练数据进行切分,提取一部分训练,一部分测试。
这里写图片描述
之后fit训练部分的数据进行训练,使用测试部分数据判断训练结果(model.score(x_ts,y_ts))
对test部分进行预测:
将test数据进行和train数据相同的处理。之后使用之前的模型进行预测
这里写图片描述
整个过程用到了很多sklearnde的方法:
sklearn.preprocessing.LabelEncoder
将离散的特征用标签标示,例如将[male,female]用[0,1]来表示。
sklearn.prtprocessing.Onehotencoder
将[0,1,2]之类的标签用one_hot来表示,例如[0,1,2]用[[1,0,0],[0,1,0],[0,0,1]]表示。0,1,2三个特征量之间的距离不等,换成one-hot之后三个等价。
注意如果数据是一列需要对其reshape(-1,1),最后把其加入列表使用。
sklearn.preprocessing.StandardScaler
标准化函数,减去均值除以方差。
sklearn.preprocessing.RandomForestRegressor 随机森林回归
使用这个方法进行年龄的预测,将训练数据fit进去学习,使用prediction对未知的进行预测。
sklearn.model_selection.train_test_split
按比例对数据进行划分,一部分用于测试,一部分用于训练
sklearn.linear_model.LogisticRegression
逻辑回归模型实现预测 lr.fit() 填充训练数据进行训练,lr.predict()进行预测。

原创粉丝点击