使用
- は、グループのようなものは、カテゴリーデータのための手段(例えば都市地区の価格を意味します) 。
あなたは、アプリケーションのケースでは持っていない情報を注入しないように注意する必要があります。
ワンホットエンコーディング
あなたはカテゴリデータを持っている場合は、それぞれの可能な値の0/1の値を持つダミー変数を作成することができます。
E.g。
idx blue green red
0 1 0 0
1 0 1 0
2 0 1 0
3 0 0 1
へ
idx color
0 blue
1 green
2 green
3 red
これはパンダで簡単に行うことができます:序データため
color_blue color_green color_red
0 1 0 0
1 0 1 0
2 0 1 0
3 0 0 1
番号:
import pandas as pd
data = pd.DataFrame({'color': ['blue', 'green', 'green', 'red']})
print(pd.get_dummies(data))
はになります3210
ソート可能なカテゴリのマッピングを作成します。 g。 古い<は新しい<を改装→0、1、これはパンダでも可能である2
:
data = pd.DataFrame({'q': ['old', 'new', 'new', 'ren']})
data['q'] = data['q'].astype('category')
data['q'] = data['q'].cat.reorder_categories(['old', 'ren', 'new'], ordered=True)
data['q'] = data['q'].cat.codes
print(data['q'])
結果:
0 0
1 2
2 2
3 1
Name: q, dtype: int8
GROUPBY操作のためのカテゴリデータを使用して
ます過去の各カテゴリの平均を使用することができます(既知のイベント)。
は、あなたが都市の最後の既知の平均価格とのデータフレームがあるとしましょう: prices = pd.DataFrame({
'city': ['A', 'A', 'A', 'B', 'B', 'C'],
'price': [1, 1, 1, 2, 2, 3],
})
mean_price = prices.groupby('city').mean()
data = pd.DataFrame({'city': ['A', 'B', 'C', 'A', 'B', 'A']})
print(data.merge(mean_price, on='city', how='left'))
結果:
city price
0 A 1
1 B 2
2 C 3
3 A 1
4 B 2
5 A 1
しかし、あなたは新しい色を予測しようとするとき、どのように助けにあなたをhotencodingだろうか?おそらくあなたの場合、モデルを再トレーニングする必要があります。何か解決策はありますか? – gtzinos