iT邦幫忙

2024 iThome 鐵人賽

DAY 10
1
AI/ ML & Data

ML/DL-新手選手村系列 第 10

day10_常見ML分類演算法:決策樹(decision tree)、隨機森林(random forest)(5/5)

  • 分享至 

  • xImage
  •  
  • 昨日我們談到random forest演算法的步驟,忘記的同學可以經由上一篇的連結去複習一下random forest步驟的過程,在這裏就不在贅述。

  • 今日我們要來談random forest的實作程式碼與補充decision tree的程式碼。

  • random forest程式碼:


from sklearn.ensemble import RandomForestClassifier

forest = RandomForestClassifier(
    criterion="gini", n_estimators=25, random_state=1, n_jobs=2
)
forest.fit(X_train, y_train)
forest.predict(X_train)
forest.score(X_train, y_train)

  • RandomForestClassifier屬於sklearn的ensemble類別。sklearn是機器學習常用的程式套件庫library,之前我們有提到random forest屬於ensemble boosting學習的一種。

  • criterion :與decision tree一樣,用來選擇度量random forest的標準,同decision tree 有gini/entropy 可以選擇,
    這裡我們選gini。

  • n_estimators:表示樹的棵數,這裡是選25棵。

  • n_jobs :是使用電腦多核cpu 的平行運算之cpu數量,這裡是取2個cpu。

  • 補充decision tree程式碼:

import numpy as np
def gini(p):
#是男生的機率p X 為女生的機率 (1-p) + 不是男生的機率1-p X 不是女生的機率 (1- (1 - p))
    return p * (1 - p) + (1 - p) * (1 - (1 - p))


def entropy(p):
    return -p * np.log2(p) - (1 - p) * np.log2((1 - p))



上一篇
day9_常見ML分類演算法:決策樹(decision tree)、隨機森林(random forest)(4/5)
下一篇
day11_常見的ML演算法:羅吉斯迴歸(logistic regression)
系列文
ML/DL-新手選手村30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言