Python 如何使用分类属性作为聚类算法的输入?

Python 如何使用分类属性作为聚类算法的输入?,python,algorithm,machine-learning,Python,Algorithm,Machine Learning,我正在进行一项任务,在这项任务中,我必须应用机器学习来根据用户的行为和背景对其进行聚类。虽然我拥有的一些属性是数字属性,但大多数属性都是分类属性 我读到的大多数机器学习算法只使用数字属性来处理数据 是否存在以分类属性作为输入的聚类算法 如果没有,如何将分类属性转换为数字属性?您可以将分类特征转换为指标变量(也称为虚拟变量)。您也可以使用 例如: 假设数据中有一个类型特征。它有三类 data = pd.DataFrame(['A','B','C'],columns=['TYPE']) data

我正在进行一项任务,在这项任务中,我必须应用机器学习来根据用户的行为和背景对其进行聚类。虽然我拥有的一些属性是数字属性,但大多数属性都是分类属性

我读到的大多数机器学习算法只使用数字属性来处理数据

是否存在以分类属性作为输入的聚类算法


如果没有,如何将分类属性转换为数字属性?

您可以将分类特征转换为指标变量(也称为虚拟变量)。您也可以使用

例如: 假设数据中有一个类型特征。它有三类

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
支持现有的分类功能。或者你可以通过一次热编码、二值化等技术将其转换成数字。