Я новичок в Apache Mahout. Я использую Apache mahout 0.11.2. Поэтому, чтобы попробовать, я создал java-класс под названием samplereccommender.java, как показано ниже.Пользовательские задания для инструкторов с использованием apache mahout 0.11.2 over hadoop
package f;
import java.io.File;
import java.io.IOException;
import org.apache.mahout.cf.taste.common.TasteException;
import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;
import org.apache.mahout.cf.taste.impl.neighborhood.ThresholdUserNeighborhood;
import org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender;
import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity;
import org.apache.mahout.cf.taste.model.DataModel;
import org.apache.mahout.cf.taste.neighborhood.UserNeighborhood;
import org.apache.mahout.cf.taste.recommender.RecommendedItem;
import org.apache.mahout.cf.taste.recommender.UserBasedRecommender;
import org.apache.mahout.cf.taste.similarity.ItemSimilarity;
import org.apache.mahout.cf.taste.similarity.UserSimilarity;
import java.util.List;
public class SampleReccommender {
public static void main(String args[]){
try{
DataModel datamodel = new FileDataModel(new File(args[0]));
//Creating UserSimilarity object.
UserSimilarity usersimilarity = new PearsonCorrelationSimilarity(datamodel);
//Creating UserNeighbourHHood object.
UserNeighborhood userneighborhood = new ThresholdUserNeighborhood(1.0, usersimilarity, datamodel);
//Create UserRecomender
UserBasedRecommender recommender = new GenericUserBasedRecommender(datamodel, userneighborhood, usersimilarity);
List recommendations = (List) recommender.recommend(2, 3);
System.out.println(recommendations.size());
for (int i=0; i< recommendations.size();i++) {
System.out.println(recommendations.get(i));
}
}
catch(Exception e){
e.printStackTrace();
}
}}
мне удалось запустить этот код из командной строки, как
Java -cp n.jar f.SampleReccommender n_lib/wishlistdata.txt
Теперь от того, что я прочитал в Интернете, и книги " Маху в действии «Я понял, что тот же код можно запустить на hadoop, используя следующие команды. Сначала мне нужно включить my SampleReccommender.java в существующий apache-mahout-distribution-0.11.2/mahout-mr-0.11.2-job.jar. Поэтому я следовал следующей процедуре.
баночка уф /Users/rohitjain/Documents/apache-mahout-distribution-0.11.2/mahout-mr-0.11.2-job.jar samplerecommender.jar
я попытался запустить Mahout работу с помощью следующая команда
бен/Hadoop банка /Users/rohitjain/Documents/apache-mahout-distribution-0.11.2/mahout-mr-0.11.2-job.jar org.apache.mahout.cf.taste.hadoop .item.RecommenderJob -i /input/wishlistdata.txt -o/output/--recommenderClassName \ f.SampleRecommender
Но это дает мне ошибку, как:
Неожиданное --recommenderClassName при обработке Job-Specific Options:
Я попытался выше команды на основе синтаксиса данного «погонщик в действии» книга, которая, как указано ниже
hadoop jar mahout-core-0.5-job.jar \ org.apache.mahout.cf.taste.hadoop.pseudo.RecommenderJob \ -Dmapred.input.dir = input/ua.base.hadoop \ -Dmapred.output .dir = output \ --recommenderClassName \ org.apache.mahout.cf.taste.impl.recommender.slopeone.SlopeOneRecommender
Я делаю что-то неправильно? Также скажите, можно ли использовать код, который я использовал для автономной реализации, для recenderJobs или для этого требуется совместная реализация?