問題タブ [multilabel-classification]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - scikit-learn マルチラベル分類
私は Scikit-learn を使用してテキストのマルチラベル分類について学習しようとしています。トレーニング データとしてウィキペディアの記事を使用して言語を分類するために、scikit に付属する最初のサンプル チュートリアルの 1 つを適応させようとしています。以下でこれを実装しようとしていますが、コードは、最後の予測が fr、en を返すと予想される場所ごとに 1 つのラベルを返します。
マルチラベル分類を有効にする正しい方法について、誰でもアドバイスできますか。
戻り値 -
「これは言語検出テストです」の言語。は「えん」です
「Ceci est un test de détection de la langue」の言語。は「fr」です
「Dies ist ein Test, um die Sprache zu erkennen」の言葉。「ド」です
「ボンジュールモナミ。これは言語検出テストです。」の言語。は「えん」です
python - 動的重みによるアンサンブル
sklearn の VotingClassifier で動的重みを使用できるかどうか疑問に思っていました。全体として、0 = その他、1 = スパム、2 = 感情の 3 つのラベルがあります。動的重みとは、次のことを意味します。
私は2つの分類子を持っています。1 つ目は、スパム検出で最高のパフォーマンスを発揮するランダム フォレストです。もう 1 つは、トピックの検出に優れた CNN です (その他と感情の適切な区別)。私が望むのは、ラベル「Spam/1」を割り当てるときに RF により高い重みを与える VotingClassifier です。
VotingClassifier は正しい方法ですか?
よろしくお願いします、
ステファン
python - Sklearn - すべてのターゲット ラベルの確率を予測する方法
7 つの異なるラベルを持つことができるターゲット変数を持つデータ セットがあります。トレーニング セットの各サンプルには、ターゲット変数のラベルが 1 つしかありません。
各サンプルについて、各ターゲット ラベルの確率を計算したいと考えています。したがって、私の予測は、各行の 7 つの確率で構成されます。
sklearn の Web サイトでマルチラベル分類について読みましたが、これは私が望んでいるものではないようです。
次のコードを試しましたが、サンプルごとに 1 つの分類しか得られません。
これについて誰かアドバイスはありますか?ありがとう!
machine-learning - scikit-learn でマルチラベル ランダム フォレストを使用したラベル割り当てのないサンプル
Scikit-Learn の RandomForestClassifier を使用して、ドキュメントの複数のラベルを予測しています。各ドキュメントには 50 の機能があり、機能が不足しているドキュメントはなく、各ドキュメントには少なくとも 1 つのラベルが関連付けられています。
ただし、サンプルにラベル データが欠落していなくても、予測後にラベルが割り当てられていないサンプルがあることに気付きました。
predict_proba の結果は、predict の結果と一致します。
上記の各出力は、ラベルごとに、表示されないラベルにより高い限界確率が割り当てられていることを示しています。決定木についての私の理解では、予測時に各サンプルに少なくとも 1 つのラベルを割り当てる必要があるため、少し混乱します。
マルチラベル デシジョン ツリー/ランダム フォレストがサンプルにラベルを割り当てられないのは予想される動作ですか?
更新 1
各ドキュメントの特徴は、トピック モデルに従ったトピックに属する確率です。
ラベル データは MultiLabelBinarizer を使用してフォーマットされており、次のようになります。
更新 2
上記の predict_proba の出力は、クラスを割り当てないことは、ラベルに投票するツリーのアーティファクトである可能性があることを示唆しています (20 本のツリーがあり、すべての確率は約 0.05 の倍数です)。ただし、単一の決定木を使用すると、ラベルが割り当てられていないサンプルがいくつかあることがわかります。出力は、各サンプルについて、特定のラベルがサンプルに割り当てられているか割り当てられていない確率があるという点で、上記の predict_proba に似ています。これは、ある時点でデシジョン ツリーが問題をバイナリ分類に変えていることを示唆しているように見えますが、ドキュメントにはツリーがラベル相関を利用していると書かれています。
python - Python scikit はマルチクラス マルチラベル パフォーマンス メトリクスを学習しますか?
マルチクラス マルチラベル出力変数に対してランダム フォレスト分類器を実行しました。出力を下回りました。
ここで、分類器のパフォーマンスを確認したいと思います。マルチクラス マルチラベルの場合、「ハミング損失または jaccard_similarity_score」が適切なメトリックであることがわかりました。計算しようとしましたが、値のエラーが発生していました。
私が試した行の下:
ありがとう、
python - sklearn - テキスト ドキュメントからのマルチラベル分類で上位 3 ~ 4 ラベルを予測する
私は現在、テキスト ドキュメントからの特徴抽出に使用する分類器MultinomialNB()
をセットアップしてCountVectorizer
います。これは非常にうまく機能しますが、同じ方法を使用して、上位のラベルだけでなく上位の 3 ~ 4 ラベルを予測したいと考えています。
主な理由は、c.90 のラベルがあり、データ入力があまり良くないため、最高の見積もりの精度が 35% になることです。提案として最も可能性の高い上位 3 ~ 4 個のラベルをユーザーに提供できれば、精度範囲を大幅に増やすことができます。
助言がありますか?任意のポインタをいただければ幸いです!
現在のコードは次のようになります。
encoding - バイナリ関連性とワンホットエンコーディングの違いは?
バイナリ関連性は、マルチラベル分類問題に対処するためのよく知られた手法です。この手法では、特徴の可能な値ごとにバイナリ分類子をトレーニングします。
http://link.springer.com/article/10.1007%2Fs10994-011-5256-5
一方、ワン ホット エンコーダー (OHE) は、自然言語処理で一般的に使用され、複数の値をバイナリ ベクトルとして取得するカテゴリ特徴をエンコードします。
http://cs224d.stanford.edu/lecture_notes/LectureNotes1.pdf
この 2 つの概念は同じものと見なすことができますか? それとも技術的な違いはありますか?