tensorflow機器學習初接觸

2022-06-15 17:18:07 字數 1507 閱讀 9738

bootstrap:一種有放回的抽樣方法。

bagging( bootstrap aggregation)的策略:從樣本集中進行有放回地選出n個樣本;在樣本的所有特徵上,對這n個樣本建立分類器;重複上述兩步m次,獲得m個樣本分類器;最後將測試資料都放在這m個樣本分類器上,最終得到m個分類結果,再從這m個分類結果中決定資料屬於哪一類(多數投票制)。

隨機森林採用了bagging策略,且在其基礎上進行了一些修改,採用了兩個隨機:

從訓練樣本集中使用bootstrap取樣(隨機有放回)選出n個樣本。

設樣本共有b個特徵,從這b個特徵中只隨機選擇k個特徵來分割樣本,通過計算選擇最優劃分特徵作為節點來劃分樣本集合來建立決策樹。(與bagging的不同之處:沒有使用全部的特徵,這樣可以避免一些過擬合的特徵,不再對決策樹進行任何剪枝)

重複以上兩步m次,可建立m棵決策樹 

這m棵決策樹形成了森林,可通過簡單多數投票法(或其他投票機制)來決定森林的輸出,決定屬於哪一型別。(針對解決回歸問題,可以採用單棵樹輸出結果總和的平均值)

隨機森林在一定程式上提高了泛化能力,而且可以並行地生成單棵樹。

import numpy as

npimport matplotlib.pyplot

asplt

from

sklearn.tree import decisiontreeregressor

if __name__ == "

__main__":

n = 500

x = np.random.rand(n) * 8 - 3

x.sort()

y = np.cos(x) + np.sin(x) + np.random.randn(n) * 0.4

x = x.reshape(-1, 1

) reg = decisiontreeregressor(criterion='

mse'

) # reg1 = randomforestregressor(criterion='

mse'

) dt =reg.fit(x, y)

# dt1 =reg1.fit(x, y)

x_test = np.linspace(-3, 5, 100).reshape(-1, 1

) y_hat =dt.predict(x_test)

plt.figure(facecolor="w"

) plt.plot(x, y, 'ro

', label="

actual")

plt.plot(x_test, y_hat, 'k*

', label="

predict")

plt.legend(loc="

best")

plt.title(u

'decision tree

', fontsize=17

) plt.tight_layout()

plt.grid()

plt.show()

機器學習 TensorFlow安裝

環境準備 centos 7 python 2.7 root master uname a linux master 3.10.0 229.el7.x86 64 1 smp fri mar 6 11 36 42 utc 2015 x86 64 x86 64 x86 64 gnu linux root ...

機器學習筆記 TensorFlow

構建乙個簡單的 tensorflow 程式,使用該程式繪製乙個預設圖並建立乙個執行該圖的會話 tensorflow 的名稱源自張量,張量是任意維度的陣列。借助 tensorflow,您可以操控具有大量維度的張量。即便如此,在大多數情況下,您會使用以下乙個或多個低維張量 tensorflow指令會建立...

機器學習 TensorFlow初學

dot 陣列的點積 dot producta np.arange 0,9 out 45 array 0,1,2,3,4,5,6,7,8 b a 1 out 47 array 8,7,6,5,4,3,2,1,0 np.dot a,b out 48 84隨機數生成 這幾個都是用於生成隨機數tensor的...