Sklearnメトリクスとは何ですか?なぜそれらについて知る必要がありますか?
公開: 2021-10-22Pythonは、世界中の開発者の間で最も使用されているプログラミング言語の1つです。 データの自動化とアルゴリズムの機能により、プログラム、マシン、コンピューターベースのシステムの構築とトレーニング、および予測の作成に最適です。 したがって、Pythonスキルを持つ候補者は、機械学習やデータサイエンスなどの収益性の高いキャリアパスにますます好まれています。
初心者の場合、自分で適切なツールを見つけるのは難しいように思えるかもしれません。 Scikit-learnのような無料のソフトウェアを使用すると、わずかな労力で関連するスキルを習得できます。 機械学習ライブラリには、Pythonプログラマー向けの分類、回帰、およびクラスタリングのアルゴリズムがいくつかあります。
このブログでは、特に分類の問題とsklearnメトリックに焦点を当てて、学習の過程をガイドします。 評価指標の適用について学び、その背後にある数学についても理解します。
目次
Scikit-Learnの分類メトリクス
分類は、予測モデリングの不可欠な部分です。 これを使用して、母集団からの特定のサンプルが属するクラスを識別します。 患者が再び入院するかどうかを予測したいとします。 ここで考えられる2つのタイプは、ポジティブ(入院)とネガティブ(入院なし)です。 分類モデルは、サンプルが配置されるバケット、予測された正または予測された負を予測します。 モデルをトレーニングすると、予測の精度がわかります。
ほとんどのデータサイエンティストと機械学習エンジニアは、予測モデルのパフォーマンスを分析するためにScikit-Learnパッケージを使用しています。 sklearnメトリクスモジュールを使用すると、多くの組み込み機能にアクセスできます。 これらのメトリックを使用して、関数を最初から作成するプロセスを明らかにしましょう。
世界のトップ大学(修士、エグゼクティブ大学院プログラム、ML&AIの高度な証明書プログラム)からオンラインで機械学習コースに参加して、キャリアを早急に進めましょう。
Sklearnメトリクスの説明
Sklearnメトリックを使用すると、分類パフォーマンスを評価するためのスコア、損失、および効用関数を実装できます。
関連する重要な手順は次のとおりです。
- データを読み込む;
- トレインセットとテストセットに分割します。
- トレーニングモデルを構築します。
- テストデータの予測または予測を行います。
- 特定の方法で機械学習モデルを評価します。
続行するには、ランダムフォレストと線形回帰の2つのモデルのサンプルデータセットと予測機能を読み込む必要があります。 それらをModel_RFおよびModel_LRと呼びましょう。
このコードを実行してPandasモジュールをインポートし、データファイルを読み取り、その要素を調べます。
パンダをpsとしてインポートする
df = ps.read_csv('data.csv')
df.head()
ほとんどのプロジェクトでは、しきい値を定義し、予測確率に予測正および予測負のラベルを付けます。 これにより、テーブルにさらに2つの列が追加されます。
thresh = 0.5
df ['forecasted_RF'] =(df.model_RF> = 0.5).astype('int')
df ['forecasted_LR'] =(df.model_LR> = 0.5).astype('int')
df.head()
実際のラベルと予測されたラベルができたので、サンプルを4つの異なるバケットに分割できます。
confusion_matrixを使用すると、ラベルが次のバケットに分岐した2X2配列を取得できます。
- 真陽性(TP)
- 誤検知(FP)
- フォールスネガティブ(FN)
- トゥルーネガティブ(TN)
sklearnメトリックからconfusion_matrixをインポートし、実際のラベルと予測されたラベルを渡した後、関数を定義して検証できます。
Pythonのassert関数とNumPyのarray_equal関数を使用して、結果が手動で一致するかどうかを確認することもできます。
TP、FP、TN、およびFNの4つのバケットを使用して、他の多くのパフォーマンスメトリックを計算できます。 これらは:
1.accuracy_score
実際のラベルと予測されたラベルを入力として受け取り、正しく予測されたサンプルの割合を生成します。
2.recall_score
正しく予測されたポジティブイベントの割合を示します。 リコールは感度とも呼ばれます。
3.precision_score
これは、ポジティブであると予測されたポジティブイベントの割合を示しています。
これらすべてのメトリックを計算した後、再現率と適合率でRFモデルの方が優れていることがわかったとします。 ここでの選択は簡単です。 しかし、LRモデルのリコールが優れていて、RFモデルの精度が優れているとしたらどうでしょうか。 この場合、F1スコアと呼ばれる別の方法が必要になります。
4. f1_score
これは、再現率と適合率の調和平均です。 スコアが高いモデルがより良いオプションと見なされます。
上記のメトリックは、定義されたしきい値0.5で計算されています。 このしきい値を変更すると、パフォーマンスメトリックも変更されるのではないかと思うかもしれません。 答え? はい、そうなります。
しきい値を選択せずにモデルを評価する別の方法、つまり受信者動作特性(ROC)曲線があります。 Scikit-learnには、それらを分析するための組み込み関数もあります。
roc_curve関数とroc_auc_score関数は、実際のラベルと予測された確率を入力として受け取ります。
roc_curve
3つのリスト、つまりしきい値(降順で一意の予測確率)、FPR(偽陽性率)、およびTPR(真陽性率)を返します。
roc_auc_curve
RFモデルとLRモデルの両方の曲線の下の領域を見つけます。
ROC曲線をプロットし、凡例にAUCを追加すると、より優れたパフォーマンスメトリックを決定できます。
まとめ
予測分析では、さまざまなメトリックから選択できます。 精度、再現率、適合率、f1、およびAUCは、人気のあるスコアの一部です。
しきい値を定義し、適合率、再現率、適合率、f1スコアなどのパフォーマンスメトリックを使用することを好む人もいます。 他の人は、しきい値の選択を必要としないため、AUCを使用してモデルのパフォーマンスを分析したいと思うかもしれません。 最終的には、目前のビジネス上の問題に最も適したメトリックを選択する必要があります。
これで、sklearnメトリックの概要を説明しました。 この情報を使用して、Pythonプログラミングの基本を明確にし、オンラインコースで学習を続けることができます。 また、プロジェクトの作業を引き受けて、スキルを練習および向上させることもできます。 upGradの機械学習と人工知能の理学修士のようなプログラムは両方に役立ちます。
カリキュラムは、完全なデータサイエンスツールキットに精通しており、Scikit-Learnおよびその他のソフトウェアの実用的な側面をカバーしています。 さらに、リバプールジョンムーア大学やIIITバンガロアなどの評判の高い機関からの資格により、求職や面接での競争とは一線を画しています。
Pythonの評価指標とは何ですか?
評価メトリックは通常、Pythonの分類問題に使用されます。 Scikit-Learnは、幅広い予測分析タスクを可能にする無料の機械学習ライブラリです。 意欲的なデータサイエンティストと機械学習エンジニアは、これを使用してデータに関する予測を行い、特定のモデルの品質を分析できます。
なぜsklearnメトリックが必要なのですか?
Sklearnメトリックを使用すると、予測の品質を評価できます。 このモジュールは、Scikit-Learnでさまざまなデータセット、スコア関数、およびパフォーマンスメトリックに使用できます。 sklearnの混同行列は、予測の精度を表す便利なものです。 実際のラベルや予測されたラベルなどの入力と、定義されたしきい値または信頼値を使用して、再現率、適合率、f1スコアなどの指標を計算できます。 ROC曲線法は、確率の推定値のバランスを取り、曲線の下の領域に関してパフォーマンスメトリックを提供します。
AIとMLの大学院教育は、キャリアアップにどのように役立ちますか?
人工知能と機械学習の分野で最も高度な認定には、カリキュラムにScikit-Learnなどのツールが含まれています。 これは、Pythonプログラミングとデータサイエンストレーニングの重要なコンポーネントです。 しかし、PythonとScikit-Learnでのコーディングレシピは、今日の競争の激しい仕事環境では十分ではありません。 業界志向の知識を身につけ、スキルを磨く必要があります。 したがって、プロジェクトや課題を実施する機会を提供する学習プログラムを選択してください。