17-12-20193つの機械学習通訳ツールを使用してビジネス上の意思決定を改善する機械学習の解釈可能性は非常にホットな研究トピックであり、このテーマに関する新しい科学論文と記事は毎週公開されています。この記事では、ManoManoでの機械学習の通訳ニーズのほとんどをカバーする3つの補完ツールを紹介し、300万人のDIYおよびガーデニング製品のカタログで必要なものを毎日100万人以上見つけるのを支援しています:機能の重要性:モデルが最も使用する機能はどれですか?部分依存プロット:モデルは特定の変数をどのように使用しますか?機能の貢献:モデルがなぜこの特定の予測を行ったのですか?なぜ機械学習モデルを解釈する必要があるのですか?ビジネスを理解する:ウェブサイトのコンバージョン率を左右する要因は何ですか?配送価格がそれにどのような影響を与えますか?ビジネスカウンターパートとの信頼関係の構築:なぜこの売上予測の予測がそれほど高いのですか?製品は先週157回販売され、そのカテゴリの季節性が高まっているためです。問題を解決するために関連するアクションを実行します。この顧客はなぜ解約する可能性が高いのですか?彼は先月品質の問題を抱えていたからです。モデルのデバッグ/改善:この売上予測の予測がそれほど高いのはなぜですか?本番データセットの欠損値。そんなに過小評価したのですか?この製品は在庫切れであり、気づかなかったため、売上は低かった。使用例:勾配ブースティングツリーを使用した変換率のモデル化3つのツールを説明するために、製品のコンバージョン率のモデル化に注目します。トレーニングデータセットは次のようになります。)と曜日に応じて、特定の日の製品のコンバージョン率を予測しようとしています。次の分析を簡素化するために、データセットを人為的にサンプリングして、平均コンバージョン率が10%になるようにします。ツリーを使用した非常に強力なアンサンブルモデルであるLightGBMを使用しています。このツールは、データサイエンスのコンテストで広く使用されています。機能の重要性は、モデル内の各機能の有用性を計算してすばやく視覚化するツールです。このツールは、ランダムフォレストや勾配ブースティングツリーなどのアンサンブルモデルで一般的に使用されます。決定木を使用して重要な決定を行うために機能が使用されるほど、その相対的な重要性は高くなります。機能の重要度の計算方法の詳細については、このブログ投稿を参照してください。それは私たちのビジネスの直感と一致しますが、それは素晴らしいことです。別の設定を試してみましょう。データ品質の問題があり、何らかの理由で価格の90%が欠落していると想像してください。モデルを再トレーニングした後、次のようになります。価格は重要な機能ではなく、まったく間違っていると推測できます。モデルを改善するには、データ品質の改善に時間を費やす必要があります。ところで、欠損値には情報が含まれることもあります。平均評価が欠落しているということは、単に評価がないことと、製品が人気または新規ではないことを意味します。相関変数の影響3つの相関(およびノイズの多い)価格機能を追加して、何が起こるかを見てみましょう。ここでは、機能「価格」の重要性が38%から24%に低下しました。この変数の重要性は、相関する変数に分散されていました。ノイズの多い機能を追加すると、メモリとCPUの使用量が増加し、過剰適合のリスクが増加します。したがって、このツールによる重要な機能は必要な機能ではない場合があります。機能の重要性の長所と短所(+)実装が非常に簡単で、数行のコードです(+)信号に関する優れた洞察をすばやく提供(+)トレーニングデータセットのデータ品質の問題を検出する効率的なツール(-)特徴相関に敏感(-)欠損値に敏感(-)機能とターゲット関数の関係を提供しません(この例では、価格がターゲットと非常に相関していることはわかっていますが、どの方向にいるかはわかりません)部分依存プロット部分依存プロットは、予測されたターゲットに対するフィーチャの影響を視覚化し、他のすべてのフィーチャの値を無視するのに役立ちます。このようなツールは、ターゲットと機能の相関関係を理解するのに役立ちます。他のすべての条件は同じです。完全な数学的デモンストレーションについては、統計学習の要素のこの章を参照できます。部分依存プロットは、すべての機械学習モデルで使用できます。pythonパッケージを使用することをお勧めします。部分的な依存関係を説明するために、ユースケースに関連する実際の例を見てみましょう。事業主は、送料がコンバージョン率に与える影響を知りたいと考えています。出荷価格は製品価格と非常に相関していることがわかっているため、製品出荷価格とその合計価格の比であるshipping_ratio機能を計算することから始めます。shipping_ratioのビンで平均コンバージョン率を計算して、単変量解析を行います。結果のグラフは非常に明確です。変換率はratio_shipping機能と正の相関があります。経営者と連絡を取り、コンバージョン率を高めるためにすべての製品の出荷価格を引き上げるようアドバイスしますか?もちろん、相関は因果関係を意味しないため、そうではありません。同じ変数で部分依存分析を行い、違いを観察しましょう。予想どおり、予測モデルで使用される他のすべての機能を考慮すると、shipping_ratio機能は予測コンバージョン率と負の相関関係にあります。実際の因果関係はまだ見られませんが、他の機能から修正された相関関係に注意してください。機能の寄与度は、特定の予測に対する各機能の影響を計算します。各予測の詳細な理解が得られます。部分依存プロットのように、使用される機械学習モデルに関係なく、特徴の寄与を計算できます。ランダムフォレストの計算方法を知りたい場合は、このブログ投稿を参照してください。LightGBM予測関数は、それらを直接計算するためのパラメーターを提供します。マノマノで最も人気のある製品の1つであるマキタのドリルを予測し、各機能の貢献度を観察してみましょう。