誰かがsklearnでアンサンブルを部分的に使う方法を教えてください。 私のモデルを再トレーニングしたくありません。 また、あらかじめ訓練されたアンサンブルモデルを渡すことはできますか? 投票分類器は、たとえば部分適合を使ったトレーニングをサポートしていないことが分かりました。sklearn投票アンサンブルを部分的に合わせて使用する
2
A
答えて
2
残念ながら、現在のところ、これはscikit VotingClassifierでは不可能です。
しかし、あなたがしようとプレフィットモデルを取ることができ、独自の議決分類器を実装するためにhttp://sebastianraschka.com/Articles/2014_ensemble_classifier.html(VotingClassiferがを実装しているから)を使用することができます。
また、我々はsource code hereを見て、私たちの使用にそれを修正することができます。
from sklearn.preprocessing import LabelEncoder
import numpy as np
le_ = LabelEncoder()
# When you do partial_fit, the first fit of any classifier requires
all available labels (output classes),
you should supply all same labels here in y.
le_.fit(y)
# Fill below list with fitted or partial fitted estimators
clf_list = [clf1, clf2, clf3, ... ]
# Fill weights -> array-like, shape = [n_classifiers] or None
weights = [clf1_wgt, clf2_wgt, ... ]
weights = None
#For hard voting:
pred = np.asarray([clf.predict(X) for clf in clf_list]).T
pred = np.apply_along_axis(lambda x:
np.argmax(np.bincount(x, weights=weights)),
axis=1,
arr=pred.astype('int'))
#For soft voting:
pred = np.asarray([clf.predict_proba(X) for clf in clf_list])
pred = np.average(pred, axis=0, weights=weights)
pred = np.argmax(pred, axis=1)
#Finally, reverse transform the labels for correct output:
pred = le_.inverse_transform(np.argmax(pred, axis=1))
1
Mlxtendライブラリを使用すると、事前に装着モデルに渡すことができますVotingEnsembleの実装があります。たとえば、3つの事前訓練モデルclf1、clf2、clf3があるとします。次のコードは動作します。 falseに設定すると
mlxtend.classifier import EnsembleVoteClassifier
import copy
eclf = EnsembleVoteClassifier(clfs=[clf1, clf2, clf3], weights=[1,1,1], refit=False)
EnsembleVoteClassifierで改装引数は分類が改装されることはありません。
一般的に、sci-kitが学んでいないより高度な技術的機能を探すときは、mlxtendを参照の第1のポイントとして見てください。
関連する問題
- 1. Spring統合投票アグリゲータをプログラム的に
- 2. sklearnのアンサンブル分類器でカスタム分類子を使用するにはどうすればよいですか?
- 3. pHpを使用しないjQuery投票投票プラグインですか?
- 4. 投票 - 投票数と投票パーセントか?
- 5. PHP投票システムチェック投票
- 6. 組み合わせる部分関数
- 7. votingapi_set_votesは投票と投票を処理しません
- 8. コントローラーコンテキストを部分的に使用する
- 9. Djangoテストクライアントを使用して投票アプリケーションをテストする
- 10. Drupalコードを使用した投票APIでの投票の作成
- 11. jQueryドラッグアンドドロップを使用して投票する
- 12. 投票時間の投票システム
- 13. 部分一致を得るためにfilters()をincludes()と組み合わせて使用する
- 14. Djangoゲストは一度だけ投票に投票します
- 15. テキストをテキストボックスの部分に合わせる
- 16. 壁への投票を投稿する
- 17. facebookを使ってウェブサイトの写真に投票する
- 18. SQL部分的に結合する
- 19. ヘッダーを使用してファイルを部分的にダウンロードする
- 20. NodeJSを使用して部分的にビデオファイルを保存する
- 21. Ajaxを使用してレールを部分的にロードする
- 22. データベース設計:複合投票システム
- 23. 3つの部分を組み合わせて
- 24. 各ユーザに投票を1回だけ許可する(投票、django、Python)
- 25. NodeJSでBluemixメッセージハブを使用して「長い投票」を設定するには
- 26. sklearnの階層的分類
- 27. のRails:投票
- 28. 投票 - ストアドプロシージャ
- 29. 投票ネットワークアーキテクチャ
- 30. JQuery Ajax投票