私は現在Kaggleにタイタニック機械学習の問題にTensorflowを適用しています:https://www.kaggle.com/c/titanic低精度
私のトレーニングデータは891×8(891個のデータポイントと8つの機能)です。目標は、タイタニック号の乗客が生き残ったかどうかを予測することです。だから、バイナリ分類の問題です。
私は単層ニューラルネットワークを使用しています。ここで
optimizer = tf.train.MomentumOptimizer(learning_rate=learning_rate, momentum=momentum).minimize(cost)
は私の質問/問題である:これは私のオプティマイザである
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction,y))
:これは私のコスト関数である
私はKaggleへのニューラルネットワークによって行われたいくつかの予測を提出しようとした、と今までのすべての試みは0%の精度を持っています。しかし、最初の10人の乗客の予測をSk-learnからのRandomForestClassifier()の予測に置き換えたとき、精度は50%にまで飛躍しました。
ニューラルネットワークの無能さの私の推測は不適切な訓練データが原因です。だから、私は入力データにノイズを追加することを考えていましたが、どう考えているのか分かりません。
私のトレーニングデータの8つの特徴は、「Pclass」、「Sex」、「Age」、「Fare」、「Child」、「Fam_size」、「Title」、「Mother」です。いくつかはカテゴリー的であり、いくつかは連続的です。
アイデアやリンクは大変ありがとうございます!ありがとうございます。
編集:
私の提出物に間違いがありました。何らかの理由で私の予測はintの代わりにすべて浮動小数点でした。だから、僕はこれでした:
result_df.astype(int)
はあなたに私の提出形式が間違っていることを指摘してみんなに感謝します。
出力が期待どおりのフォーマットに一致していますか?非常に悪いモデルであっても、精度は0%です。 – polku
はい.csvファイルをチェックして、正確なフォーマットに一致しました。最初はフォーマットも間違っていると思いました。私は英語の綴りと出力が0と1に制限されているかどうかをチェックしました。 – user3436204
私のコードもチェックしましたが、それが正しいと確信しています。興味があれば、コード全体を投稿することができます。 – user3436204