Google機器學習教程心得(二)決策樹與視覺化

2021-07-11 13:17:00 字數 1921 閱讀 7636

google machine learning recipes 2

官方中文部落格

github工程位址

歡迎star,也歡迎到issue區討論

我們從iris問題,學習決策樹視覺化,了解決策樹工作過程。

有很多分類器

- artificial neural network

- support vector machine

- lions

- tigers

- bears

為啥有這麼多動物……

決策樹就是一系列關於feature的判斷作為結點,以label為葉子的一棵樹。因此feature越好,結果也越好。

經典機器學習問題:識別三種iris

可以在維基看到這個資料集的詳細資訊,共 50 * 3 = 150 條記錄

四個feature:sepal length, sepal width, petal length, petal width

三個label:setosa, versicolor, virginica。

可以從sklearn中直接匯入。

組成

- metadata: feature_names, target_names(這個其實就是label names),描述資料用

- data: 具體feature資料,是乙個陣列,陣列中的每個元素是dataset中的一條資料

- target: 具體label資料,是乙個陣列

匯入資料

訓練分類器

**新的花的label

檢視決策樹

視覺化使用了pydot,但pycharm會公升級anaconda中的包,導致找不到,我執行了

sudo /home/cwh/anaconda2/bin/conda install -p /home/cwh/anaconda2 pydot -y
重新安裝pydot修復pydot找不到的問題;

另外pydot會找不到graphviz,需要再安裝

sudo /home/cwh/anaconda2/bin/conda install -p /home/cwh/anaconda2 graphviz -y
然後將graphviz新增到環境變數中,修改/etc/environment為以下內容,重啟系統(我的系統是ubuntu14.04lts):

path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/cwh/android-sdk-linux/ndk-bundle:/home/cwh/android-sdk-linux/platform-tools:/home/cwh/anaconda2/pkgs/graphviz-2.38.0-1/bin"

然後又會有graphviz中找不到libgvplugin_pango.so.6的問題,根據官網issue的解答,應該是少了依賴庫

ldd /home/cwh/anaconda2/pkgs/graphviz-2.38

.0-1/lib/graphviz/libgvplugin_pango.so

.6

./configure

make

sudo make install

sudo ldconfig

再執行**即可。

viz:以iris為例,匯入資料,訓練分類器,**,檢視決策樹

如果覺得我的文章對您有幫助,請隨意打賞~

Google機器學習課程 機器學習術語

監督式 機器學習定義 機器學習系統通過學習如何組合輸入資訊來對從未見過的資料做出有用的 標籤是我們要 的事物,即簡單線性回歸中的 y 變數。特徵是輸入變數,即簡單線性回歸中的 x 變數。樣本是指資料的特定例項 x 模型定義了特徵與標籤之間的關係。訓練是指建立或學習模型。也就是說,向模型展示有標籤樣本...

機器學習教程之pandas(二)

這節主要講pandas結構的第2個結構dataframe。我們先來了解下什麼是dataframe?乙個datarame表示乙個 類似電子 的資料結構,包含乙個經過排序的列表集,它們沒乙個都可以有不同的型別值 數字,字串,布林等等 datarame有行和列的索引 它可以被看作是乙個series的字典 ...

Google機器學習入門 Pandas 簡介

學習目標 pandas 中的主要資料結構被實現為以下兩類 dataframe,您可以將它想象成乙個關係型資料 其中包含多個行和已命名的列。series,它是單一列。dataframe 中包含乙個或多個 series,每個 series 均有乙個名稱。資料框架是用於資料操控的一種常用抽象實現形式。sp...