如何在 DataFrame 上循环并应用 lambda 函数?

0 python machine-learning apply dataframe pandas

我正在构建一个机器学习模型。我想运行预测位几次,然后计算准确度分数的平均值。

我的代码如下所示:

predictions = test_df[['histor', 'philosoph', 'cook', 'roman', 'bibl']].apply(lambda x: baseline.predict(*x), axis=1)

y_true = test_df["label"].values

print("Accuracy: ", accuracy_score(y_true, predictions))
Run Code Online (Sandbox Code Playgroud)

有没有办法循环预测?期望的结果是:假设 n=10。预测运行了 10 次,我得到了每次运行的所有准确度以及最后的平均值。

希望这是有道理的。

小智 5

我会为此使用 sklearns cross_val_score :

from sklearn.model_selection import cross_val_score
X = test_df[['histor', 'philosoph', 'cook', 'roman', 'bibl']]
y = test_df["label"].values
cross_val_score(baseline, X, y, cv=10)
Run Code Online (Sandbox Code Playgroud)