__init__() a obtenu un inattendu argument mot-clé 'n_splits' ERREUR
Je vais essayer le code dans ce lien:
J'obtiens l'erreur de la ligne qui fait référence à StratifiedKFold(n_splits=60)
. Quelqu'un peut-il me dire comment je peux résoudre cette erreur?
Voici le Code:
import numpy as np
from scipy import interp
import matplotlib.pyplot as plt
from itertools import cycle
from sklearn import svm, datasets
from sklearn.metrics import roc_curve, auc
from sklearn.cross_validation import StratifiedKFold
iris = datasets.load_iris()
X = iris.data
y = iris.target
X, y = X[y != 2], y
X, y
cv = StratifiedKFold(n_splits=6)
classifier = svm.SVC(kernel='linear', probability=True,
random_state=random_state)
mean_tpr = 0.0
mean_fpr = np.linspace(0, 1, 100)
Voici l'erreur:
TypeError Traceback (most recent call last)
<ipython-input-227-2af2773f4987> in <module>()
----> 1 sklearn.cross_validation.StratifiedKFold(n_splits=6)
2 #cv = StratifiedKFold(n_splits=6, shuffle=True, random_state=1)
3 classifier = svm.SVC(kernel='linear', probability=True,
4 random_state=random_state)
5
TypeError: __init__() got an unexpected keyword argument 'n_splits'
sklearn.cross_validation.StratifiedKFold
n'est passklearn.model_selection.StratifiedKFold
et ne prend pas les mêmes arguments.- Dans le lien qu'ils ont utilisé
sklearn.model_selection.StratifiedKFold
. Mais vous utilisezsklearn.cross_validation.StratifiedKFold
. Le modulecross_validation
a été désapprouvée. Je suis sûr que vous devez avoir reçu un avertissement pour elle. - La raison pour laquelle je suis à l'aide de sklearn.cross_validation.StratifiedKFold est que je suis d'erreur lors de l'utilisation de sklearn.model_selection.StratifiedKFold. Je n'ai pas d'avertissement lors de l'utilisation de sklearn.cross_validation.StratifiedKFold
- J'ai répondu à votre problème. Mais une chose que j'ai remarqué, c'est que vous venez de frapper et courir. ie poser des questions, de commentaires sur les réponses si il ne marche pas à résoudre, puis plus rien. Vous n'avez accepter les réponses qui résoudre le problème, il ne vous même commentaire que votre problème a été résolu par une réponse spécifique ou non.
Vous devez vous connecter pour publier un commentaire.
Vous n'êtes pas d'obtenir des avertissements lors de l'importation du
sklearn.cross-validation
module. Cela signifie que votre version installée est inférieure à 0.18.Si votre scikit-learn version est
< 0.18
, puis modifiez les lignes ci-dessous:(Prises de StratifiedKFold de la documentation pour la version 0.17)
Si votre scikit-learn version est
>=0.18
, puis seulement vous pouvez utiliser len_splits
paramètre pour lacv
:(Prises de StratifiedKFold actuel de la documentation, qui est ce que je pense que vous faites allusion)
Recommandation:
Mise à jour de votre scikit-learn à la dernière version de 0,18. Parce que la plupart de la documentation, vous trouverez directement de la recherche sera de cette version et il vous confond.
Edit:
J'ai déjà répondu à votre question similaire ici:
- Problème avec la Validation Croisée
Alors, la prochaine fois, merci de mentionner la version de bibliothèques que vous utilisez dans la question elle-même, et n'oubliez pas d'accéder à leurs documents pertinents, pas pour les autres.