テストデータのトレーニングよりも少ない機能の場合はどうすればよいですか?
質問
ショップの販売を予測しているとしましょう。私のトレーニングデータには2つの機能があります。
- 日付のある店の販売に関する1つ(フィールド「ストア」は一意ではありません)
- ストアタイプに関する1つ(フィールド「ストア」はここでユニークです)
したがって、マトリックスは次のようになります:
+-------+-----------+------------+---------+-----------+------+-------+--------------+
| Store | DayOfWeek | Date | Sales | Customers | Open | Promo | StateHoliday |
+-------+-----------+------------+---------+-----------+------+-------+--------------+
| 1 | 5 | 2015-07-31 | 5263.0 | 555.0 | 1 | 1 | 0 |
| 2 | 5 | 2015-07-31 | 6064.0 | 625.0 | 1 | 1 | 0 |
| 3 | 5 | 2015-07-31 | 8314.0 | 821.0 | 1 | 1 | 0 |
| 4 | 5 | 2015-07-31 | 13995.0 | 1498.0 | 1 | 1 | 0 |
| 5 | 5 | 2015-07-31 | 4822.0 | 559.0 | 1 | 1 | 0 |
| 6 | 5 | 2015-07-31 | 5651.0 | 589.0 | 1 | 1 | 0 |
| 7 | 5 | 2015-07-31 | 15344.0 | 1414.0 | 1 | 1 | 0 |
| 8 | 5 | 2015-07-31 | 8492.0 | 833.0 | 1 | 1 | 0 |
| 9 | 5 | 2015-07-31 | 8565.0 | 687.0 | 1 | 1 | 0 |
| 10 | 5 | 2015-07-31 | 7185.0 | 681.0 | 1 | 1 | 0 |
+-------+-----------+------------+---------+-----------+------+-------+--------------+
[986159 rows x 4 columns]
と
+-------+-----------+------------+---------------------+
| Store | StoreType | Assortment | CompetitionDistance |
+-------+-----------+------------+---------------------+
| 1 | c | a | 1270 |
| 2 | a | a | 570 |
| 3 | a | a | 14130 |
| 4 | c | c | 620 |
| 5 | a | a | 29910 |
| 6 | a | a | 310 |
| 7 | a | c | 24000 |
| 8 | a | a | 7520 |
| 9 | a | c | 2030 |
| 10 | a | a | 3160 |
+-------+-----------+------------+---------------------+
[1115 rows x 4 columns]
2番目のマトリックスには、ストアタイプ、それぞれが販売するアイテムの品揃えグループ、最寄りの競合他社からの距離について説明します。
しかし、私のテストデータでは、最初のマトリックスにのみ情報がありません Customers
と Sales
田畑。目的は、
- 店
- 曜日
- 日にち
- オープン(店が開いているかどうか)
- プロモーション(ストアがプロモーションを行っているかどうか)
- Stateholiday(州の休日かどうか)
上記の弾丸のフィールドに基づいて分類器を簡単にトレーニングして予測できます Sales
しかし トレーニングデータに2番目のマトリックスを使用して、テストデータに入らないようにするにはどうすればよいですか?
ストアタイプに関する2番目のマトリックスが静的であり、テストデータに簡単に結合できると仮定することは論理的ですか?
テストデータ機能セットにホールがある場合、テストデータのいくつかの行については、「プロモーション」値がありません。
解決
監視されていない学習のための追加機能を使用してください。あなたは、彼が特権学習と呼んでいるSVMSの文脈で、ウラジミール・ヴァプニクがこれを引き受けることを楽しむかもしれません: インテリジェントな教師との学習:類似性のコントロールと知識移転
他のヒント
あなたが問題を述べている方法には問題があるかもしれないと思います。テストデータには2つのフィールドがないと言いますが、それは正しくありません。
すべてのデータを取得し、2つのグループ、トレーニングセットとテストセットに分割する必要があります。 80%-20%または70%-30%の割合。次に、トレーニングセットのデータでアルゴリズムをトレーニングし、テストセットのデータを使用してモデルの精度をテストします。
あなたが得る精度は、あなたのモデルが正しい確率です。または別の言い方をすれば、次にモデルを使用して販売を予測するときに、正確性はあなたの予測が現実である確率です