5章カテゴリ変数の取り扱い

カテゴリ変数(categorical variable)はその名のとおり、カテゴリやラベルを表すために使用されます。ここではカテゴリ変数の値をカテゴリ値、カテゴリ値が取り得る値の種類数をカテゴリ数と呼ぶことにします。具体的なカテゴリ変数の例としては、世界の主要都市の名前や季節の種類、企業の産業形態(石油/旅行/テクノロジー系)などが挙げられるでしょう。現実の世界から得られるカテゴリ数は有限であり、カテゴリ値は数値に置き換えることもできます。しかし、一般的な数値とは異なり、カテゴリ値は大小を比較することはできません(産業形態を例に上げると、旅行産業と石油産業には大小関係はありません)。このようなデータを非順序データ(nonordinal)と呼びます。

ある変数をカテゴリ変数として扱うべきなのかは、次の単純な質問によって見分けることができます。「2つの値がどのくらい違うかを知ることが重要ですか? それとも値が異なることを知ることが重要ですか?」 例えば、500ドルの株は100ドルの株の5倍の価値があると言えることがポイントになります。よって、株価は連続的な数値の変数として取り扱うべきです。一方、企業の産業形態(石油/旅行/テクノロジー系)のような変数は値が違うとわかることが重要です。よって、企業の産業形態はカテゴリ変数として扱われるべきです。

トランザクションレコードには、さまざまな値を持つカテゴリ変数が含まれています。例えば、ウェブサービスのトランザクションレコードでは、100~1億種類以上にもおよぶユーザーIDを利用してユーザーを追跡しています。IPアドレスも大規模なカテゴリ変数の1つです。IPアドレスは数値で表記されていますが、数値の大きさには意味がありません。また、ウェブの不正利用を検出する際に、特定のサブネットが他のアドレスに比べて高い頻度で不正を行っているという事実が判明するかもしれません。しかし、サブネット164.203.x.xが164.202.x.xよりも不正であるとは言えません。 ...

Get 機械学習のための特徴量エンジニアリング ―その原理とPythonによる実践 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.