尝试创建ROC曲线。
model = RandomForestClassifier(500, n_jobs = -1);
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
probas = model.predict_proba(X_test)[:, 1]
precision = metrics.precision_score(y_test, y_pred) # returns 0.72
recall = metrics.recall_score(y_test.values, y_pred) # returns 0.35
y_test.shape # (39257, 1)
auc = metrics.roc_auc_score(y_test, probas) # fails.
ValueError:y_true中只有一个类。在这种情况下,没有定义ROC AUC分数。
答案 0 :(得分:4)
结束回答我自己的问题:
导入y_test作为pandas DataFrame而不是Series(使用to_csv保存并使用from_csv导入其他地方)。
这对于ROC曲线的混淆scikit,但它似乎很满意其他地方。
我会留在这里(不太可能)有人遇到同样的事情。
答案 1 :(得分:0)
有时我们会遇到不平衡的数据集。
就像在分裂时一样,任何一个类都有可能不存在任何数据集(测试数据集) .所以分裂时最好使用分层技术。
或者如果您在训练 MLP 模型时遇到问题,那么您可以尝试增加“batch_size”
我希望,这可能会有所帮助。 谢谢