在 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]
我正在使用 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]