sklearn RandomForestRegressor oob_score_ 看起来不对?

数据挖掘 Python scikit-学习 随机森林
2022-02-20 13:32:38

我是数据科学的新手。我安装了 Jupyter 笔记本并试图为 kaggle titanic 数据集创建模型。下面是我写的代码——

from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import roc_auc_score
import pandas as pd
X = pd.read_csv("train.csv")
y = X["Survived"]
X["Age"].fillna(X.Age.mean(),inplace = True)
numeric_variables = list(X.dtypes[X.dtypes != "object"].index)
model = RandomForestRegressor(n_estimators=100, oob_score = True, random_state = 42)
model.fit(X[numeric_variables],y)
model.oob_score_

我得到的oob_score_输出为 1.0,而根据教程的实际输出应该是 0.13420 .... 之后我做了

y_oob = model.oob_prediction_
print "c,stat:", roc_auc_score(y,y_oob)

我的输出也是 1.0。我的代码或 Jupyter 设置有问题吗?

1个回答

您正在使用随机森林回归器,但由于您有一个乘客幸存与否的二元响应,因此应使用随机森林分类器。如果这不能解决问题,请将链接发送到教程。