モデル評価MAP@K


TLR


このMAGEアカデミーレッスンでは、Kで平均平均精度を使用して推薦と個人化のために造られるランキングモデルを評価する方法を経験しています.

概略

  • 導入
  • 推薦
  • アルゴリズムのコーディング
  • MAP@K評価
  • 魔法解決
  • 導入


    ランキング項目のモデルを構築する場合、推奨するためにそれらを使用するのが一般的です.ランキングは、数やカテゴリの面で柔軟であり、コンテンツの推薦や製品の推薦に使用することができます.eコマースショップの場合は、それぞれのユーザーは、特定の時間を費やす習慣と購買習慣として高速でシフトとしてそれを参照してください最高のものを選択する必要があります.
    ビューに基づく電子商取引製品推薦GrowForce )
    このレッスンでは、共同のフィルタリングを使用して、グループのユーザーにマシンの学習方法を一緒に、他の類似のユーザーがクリックしたものに基づいて提案を行う.このアルゴリズムは、同様の視聴者とユーザーを照合することにより、特定の個人に結果を調整するために最適です.これは特にグループやコホート用に作られた出力を可能にします.
    協調フィルタリングB2C )
    我々は、方法に類似した例を見ていますvideo streaming services , Netflix、ディズニー+、またはcrunchyrollなどのマシンの学習を使用してそれを実装することができます.さらに、我々はまた、どのように使用するような他の種類の先進的なモデルに適用することができますその性能を測定する方法computer vision or image recognition .

    推薦


    このレッスンのために、私たちはmovie_ratings データセットは、それぞれのユーザーのための映画のリストを過去に見てきた映画に基づいて、それぞれの評価をキュレーションする.我々のデータセットは、1970年代から映画タイトルのリストを含みますAmerican Film Industry (AFI)、すべての時間のトップ100のアメリカ映画に基づきます.このMovieRange評価データセットは、ユーザーのID、映画を見て、その評価が含まれます.

    モデルのトレーニング


    我々のデータセットから、我々はランキングモデルのゴールを決定するために3つのコラムを選択しようとしています.格付けデータセットを使用して、ユーザーがより多くの製品を購入する可能性を高めることを望むでしょう.言い換えれば、我々はユーザーのための製品をランキングを購入する(別名評価)をランキングすることでしょう.
    私たちがどのようなモデルを評価できるかについて考えてみましょう.mAP@Kこれをkに分解します.P@K, AP@K、mAP@KこれはKで平均平均精度と呼ばれますが、名前を馬鹿にさせないでください.それは単にすべての精度値の平均を取ることによって計算されません.

    Kとは何か


    kは、あなたが一番上の結果が好きである値の数を表します.たとえば、1のKは、非常に最高の提案を返すが、10のKは、トップ10の提案を返します.あなたが多くの製品を持っているならば、これは非常に役に立ちます、あなたが彼らを推薦するとき、あなたはそれらのすべてを送り返したくありません.ランキングモデルを訓練するとき、我々はランク付けしたいオブジェクトの数ですこれは、我々が推薦に示すことができる製品の限界です.

    Kでの精度とKの平均精度


    したがって、“k”がランクするオブジェクトの数である場合、精度はランク付けする各オブジェクトの個々の値です.したがって、Kで精度のために、我々は我々の我々から後退するKまで最高得点値だけの精度を計算しますprecision レッスン、それは合計Positiveの予測値を得ることによって計算されます.つまり、正のマッチ.
    次に、平均精度を得るためには、我々はすべての個々の値の合計を取るだろうとkによって分割すると考えているかもしれませんが、それはそれではなく、代わりに我々はそれはkでも考慮する必要があります.これは、トップ10、K = 10を望むかもしれないエッジケースを説明することですが、あなただけの6映画のリストを開始する必要があります.

    Kにおける平均平均精度


    あなたのモデルがそれの1つの顧客だけを持っているならば、あなたはここでされます.そうでなければ、どのように多様な各ユーザーのアイデアを得るために平均平均精度をチェックしたいと思います.これはピナクルであり、計算だけでなく、特定の個々のモデルを表すために必要となります.その結果、我々はすべてを取るでしょうAP@Kそれぞれのユニークな選択されたグループのための値は、映画に別名ユーザー.その後、合計とユーザーの合計数で分割を取ることによって平均します.

    アルゴリズムのコーディング


    このレッスンのために、我々は評価部分に集中するつもりです.我々は既に事前にこのデータセットを洗浄し、モデルを使用して訓練linear regression . 結果として、予測として出力のリストを思いついたので、今、パフォーマンスに飛び込みましょう.

    Python


    Pythonから始めて、線形回帰モデルから決定された値を使用して、関数をゼロからコード化します.最初にkで平均精度を計算する関数を記述するつもりです.それは3つの値、テストセットからの値、モデル予測からの値、そして最後にkの値をとりますcode MLKIEメトリックPythonライブラリのGithubで見つけることができます.
    1 def apk(actual, predicted, k=10)
    2  if len(predicted)>k:
    3        predicted = predicted[:k]
    4    score = 0.0
    5    num_hits = 0.0
    6 for i,p in enumerate(predicted):
    7        if p in actual and p not in predicted[:i]:
    8            num_hits += 1.0
    9            score += num_hits / (i+1.0)
    10    if not actual:
    11        return 0.0
    12    return score / min(len(actual), k)
    
    この最初の関数はkでの平均精度を計算するだけです.これを壊すために、私たちは予測のサブセットを取ります.次に、合計を計算するために値を繰り返しますprecision そして、テストセットとKの間のより小さい値によって除算してください.
    このAPK関数を使用することにより、同じライブラリを使用して平均を計算することができます.
    1 np.mean([apk(a,p,k) for a,p in zip(actual, predicted)])
    
    同様に、これは値を解凍し、APKが呼び出された回数によって分割された戻り値の合計を使用して平均値をとります.

    Map@K評価


    あなたは値を計算する方法を知っているので、すぐに良いか悪い値になるかを議論しましょう.一般に、機械学習モデルはベースライン値より良い場合は良い.あなたがKを増やすときMAP@K値が上がっていることは、推薦が働く良いサインです.一方、モデルの値がベースラインより小さい場合は、何かがモデルと間違っていて、より多くのデータが必要になるかもしれません.あなたの推薦モデルを再訓練するために考慮すべきいくつかの追加機能は、“ビュー”、“ウォッチタイム”、または“ジャンル”することができます.

    選択MAP@K


    使用する場合MAP@K推薦モデルに関してはMAP@Kつのメトリック.
    MAP@K1つのメトリックがすべてを支配します.LotR )
    中MAP@K高度なメトリックは、推奨事項の特化のために、他のモデル評価メトリックを切り裂くと1つのメトリックとして使用することができます.

    高精度オーバーリコール


    ポジショニング(すなわち、彼らはクリックします)に集中している製品精度を推薦するとき、否定を見て、彼らの対応するリコールよりよいです(すなわち、彼らはクリックしません).特に、正または増加出力のランキング.同様に、リコールは多くのF 1スコアとして重要ではないので、もはや“ベスト”メトリックです.

    K以上のK


    同様に、「k」は分離できる可変長である.評価を行って、予測をするとき、それは現在と将来のアカウント傾向をとるのがよいです.これは、短いバーストやトレンディなデータを無視する拡大一般化を作成するROCのAUCスコアよりも優れている理由です.

    魔法解決


    MAP@Kはまだマシンの学習の中で探検されていない高度なメトリックです.メイジは、中小企業のために推薦モデルを利用可能にするために協調的なフィルタリングをサポートするランキングモデルを作成することに特化します.
    魔道士は簡単ですし、3つの基本的な質問にランキングモデルフローを分解します.
  • 誰のためですか.
  • 何をランクしたいですか.
  • 結果として何が増えるか

  • 次に、データ科学者のように考え、モデルを訓練する私たちの提案に従うことがあります.

    パフォーマンス


    完了したら、概要&統計画面で迎えているモデルがあります.推薦モデルでは,平均平均精度を使用して1,5,10で十分にスマートである.

    ここでは、モデルがベースラインを打った、そして、それがベースラインを打つので、その全体的なパフォーマンスは優れているのを見ます.

    私たちはまた、より良いパフォーマンスのために、それは最高のKを持っていることに注意してください.現在、17 %の平均パフォーマンスの値は、ユーザーが推奨されている任意のいずれかをクリックする可能性が高い17 %の選択肢は、モデルを示している可能性の上昇は、モデルを示すように動作している17 %になります.

    勧告


    サンプルのタグの下では、どのような要因がマットを見ることができます.例えば、ユーザー474の場合には、彼らはゴッドファーザーPart IIを愛して、二重の賠償を嫌うので、我々は類似したユーザーが好きである他の映画を提案するために、この情報を使います.

    この動画はお気に入りから削除されています

    それじゃない?今、あなたは企業が専用の専門家の大チームを必要とすることを行うためにAIを使用することができます.このレッスンを楽しんでくださいMAP@Kと推薦モデル.機械学習の知識についてMage Academy . この低コードAIツールに興味があるならば、サインアップしてくださいMage .