2016-08-11 85 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會爲選擇合適的正則化參數進行交叉驗證。 –