Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- from caserec.recommenders.rating_prediction import userknn as userknn_prediction
- from caserec.recommenders.item_recommendation import userknn as userknn_recommendation
- from caserec.evaluation.item_recommendation import ItemRecommendationEvaluation
- from caserec.evaluation.rating_prediction import RatingPredictionEvaluation
- from caserec.utils.split_database import SplitDatabase
- if __name__ == '__main__':
- print("Iniciando Recommender")
- n_splits = 5
- time_to_split_database = time.time()
- SplitDatabase(
- input_file="files/1000_itens.txt",
- dir_folds="files",
- n_splits=n_splits,
- sep_read='\t',
- sep_write='\t'
- ).k_fold_cross_validation()
- print("Tempo decorrido para dividir o banco de dados: " + str(time_to_split_database))
- print("Iniciando UserKNN")
- time_to_compute_UserKNN = time.time()
- for fold in range(n_splits - 1):
- print("Iniciando fold: " + str(n_splits))
- print("User Knn recommendation.")
- userknn_recommendation.UserKNN(
- train_file="filesfolds/" + str(fold) + "/train.dat",
- test_file="filesfolds/" + str(fold) + "/test.dat",
- output_file="files/output_recommendation.txt",
- sep='\t',
- output_sep='\t',
- as_similar_first=True).compute()
- print("User Knn prediction.")
- userknn_prediction.UserKNN(
- train_file="filesfolds/"+str(fold)+"/train.dat",
- test_file="filesfolds/"+str(fold)+"/test.dat",
- output_file="files/output_prediction.txt",
- sep='\t',
- output_sep='\t',
- as_similar_first=True).compute()
- print("User Knn recommendation evaluation.")
- ItemRecommendationEvaluation().evaluate_with_files(
- prediction_file="files/output_recommendation.txt",
- test_file="filesfolds/"+str(fold)+"/test.dat")
- print("User Knn prediction evaluation.")
- RatingPredictionEvaluation().evaluate_with_files(
- prediction_file="files/output_prediction.txt",
- test_file="filesfolds/" + str(fold) + "/test.dat")
- print("Tempo decorrido para computar o UserKnn: " + str(time_to_compute_UserKNN))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement