Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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 在visual studio代码中调试scikit learn GridSearchCV时出现类型错误_Python_Visual Studio Code_Scikit Learn - Fatal编程技术网

Python 在visual studio代码中调试scikit learn GridSearchCV时出现类型错误

Python 在visual studio代码中调试scikit learn GridSearchCV时出现类型错误,python,visual-studio-code,scikit-learn,Python,Visual Studio Code,Scikit Learn,当我尝试在VisualStudio中调试python代码时,出现以下错误。令人惊讶的是,当我在没有调试的情况下运行代码时,代码运行良好。有什么线索吗 TypeError:必须以_winapi实例作为第一个参数调用未绑定的方法new_CreateProcess()(改为获取str实例) PS C:\GitHub\Project> 下面是导致错误的代码段。这是scikit learn中的标准网格搜索初始化。我不确定我错过了什么。我正在使用Python 2.7 from sklearn.model_s

当我尝试在VisualStudio中调试python代码时,出现以下错误。令人惊讶的是,当我在没有调试的情况下运行代码时,代码运行良好。有什么线索吗

TypeError:必须以_winapi实例作为第一个参数调用未绑定的方法new_CreateProcess()(改为获取str实例) PS C:\GitHub\Project>

下面是导致错误的代码段。这是scikit learn中的标准网格搜索初始化。我不确定我错过了什么。我正在使用Python 2.7

from sklearn.model_selection import GridSearchCV
clf = GridSearchCV(estimator=model, param_grid=p_grid, scoring='roc_auc', n_jobs=4, cv=inner_cv, refit=True, return_train_score=True)
clf.fit(x, y)
错误发生在clf.fit()行。以下是对上述代码的完整回溯:

import pandas as pd
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import cross_validate
from sklearn.preprocessing import StandardScaler

df = pd.read_csv([some file])
x = df.iloc[:,3:-1]
y = df.loc[:, 'Label']
colNames = x.columns

scaler = MinMaxScaler()
for i in range(2,x.shape[1]):
   columnName = x.columns[i]
   x[columnName] = scaler.fit_transform(x[columnName].values.reshape(-1,1))

p_grid = {'n_estimators' : list(range(10,101,10)),
         'max_features' : list(range(6,30,5))}
model = RandomForestClassifier()

numTrials = 30

non_nested_scores = np.zeros(numTrials)
nested_scores = []
scores = {'auc': 'roc_auc', 'f1': 'f1', 'precision':'precision', 'recall':'recall', 'accuracy':'accuracy'}
resultsLog = pd.DataFrame(columns=['trial','auc','f1','precision','recall','accuracy'])
for i in range(numTrials):

    n = 5
    inner_cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=i)
    outer_cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=i)

    # Non_nested parameter search and scoring
    clf = GridSearchCV(estimator=model, param_grid=p_grid, scoring='roc_auc', n_jobs=-1, cv=inner_cv, refit=True, return_train_score=True)
    clf = clf.fit(x,y)
    non_nested_scores[i] = clf.best_score_

    # Nested CV with parameter optimization
    nested_score = cross_validate(clf,
                                   X=x,
                                   y=y,
                                   scoring=scores,
                                   cv=outer_cv,
                                   n_jobs=-1)
m1 = np.mean(nested_score['test_auc'])
m2 = np.mean(nested_score['test_f1'])
m3 = np.mean(nested_score['test_precision'])
m4 = np.mean(nested_score['test_recall'])
m5 = np.mean(nested_score['test_accuracy'])
newRow = pd.DataFrame({'trial':[i], 'auc':[m1], 'f1':[m2], 'precision':[m3], 'recall':[m4], 'accuracy':[m5]})
resultsLog = pd.concat([resultsLog, newRow], ignore_index=True)
nested_scores.append(nested_score)

你能包括完整的回溯吗?否则,异常来自何处并不明显。@BrettCannon谢谢您的关注。我已经按照你的建议添加了完整的回溯。如果您还需要什么,请告诉我。不幸的是,看起来您粘贴了代码,而不是回溯。我想要的是关于
TypeError
消息的一切。这是我收到的错误消息:发生异常:TypeError unbound方法new\u CreateProcess()必须以_winapiinstance作为第一个参数调用(改为get str instance)——这是否回答了您的问题?如果没有,请让我知道如何才能提供更多信息。非常感谢你@BrettCannoni如果这是整个错误消息,因为它没有说明调用
new\u CreateProcess()
的位置,那么就不需要太多说明了。这意味着谁知道谁在打印错误消息,从而知道什么是不愉快的。在这一点上,我将在提交一个bug。