[英]Supervised Machine Learning: Getting weights for each individual parameter for classifications
我對數據使用了scikit決策樹算法以獲取結果。 現在,我需要一種機制來確定哪些因素對用戶可讀格式的算法做出的預測有最大的影響。
示例:假設我的訓練和測試數據與下表相同。
<table border='1'> <thead> <th>Parameter1</th> <th>Parameter2</th> <th>Parameter3</th> <th>Parameter4</th> <th>Class</th> </thead> <tr> <td>abc</td> <td>1</td> <td>0.5</td> <td>2</td> <td>Success</td> </tr> <tr> <td>pqr</td> <td>1.2</td> <td>0.6</td> <td>1.4</td> <td>Success</td> </tr> <tr> <td>abc</td> <td>0.9</td> <td>1</td> <td>2</td> <td>Failure</td> </tr> </table>
應用該算法后,我能夠很好地預測事物。 現在,我想要為用戶提供有助於預測成功/失敗的所有參數的權重。
例:
<table border='1'> <thead> <th>Parameter1</th> <th>Parameter2</th> <th>Parameter3</th> <th>Parameter4</th> <th>Class</th> </thead> <tr> <td style="background-color:#FEF3AD;">50%</td> <td style="background-color:#00FF00;">80%</td> <td style="background-color:#00FF00;">80%</td> <td style="background-color:#FEF3AD;">50%</td> <td>Success</td> </tr> <tr> <td style="background-color:#00BB00;">100%</td> <td style="background-color:#00D500;">90%</td> <td style="background-color:#c9ff00;">70%</td> <td style="background-color:#00D500;">90%</td> <td>Success</td> </tr> <tr> <td style="background-color:#FEF3AD;">50%</td> <td style="background-color:#ff7f39;">10%</td> <td style="background-color:#ff1a00;">5%</td> <td style="background-color:#FEF3AD;">50%</td> <td>Failure</td> </tr> </table>
因此,第二張表指示相關參數在多大程度上有助於該特定行的成功。
到目前為止,我一直在嘗試建立以下機制:
SELECT Parameter1, COUNT('SUCCESS')/COUNT(*) FROM table and joins WHERE clauses GROUP BY Parameter1;
將參數相關系數添加到從查詢獲得的成功百分比中。 此步驟是將相關因子添加到正常統計百分比中。
將每個參數存儲在我的數據庫中:示例:
參數1,abc,50%
參數1,pqr,100%
等等...
是否有更好或更有效的方法? 請提供詳細信息。
謝謝。
您可以使用feature_importances_
來了解每個功能的貢獻。 但是,返回的feature_importances_
值並不直接考慮預測准確性。
為此,您可以使用mean decrease accuracy
來評估與特定評估指標有關的每個要素貢獻。 以下博客文章包含很好的解釋和python示例代碼。
mean decrease accuracy
的主要思想是選擇一個特征並在數據集中所有實例之間隨機排列特征值以使該特征無意義。
(A) If accuracy decreases, the selected feature is important for prediction.
(B) If not, the selected feature is not so important for prediction.
使用mean decrease accuracy
優點是:
(1) You can apply it to any classifiers including ensemble models.
(2) You can apply it to any evaluation metric.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.