NameError:name' alg'没有定义

时间:2016-03-04 21:28:36

标签: python-2.7

在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

我做错了什么?

1 个答案:

答案 0 :(得分:0)

这是因为此函数定义的缩进未对齐。 “ alg”是由“ modelfit”函数定义的变量,缩进不对齐被认为是函数外部的新变量。您应该做的只是调整缩进。