混乱マトリックスw/Python

2428 ワード

混乱行列


混乱行列は、あなたのマシン学習アルゴリズムがどれだけうまくやっているかを視覚化する最も簡単な方法の一つです.ときに、あなたの真のネガ、偽陰性、真の正と偽陽性を見ることができる混乱行列を作成します.しかし、これらの用語は何を意味しますか?このブログでは、これらの用語のより良い理解と、次のプロジェクトで使用するPythonでの素晴らしい可視化を作成する方法を説明します.
それで、いくつかの値と混乱行列がどのように見えるかの視覚で始めましょう.このチュートリアルのために、私は作成されたいくつかの値を使用します.通常、あなたはあなたのテスト値をあなたのモデルが予測したものと比較するでしょう.

何が起こっているの


今、この混乱行列が私たちを示しているものを乗り越えてください
  • 本当の否定:我々は正しく誤って予測しました.したがって、我々の予測値とテスト値は両方とも0です.
  • 偽陽性:我々の予測は真実でした、しかし、実際の値は誤っていました.したがって、テスト値(left)は0ですが、予測値(bottom)は1です.
  • 偽陰性:我々の予測は間違っていました、しかし、実際の値は真実でした.したがって、テスト値(left)は1ですが、予測値(bottom)は0です.
  • 本当のポジティブ:我々は正しく真実を予測しました.試験値は1であり,予測値は1であった.
  • 創造


    今、我々は我々の混乱マトリックスの各々の正方形が何を若干のデータを加えることを意味するかについての考えがあります.
    import pandas as pd
    import seaborn as sn
    from matplotlib import pyplot as plt
    from sklearn.metrics import confusion_matrix
    
    data = {'y_test': [1,1,1,1,1,0,0,0,0,0],
            'y_pred': [1,1,1,0,0,0,0,0,0,1]}
    
    df = pd.DataFrame(data, columns=['y_test','y_pred'])
    

    我々は、現在の列の列の列を整理しても、すべての行が似たような結果を持っているように列を整理しています.我々のサンプル列をよく見ることによって、私たちは、私たちには、両方のもの(本当のポジティブ)、テストのためのものと予測のためのゼロ(偽陰性)、2つの0(本当の否定)である4行と1つの列が1つであると予測される2つの行がある3行を持っているのを見ることができます.
    そこでここでは、このデータをはるかに読みやすくするために混乱行列を作成する方法です.最初のコマンドは混乱行列の値を計算し、[[ 4 , 2 ], [ 1 , 3 ] ]のような配列に配置します.それから、MatplotLibライブラリを使用して、混乱行列のディスプレイのサイズを設定します.最後に、我々の混乱のマトリックスに生命を与えるためにseabornライブラリからのヒートマップ機能を使用することができます.

    視覚化する


    #create confusion matrix array
    cm1 = confusion_matrix(df['y_pred'],df['y_test'])
    
    #set figure size
    plt.figure(figsize = (4,4))
    
    #create confusion matrix
    sn.heatmap(cm1,linewidths=1,linecolor='black', annot=True,cbar=False,fmt="",cmap=plt.cm.Blues);
    

    今、あなたは非常に簡単にあなたのモデルは、値を予測し、お友達に披露する方法を参照してくださいあまりにも自分の混乱の行列を持っている.