2016-08-11 86 views
0

我试图在Python 3.5中建模,并遵循可在here找到的示例。名称'classification_model'未定义

我已经从sklearn导入了所有必需的库。

但是,我收到以下错误。

代码:

from sklearn.linear_model import LogisticRegression 
    from sklearn.cross_validation import KFold #For K-fold cross validation 
    from sklearn.ensemble import RandomForestClassifier 
    from sklearn.tree import DecisionTreeClassifier, export_graphviz 
    from sklearn import metrics 

outcome_var = 'Loan_Status' 
model = LogisticRegression() 
predictor_var = ['Credit_History'] 
classification_model(model, loan,predictor_var,outcome_var) 

当我运行上面的代码中,我得到以下错误: NameError:名字“classification_model”没有定义

我不知道如何解决这个因为我试图导入sklearn和所有的子库。

P.S.我是Python新手,因此我试图找出基本步骤

回答

0

看来这段代码来自this tutorial

问题与错误描述完全相同。 classification_model当前未定义。您需要自己创建此功能,然后才能调用它。查看该教程的一部分this,以便查看它的定义。祝你好运!

+0

是否有任何内置包,用于创建模型。 (Like R) –

+0

我不确定你的意思。 'model'是使用作为sklearn包的一部分的'LogisticRegression()'类构建的。我对sklearn并不是很熟悉,但从头到尾跟随这个教程似乎是您最好的选择。 –

0

根据不同的具体细节,这可能不是你想要什么,但我从未有过

import sklearn.linear_model as sk 

logreg = sk.LogisticRegressionCV() 
logreg.fit(predictor_var,outcome_var) 

这意味着你必须适应你的训练和测试集,但有明确分开的训练问题设置(我的代码的最后一行中的过程),然后可以使用文档中详述的方法[1]。

例如搞清楚你所得到的分数(没有我多少得到正确的)上看不见的数据与.score方法

[1] http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegressionCV.html

+0

请注意,最后LogisticRegressionCV会为选择合适的正则化参数进行交叉验证。 –