2017-03-28 10 views
0

バイナリ分類にSpark mlibを使用しています。私は3000枚の写真でモデルを訓練し、それが男性または女性の1/0であることを予測することができます。スパークバイナリ分類の予測精度

final NaiveBayesModel model = NaiveBayes.train(training.rdd(), 1.0); 
JavaRDD predictions = test.map(new Function<Vector, Double>() { 
      @Override 
      public Double call(Vector p) { 
       return model.predict(p); 
      } 
     }); 

私には質問があります。写真に人がいない場合はどうなりますか?例えば、花の写真。とにかく男性または女性の結果が与えられます。現在の決定の正確さを確認する方法はありますか?たとえば、花の写真を予測しようとすると、このベクトルは30%の男性です。または、男性/女性/その他のようなマルチクラス分類を使用する必要がありますか?

答えて

0

あなたの質問では、現在バイナリ分類を行うようにモデルを訓練している場合は、それだけです。あなたは、少なくとも2つの異なることを行うことができます:あなたが提案するよう

  1. は、三つのクラス(malefemaleother)を予測するモデルを訓練します。次いでhuman present/not present間予測
  2. 使用する2つのバイナリモデル、一つだけ別male/femaleクラシファイアにhuman present結果を渡します。

より効果的なものを先に伝えるのは難しいですが、mllibを使用しているので、両方を試してみるとどちらが良いかわかるはずです。比較するには良いtrain/validation/test分割を使用してください。

+0

「人間存在/存在なし」のようなバイナリ分類を行うモデルを訓練し、次に予測が「人間存在」であれば、他の訓練モデルで「男性/女性」を予測することを意味しますか? –

+0

@RuslanLomovはい、それはオプション2の正しい解釈です。 – dantiston

関連する問題