[英]Can someone explain why KFold isn't admitting my definition of the model in this for loop?
我正在嘗試比較不同的算法,以找出最適合我的問題的算法。
我正在直接從本教程中嘗試代碼: https : //machinelearningmastery.com/machine-learning-in-python-step-by-step/
特別是在下面的代碼中:
import sys
import pandas as pd
import scipy as sp
import sklearn as sk
import numpy as np
import matplotlib.pyplot as plt
from pandas.plotting import scatter_matrix
from sklearn.model_selection import train_test_split
from sklearn.model_selection import KFold
from sklearn.linear_model import LogisticRegression
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC
from sklearn.naive_bayes import GaussianNB
from sklearn.tree import DecisionTreeClassifier
models = []
models.append(('LR', LogisticRegression(solver='liblinear', multi_class='ovr')))
models.append(('LDA', LinearDiscriminantAnalysis()))
models.append(('KNN', KNeighborsClassifier()))
models.append(('CART', DecisionTreeClassifier()))
models.append(('NB', GaussianNB()))
models.append(('SVM', SVC(gamma='auto')))
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)
當我運行它時,我不斷得到(第12行的<----):
NameError Traceback (most recent call last)
<ipython-input-25-e6a861b6e218> in <module>()
10 names = []
11 for name, model in models:
12 kfold = model_selection.KFold(n_splits=10, random_state=seed) <----
13 cv_results = model_selection.cross_val_score(model, X_train, Y_train, cv=kfold, scoring=scoring)
14 results.append(cv_results)
NameError: name 'model_selection' is not defined
有人可以向我解釋KFold如何正常工作以及為什么它不接受實例嗎?
KFold
是sklearn.model_selection
模塊的一部分。
通過執行以下操作,確保將名稱導入到您的工作區中
from sklearn import model_selection
和使用
model_selection.KFold
要么
import sklearn.model_selection
sklearn.model_selection.KFold
甚至
from sklearn.model_selection import KFold
KFold
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.