码迷,mamicode.com
首页 > 其他好文 > 详细

mahout推荐5-偏好数据的表示

时间:2014-08-04 13:33:27      阅读:196      评论:0      收藏:0      [点我收藏+]

标签: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

mahout推荐5-偏好数据的表示

标签:blog   java   使用   io   数据   ar   代码   div   

原文地址:http://www.cnblogs.com/jsunday/p/3889526.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!