public void testSetValue() { IPreferenceArray prefs = new GenericUserPreferenceArray(3); Assert.AreEqual(3, prefs.Length()); prefs.SetValue(0, 1.0f); prefs.SetValue(1, 2.0f); prefs.SetValue(2, 3.0f); Assert.AreEqual(1.0f, prefs.GetValue(0), EPSILON); Assert.AreEqual(2.0f, prefs.GetValue(1), EPSILON); Assert.AreEqual(3.0f, prefs.GetValue(2), EPSILON); }
public void testSetValue() { IPreferenceArray prefs = new GenericUserPreferenceArray(3); Assert.AreEqual(3, prefs.Length()); prefs.SetValue(0, 1.0f); prefs.SetValue(1, 2.0f); prefs.SetValue(2, 3.0f); Assert.AreEqual(1.0f, prefs.GetValue(0), EPSILON); Assert.AreEqual(2.0f, prefs.GetValue(1), EPSILON); Assert.AreEqual(3.0f, prefs.GetValue(2), EPSILON); }
public ActionResult Recommend(string filmIdsJson) { var filmIds = (new JavaScriptSerializer()).Deserialize<long[]>(filmIdsJson); var pathToDataFile = Path.Combine(System.Web.HttpRuntime.AppDomainAppPath, "data/albums.dat"); if (dataModel == null) { try { dataModel = new FileDataModel(pathToDataFile, false, FileDataModel.DEFAULT_MIN_RELOAD_INTERVAL_MS, false); } catch (Exception e) { var exe = e.ToString(); } } var plusAnonymModel = new PlusAnonymousUserDataModel(dataModel); var prefArr = new GenericUserPreferenceArray(filmIds.Length); prefArr.SetUserID(0, PlusAnonymousUserDataModel.TEMP_USER_ID); for (int i = 0; i < filmIds.Length; i++) { prefArr.SetItemID(i, filmIds[i]); prefArr.SetValue(i, 5); // lets assume max rating } plusAnonymModel.SetTempPrefs(prefArr); var similarity = new LogLikelihoodSimilarity(plusAnonymModel); var neighborhood = new NearestNUserNeighborhood(15, similarity, plusAnonymModel); var recommender = new GenericBooleanPrefUserBasedRecommender(plusAnonymModel, neighborhood, similarity); var recommendedItems = recommender.Recommend(PlusAnonymousUserDataModel.TEMP_USER_ID, 5, null); return Json( recommendedItems.Select(ri => new Dictionary<string, object>() { {"id", ri.GetItemID() }, {"rating", ri.GetValue() }, }).ToArray() ); }
public void testGetPreferenceValue() { PlusAnonymousConcurrentUserDataModel instance = getTestableWithoutDelegateData(10); long anonymousUserID = instance.TakeAvailableUser().Value; IPreferenceArray tempPrefs = new GenericUserPreferenceArray(1); tempPrefs.SetUserID(0, anonymousUserID); long sampleItemID = 1; tempPrefs.SetItemID(0, sampleItemID); tempPrefs.SetValue(0, float.MaxValue); instance.SetTempPrefs(tempPrefs, anonymousUserID); Assert.AreEqual(float.MaxValue, instance.GetPreferenceValue(anonymousUserID, sampleItemID), EPSILON); }
public void testGetPreferenceValue() { PlusAnonymousConcurrentUserDataModel instance = getTestableWithoutDelegateData(10); long anonymousUserID = instance.TakeAvailableUser().Value; IPreferenceArray tempPrefs = new GenericUserPreferenceArray(1); tempPrefs.SetUserID(0, anonymousUserID); long sampleItemID = 1; tempPrefs.SetItemID(0, sampleItemID); tempPrefs.SetValue(0, float.MaxValue); instance.SetTempPrefs(tempPrefs, anonymousUserID); Assert.AreEqual(float.MaxValue, instance.GetPreferenceValue(anonymousUserID, sampleItemID), EPSILON); }