预测《权力的游戏》角色生死
虽然目标变量没有缺失值,但其他特征有。由于本课程不聚焦数据清洗与预处理,我们已为您完成如下预处理:
- 将 NA 值替换为
0。 - 将年龄为负的值替换为
0。 - 将年龄中的 NA 值替换为其均值。
现在让我们使用平均法来构建一个集成模型。以下单个模型已构建好:
- 逻辑回归(
clf_lr)。 - 决策树(
clf_dt)。 - 支持向量机(
clf_svm)。
由于目标是二元分类,这些模型单独表现都可能不错。您的目标是使用平均法将它们组合起来。回忆视频中的讲解,这相当于一种 soft 投票方法,因此您仍应使用 VotingClassifier()。
本练习是课程的一部分
Python 中的集成方法
练习说明
- 设置由
(string, estimator)组成的元组列表。对clf_lr使用'lr',对clf_dt使用'dt',对clf_svm使用'svm'。 - 构建名为
clf_avg的平均法分类器。请务必为voting参数指定取值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Build the individual models
clf_lr = LogisticRegression(class_weight='balanced')
clf_dt = DecisionTreeClassifier(min_samples_leaf=3, min_samples_split=9, random_state=500)
clf_svm = SVC(probability=True, class_weight='balanced', random_state=500)
# List of (string, estimator) tuples
estimators = ____
# Build and fit an averaging classifier
clf_avg = ____
clf_avg.fit(X_train, y_train)
# Evaluate model performance
acc_avg = accuracy_score(y_test, clf_avg.predict(X_test))
print('Accuracy: {:.2f}'.format(acc_avg))