Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python k-折叠测试本身就能得到结果吗?_Python_Machine Learning_Scikit Learn - Fatal编程技术网

Python k-折叠测试本身就能得到结果吗?

Python k-折叠测试本身就能得到结果吗?,python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,我的问题是,当我在第一行评论管道时,我仍然可以得到准确度分数。它让我很困惑,我想它应该报告一个错误为什么?看起来它不需要管道的定义。这是相关部分 简短的回答是:不,它不能。没有pipe\u lr行,代码将无法运行。它在没有它的情况下运行的唯一原因是,您在一些特殊的环境中运行它,例如ipython notebook,并且以前您使用这行运行相同的代码,因此它仍然在相同的范围内保留在内存中(因此第二次运行仍然访问原始的管道lr对象)。或者您实际上在代码中的其他地方定义了该变量(例如,在定义数据的块中,

我的问题是,当我在第一行评论管道时,我仍然可以得到准确度分数。它让我很困惑,我想它应该报告一个错误为什么?看起来它不需要管道的定义。这是相关部分


简短的回答是:不,它不能。没有
pipe\u lr
行,代码将无法运行。它在没有它的情况下运行的唯一原因是,您在一些特殊的环境中运行它,例如ipython notebook,并且以前您使用这行运行相同的代码,因此它仍然在相同的范围内保留在内存中(因此第二次运行仍然访问原始的
管道lr
对象)。或者您实际上在代码中的其他地方定义了该变量(例如,在定义数据的块中,
mms
等,您从问题本身中删除了该变量)。当在干净的环境中正确运行时,如果没有
pipe\u lr
,此代码将无法工作(甚至无法运行)

如果你让人们知道你用什么语言编码,然后用标签标记,你会得到更多的帮助。让我猜猜,你使用的是ipython笔记本,运行了这个代码,然后注释了一行,重新运行这个单元,它仍然可以工作?是的,你是对的。是的,我和spyder一起运行它。我以前从来不知道。非常感谢。
from sklearn.ensemble import ExtraTreesClassifier
from sklearn.feature_selection import SelectFromModel
import pandas as pd
import numpy as np
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import MinMaxScaler
from sklearn.preprocessing import LabelEncoder
from sklearn.pipeline import Pipeline
from sklearn.tree import DecisionTreeClassifier
from sklearn.cross_validation import StratifiedKFold


pipe_lr=Pipeline([('normalization',mms),
                  ('feature_selection',feature_selection),
                  ('classification',DecisionTreeClassifier())])

"""
K-fold test
"""

kfold=StratifiedKFold(y=y_train,n_folds=10,random_state=1)
scores=[]
features=[]
for k,(train,test) in enumerate (kfold):
    pipe_lr.fit(X_train[train],y_train[train])
    score=pipe_lr.score(X_train[test],y_train[test])

    scores.append(score)
    print('Fold: %s, Class dist.: %s,Acc: %.3f' %(k+1,
            np.bincount(y_train[train]), score))