Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 投票法:ハードとソフト | セクション
木構造アンサンブル手法

book投票法:ハードとソフト

メニューを表示するにはスワイプしてください

アンサンブル学習の投票法は、複数のベースモデルの予測を組み合わせて最終的な判断を行う手法。主に2種類が存在する:ハード投票ソフト投票

  • ハード投票は、ベースモデルが予測したクラスラベルの多数決を採用。
  • ソフト投票は、予測確率の平均を計算し、最も平均確率が高いクラスを選択。

ハード投票は、ベースモデルがクラスラベルを出力する場合に一般的に使用される。一方、ソフト投票はベースモデルがクラス確率を出力できる場合に利用される。ソフト投票では、各モデルの予測信頼度を活用可能。

Note
さらに学ぶ

アンサンブル手法の比較: 投票法は予測を並列に組み合わせ、バギングは異なるデータサンプルで学習したモデルの予測を平均化し、ブースティングは誤差を修正するためにモデルを逐次的に組み合わせる。

12345678910111213141516171819202122232425262728293031323334353637383940414243
from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.tree import DecisionTreeClassifier from sklearn.svm import SVC from sklearn.ensemble import VotingClassifier from sklearn.metrics import accuracy_score # Load dataset iris = load_iris() X, y = iris.data, iris.target # Split data X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42, stratify=y) # Standardize features for SVC and Logistic Regression scaler = StandardScaler() X_train_scaled = scaler.fit_transform(X_train) X_test_scaled = scaler.transform(X_test) # Define base models clf1 = LogisticRegression(random_state=42, max_iter=200) clf2 = DecisionTreeClassifier(random_state=42) clf3 = SVC(probability=True, random_state=42) # Hard voting ensemble (majority vote) hard_voting = VotingClassifier( estimators=[('lr', clf1), ('dt', clf2), ('svc', clf3)], voting='hard' ) hard_voting.fit(X_train_scaled, y_train) y_pred_hard = hard_voting.predict(X_test_scaled) print("Hard Voting Accuracy:", accuracy_score(y_test, y_pred_hard)) # Soft voting ensemble (average probabilities) soft_voting = VotingClassifier( estimators=[('lr', clf1), ('dt', clf2), ('svc', clf3)], voting='soft' ) soft_voting.fit(X_train_scaled, y_train) y_pred_soft = soft_voting.predict(X_test_scaled) print("Soft Voting Accuracy:", accuracy_score(y_test, y_pred_soft))
copy
question mark

ハード投票とソフト投票の主な違いを正確に説明している文はどれですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  12

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  12
some-alt