假设我有一个5000行的矩阵,包含10列,其中大部分列都填充了分类数据(字符串),每列有10到30个不同的字符串。用Python处理这种数据的最佳方法/算法是什么?使用OneHotEncoder会生成一个非常大的矩阵。
回答:
Scikit-learn的one-hot编码器默认使用稀疏矩阵,因此矩阵的实际形状不是问题(因为它不会存储非零条目)。
一些简单的sklearn算法(线性模型、树、朴素贝叶斯)能够处理这种稀疏数据 – 具体示例请参见计算性能部分或使用稀疏特征对文本文档进行分类
假设我有一个5000行的矩阵,包含10列,其中大部分列都填充了分类数据(字符串),每列有10到30个不同的字符串。用Python处理这种数据的最佳方法/算法是什么?使用OneHotEncoder会生成一个非常大的矩阵。
回答:
Scikit-learn的one-hot编码器默认使用稀疏矩阵,因此矩阵的实际形状不是问题(因为它不会存储非零条目)。
一些简单的sklearn算法(线性模型、树、朴素贝叶斯)能够处理这种稀疏数据 – 具体示例请参见计算性能部分或使用稀疏特征对文本文档进行分类