《機器學習實戰》問題記錄

2022-08-03 04:06:08 字數 1275 閱讀 1911

由於實驗室研究方向變更,本文不再更新~

本文是對《機器學習實戰》進行學習時遇到問題記錄。

由於書中**使用python2.x,而本機使用python3.x,導致執行時有部分程式出現錯誤。

問題位置:

3.2 在python中使用matplotlib註解繪製樹形圖(p45)——程式清單3-6 獲取葉節點的數目和樹的層數

問題:typeerror: 'dict_keys' object does not support indexing

分析:(參考文獻:機器學習(四)—決策樹)

在2.7中,找到key所對應的第乙個元素為:firststr = mytree.keys()[0],這在3.4中執行會報錯:『dict_keys『 object does not support indexing,這是因為python3改變了dict.keys,返回的是dict_keys物件,支援iterable 但不支援indexable,我們可以將其明確的轉化成list

解決方案:

1 firststr = mytree.keys()[0]

改為

1 firstsides =list(mytree.keys()) 

2 firststr = firstsides[0] #

找到輸入的第乙個元素

問題位置:

3.3.2 使用演算法:決策樹的儲存(p50)——程式清單3-9 使用pickle模組儲存決策樹

問題2.1:

typeerror: write() argument must be str, not bytes

分析:由於pickle儲存方式預設是二進位制方式,所以要將檔案的開啟方式改為二進位制方式,即必須帶『b』

解決方案:

1 fw = open(filename, '

w')

改為

1 fw = open(filename, '

wb')

問題2.2:

unicodedecodeerror: 'gbk' codec can't decode byte 0x80 in position 0: illegal multibyte sequence

分析:(理由同上)

由於pickle儲存方式預設是二進位制方式,所以要將檔案的開啟方式改為二進位制方式,即必須帶『b』

解決方案:

1 fr = open(filename)

改為

1 fr = open(filename, '

rb')

西瓜書 機器學習(周志華)學習問題記錄

西瓜書的鼎鼎大名早有耳聞,於是毫無疑問買來入門。寫此文章的時候剛要做完第二章的練習題。在看的時候有一些感慨 需要一定的數理基礎,尤其是概率論的內容。但是如果沒學過也不建議直接去啃概率論,只要把相關的部分看看即可。周老師預設我們能力很強,所以有些地方說得不夠詳細,僅靠此書無法理解,需要自己另行查閱。有...

機器學習實戰學習記錄

1 k近鄰演算法 k近鄰演算法的一般流程 1 收集資料 可以使用任何方法。2 準備資料 距離計算所需要的數值,最好是結構化的資料格式。3 分析資料 可以使用任何方法。4 測試演算法 計算錯誤率。5 使用演算法 首先需要輸入樣本資料和結構化的輸出結果,然後執行k近鄰演算法判定輸入資料分別屬於哪個分類,...

ios 學習 問題 記錄

一 重新加入storyboard 黑屏並且提示以下錯誤 解決方案 1 在general編輯標籤中,deployment info 部分,main inte ce 彈出的標籤中選擇對應的storyboard 2 新增檢視控制器 在storyboard 的identity inspector 中選擇你需...