【问题标题】:What data structure should I use to store the dataset of my Naive Bayes classifier?我应该使用什么数据结构来存储我的朴素贝叶斯分类器的数据集?
【发布时间】:2015-11-30 01:56:54
【问题描述】:

我正在开发我自己的朴素贝叶斯分类器版本。现在我用一个标签字符串和一个哈希/特征字典来训练它。

这是我正在使用的训练集的一个示例:

classifier.train(:male, { height: 6, weight: 180, foot_size: 12 })
classifier.train(:male, { height: 5.92, weight: 190, foot_size: 11 })
classifier.train(:male, { height: 5.58, weight: 170, foot_size: 12 })
classifier.train(:male, { height: 5.92, weight: 165, foot_size: 10 })
classifier.train(:female, { height: 5, weight: 100, foot_size: 6 })
classifier.train(:female, { height: 5.5 , weight: 150, foot_size: 8 })
classifier.train(:female, { height: 5.42, weight: 130, foot_size: 7 })
classifier.train(:female, { height: 5.75, weight: 150, foot_size: 9 })

到目前为止,我需要计算每个标签的计数/总数、每个特征的总数以及每个标签内每个特征的计数。

我应该使用什么数据结构来简化/帮助这些计算?

【问题讨论】:

  • 这么漂亮的问题:-)
  • 是的,有数据结构可以简化它。您可以使用散列、结构或定义类,没有一个比另一个更好。您需要尝试并找到更适合您的方法。解释它们以及如何使用它们需要的空间比我们在单个答案中所允许的要多,因此您需要做基础工作并尝试一些事情。当您开始实施您的想法时,请向我们询问具体问题。

标签: ruby data-structures machine-learning naivebayes


【解决方案1】:

你可以创建一个说类型人的类/结构

class Person {
      string gender;
      float height;
      float weight;
      int foot_size;
}

然后您可以创建一个包含这些对象的数组。 人[]人; 使用适当的属性添加任意数量的对象,然后遍历数组以计算每个标签。

【讨论】:

    猜你喜欢
    • 2013-08-07
    • 2012-05-23
    • 2018-02-06
    • 2023-03-27
    • 1970-01-01
    • 2017-01-10
    • 2014-06-11
    • 2013-12-02
    相关资源
    最近更新 更多