實戰:利用KNIME建立Spark Machine learning模型 2:泰坦尼克倖存預測

本文利用KNIME基於Spark決策樹模型算法,通過對泰坦尼克的包含乘客及船員的特徵屬性的訓練數據集進行訓練,得出決策樹倖存模型,並利用測試數據集對模型進行測試。

1、從Kaggle網站下載訓練數據集和測試數據集

2、在KNIME創建新的Workflow,起名:TitanicKNIMESpark

image.png

3. 讀取訓練數據集

KNIME支持從Hadoop集羣讀取數據,本文爲了簡化流程直接從本地讀取數據集。

在Node Repository的搜索框裏輸入CSV Reader,找到CSV Reader節點,並將它拖入畫布。

image.png

雙擊或右擊CSV Reader對節點進行配置,設置數據集的目錄。

image.png

右擊節點,點擊Excute, 然後右擊節點,點擊File table查看結果

image.png


4.利用Missing Value節點對缺失值進行處理

類似第三步的操作找到Missing Value節點,並拖入畫布(本文以下操作類似,不再重複),並根據需要設置屬性,這裏採用簡單取平均值的方法處理缺失值。建立CSV Reader節點到Missing Value節點的連接。

image.png

右擊節點,點擊Excute, 然後右擊節點,點擊Output Table查看結果

image.png


5、添加Create Spark Context節點,設置Spark Context

image.png

image.png


6 .添加Table to Spark節點,將KNIME數據錶轉換成Spark的DataFrame/RDD,配置Table to Spark節點並建立Missing Value節點到Table to Spark節點的連接,建立Create Spark Context節點到Table to Spark節點的連接。

這裏採用默認配置。


7. 添加Spark Normalizer節點,將Survived屬性從數字類型轉換成爲字符類型,配置Spark Normalizer節點並建立Table to Spark節點到Spark Normalizer節點的連接。

image.png

右擊節點,點擊Excute, 然後右擊節點,點擊Normalized Spark DataFrame/RDD查看結果.

image.png


8. 添加Spark Decision Tree Learner節點,配置決策樹算法參數,並建立Spark Normalizer節點到Spark Decision Tree Learner節點的連接。

image.png

右擊節點,點擊Excute, 然後右擊節點,點擊Decision Tree Model查看結果.

image.png


9利用測試數據集和Spark Predictor節點對模型進行測試。

複製CSV Reader,Missing Value和Table to Spark節點並參考3,4,6步進行配置讀取測試數據集並對數據進行處理和轉換。添加Spark Predictor節點, 配置 Spark Predictor節點,並將新添加的Table to Spark節點以及Spark Decision Tree Learner節點和Spark Predictor相連接。

CSV Reader配置測試數據集。

image.png

Spark Predictor節點配置Prediction column

image.png

右擊節點,點擊Excute, 然後右擊節點,點擊Labled Data查看結果.

image.png


10.可以添加其他節點對結果進行後續處理,這裏添加只添加Spark Column Filter節點過濾掉不需要的column。

添加Spark Column Filter節點並進行配置。

image.png

右擊節點,點擊Excute, 然後右擊節點,點擊Filtered Spark DataFrame/RDD查看結果。

image.png

最終整個workflow如下圖所示

image.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章