F-beta 分数
F-beta 分数是精确率与召回率的加权调和平均,用于以不同权重衡量精确率与召回率。很多情况下,您可能更看重精确率而非召回率,此时可选择 0 到 1 之间更低的 beta 值。在本练习中,您将计算一个 MLP 分类器的精确率、召回率,以及在 beta = 0.5 下的 F-beta 分数。
X_train、y_train、X_test、y_test 已在您的工作区中可用,特征已标准化。pandas 已以 pd 导入,sklearn 也已可用。来自 sklearn.metrics 的 fbeta_score() 也已提供。
本练习是课程的一部分
用 Python 预测 CTR 的机器学习实战
练习说明
- 将数据划分为训练集和测试集。
- 定义一个 MLP 分类器,使用
.fit()进行训练,并使用.predict()进行预测。 - 使用
sklearn中的实现计算精确率、召回率和 F-beta 分数。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Set up MLP classifier, train and predict
X_train, X_test, y_train, y_test = ____(
____, ____, test_size = .2, random_state = 0)
clf = ____(hidden_layer_sizes = (16, ),
max_iter = 10, random_state = 0)
y_pred = clf.____(____, _____).____(X_test)
# Evaluate precision and recall
prec = ____(y_test, ____, average = 'weighted')
recall = ____(y_test, ____, average = 'weighted')
fbeta = ____(y_test, ____, ____ = 0.5, average = 'weighted')
print("Precision: %s, Recall: %s, F-beta score: %s" %(prec, recall, fbeta))