通过对Titanic船上人员的信息来判断是否生还,已经明确过这是一个二元分类器。训练样本数据已经全部处理完,并保存在df变量中,接下来就可以训练模型进行数据训练。
接着就需要开始选择一个分类器进行训练了,目前先选择随机梯度下降(SGD)分类器。
训练模型
使用sklearn的SGDClassifier进行非常的方便,大致流程如下:
- 将Pandas转为Numpy
- 将输入和输出分别赋值给X,y
- 使用SGD分类器进行数据训练
- 获取训练结果的准确率和召回率
这段代码很短,具体如下所示:
from sklearn.linear_model import SGDClassifier
from sklearn.model_selection import cross_val_predict
from sklearn.metrics import precision_score, recall_score
train_df = df.filter(regex='Survived|Age|SibSp|Parch|Fare_.*|Cabin_.*|Embarked_.*|Sex_.*|Pclass_.*')
train_np = train_df.values
X, y = train_np[:, 1:], train_np[:,