标签:blog java 使用 io 数据 ar 代码 div
Preference对象:单个用户Id,物品ID和偏好值,实现GenericPreference
PreferenceArray数组,单个用户所有偏好值数组,实现GenericPreferenceArray
代码示例:
package mahout; import org.apache.mahout.cf.taste.impl.model.GenericUserPreferenceArray; import org.apache.mahout.cf.taste.model.Preference; import org.apache.mahout.cf.taste.model.PreferenceArray; public class TestData { public static void main(String[] args) { //某个用户的偏好集合,表示的是与某个用户关联的所有偏好,内部包含一个单一用户ID,一个物品ID数组,一个偏好值数组 //其中物品ID数组和偏好值数组是一一对应的。 // 数组大小2个 PreferenceArray user1Prefs = new GenericUserPreferenceArray(2); //关联的用户Id user1Prefs.setUserID(0, 1L); //第一个偏好 user1Prefs.setItemID(0, 101L); user1Prefs.setValue(0, 2.0f); //第二个偏好 user1Prefs.setItemID(1, 102L); user1Prefs.setValue(1, 3.0f); //试着放第三个 /*user1Prefs.setItemID(2, 103L); user1Prefs.setValue(2, 3.0f);*/ Preference pref = user1Prefs.get(1); System.out.println(pref.getUserID()); System.out.println(pref.getItemID()); System.out.println(pref.getValue()); } }
输出:
1
102
3.0
试着放第三个看看:异常了吧
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 at org.apache.mahout.cf.taste.impl.model.GenericUserPreferenceArray.setItemID(GenericUserPreferenceArray.java:129) at mahout.TestData.main(TestData.java:23)
另外还有FastMap,FastByIDMap,FastIdSet.这些都嵌入了mahout的内部类里面了,所以如果要看怎么使用,可以查看源码。
mahout推荐5-偏好数据的表示,布布扣,bubuko.com
标签:blog java 使用 io 数据 ar 代码 div
原文地址:http://www.cnblogs.com/jsunday/p/3889526.html