《機器學習實戰》第9章的樹回歸執行時頻繁出錯,這裡主要有兩點:
出錯的**行是:
for splitval in
set(dataset[:,featindex]):
應改為:
for splitval in
set(dataset[:,featindex].t
.a.tolist()[0]):
具體分析過程檢視:
出錯的**行是:
def
binsplitdataset
(dataset, feature, value):
mat0 = dataset[nonzero(dataset[:,feature] > value)[0],:][0]
mat1 = dataset[nonzero(dataset[:,feature] <= value)[0],:][0]
return mat0,mat1
應改為:
def
binsplitdataset
(dataset, feature, value):
mat0 = dataset[nonzero(dataset[:,feature] > value)[0],:]
mat1 = dataset[nonzero(dataset[:,feature] <= value)[0],:]
return mat0,mat1
具體分析過程檢視:
修改之後執行結果:
樹字典:
機器學習實戰之樹回歸
線性回歸包含一些強大的方法,但是這些方法建立的模型需要擬合所有的樣本點 區域性線性回歸除外 當資料擁有眾多特徵,且特徵之間關係十分複雜時,構建全域性模型的想法顯得困難。並且,生活中很多問題都是非線性的,不可能使用全域性線性模型來擬合任何模型。一種可行的方法是將資料集切分成很多份易建模的資料,然後利用...
機器學習實戰 樹回歸 實現記錄
def regleaf dataset returns the value used for each leaf return mean dataset 1 def regerr dataset return var dataset 1 shape dataset 0 def createtree ...
《機器學習實戰》學習筆記 12 回歸 樹回歸
機器學習實戰 學習筆記 12 回歸 樹回歸 分類與回歸樹 classification and regression trees,cart 是由四人幫leo breiman,jerome friedman,richard olshen與charles stone於1984年提出,既可用於分類也可用於...