似然比Java

时间:2015-06-30 07:35:24

标签: java machine-learning

我正在寻找一个关于如何在java中实现似然比测试的库或示例,就像在matlab中一样。

我有两个不同的double值向量,并希望接收标量值。 每个值对应于我的机器学习算法的一个特征,因此第一个向量是训练模式,第二个向量是测试。

你能帮帮我吗?

在matlab上我只使用两个矩阵上的除法,如LR = test_matrix / training_matrix

我已经尝试过apache mahout,但我不确定我是否正确使用它。 代码如下:

        FastByIDMap<FastByIDMap<Long>> timestamps = new FastByIDMap<>();
        Collection<Preference> prefs = new ArrayList<>(2);
        FastByIDMap<Collection<Preference>> data = new FastByIDMap<>(); //Preferecens for user0
        Preference newPrefs = new GenericPreference(0, 0, (float) -0.5);
        Preference pref = new GenericPreference(0, 1, 50);
        Preference pref2 = new GenericPreference(0, 2, 51);
        prefs.add(newPrefs);
        prefs.add(pref);
        prefs.add(pref2);
        data.put(0, prefs);
        Collection<Preference> prefs_1 = new ArrayList<>(2);
        newPrefs = new GenericPreference(1, 0, (float) -0.5);
        pref = new GenericPreference(1, 1, 50);
        pref2 = new GenericPreference(1, 2, 51);
        prefs_1.add(newPrefs);
        prefs_1.add(pref);
        prefs_1.add(pref2);
        data.put(1, prefs_1);
        GenericDataModel model = new GenericDataModel(GenericDataModel.toDataMap(data, true), timestamps);
        FastByIDMap<PreferenceArray> us = model.getRawUserData();
        System.out.println("us:"+ us.toString());
        LogLikelihoodSimilarity l = new LogLikelihoodSimilarity(model);
        System.out.println(l.userSimilarity(0, 1));

在这种情况下,用户相似度alwasy返回0。

0 个答案:

没有答案