Блокнот Jupyter ничего не печатает - PullRequest
0 голосов
/ 06 апреля 2020

Я работаю над проблемой классификации ML на ноутбуке jupyter. рассмотрите следующий код

Код (ячейка 1)

# all imports goes here
w.filterwarnings('ignore')
# define scoring method
scoring = 'accuracy'

# Define models to train
names = ["Nearest Neighbors", "Gaussian Process",
         "Decision Tree", "Random Forest", "Neural Net", "AdaBoost",
         "Naive Bayes", "SVM Linear", "SVM RBF", "SVM Sigmoid"]

classifiers = [
    KNeighborsClassifier(n_neighbors = 3),
    GaussianProcessClassifier(1.0 * RBF(1.0)),
    DecisionTreeClassifier(max_depth=5),
    RandomForestClassifier(max_depth=5, n_estimators=10, max_features=1),
    MLPClassifier(alpha=1),
    AdaBoostClassifier(),
    GaussianNB(),
    SVC(kernel = 'linear'), 
    SVC(kernel = 'rbf'),
    SVC(kernel = 'sigmoid')
]

models = zip(names, classifiers)

# evaluate each model in turn
results = []
names = []

for name, model in models:
    kfold = model_selection.KFold(n_splits=10, random_state = seed)
    cv_results = model_selection.cross_val_score(model, X_train, y_train, cv=kfold, scoring=scoring)
    results.append(cv_results)
    names.append(name)
    msg = "%s: %f (%f)" % (name, cv_results.mean(), cv_results.std())
    print(msg)

Эта ячейка работает правильно и печатает все модели с точностью, как и ожидалось.

Код (ячейка 2)

for name, model in models:][1]][1]
    model.fit(X_train, y_train)
    predictions = model.predict(X_test)
    print(name)
    print(accuracy_score(y_test, predictions))
    print(classification_report(y_test, predictions))

Но эта ячейка ничего не печатает. также нет ошибок / предупреждений. See this

Обновление

Я отредактировал код в ячейке и колабе, показывая ошибку как

Номер сеанса / строки не уникален в нашей базе данных updatate

1 Ответ

0 голосов
/ 08 апреля 2020

благодаря @ kn oop я сжал имена, классификатор в последней ячейке, и это решило мою проблему.

models = zip(names, classifiers)
for name, model in models:
    model.fit(X_train, y_train)
    predictions = model.predict(X_test)
    print(name)
    print(accuracy_score(y_test, predictions))
    print(classification_report(y_test, predictions))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...