在 python 中计算 AUC ROC 时出错

error in calculating AUC ROC in python

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

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

现在,我想使用 AUC ROC 方法测量模型的 goodnessoffit。 我正在使用以下代码来做同样的事情:

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: Must have equal len keys and value when setting with an ndarray

Documentation 对于 make_classification 表示以下内容

Returns:
X : array of shape [n_samples, n_features] The generated samples.

y : array of shape [n_samples] The integer labels for class membership of each sample.

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

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