トレーニング用のデータセットの準備
機械学習の質問に答えるために、データセットをトレーニングします。トレーニング データセットには、各特徴量の列と、ターゲットを含む列が含まれています。機械学習アルゴリズムは、これらのデータ行から一般的なパターンを学習して、ターゲットを予測できるモデルを生成します。
データセットを機械学習で使用するには、データを理解し、必要なデータ ポイントを収集する必要があります。一部のデータを変換し、ユース ケースに関係のないデータを削除する必要がある場合もあります。
収集が必要なデータの内容
機械学習の質問を正確に定義し、その質問にアプローチするために集計するデータを厳密に決定します。
-
どの顧客がチャーンするかを予測する場合は、各行が顧客を表し、各特徴量列がその顧客を説明する特徴量を表し、ターゲット列がその顧客が特定の期間にチャーンしたかどうかを表すデータセットを集計する必要があります。
-
特定の月と地域の売上を予測する場合は、各行が特定の地域の特定の月を表し、各特徴量列がその地域におけるその月のビジネスを説明する特徴量を表し、ターゲット列がその月のその地域における売上高を表すデータセットを集計する必要があります。
ターゲットに影響を与える可能性のあるデータを把握し、そのデータを収集できるかどうかを確認してください。予測アルゴリズムは、そこにあるパターンのみを識別できることに注意してください。さらなる情報を抽出するために、追加の特徴量を収集または作成する必要がある場合もあります。
また、正確な予測をするために、どの程度のデータを蓄積する必要があるかを判断する必要があります。イベントが典型的なものになるまでに、どのくらい時間がかかるでしょうか。次の例について考えてみましょう。
-
顧客が 90 日までにチャーンするかどうかを予測するには、顧客は 60 日間メンバーである必要があります。
-
保険金請求の費用は数か月間わからないため、6 か月未満の請求は除外できます。
時間変動データと非時間変動データを区別します。時間変動データの場合、適切に集計できるようなタイムスタンプはありますか?
予測時にデータを利用できるか
トレーニング データセットに含めるすべての特徴量を、将来の予測にも利用できることを確認してください。よくある間違いは、過去のデータでは利用できるものの、将来の予測には利用できないような特徴量を使用してモデルをトレーニングさせることです。新しいデータで予測する場合、機械学習アルゴリズムは、トレーニング データセットで使用可能だったすべての特徴量の値を持つ必要があります。
データは多いほど良いか
サンプル サイズ
データ量が多いほど、信頼性の高いモデルが生成される傾向があります。新しいデータや過去の観測データなど、追加の関連するデータ ポイントがあれば役に立つでしょう。
特徴量の数
ターゲットの結果との関連性にかかわらず、考えられるすべての変数をモデルに含めたくなるかもしれません。通常、シンプルなほうが優れています。一般的に、モデルで使用する特徴量の数は少ないほうが良いでしょう。
特徴量が多くなるほど、求めている真の根本的な関係を覆い隠してしまうリスクが高くなります。予測モデルは、すべての特徴量を使用して、モデルのトレーニングに使用されるデータに対して適切に機能する、一連の複雑なルールを考え出すことができます。しかし、予測されたターゲットは、実際には 1 つまたは 2 つの特徴量の影響のみを受ける可能性があります。モデルは、トレーニングで使用された以外のデータの一般化に適していない可能性があり、新しいデータに適用すると予測パフォーマンスが低下する可能性があります。
オーバーフィット
オーバーフィットとは、モデルが過度に複雑になり、その結果、新しいデータの予測の信頼性を失うことです。オーバーフィットは、利用可能なデータ ポイントの数に対して特徴量が多すぎる場合に発生する傾向があります。例えば、データセットが、50 行のみのデータに対して 100 個の特徴列を持つ場合があります。
トレーニング データは適切であるか
機械学習アルゴリズムは、入力されたデータからパターンを見つけ出し、そのパターンを使用して将来のデータを予測します。新しいデータで予測するときは、そのデータがトレーニング データに類似していると仮定します。この理由から、トレーニング データセットが予測するデータと統計的に類似していることが重要です。
市場やビジネスがトレーニング データセットで説明されているものから大幅に変化した場合、古いデータセットが使用されているために予測が不正確になる可能性があります。その場合は、新しいトレーニング データセットを作成し、変更後に収集されたデータのみを使用する必要があります。
機械学習について の売上予測の例について考えてみましょう。テレビ、ラジオ、新聞の広告費と、過去の事業四半期の売上高を表すデータをアルゴリズムに入力したとします。ただし、データは 1980 年代に収集されたものです。現在、その製品をラジオで宣伝することはなくなり、ほぼオンラインのみで宣伝しています。トレーニング データが現在のビジネスを表すものではないため、トレーニング済みのアルゴリズムは現在の事業四半期の売上高をうまく予測できません。
データを調査する
ビジネス知識を使用して、データを理解し、検証します。データが仮定と一致しない場合、データに問題があるのでしょうか。または、仮定が外れているのでしょうか。
信頼性が低い特徴量の削除
次の場合、データセットから列を除外することを検討してください。
-
1 つの値の集中度が高い (カーディナリティが低い)。例:「赤」、「緑」、「青」の値を持つ列で、90% の値が「赤」の場合。
-
値の一意性が高い (カーディナリティが高い)。
-
ほとんどの値が null である。
相関がある特徴量への対処
同じまたは非常に類似した情報を提供する相関の高い特徴量などの、冗長な特徴量を削除します。データ内で同じ動作を捉えているように見えるグループから、1 つの特徴量を選択することを検討してください。1 つの特徴量が別の特徴量を導出していないか判断してください。
null 値の置き換え
ターゲットや主な特徴量などの主要なデータ ポイントに欠損値がないか、データを調査します。スパース列の値を使用するには、null 値を「other」または「unknown」に置き換えることができます。あるいは、データ収集の見直しが必要な場合があります。
ターゲット範囲
データの分布を見てください。ターゲット データの分布がサンプル サイズに対して広すぎる場合、データ内のパターンを見つけるのが難しい場合があります。
データ値の範囲はどのくらいでしょうか。範囲外のデータ値を予測するには、いくつかの課題があります。詳細については、「外挿と内挿」を参照してください。
分布に異常はありませんか。データの歪み、末尾、マルチモーダル形状には、追加のデータ変換または追加の特徴量エンジニアリングが必要になる場合があります。量の少ないカテゴリはグループ化し、数値特徴量の末尾は四捨五入または削除してください。
外れ値の排除
特徴量列に異常値がある観測値を削除することを検討してください。外れ値は、データの一般的なパターンを識別するアルゴリズムの能力を妨げる可能性があります。ターゲット列の、範囲が狭いデータの小さなサブセットを調べるほうがよい場合があります。
データのグループ化
データを異なるデータセットに分割し、それらを使用して別のモデルをトレーニングすることで、結果を改善できる場合があります。1 つ以上の特徴量に基づいて、データをグループ化します。
データ漏洩
データ漏洩とは、機械学習アルゴリズムのトレーニングに使用されるデータに、予測しようとしている情報が含まれていることを意味します。