偏好数组Preference
在Mahout中,用户的喜好被抽象为一个Preference,包含了userId,itemId和偏好值(user对item的偏好)。Preference是一个接口,它有一个通用的实现是GenericPreference。
实例:
import org.apache.mahout.cf.taste.impl.model.GenericPreference;
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 CreatePreferenceArray {
private CreatePreferenceArray(){
//实现构造方法
}
public static void main(String[] args){
PreferenceArray User1Preference = new GenericUserPreferenceArray(3);//创建三个元素
//第一组
User1Preference.setUserID(0,1L);
User1Preference.setItemID(0,101L);
User1Preference.setValue(0,2.0f);
//第二组
User1Prefetence.setItemID(1,102L);
User1Prefetence.setValue(1,3.0f);
//第三组
User1Preference.setItemID(2,103L);
User1Preference.setValue(2,4.0f);
Preference pref = User1Preference.get(1);//a materialized Preference representation of the preference at i.
System.out.println(pref);//输出数据的抽象表示
System.out.println(User1Preference);//输出UserID为1的物品的偏好度
}
}
如果运行时报错出现log4j:ERROR则需要把mahout中日志文件log4j.properties移动到项目中的src/resources中。
输出结果:
有关linux会用到的命令:
esc //退出输入模式
shif+: //进入命令行
:w 保存
:q 退出
:wq 保存退出,等价于 shift + zz
:x 保存退出,等价于:wq
:q! 强制退出
:set nu 显示行号
:set nonu 隐藏行号
log4j参考:
http://www.cnblogs.com/ITEagle/archive/2010/04/23/1718365.html