Неопределенное предупреждение: Точность не определена и установлена на 0.0 из-за отсутствия прогнозируемых выборок

#machine-learning

Вопрос:

[Как решить эту проблему, не игнорируя предупреждение?][1] Неопределенное предупреждение: Точность определена неверно и установлена на 0.0 из-за отсутствия прогнозируемых выборок. Используйте zero_division параметр для управления этим поведением. _warn_prf(среднее значение, модификатор, msg_start, len(результат))

 from sklearn.model_selection
import KFold
kf = KFold(n_splits = 10)
kf




def get_score(model, X_train, X_test, y_train, y_test):
    model.fit(X_train, y_train)
    return model.score(X_test, y_test)

from numpy import mean, std
from sklearn.model_selection import StratifiedKFold, cross_val_score
from sklearn import tree
from sklearn.tree import DecisionTreeClassifier
folds = StratifiedKFold(n_splits = 10)

def models(X_train, y_train,scoring, cv):

    scoresLR = cross_val_score(LogisticRegression(max_iter=1000), X, y, scoring = scoring, cv = cv, n_jobs = 1)
    print(' for Logistic Regression Model: %.3f (%.3f)' % (mean(scoresLR), std(scoresLR)))
    
    scoresRF = cross_val_score(RandomForestClassifier(n_estimators = 40), X, y, scoring = scoring, cv = cv, n_jobs = 1)
    print(' for Random Forest Model: %.3f (%.3f)' % (mean(scoresRF), std(scoresRF)))

    scoresKNN = cross_val_score(KNeighborsClassifier(n_neighbors = 5, metric = 'euclidean'), X, y, scoring = scoring, cv = cv, n_jobs = 1)
    print(' for KNN Model: %.3f (%.3f)' % (mean(scoresKNN), std(scoresKNN)))

    scoresDtree= cross_val_score(DecisionTreeClassifier(max_depth= 10, criterion='gini'), X, y, scoring = scoring, cv = cv, n_jobs = 1)
    print(' for Decision Tree Model: %.3f (%.3f)' % (mean(scoresDtree), std(scoresDtree)))

    scoresSV = cross_val_score(SVC(), X, y, scoring = scoring, cv = cv, n_jobs = 1)
    print(' for SVM Model: %.3f (%.3f)' % (mean(scoresSV), std(scoresSV)))



from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state=42)



cv= StratifiedKFold(n_splits=10, random_state=1, shuffle = True)

print ('n Accuracy: n')
models(X_train, y_train, 'accuracy', cv)

print ('n Precision: n')
models(X_train, y_train, 'precision', cv)

print ('n Recall: n')
models(X_train, y_train, 'recall', cv)

print ('n F-measure: n')
models(X_train, y_train, 'f1', cv)

print ('nROC: n')
models(X_train, y_train, 'roc_auc', cv)
  
 

Комментарии:

1. пожалуйста, добавьте соответствующие отступы кода и описания