def test_load_100k(self): # only run data download tests 20% of the time to speed up frequent testing random.seed(time.time()) if random.random() > 0.8: ml_100k = movielens.load_100k() self.assertEqual(len(ml_100k), 100000)
def test_movielens_100k(): # only run data download tests 20% of the time to speed up frequent testing random.seed(time.time()) if random.random() > 0.8: ml_100k = movielens.load_100k() assert len(ml_100k) == 100000
# # Unless required by applicable law or agreed to in writing, software # 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 to run Probabilistic Matrix Factorization (PMF) model with Ratio Split evaluation strategy""" import cornac from cornac.datasets import movielens from cornac.eval_methods import RatioSplit from cornac.models import PMF # Load the MovieLens 100K dataset ml_100k = movielens.load_100k() # Instantiate an evaluation method. ratio_split = RatioSplit(data=ml_100k, test_size=0.2, rating_threshold=4.0, exclude_unknowns=False) # Instantiate a PMF recommender model. pmf = PMF(k=10, max_iter=100, learning_rate=0.001, lamda=0.001) # Instantiate evaluation metrics. mae = cornac.metrics.MAE() rmse = cornac.metrics.RMSE() rec_20 = cornac.metrics.Recall(k=20) pre_20 = cornac.metrics.Precision(k=20)