我看到很多功能的工程有get_dummies上的物體的特徵步驟。例如,將包含「M」和「F」的性別列虛擬爲兩列,並將其標記爲一次性表示。 爲什麼我們不直接在性別欄中將'M'和'F'設置爲0和1? 虛擬方法是否對分類和迴歸模型中的機器學習模型都有積極影響? 如果是這樣,爲什麼? 謝謝。使用虛擬值會使模型的性能更好嗎?
0
A
回答
0
要獨熱編碼與N
可能值的功能,你只需要N-1
列與0
/1
值。所以你是對的:二進制性可以用一個二進制特徵編碼。
使用虛擬編碼與N
功能而不是N-1
應該不會真正增加任何機器學習模型的性能,並且會使一些統計分析(如ANOVA)變得複雜。
1
一般情況下,直接編碼具有N個不同值的分類變量直接與(0,1,...,N-1),並變成數值變量不會與很多算法工作,因爲你給廣告對不同類別變量的特殊含義。性別示例的工作原理是二元的,但考慮汽車模型的價格估算示例。如果有N個不同的型號,如果你編碼模型中的3個和6個B型,這將意味着,例如,對於OLS線性迴歸的B型影響響應變量的2倍以上相比,模型A.你不能簡單地將這種隨機意義賦予不同的分類值,所生成的模型就沒有意義。爲了防止這種數字歧義,最常見的方法是用N-1二進制單熱變量對具有N個不同值的分類變量進行編碼。
+0
謝謝。在N-1二進制值的每一列中,0和1是編碼的最佳方式? – yanachen
相關問題
- 1. 偏好值 - 使用具有虛擬屬性的模型靜態無表
- 2. 使用Fragments會更好嗎?
- 3. 更好性能的模型設計
- 4. 軌道模型中的虛擬屬性
- 5. Rails中新模型的虛擬屬性?
- 6. 如果在虛擬模式下使用DataGridView,可提高性能
- 7. Rails 4虛擬記錄(不是虛擬屬性) - 可能嗎?
- 8. 使用其他模型創建虛擬模型
- 9. 虛擬ActiveRecord模型
- 10. 虛擬屬性軌道模型
- 11. Python Scrapy:使用Selenium還是模擬XHR請求會更好?
- 12. 使用mod_rewrite模擬SSL虛擬主機?
- 13. Ruby on Rails - Activeadmin - 具有虛擬屬性的更新模型
- 14. 使用具有虛擬值的字典是不好的做法
- 15. 在chmod上使用fchmod會更好嗎?
- 16. 使用fwrite()或move_uploaded_file()會更好嗎?
- 17. 您可以使用虛擬機來測試應用程序的性能嗎?
- 18. 模型中的虛擬列
- 19. 虛擬機的性能
- 20. 使用FluentNhibernate時,Entity中的屬性必須是虛擬的嗎?
- 21. 使用虛擬屬性的rails simple_form
- 22. Datagrid性能非常低,即使使用UI虛擬化
- 23. 虛擬模式中使用ListViewGroup的VB.NET
- 24. 性能方面,使用MPI上的Hadoop處理典型的令人尷尬的並行場景會更好嗎?
- 25. 好的或壞的做法,使純粹的虛擬功能noexcept
- 26. 虛擬機中可以使用dotTrace嗎?
- 27. 驗證使用虛擬類型在Haskell程序的正確性
- 28. 使android應用程序性能更好
- 29. 如何使用Rails以嵌套形式訪問模型的虛擬屬性
- 30. 模型 - 視圖 - 使用虛擬網格的演示者
虛值被稱爲嘈雜的標籤。是的,他們在一定程度上是有益的。 – user1211
直說,我想單獨一列一分爲二,意味着模型尺寸增加1,它不是100%的保證的益處必須存在(至少在M/F列)。但是爲特徵集增加1個維度意味着您的程序可以接受更多的維度複雜度,因此在某些情況下,它可以有利於輸出的準確性,但缺點可能是系統需要維護更大的維度集。你也相對需要更大的訓練集來防止過度訓練 – SKLTFZ
簡短的回答:當然是。許多分類器/迴歸器僅對數值數據有效(其中特徵3是具有值1的特徵的3倍差/好; SVM,最近鄰居)。其他人並不在乎(隨機樹)。其他人至少可以從虛擬變量(NN)中受益。對於分類功能來說,這當然是一件壞事。因此創建了假人。這是非常基本的東西。每個ML教程都可以幫助你。構建一個簡單的線性迴歸器示例。在這種情況下很容易看到。 – sascha