sklearn的決策樹能夠處理字串資料嗎嗎?

2021-10-13 07:43:53 字數 991 閱讀 4301

20201229 -

我記得很久之前我曾經遇到過這種問題,一開始我還很納悶,一般情況下,輸入到分類器的資料應該都是數值型的,對於字串型的他應該處理不了,但是當時我卻得出了結論,sklearn中的決策樹,能夠幫助我講這些資料處理。

但是,我感覺,可能是有一些記憶的偏差。

那麼這裡就來具體描述一下。

問題**於,最近處理一部分資料的時候,因為資料中含有標籤型別的資料,但是直接輸入到決策樹模型中,sklearn中居然報錯了,很費解,因為基於我之前的認知,決策樹應該幫我把這部分編碼好了,而且從決策樹的原理上來說,這部分也的卻是能做的。所以我也是很納悶。

在搜尋了相關的內容之後,看了這個問答[1]明白了,這是因為sklearn中的實現方式導致的,一般針對這種資料的處理就是進行編碼,不管是label編碼,或者獨熱編碼都行。

但是在這篇介紹編碼的文章[2]中,提到很多內容,例如基於樹的分類器可以不用獨熱編碼,因為樹本質上就是一種獨熱編碼,這篇文章後續還要更細緻理解。

決策樹是比較經典的分類演算法,而其中分為了不同的版本,我們常用的包括:id3、c4.5、cart這三種,當然還有c5.0,c5.0是並不是開源的。最開始的時候,我一直理解他們之間的區別僅僅是在選擇分治節點的時候,不同的函式而已,當時沒有具體進行研究,最近做實驗的時候突然看到了這部分的不同,特此進行記錄。

id3 c4.5 cart決策樹原理及sklearn實現

id3、c4.5、c5.0、cart決策樹區別

id3、c4.5、cart三種決策樹的區別

decision trees

在最後的sklearn文件中提到,sklearn使用的是cart,跟c4.5是非常相似的。

同時,在做實驗的時候也提到了乙個問題,id3並不能直接處理連續性的資料,這部分在前面的幾篇文章中都有體現。

[1]strings as features in decision tree/random forest

[2]資料預處理:獨熱編碼(one-hot encoding)和 labelencoder標籤編碼

SKlearn之決策樹

決策樹是一種非引數的監督學習方法。模組 sklearn.tree sklearn建模的步驟 1 選擇並建立模型 例 clf tree.decisiontreeclassifier 2 提供資料訓練模型 例 clf clf.fit x train,y train 3 獲取需要的資訊 例 result ...

Sklearn決策樹的應用

sklearn庫中的決策樹有兩種 分類決策樹 回歸決策樹。下面我們通過具體的案例學習如何使用這兩種決策樹。分類決策樹 分類決策樹 decisiontreeclassifier 就是通過對訓練集的訓練,然後對測試集中的資料做出正確的分類。這個 反映了銀行通過對乙個人的評判,然後決定是否給予其貸款 序號...

sklearn 決策樹例子 決策樹 規則挖掘應用

本次主要簡單介紹下決策樹在風控規則中的簡單應用,讓讀者快速入門。在後續的文章中,會逐一介紹決策樹的各種演算法原理,如資訊增益 id3演算法 c4.5演算法 c5.0演算法等,希望感興趣的朋友可以關注下。前言 決策樹是資料探勘中十分常用的分類方法,歸屬於機器學習中的監督學習演算法。監督學習就是給出一堆...