我正在开展一项任务,我必须根据他们的行为和背景应用机器学习来对用户进行聚类。虽然我拥有的一些属性是数字的,但大多数都属于绝对属性。
我读到的大多数机器学习算法只使用数字属性来处理数据。
是否存在将分类属性作为输入的聚类算法?
如果没有,如何将分类属性转换为数字属性?
答案 0 :(得分:1)
您可以将分类要素转换为指标变量(也称为虚拟变量)。您也可以使用one hot encoder。
实施例: 假设您的数据中有一个TYPE功能。它有三个类别。
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