-4
import org.apache.spark.ml.classification.MultilayerPerceptronClassifier 
import org.apache.spark.ml.evaluation.MulticlassClassificationEvaluator 
import org.apache.spark.mllib.util.MLUtils 
import org.apache.spark.sql.Row 

// Load training data 
val data = MLUtils.loadLibSVMFile(sc,"/home/.../neural.txt").toDF() 

val splits = data.randomSplit(Array(0.6, 0.4), seed = 1234L) 
val train = splits(0) 
val test = splits(1) 

val layers = Array[Int](4, 5, 4, 4) 
val trainer = new MultilayerPerceptronClassifier().setLayers(layers).setBlockSize(128).setSeed(1234L).setMaxIter(100) 
val model = trainer.fit(train) 
// compute precision on the test set 
val result = model.transform(test) 
val predictionAndLabels = result.select("prediction", "label") 
val evaluator = new MulticlassClassificationEvaluator().setMetricName("precision") 
println("Precision:" + evaluator.evaluate(predictionAndLabels)) 

私はSparkで神経回路網を構築するためにMultilayerPerceptronClassifierを使用しています。私は正確さの62.5%を得ています。正確な精度を得るためには、どのようなパラメータを変更する必要がありますか?どのようにスパークの神経回路網のモデルの精度を高めるには?

+0

、あなたがこれまでにしようとしなかった、あなたの設定は何ですか? – Stophface

+0

投稿を編集しました。ご確認ください – Aditi

+1

この質問は広すぎます:私たちはデータを知らない、あなたは何をやっているのかわかりません。もう一度書き直して詳細を加えてください。 – Vale

答えて

2

一部の人が言ったように、質問が広すぎると、より詳細なしで答えられるカントが、(単独で使用されるモデル/ altorithmsまたはそれらを実装するためのツールとライブラリの)いくつかのアドバイスは、次のようになります。

  • クロス検証セットを使用し、異なるネットワークアーキテクチャでいくつかのクロス検証を実行します。あなたは機能スケーリングおよび/または正規化を適用する必要ができた場合、または
  • を参照してください高バイアスまたは高分散を持っている場合は
  • プロット「学習曲線」
  • を特定します。
  • そのためにneccesarily(手動で失敗した例を確認し、あなたはパターンを見つけることができるかどうかを確認するためにそれらを評価または分類)

をいくつかの「エラー分析を」はありませんが、それはあなたが持っている場合は、特定助けることができますより多くのトレーニングデータが必要な場合、フィーチャの追加または削除、正規化の追加などが含まれます。要約すると、機械学習のデバッグを実行します。あなたはこれで始まる、ビデオのアンドリューNGSシリーズにこの詳細については深い詳細を見つけることができ、助け

希望:いくつかのコード... https://www.youtube.com/watch?v=qIfLZAa32H0

関連する問題