在python中计算AUC ROC时出错

时间:2017-07-11 10:11:51

标签: python scikit-learn roc sklearn-pandas

我正在使用sklearn在python中实现线性回归。

我使用linear_model.LinearRregression()函数成功训练了模型。

现在,我想使用AUC ROC方法测量模型的优度。 我正在使用以下代码执行相同的操作:

train_set[predictors1], train_set["loan_status"] = make_classification(n_samples=4000, n_features=2, n_redundant=0, flip_y=0.4)
train, test, train_t, test_t = train_test_split(train_set[predictors1], train_set["loan_status"], train_size=0.9)

rf.fit(train, train_t)

但是,第1行的错误如下:

  

ValueError:设置时必须具有相等的len键和值   ndarray

1 个答案:

答案 0 :(得分:1)

make_classification的{​​{3}}代表以下

  

返回:
  X:形状数组[n_samples,n_features]   生成的样本。

     

y:形状数组[n_samples]   每个样本的类成员资格的整数标签。

看起来问题是X是一个包含两个数组的列表,并且您尝试将这两个数组分配给您的pandas数据帧上的一列。您需要隔离所需的数组,然后将其分配给所需的列。

_X, df['loan_status'] = make_classification()
df['my_col'] = _X[0]
# or
df['my_col'] = _X[1]