python - 有人可以解释为什么 KFold 不承认我在这个 for 循环中对模型的定义吗?
问题描述
我正在尝试比较不同的算法,看看哪种算法最适合我的问题。
我正在直接从本教程中试用代码: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
推荐阅读
- javascript - 操作 API AJAX JSON 响应并将其传递到另一个页面的最佳方法是什么?
- firebase - 当我为flutter web添加firebase时,我的应用程序将无法运行
- java - 将 HEX 转换为 UINT32 Little Endian
- powershell - 如何使用 Powershell 和 CSV 重命名大量文件
- c# - 抛出异常:System.Private.CoreLib.dll 中的“System.ArgumentException”:“windows-1252”不是受支持的编码名称
- python - redis 排序集上的事务看起来不是原子的
- scala - 基本的新 dotty 项目说明因“无效的私钥”而失败,如何解决?
- java - 如何显示持久对话
- javascript - 我可以从库中优化繁重的主线程 JavaScript 视觉效果吗?
- tortoisegit - 如何在乌龟 git 中看到“更完整”的登录?