機器學習實戰筆記

2021-08-18 00:07:52 字數 1020 閱讀 7427

在《機器學習實戰》的決策樹的儲存這方面內容學習過程中,進行**除錯時遇到以下兩個錯誤:

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

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

初始**如下:

#使用pickle模組儲存決策樹

#將inputtree存入檔案

def storetree(inputtree,filename):

import pickle

fw=open(filename,'w')

pickle.dump(inputtree,fw)

fw.close()

#讀取檔案中的inputtree

def grabtree(filename):

import pickle

fr=open(filename)

return pickle.load(fr)

原因分析:

(1)造成問題一的原因在於pickle模組進行儲存時預設為二進位制儲存,而我開啟檔案方式未調整為對應的二進位制格式,應改為'wb+'

(2)造成問題二的原因類似,開啟檔案進行讀取時應設為'rb'

修改後原始碼:

#使用pickle模組儲存決策樹

def storetree(inputtree,filename):

import pickle

fw=open(filename,'wb+')

pickle.dump(inputtree,fw)

fw.close()

def grabtree(filename):

import pickle

fr=open(filename,'rb')

return pickle.load(fr)

《機器學習實戰》學習筆記

很久沒寫過部落格了,一重開就給自己挖了這麼乙個大坑 最近一段時間看了 機器學習實戰 這本書,感覺寫得不錯,認真看了看。關於這本書的書評及購買事宜請移步豆瓣 京東 亞馬遜等 這裡不多說。不過有一點,感覺這本書有個很好的地方是給出了各個演算法的python實現 和講解,要求不高的話可以拿來用了 懶 在這...

《機器學習實戰》學習筆記

目錄 第2章 k 近鄰演算法 第3章 決策樹 第4章 基於概率論的分類方法 樸素貝葉斯 第5章 logistic回歸 第7章 利用adaboost元演算法提高分類效能 第8章 數值型資料 回歸 1.python console匯入knn.py檔案 import knn1.reload的使用方法 fr...

《機器學習實戰》學習筆記

通過對輸入資料inx和資料集dataset座標距離的計算返回結果 資料集包括group 座標 和labels 分類 計算inx與group點與點的距離 對距離遞增排序 選取排序後的前k個值對應的label 根據label出現的頻率對inx進行分類 def classify0 inx,dataset,...