在Python中,我正在运行代码来定义一个函数。第一部分似乎运行正常,但第二部分抛出一个未定义的名称'错误。 这是代码;`#这部分运行良好。
def modelfit(alg, dtrain, predictors, performCV=True, printFeatureImportance=True, cv_folds=5):
#Fit the algorithm on the data
alg.fit(dtrain [predictors],dtrain [' Target']) #下面的部分是抛出错误的地方
# Predict training set:
dtrain_predictions = alg.predict(dtrain [predictors]) dtrain_predprob = alg.predict_proba(dtrain [predictors])[:,1]
这是完整的错误
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-22-edfedf10fb86> in <module>()
1 #Predict training set:
----> 2 dtrain_predictions = alg.predict(dtrain[predictors])
3 dtrain_predprob = alg.predict_proba(dtrain[predictors])[:,1]
NameError: name 'alg' is not defined
我做错了什么?
答案 0 :(得分:0)
这是因为此函数定义的缩进未对齐。 “ alg”是由“ modelfit”函数定义的变量,缩进不对齐被认为是函数外部的新变量。您应该做的只是调整缩进。