投票

Python 的 Ensemble 方法

Román de las Heras

Data Scientist, Appodeal

請教觀眾

向觀眾發問

群眾智慧

  • 集體智慧
  • 大群體 ≥ 單一專家
  • 解決問題
  • 決策制定
  • 創新
  • 預測
Python 的 Ensemble 方法

多數決

特性

  • 分類問題
  • 多數決:眾數
  • 分類器為奇數(3+)

多峰預測圖

明智群眾條件:

  • 多元:不同演算法或資料集
  • 獨立且低相關
  • 善用各自知識
  • 彙整個別預測
Python 的 Ensemble 方法

使用 scikit-learn 的投票集成

from sklearn.ensemble import VotingClassifier

clf_voting = VotingClassifier( estimators=[ ('label1', clf_1), ('label2', clf_2), ('labelN', clf_N)])

評估效能

# Get the accuracy score 
acc = accuracy_score(y_test, y_pred)
print("Accuracy: {:0.3f}".format(acc))
Accuracy: 0.938
# Create the individual models
clf_knn = KNeighborsClassifier(5)
clf_dt = DecisionTreeClassifier()
clf_lr = LogisticRegression()

# Create voting classifier clf_voting = VotingClassifier( estimators=[ ('knn', clf_knn), ('dt', clf_dt), ('lr', clf_lr)])
# Fit it to the training set and predict clf_voting.fit(X_train, y_train) y_pred = clf_voting.predict(X_test)
Python 的 Ensemble 方法

一起來練習吧!

Python 的 Ensemble 方法

Preparing Video For Download...