Java - 初始化哈希映射的哈希映射
2022-09-02 19:56:06
我是Java的新手,通过创建一个简单的NaiveBayes分类器来练习。我对对象实例化仍然很陌生,并且想知道如何初始化HashMaps的HashMap。在分类器中插入新观测值时,我可以为给定类中未见过的特征名称创建新的 HashMap,但我是否需要初始化?
import java.util.HashMap;
public class NaiveBayes {
private HashMap<String, Integer> class_counts;
private HashMap<String, HashMap<String, Integer>> class_feature_counts;
public NaiveBayes() {
class_counts = new HashMap<String, Integer>();
// do I need to initialize class_feature_counts?
}
public void insert() {
// todo
// I think I can create new hashmaps on the fly here for class_feature_counts
}
public String classify() {
// stub
return "";
}
// Naive Scoring:
// p( c | f_1, ... f_n) =~ p(c) * p(f_1|c) ... * p(f_n|c)
private double get_score(String category, HashMap features) {
// stub
return 0.0;
}
public static void main(String[] args) {
NaiveBayes bayes = new NaiveBayes();
// todo
}
}
请注意,这个问题不是特定于朴素贝叶斯分类器的,只是以为我会提供一些上下文。