2017-07-11 8 views
-1

Je suis en régression linéaire de mise en œuvre en utilisant python sklearn.erreur dans le calcul AUC ROC en python

J'ai avec succès le modèle formé en utilisant la fonction linear_model.LinearRregression().

Maintenant, je veux mesurer goodnessoffit du modèle en utilisant la méthode AUC ROC. J'utilise le code suivant pour faire la même chose:

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) 

Mais, l'erreur se dans la ligne 1 comme ci-dessous:

ValueError: Must have equal len keys and value when setting with an ndarray

+0

[make_classification] renvoie (http://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_classification.html) 'X: matrice de forme [N_SAMPLES, n_features]' et 'y : array of shape [n_samples] ', ce qui signifie que vous essayez de définir sur le ndarray' train_set [predictors1] 'quelque chose avec une forme différente qui ne correspond pas. Essayez comme ceci 'X, y = make_classification (n_samples = 4000, n_features = 2, n_redundant = 0, flip_y = 0.4)', par exemple. http://scikit-learn.org/stable/auto_examples/calibration/plot_calibration_curve.html#sphx-glr-auto-examples-calibration-plot-calibration-curve-py – mkaran

Répondre

1

Documentation pour make_classification dit le

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.

suivant ressemble les problèmes sont que X est une liste avec deux tableaux et vous essayez d'attribuer ces deux tableaux à une colonne sur votre pandas dat un cadre. Vous devez isoler le tableau que vous voulez puis l'assigner à la colonne désirée.

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