1

私は3つの予測モデルを持っていますが、私は混乱行列で性能を評価しています。 3つのモデルのそれぞれについて、混同行列について同じ結果が得られました。 私は、異なるモデルが異なって実行し、異なる混乱行列を生成すると予想します。私は予測モデリングには新しいので、私は "ルーキーミス"をしていると思う。私が使用しています完全なスクリプトは、GitHubのhere混同行列 - 予測モデル(Sklearn)で変化しない

にJupyterのノートに3つのモデルのコードのスクリーンショットを座っているいくつかのいずれかが間違っている何が起こっているかを指摘することができ

下回っているのですか? 乾杯あなたが予測を行うために、同じトレーニングデータを使用しているというだけの理由である マイク

enter image description here

+0

てみてください[グリッド検索](http://scikit-learn.org/stable/auto_examples/model_selection/plot_grid_search_digits.html#sphx-glr-auto-examples-model-selection-plot-grid-search-digits- py)を使用してハイパーパラメータを調整します。 –

+0

少し話してみると、列車には合っていても、テストでは予測して意味のあるデータが得られるはずです。また、あなたのすべての異なるモデルからのすべての予測がまったく同じ値を持っているかどうかチェックしますか? – Tbaki

+0

@Tbakiはい、間違いなく、3つのモデルすべての行値の予測は同じです。 Mohammed Kashifの提案では、より意味のあるデータを得るためにtrain_test_splitアプローチを使用してデータを分割し、予測を再実行します。 – Mike

答えて

-1

。あなたのモデルは、あなたが予測をしているのと同じデータで既に訓練されているので、同じ結果を返します(そして最終的には同じ混乱行列)。データセットをトレーニングセットとテストセットに分割する必要があります。トレーニングセットで分類器を訓練し、テストセットの予測を行います。

あなたはトレーニングやテストセットにあなたのデータセットを分割するSklearnでtrain_test_splitを使用することができます。

1

前述のとおり、テストデータの予測を行います。しかし、あなたの目標は歪んでいることに留意してください!ですので、StratifiedKFoldsなどを使用してください。

また、私はあなたのデータをビット破損していることを推測します。すべてのモデルが同じ結果を示していますが、大きなミスの可能性があります。

いくつかの質問/アドバイス: 1.あなたはあなたのデータを拡張しましたか? 2.ワンホットエンコーディングを使用しましたか? 2. Decision Treesではなく、Forest/XGBoostを使用します。簡単にDTで過ごすことができます。 3. NNで> 2の隠れたレイヤーを使用しないでください。オーバーフィットするのも簡単だからです。最初に2を使用してください。そして、2つのターゲットクラスを持つあなたのアーキテクチャ(30,30,30)は奇妙に見えます。 4.> 2つの隠れたレイヤーを使用する場合は、KerasまたはTFに移動します。あまりフィットしないように役立つ多くの機能があります。

関連する問題