sklearn cross_val_score () возвращает значения NaN - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь предсказать покупку следующего клиента моей работой. Я следовал руководству, но когда я попытался использовать функцию cross_val_score (), он возвращает значения NaN. Скриншот блокнота Google Colab

Переменные:

  • X_train is фрейм данных
  • X_test - это фрейм данных
  • y_train - это список
  • y_test - это список

Код:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=50)
X_train = X_train.reset_index(drop=True)
X_train
X_test = X_test.reset_index(drop=True)

y_train = y_train.astype('float')
y_test = y_test.astype('float')

models = []
models.append(("LR",LogisticRegression()))
models.append(("NB",GaussianNB()))
models.append(("RF",RandomForestClassifier()))
models.append(("SVC",SVC()))
models.append(("Dtree",DecisionTreeClassifier()))
models.append(("XGB",xgb.XGBClassifier()))
models.append(("KNN",KNeighborsClassifier()))´

for name,model in models:
   kfold = KFold(n_splits=2, random_state=22)
   cv_result = cross_val_score(model,X_train,y_train, cv = kfold,scoring = "accuracy")
   print(name, cv_result)
>>
LR [nan nan]
NB [nan nan]
RF [nan nan]
SVC [nan nan]
Dtree [nan nan]
XGB [nan nan]
KNN [nan nan]

помогите пожалуйста!

1 Ответ

0 голосов
/ 13 февраля 2020

Ну, спасибо всем за ваши ответы. Ответ Анны мне очень помог!, Но я не использовал X_train.values, вместо этого я присвоил уникальный идентификатор клиентам, затем удалил столбец «Клиенты», и он работает!

Теперь у моделей есть этот вывод :)

LR [0.73958333 0.74736842]
NB [0.60416667 0.71578947]
RF [0.80208333 0.82105263]
SVC [0.79166667 0.77894737]
Dtree [0.82291667 0.83157895]
XGB [0.85416667 0.85263158]
KNN [0.79166667 0.75789474]
...