#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. пожалуйста, добавьте соответствующие отступы кода и описания