2017-05-22 17 views
0

keras.utils.np_utils.to_categoricalを使用するときに説明してください。
クラスベクトルバイナリ行列(おそらくで使用されています)を理解しています。深い学習モデルです。
しかし、まだクラスベクトル自体を使用していて、おそらくmodel.predict_classesを使用している場合は、何が欠点ですか?ケータールにto_categoricalを使用する場合

答えて

4

複数のクラスを持つ分類モデルは、クラスがバイナリマトリックスに分散していないとうまく機能しません。

あなたは3 clasessがあると、ベクトルは、このように書きます:

  • [1、0、0] =クラス1
  • [0、1、0] =クラス2
  • [0あなたのモデルにそれを渡す前に、あなたはあなたのトレーニングデータを変換するためにto_categoricalを使用して、0、1] =クラス3

トレーニングデータでクラスを数値として使用する場合、to_categoricalはモデルで使用するために適切なベクトルでこれらの数値を変換します。単純に分類モデルを訓練することはできません。

残念ながら、predict_classesは記載されていないため、使用しない方がいいでしょう。しかし、私はそれが正確に逆の操作を行うと仮定しますto_categoricalはしません。あなたのモデルはベクトルを出力し、predict_classesはそれらのベクトルを人間が読めるクラスに変換します。

+0

説明のためにDanielありがとうございます。しかし、「これを除いて分類モデルを単純に訓練することはできません」というDLの問題にのみ適用されますか?私は単純に変数 "y"の下でクラスを使用し、分類子に渡してしまったのですか?何か不足していますか? –

+0

Hmm ... RandomForestClassifierは分かりませんが、Kerasのみを使用しています。これまでの分類例の100%はこの配列形式にする必要があります。その場合のクラスラベルは何ですか?あなたがインターネット上で見つけたすべての異なるデータセットは、別の方法で提供され、いくつかはすでに用意されていますが、いくつかは用意されていないことに注意してください。 –

+0

ありがとう..私はおそらく大規模なデータセットを扱うので、これを行うには理にかなっていると思います –

2

私はこれが古いスレッドだと知っていますが、明確にするのに役立ちます。

あなたが(数値ラベルであっても)あなたのラベル間の関係がアルゴリズムによってどのように理解されるかによるものです。

たとえば、色分けを行ったとします。赤を1、青を2、橙色を3と指定します。

これで、機械学習アルゴリズムに入力され、入力が一致するかどうかが判断されます。数学は、オレンジが赤よりも高いと言います。これは明らかにあなたの意図ではありませんが、ネットワークはオレンジがより大きく、赤よりもであることを認識します。

関連する問題