2016-12-05 15 views
1

我已經能夠使用result = logit.fit()做模型預測。python的statsmodel包中的測試和驗證

現在進行測試和驗證設置我們只需要做result.predict(test_df[features])result.predict(vald_df[features])?這就是全部?或者我錯過了一些步驟?當我嘗試部署該模型進行日常預測時,情況會有什麼不同?

我是statmodel的新手,事實上從今天開始,種類不足。我查了幾個博客,信息不相關,所以只是想確定一下。

另外,有沒有一種方法可以直接從statsmodel中提取'Area under ROC'而不是編碼我們的方式?

+0

對於預測就是這樣。一旦你從一個擬合模型得到了結果實例,你可以在新數據上調用'predict'。新數據需要與原始數據的結構相匹配。如果您使用公式,那麼數據將按照與訓練數據相同的方式進行轉換。如果您直接將設計矩陣作爲DataFrame或numpy數組提供,則用於預測的數據需要與此相匹配,例如,你需要明確包含常量,它不會自動添加。 – user333700

回答

0

對於第一個問題,每個ML算法(樹,邏輯迴歸,...)都有參數。爲un算法找到最佳參數,我們訓練多個具有不同參數的模型,並保留在驗證數據集上得到最佳分數的模型(參數)。 現在這個分數並沒有給你一個想法,即你在生產(預測)中會給你一次什麼樣的分數,因爲你用測試數據集中的最佳參數測試了你的模型,這個最終分數讓你知道你的模型將如何執行在生產上。

對於第二個問題,你可以用小品學習,我谷歌,我發現放入系統的例子http://www.programcreek.com/python/example/82598/sklearn.metrics.auc

+0

我的查詢都是特定於在python包名稱'statsmodel'中開發解決方案的。我知道scikit學習可以給我的指標,但我使用statsmodel,因爲它是不容易的提取p值的scikit學習,我需要,可以從statsmodel得到的係數 – CARTman

+0

statsmodels沒有AUC,但我認爲你可以使用statsmodels的結果調用scikit-learn AUC函數。 – user333700

+0

這並沒有發生在我身上..讓我試試 – CARTman