相关疑难解决方法(0)

预处理具有分类和连续特征的大型数据文件

首先感谢你阅读我,如果你能提供任何线索来帮助我解决这个问题,非常感谢。

由于我是 Scikit-learn 的新手,请不要犹豫提供任何可以帮助我改进过程并使其更专业的建议。

我的目标是在两个类别之间对数据进行分类。我想找到一个可以给我最精确结果的解决方案。目前,我还在寻找最合适的算法和数据预处理。

在我的数据中,我有 24 个值:13 个是名义值,6 个是二值化的,其他是连续的。这是一行的示例

"雷诺";"CLIO III";"CLIO III (2005-2010)";"柴油";2010;"HOM";"_AAA";"_BBB";"_CC";0;668.77;3;"Fevrier" ;"_DDD";0;0;0;1;0;0;0;0;0;0;247.97

我有大约 90 万行用于学习,我的测试超过 10 万行

由于我想比较几个算法实现,我想对所有标称值进行编码,以便它可以在多个分类器中使用。

我尝试了几件事:

  1. LabelEncoder :这非常好,但它给了我分类器错误解释的有序值。
  2. OneHotEncoder :如果我理解得很好,它非常适合我的需求,因为我可以选择要二值化的列。但是由于我有很多标称值,它总是在 MemoryError 中。此外,它的输入必须是数字,因此之前必须对所有内容进行 LabelEncode。
  3. StandardScaler :这非常有用,但不是我需要的。我决定整合它来扩展我的连续值。
  4. FeatureHasher :首先我不明白它的作用。然后,我看到它主要用于文本分析。我试图用它来解决我的问题。我通过创建一个包含转换结果的新数组来作弊。我认为它不是为那样工作而构建的,它甚至不合逻辑。
  5. DictVectorizer :可能很有用,但看起来像 OneHotEncoder 并在内存中放入更多数据。
  6. partial_fit :此方法仅由 5 个分类器给出。我希望能够使用感知器、KNearest 和 RandomForest 至少做到这一点,所以它不符合我的需求

我查看了文档,并在Preprocessing and Feature Extraction页面上找到了这些信息。

我想有一种方法来对所有标称值进行编码,这样它们就不会被视为有序的。该解决方案可以应用于类别众多、资源薄弱的大型数据集。

有什么方法可以满足我的需求?

感谢您提供任何线索和建议。

python classification scikit-learn categorical-data

5
推荐指数
1
解决办法
7952
查看次数