2016-08-02 5 views
1

私は現在、古い投稿/カテゴリから訓練するシステムをセットアップし、新しい投稿がどのカテゴリになるか予測しようとしています。 TfidfVectorizerLinearSVCのパイプラインを使用してデータセットをトレーニングし、そのデータセットをピクルに格納してから、そのピクルをロードしてロード済みピクルスのpredictを使用して新しいポストを処理します。現在、私はいくつかのラベルで苦労しており、理由はわかりません。抽出時にWHYラベルを選択しましたか?

私は、各分類ラベルの新しい投稿でどのような単語がトリガーされたかについていくつかの出力を提供したいので、新しいデータをトレーニングセットに対して分類する際に特定のラベルが選択された理由がわかりましたが、これをする。

私はトレーニング中に私のベクタライザで最高の機能を出力できることを知っていますが、基本的にという理由をに出力するにはどうすればいいですか?

+2

これは通常、マシン学習モデルでは実行できないもので、一般的にはベクトルマシンをサポートするものでもありません。その目的のためにデシジョンツリークラシファイアを使用する方が便利かもしれません。 – Zafi

答えて

1

コーパスボキャブラリの各単語のSVMのトレーニングフェーズでは、各クラスの重みを学習します。

次に、推論の間に、クラスウェイトと分類されるインスタンスのベクトル記述の間のドット積を計算します。このアルゴリズムは、最も高いドットプロダクトスコアをもたらすクラスを返す。したがって、インスタンスの重み(coef_の属性)を調べることで、どのように動作するかを見積もることができます。

しかし、ツリーのような他の方法が解釈可能であることに同意します。

関連する問題