遞迴獲取樹形資料太慢 大資料小白入門 決策樹分類

2021-10-11 23:33:54 字數 1605 閱讀 4149

「 決策樹又稱為判定樹,是運用於分類的一種樹結構。其中的每個內部結點代表對某個屬性的一次測試,每條邊代表乙個測試結果,葉結點代表某個類或者類的分布,最上面的結點是根結點。通俗點來講決策樹可以用來回答yes和no問題,它通過樹形結構將各種情況組合都表示出來,每個分支表示一次選擇即yes和no,直到所有選擇都進行完畢,最終給出正確答案。

本章主要引入鳶尾花的特徵資料,通過決策樹演算法去實現資料集的分類。

」關鍵點在於怎樣建立一顆二叉樹,主要分為建樹、剪枝兩個部分:

決策樹建樹演算法可見下面**,可以看出,決策樹分類是乙個遞迴的過程,最終則會得到一棵樹;剪枝則目的是降低由於訓練集存在雜訊而產生的起伏。 

使用決策樹進行分類則分為兩步:

0 1

第1步:利用訓練集建立並精化一棵決策樹,建立決策樹模型。這個過程實際上是乙個從資料中獲取知識,進行機器學習的過程。

02 第2步:利用生成完畢的決策樹對輸入資料進行分類。對輸入的記錄,從根結點依次測試記錄的屬性值,直到到達某個葉結點,從而找到該記錄所在的類。

將選擇好的元資料讀入dataframe,做好資料分析前的準備。

第三步,選擇特徵,並進行資料分組

其中,首先把我們的標籤列label以及特徵列feature進行索引值的重新命名,並把**的類別轉換為字元型的,存入labelconverter。

接下來,把資料分為測試集和**集兩部分,比例為0.7:0.3

第四步, 構建決策樹分類模型

匯入構建決策樹模型所需要的包工具:

設定決策樹模型的引數,具體引數可通過explainparams()方法來實現。

將setstages方法傳入pipeline,並使用決策樹模型進行測試集訓練:

進行資料**:

檢視**結果:

「 通過上述四個步驟,便實現了通過特徵資料對鳶尾花的品種**,很明顯的可以看到,實驗的**結果和原有資料完全一致,在**類別少的情況下決策樹分類可以取得良好的效果,當然通過決策樹模型也可以實現其他簡單類別的資料**,只需修改實驗資料。

」 往期回顧:

大資料小白入門——四行**完成詞頻統計

大資料小白入門——「推薦引擎」大資料分析

大資料小白入門——tf-idf演算法應用

樹形資料轉換

測試資料 create table project id int,name nvarchar 20 parent id int insert project select 1,所有專案 null union all select 2,專案1 1 union all select 3,專案2 1 cr...

樹形資料轉換

測試資料 create table project id int,name nvarchar 20 parent id int insert project select 1,所有專案 null union all select 2,專案1 1 union all select 3,專案2 1 cr...

樹形資料轉換

測試資料 create table project id int,name nvarchar 20 parent id int insert project select 1,所有專案 null union all select 2,專案1 1 union all select 3,專案2 1 cr...