def test_amazon_toy(self): random.seed(time.time()) if random.random() > 0.8: ratings = toy.load_feedback() sentiments = toy.load_sentiment() self.assertEqual(len(ratings), 167597) self.assertEqual(len(sentiments), 149877)
import os import glob import cornac import numpy as np from cornac.utils import cache from cornac.models import ComparERObj from cornac.metrics import AUC, Recall, NDCG from cornac.datasets import amazon_toy from cornac.experiment import Experiment from cornac.data.reader import Reader from cornac.eval_methods import StratifiedSplit from cornac.data.sentiment import SentimentModality rating = amazon_toy.load_feedback(fmt="UIRT", reader=Reader(min_user_freq=10)) sentiment_data = amazon_toy.load_sentiment() md = SentimentModality(data=sentiment_data) eval_method = StratifiedSplit( rating, group_by="user", chrono=True, sentiment=md, test_size=0.2, val_size=0.16, exclude_unknowns=True, verbose=True, ) pretrained_mter_model_path = "dist/toy/result/EFM"
# distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================ """Example for Multi-Task Explainable Recommendation""" from cornac.datasets import amazon_toy from cornac.data import SentimentModality from cornac.eval_methods import RatioSplit from cornac.metrics import NDCG, RMSE from cornac.models import MTER from cornac import Experiment data = amazon_toy.load_rating() sentiment = amazon_toy.load_sentiment() md = SentimentModality(data=sentiment) eval_method = RatioSplit(data, test_size=0.2, rating_threshold=1.0, sentiment=md, exclude_unknowns=True, verbose=True, seed=123) mter = MTER(n_user_factors=15, n_item_factors=15, n_aspect_factors=12, n_opinion_factors=12, n_bpr_samples=1000, n_element_samples=200,