2017-06-15 17 views
-1

私は、自分の行動や背景に応じてユーザーをクラスタ化する機械学習を適用する必要がある作業に取り組んでいます。私が持っている属性のいくつかは数値ですが、そのほとんどはカテゴリに分類されています。クラスタリングアルゴリズムへの入力としてカテゴリ属性を使用するにはどうすればよいですか?

私が読んだ機械学習アルゴリズムのほとんどは、データを処理する数値属性のみを使用しています。

カテゴリ属性を入力とするクラスタリングアルゴリズムはありますか?

そうでない場合は、カテゴリ属性を数値属性に変換する方法はありますか。

+0

[マイクロソフトからLightGBM](https://lightgbm.readthedocs.io/en/latest/Python-intro.html#specific-feature-names-and-categorical-featuresは)カテゴリ機能をサポートしています。 。または、ワンホットエンコーディング、二値化などの手法で数値に変換します。 –

答えて

1

カテゴリ機能を標識変数(ダミー変数とも呼ばれます)に変換できます。 one hot encoderも使用できます。

例: データに1つのTYPE機能があるとします。そこには3つのカテゴリがあります。そのまま

data = pd.DataFrame(['A','B','C'],columns=['TYPE']) 

data 
Out[24]: 
    TYPE 
0 A 
1 B 
2 C 

#Use get_dummies on pandas dataframe. 

new_data = pd.get_dummies(data,columns=['TYPE'],prefix='TYPE_') 

new_data 
Out[26]: 
    TYPE__A TYPE__B TYPE__C 
0  1.0  0.0  0.0 
1  0.0  1.0  0.0 
2  0.0  0.0  1.0 
関連する問題