我应该用什么数据结构来存储朴素贝叶斯分类器的数据集?



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

下面是我使用的训练集的一个例子:

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 })

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

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

你可以创建一个类型为person的类/结构

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

则可以创建包含这些对象的数组。人[]的人;添加任意多的对象和相应的属性,然后循环遍历数组来计算每个标签。

最新更新