如何根據資料的分佈來選擇ML演算法? - Reddit
問題:根據基礎理論/資料分佈,何時使用決策樹而不是 SVM 或 KNN 更好?
答案:
1. xgboost在結構化資料和監督學習問題上很難被擊敗。
相對特徵規模不是問題,類不平衡不是問題,它可以處理空資料,而且由於決策樹的性質,它在非線性資料上表現得非常好。它缺乏線性迴歸的可解釋性,但透過SHAP值等技術,你仍然可以在模型或單一預測層面獲得特徵重要性。
2. 我認為模型架構更多的是取決於你要解決的問題和相關的約束。
如果我想要一些簡單或可解釋的東西,我可能會選擇一個決策樹。如果我想要一些高效能的分割,我可能會使用像UNet或MaskRCNN這樣的成熟方法。為什麼這些方法都能很好地工作,在文獻中都有簡潔的記錄。
最終,我認為選擇ML演算法的很大一部分要歸結為了解兩者的利弊,以及被建模的非線性函式的種類(也就是對基礎資料進行的假設,如果有的話)。例如,Naive Bayes或GDA都對你的資料做出不同的關鍵假設。
3. 所有的機器學習模型都會在特徵空間中建立超平面,選擇一個模型而不是其他模型的更好方法是瞭解這些超平面是如何被模型建立的,以及你的特徵在空間中是如何表示的(用一些 dimensonality reduction 技術進行視覺化,如 UMAP 或 t-SNE)。
相關文章
- 根據開源資料庫選擇合適的工具資料庫
- 如何根據需求選擇合適的資料庫管理工具?Navicat OR DBeaver資料庫
- 大資料時代,如何根據業務選擇合適的分散式框架大資料分散式框架
- 如何根據自己的需要選擇伺服器配置?伺服器
- 如何根據寶塔皮膚引數選擇伺服器伺服器
- 如何根據生產環境mysql版本選擇合適的percona xtrabackup版本MySql
- swift4.0 物件資料來源根據屬性分組,時間排序Swift物件排序
- 微信小程式--根據首字母選擇城市微信小程式
- pytest-根據類或函式名選擇用例函式
- 關於如何根據shp檔案篩選csv某個省份資料集
- Spring+Hibernate 實現不同域名訪問同一專案,自定義Filter根據域名選擇對應的資料來源SpringFilter
- 根據奧卡姆剃刀原理選擇架構 - Eduards Sizovs架構
- 根據需要的圖表型別選擇echarts對應的series型別型別Echarts
- 2024年:如何根據專案具體情況選擇合適的CSS技術棧CSS
- Storm框架:如何根據業務條件選擇不同的bolt進行下發訊息ORM框架
- 根據年月份分表
- 根據應用場景合理選擇工業相機的解析度
- 【知識分享】根據遊戲網站的型別以及規模來選擇合適的伺服器遊戲網站型別伺服器
- JavaScript 根據type篩選inputJavaScript
- DcatAdmin 根據選單資料自動填充許可權資訊 (Artisan命令)
- MySQL:如何對待分佈偏移的資料MySql
- 如何選擇合適的NoSQL資料庫SQL資料庫
- MySQL 資料型別分類和選擇MySQL 資料型別
- Android使用getIdentifier()方法根據資源名來獲取資AndroidIDE
- SAP RETAIL 如何根據分配表查到根據它建立的採購訂單?AI
- sqlserver根據條件去除重複資料SQLServer
- 如何選擇大資料分析軟體大資料
- 貝葉斯分類演算法例項 --根據姓名推測男女演算法
- 貝葉斯分類演算法例項 –根據姓名推測男女演算法
- 資料結構與演算法——排序演算法-選擇排序資料結構演算法排序
- RFID電子標籤根據應用場景的不同如何選型?
- list集合根據某欄位分組
- MSSQL遍歷資料庫根據列值查詢資料SQL資料庫
- PostgreSQL:資料庫的選擇SQL資料庫
- [譯] 如何根據瀏覽器的現代、過時進行包的分發瀏覽器
- oracle資料庫事務transaction隔離級別isolation level的選擇依據Oracle資料庫
- 根據查詢條件批量修改表資料
- PHP根據資料表自動生成CURD操作PHP