問題タブ [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.
machine-learning - scikit-learn: パイプライン内で SelectKBest を使用するときに選択された機能を取得する
マルチラベル シナリオで、scikit-learn パイプラインの一部として機能の選択を行おうとしています。私の目的は、与えられた k に対して、最良の K 個の特徴を選択することです。
簡単かもしれませんが、そのようなシナリオで選択された機能のインデックスを取得する方法がわかりません。
通常のシナリオでは、次のようなことができます。
しかし、マルチラベルのシナリオでは、私のラベルの次元は #samples X #unique_labels であるため、fit と fit_transform は次の例外を生成します: ValueError: 入力形状が正しくありません
ディメンション [#samples] のラベルが必要なため、これは理にかなっています
マルチラベルのシナリオでは、次のようなことをするのが理にかなっています:
しかし、私が取得しているオブジェクトは、get_support関数を持たないsklearn.multiclass.OneVsRestClassifier型です。パイプライン中に使用される場合、トレーニング済みの SelectKBest モデルを取得するにはどうすればよいですか?
output - 複数の Meka (Weka) 分類器を実行 - エラーをファイル / テーブル オブジェクトにロード
Meka に慣れていない方のために説明すると、Meka はマルチラベル分類器用の Weka の拡張です。ただし、Meka と Weka は非常に似ているため、Weka ユーザーもこの質問に答えることができるかもしれません。
基本的に、さまざまな分類子の実行結果が必要であり、それらすべてをテーブルにまとめて、さまざまな評価メトリックについて、各分類子からの値をハードコーディングすることなくモデル選択を迅速に (動的/自動で) 実行できるようにしたい.. .
複数の分類子実験を実行するための絶対確実で効果的な方法はありますか?クロス検証を使用して、以下のような表を取得します:
neural-network - マルチラベル画像のカフェ
複数のラベルを持つ画像のデータセットがあります。データセットには 100 個のクラスがあり、各画像には 1 ~ 5 個のラベルが関連付けられています。
次の URL の指示に従っています。
https://github.com/BVLC/caffe/issues/550
次のように、画像とそのラベルをリストしたテキスト ファイルを生成する必要があると書かれています。
私の場合、マルチラベルの画像があるので、次のようにラベルを追加するだけでうまくいきますか?
おそらくそれほど単純ではないだろうと感じています。私が正しければ、Caffe をセットアップするプロセスで、データセットのマルチラベル性をどのステップで、どのように統合する必要がありますか?
python - 分類に Vowpal Wabbit を使用して多くの NaN 予測を取得する
私は Vowpal Wabbit を初めて使用しますが、ここで本当に明らかな何かが欠けている可能性があります。
トレーニング用に 80%、テスト用に 20% に分割した CSV 形式のトレーニング データがあります。これには、合計 7 つのクラス (0 ~ 6) を定義する 62 の機能 (x0 ~ x61) が含まれています。
phraug2/csv2vw.py を使用して CSV を Vowpal 形式に変換しました。変換されたデータは次のようになります。
次に、マルチクラス分類、One Against All を実行してモデルを構築しようとしています。
ただし、NAN予測がたくさんあり、失われています。
平均損失は、モデルが実際には何も予測できないことを示しています
私は何を間違っていますか?
machine-learning - マルチラベル クロス エントロピー
ここの回答の1つにクロスエントロピーがあります: nolearn for multi-label classification、つまり:
なぜこれが特にマルチラベルなのですか? 単変量 (単一クラス) 分類の対数損失によく似ています。これは、文献http://arxiv.org/pdf/1312.5419v3.pdfで見つけました。
machine-learning - この浮動小数点データを前処理して scikit で使用する方法 - 機械学習
4000 個の特徴と 35 個のサンプルを含むデータセットがあります。すべての機能は 1 ~ 3 の浮動小数点数です。例: 2.68244527684596。
このデータで分類子を機能させるのに苦労しています。knn、svm (linear、rbf、poly) を使用しました。それから私はノーマライゼーションについて学びました。それでも、私にとっては少し複雑で、このコードを機能させて適切な予測を行うことができません。
データを正規化するために使用しているコードは次のとおりです。
分類しようとしているコードは次のとおりです。
私は機械学習の初心者で、すべての概念についてもっと学ぶために一生懸命働いています。誰かが私を正しい方向に向けるかもしれないと思った。
注:サンプルは 35 個しかありません。これは課題の一部です。これ以上データを取得できません:(
scikit-learn - GridSearchCV(OneVsRestClassifier(clf, ...)): N 個のすべての分類子に対する 1 つの最適なハイパー パラメーター セットと、各分類子に対する 1 つの最適なセット
バックグラウンド
L
マルチクラス(マルチラベル)の問題で予測するラベルがあるとしましょう。を使用してOneVsRestClassifier
、L
構築中の分類器があります。LogisticRegression
個々の分類子に使用すると仮定しましょう。
GridSearchCV
(resp. )を使用して最適なハイパー パラメーターを検索する場合RandomizedSearchCV
、以下を実行します。
質問
上記のコマンドを実行すると、すべての分類子GridSearchCV
のトレーニング (resp. refit) に使用される最適なハイパー パラメーターのセットが 1 つ得られます。L
したがって、たとえば、 の最適値を取得し、C=10
その値を使用してすべてのL
分類子を再適合させます。
私の質問は、分類器GridSearchCV
ごとに最適なハイパーパラメーターの異なるセットを返さない理由です。L
たとえばlabel0
、最適なC=10
場合label1
、最適なC=0.01
場合、... ? 分類器ごとに 1 つのセットを返すのではなく、ハイパー パラメーターの 1 つのセットを返すことにしたのはなぜですか?
以前の経験
この動作は、各ラベル分類器を「手動で」トレーニングするときに通常得られるものと同じではないため、質問しています。たとえば、何千ものラベルを予測するいくつかのタスクでは、各ラベル分類子を個別にトレーニングし (多数のマシンに分散)、その結果、ラベル分類子ごとに異なる値のハイパー パラメーターを取得します。
r - Rでxgboostパッケージを使用してマルチクラス分類の出力を解釈するには?
私は XGBOOST のパッケージを初めて使用します。複数クラスの分類問題に使用したいと考えています。
現在、30 個のクラス (またはラベル) があり、それらを整数 (0 ~ 29) に変換しました。次に、データ セットに対して XGBOOST パッケージの xgboost() メソッドを実行します。モデルを構築したら、predict() メソッドを使用して新しいテスト データを予測します。最後に、最終出力として数値のベクトルを取得しました。ところで、すべての数字は 0 から 1 の間です。
では、出力をどのように解釈できますか? その確率ですか?しかし、どのクラスに関連付けるべきかをどのように知ることができますか?
ありがとう