Package org.apache.mahout.cf.taste.example.kddcup

Examples of org.apache.mahout.cf.taste.example.kddcup.DataFileIterable


    long end = System.currentTimeMillis();
    log.info("Loaded model in {}s", (end - start) / 1000);
    start = end;

    Collection<Track2Callable> callables = Lists.newArrayList();
    for (Pair<PreferenceArray,long[]> tests : new DataFileIterable(KDDCupDataModel.getTestFile(dataFileDirectory))) {
      PreferenceArray userTest = tests.getFirst();
      callables.add(new Track2Callable(recommender, userTest));
    }

    int cores = Runtime.getRuntime().availableProcessors();
View Full Code Here


    long end = System.currentTimeMillis();
    log.info("Loaded model in {}s", (end - start) / 1000);
    start = end;

    Collection<Track1Callable> callables = Lists.newArrayList();
    for (Pair<PreferenceArray,long[]> tests : new DataFileIterable(KDDCupDataModel.getTestFile(dataFileDirectory))) {
      PreferenceArray userTest = tests.getFirst();
      callables.add(new Track1Callable(recommender, userTest));
    }

    int cores = Runtime.getRuntime().availableProcessors();
View Full Code Here

    log.info("Estimating validation preferences...");
    int prefsProcessed = 0;
    RunningAverage average = new FullRunningAverage();
    for (Pair<PreferenceArray,long[]> validationPair
        : new DataFileIterable(KDDCupDataModel.getValidationFile(dataFileDirectory))) {
      for (Preference validationPref : validationPair.getFirst()) {
        double estimate = estimatePreference(factorization, validationPref.getUserID(), validationPref.getItemID(),
            factorizablePreferences.getMinPreference(), factorizablePreferences.getMaxPreference());
        double error = validationPref.getValue() - estimate;
        average.addDatum(error * error);
        prefsProcessed++;
        if (prefsProcessed % 100000 == 0) {
          log.info("Computed {} estimations", prefsProcessed);
        }
      }
    }
    log.info("Computed {} estimations, done.", prefsProcessed);

    double rmse = Math.sqrt(average.getAverage());
    log.info("RMSE {}", rmse);

    log.info("Estimating test preferences...");
    OutputStream out = null;
    try {
      out = new BufferedOutputStream(new FileOutputStream(resultFile));

      for (Pair<PreferenceArray,long[]> testPair
          : new DataFileIterable(KDDCupDataModel.getTestFile(dataFileDirectory))) {
        for (Preference testPref : testPair.getFirst()) {
          double estimate = estimatePreference(factorization, testPref.getUserID(), testPref.getItemID(),
              factorizablePreferences.getMinPreference(), factorizablePreferences.getMaxPreference());
          byte result = EstimateConverter.convert(estimate, testPref.getUserID(), testPref.getItemID());
          out.write(result);
View Full Code Here

  }

  @Override
  public Iterable<Preference> getPreferences() {
    Iterable<Iterable<Preference>> prefIterators =
        Iterables.transform(new DataFileIterable(dataFile),
          new Function<Pair<PreferenceArray,long[]>,Iterable<Preference>>() {
            @Override
            public Iterable<Preference> apply(Pair<PreferenceArray,long[]> from) {
              return from.getFirst();
            }
View Full Code Here

    Recommender recommender = recommenderBuilder.buildRecommender(dataModel);

    Collection<Callable<Void>> estimateCallables = Lists.newArrayList();
    AtomicInteger noEstimateCounter = new AtomicInteger();
    for (Pair<PreferenceArray,long[]> userData
        : new DataFileIterable(KDDCupDataModel.getValidationFile(dataFileDirectory))) {
      PreferenceArray validationPrefs = userData.getFirst();
      long userID = validationPrefs.get(0).getUserID();
      estimateCallables.add(
          new PreferenceEstimateCallable(recommender, userID, validationPrefs, noEstimateCounter));
    }
View Full Code Here

    long end = System.currentTimeMillis();
    log.info("Loaded model in {}s", (end - start) / 1000);
    start = end;

    Collection<Track1Callable> callables = new ArrayList<Track1Callable>();
    for (Pair<PreferenceArray,long[]> tests : new DataFileIterable(KDDCupDataModel.getTestFile(dataFileDirectory))) {
      PreferenceArray userTest = tests.getFirst();
      callables.add(new Track1Callable(recommender, userTest));
    }

    int cores = Runtime.getRuntime().availableProcessors();
View Full Code Here

    Recommender recommender = recommenderBuilder.buildRecommender(dataModel);

    Collection<Callable<Void>> estimateCallables = new ArrayList<Callable<Void>>();
    AtomicInteger noEstimateCounter = new AtomicInteger();
    for (Pair<PreferenceArray,long[]> userData :
         new DataFileIterable(KDDCupDataModel.getValidationFile(dataFileDirectory))) {
      PreferenceArray validationPrefs = userData.getFirst();
      long userID = validationPrefs.get(0).getUserID();
      estimateCallables.add(
          new PreferenceEstimateCallable(recommender, userID, validationPrefs, noEstimateCounter));
    }
View Full Code Here

    Factorization factorization = sgdFactorizer.factorize();

    log.info("Estimating validation preferences...");
    int prefsProcessed = 0;
    RunningAverage average = new FullRunningAverage();
    DataFileIterable validations = new DataFileIterable(KDDCupDataModel.getValidationFile(dataFileDirectory));
    for (Pair<PreferenceArray,long[]> validationPair : validations) {
      for (Preference validationPref : validationPair.getFirst()) {
        double estimate = estimatePreference(factorization, validationPref.getUserID(), validationPref.getItemID(),
            factorizablePreferences.getMinPreference(), factorizablePreferences.getMaxPreference());
        double error = validationPref.getValue() - estimate;
        average.addDatum(error * error);
        prefsProcessed++;
        if (prefsProcessed % 100000 == 0) {
          log.info("Computed {} estimations", prefsProcessed);
        }
      }
    }
    log.info("Computed {} estimations, done.", prefsProcessed);

    double rmse = Math.sqrt(average.getAverage());
    log.info("RMSE {}", rmse);

    log.info("Estimating test preferences...");
    OutputStream out = null;
    try {
      out = new BufferedOutputStream(new FileOutputStream(resultFile));

      DataFileIterable tests = new DataFileIterable(KDDCupDataModel.getTestFile(dataFileDirectory));
      for (Pair<PreferenceArray,long[]> testPair : tests) {
        for (Preference testPref : testPair.getFirst()) {
          double estimate = estimatePreference(factorization, testPref.getUserID(), testPref.getItemID(),
              factorizablePreferences.getMinPreference(), factorizablePreferences.getMaxPreference());
          byte result = EstimateConverter.convert(estimate, testPref.getUserID(), testPref.getItemID());
View Full Code Here

  }

  @Override
  public Iterable<Preference> getPreferences() {
    Iterable<Iterable<Preference>> prefIterators =
        Iterables.transform(new DataFileIterable(dataFile),
                            new Function<Pair<PreferenceArray,long[]>,Iterable<Preference>>() {
                              @Override
                              public Iterable<Preference> apply(Pair<PreferenceArray,long[]> from) {
                                return from.getFirst();
                              }
View Full Code Here

    long end = System.currentTimeMillis();
    log.info("Loaded model in {}s", (end - start) / 1000);
    start = end;

    Collection<Track2Callable> callables = new ArrayList<Track2Callable>();
    for (Pair<PreferenceArray,long[]> tests : new DataFileIterable(KDDCupDataModel.getTestFile(dataFileDirectory))) {
      PreferenceArray userTest = tests.getFirst();
      callables.add(new Track2Callable(recommender, userTest));
    }

    int cores = Runtime.getRuntime().availableProcessors();
View Full Code Here

TOP

Related Classes of org.apache.mahout.cf.taste.example.kddcup.DataFileIterable

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.