決策樹建模過程

2021-10-11 13:22:49 字數 1138 閱讀 9459

在這個階段中,我們需要準備sparksession和sparkcontext,以及設定日誌級別

必要的時候匯入sparksession隱式轉化

在這個階段中,不需要太多的操作,只需要把待處理的資料路徑準備好即可,一般我們會把待處理的資料放入resource目錄下

在這個階段中,我們需要將資料處理成dataframe格式,主要的事情是對這份資料進行結構上的優化,比如加上表頭,如果是csv格式是資料還需要將其每一行的內容進行切割,識別型別

這裡我們一般使用sc進行資料讀取然後再將其轉化成df,轉df時常用手段時通過sparksession的createdataframe(rdd:rdd[row],schema:structtype)方法建立

在這個階段中,我們主要需要做的:

a)類別標籤索引化(通俗來說就是將字串型別的類別標籤列變成double型別,以方便後續的使用)

這裡用到api:stringindexer

b) 特徵列合併(本質來說是將所有double型別的特徵列,合併為一列vector型別特徵列)

這裡用到的api:vectorassembler

在這個階段中,我們需要根據是否有類別標籤列採取不同的演算法,如果有標籤列我們就採用決策樹演算法,沒有就採用聚類演算法

這裡用到的api:decisiontreeclassifier

在這個階段中,我們需要將上個階段準備的演算法和第四階段處理後的資料集放到一起

演算法物件呼叫fit(trainingset)方法,將訓練集傳入

再這個階段中,幹的事就是利用訓練好的模型,進行對第四階段處理後的資料集進行使用(也就是用模型),我們分別將訓練集資料和測試集數放入模型中,得到通過了模型**後的新資料集,其中有一列是**標籤列,這個就是通過模型**得到的結果,我們所做的這一些列動作也就是為了這個東西

在這個階段中,主要做的事就是對**的資料集中的**列的類別標籤列與原類別標籤列進行校驗,檢驗模型的好壞

這裡底層是通過將兩列的資料進行比對,然後統計出資料相同的樣本資料再除以總樣本數,進而得出**的準確率也就評定了模型的好壞

這裡用到的api:multiclassclassificationevaluator

這個階段中,主要就是將校驗好的模型進行乙個持久化儲存,以別後續使用,這裡唯一需要注意的就是儲存的目標資料夾在指定路徑下沒有,需要我們在路徑後邊加上

決策樹和CART決策樹

首先簡單介紹下決策樹 說到決策樹肯定離不開資訊熵 什麼是資訊熵 不要被這名字唬住,其實很簡單 乙個不太可能的時間居然發生了,要比乙個非常可能的時間發生提供更多的資訊。訊息說 今天早上太陽公升起 資訊量是很少的,以至於沒有必要傳送。但另一條訊息說 今天早上日食 資訊量就很豐富。概率越大資訊量就越少,與...

決策樹(二)決策樹回歸

回歸 決策樹也可以用於執行回歸任務。我們首先用sk learn的decisiontreeregressor類構造一顆回歸決策樹,並在乙個帶雜訊的二次方資料集上進行訓練,指定max depth 2 import numpy as np quadratic training set noise np.r...

決策樹01 決策樹的原理

此筆記根據 machine learning in action 和周志華教授的 機器學習 所作。缺點 可能會產生過度匹配問題。適用資料型別 數值型和標稱型 machine learning in action if so return 類標籤 else 尋找劃分資料集的最好特徵 劃分資料集 建立分...