Example #1
0
         cluster_num, age_group_number, age_group_dict,
         group_age_dict, age_list, deltaX, k_threshold, l_threshold,
         df_train, df_item_age_uid, pp)
 elif method == 'YGen':
     X_obf_dict, X_ori = obfuscations.YGen(
         df_train, age_group_number, cluster_num, age_list,
         age_group_dict, group_age_dict, df_item_age_uid, deltaX,
         k_threshold, l_threshold, pp)
 elif method == 'XObf':
     X_obf_dict, X_ori = obfuscations.XObf(deltaX, cluster_num,
                                           age_group_number,
                                           age_list, group_age_dict,
                                           df_train, pp)
 elif method == 'PrivCheck':
     X_obf_dict, X_ori = obfuscations.PrivCheck(
         deltaX, cluster_num, age_group_number, df_cluster,
         df_train, age_list, age_group_dict, group_age_dict, pp)
 elif method == 'DP':
     X_obf_dict, X_ori = obfuscations.differential_privacy(
         df_train, age_group_dict, beta)
 elif method == 'Frapp':
     X_obf_dict, X_ori = obfuscations.Frapp(df_train, df_test,
                                            age_group_dict, gamma)
 elif method == 'Random':
     X_obf_dict, X_ori = obfuscations.Random(
         df_train, age_group_dict, p_rand)
 elif method == 'Sim':
     X_obf_dict, X_ori = obfuscations.Similarity(
         df_train, age_group_dict, pp)
 else:
     print('Method error. Check method setting.')
Example #2
0
            df_train = df_cluster.drop(items_test, axis=1)
            df_test = df_cluster.drop(items_train, axis=1)
            
            if method == 'HyObscure':
                X_obf_dict, X_ori, model_rf, model_xgb = obfuscations.HyObscure(df_train, grid_area_dict, area_grid_dict, cluster_num, grid_area_number, grid_list,
                    area_reducibility, area_grid_rowcol_dict, area_grid_colrow_dict, method,
                    grid_rowcol, grid_colrow, l_threshold, k_threshold, deltaX, pp)
            elif method == 'YGen':
                X_obf_dict, X_ori, model_rf, model_xgb = obfuscations.YGen(df_train, grid_area_dict, grid_area_number, cluster_num, grid_list, area_grid_dict, deltaX,
                    area_reducibility, area_grid_rowcol_dict, area_grid_colrow_dict, method,
                    grid_rowcol, grid_colrow, l_threshold, k_threshold, pp)
            elif method == 'XObf':
                X_obf_dict, X_ori, model_rf, model_xgb = obfuscations.XObf(df_train, cluster_num, grid_area_number, grid_list, grid_area_dict, area_grid_dict, deltaX, pp, method)
            elif method == 'PrivCheck':
                X_obf_dict, X_ori, model_rf, model_xgb = obfuscations.PrivCheck(df_train, cluster_num, grid_list, grid_area_dict, grid_area_number, area_grid_dict, deltaX, pp)
            elif method == 'DP':
                X_obf_dict, X_ori, model_rf, model_xgb = obfuscations.differential_privacy(df_train, grid_area_dict, grid_area_number, beta)
            elif method == 'Frapp':
                X_obf_dict, X_ori, model_rf, model_xgb = obfuscations.Frapp(df_train, grid_area_dict, gamma)
            elif method == 'Random':
                X_obf_dict, X_ori, model_rf, model_xgb = obfuscations.Random(df_train, grid_area_dict, p_rand)
            elif method == 'Sim':
                X_obf_dict, X_ori, model_rf, model_xgb = obfuscations.Similarity(df_train, grid_area_dict, pp)
            else:
                print('Method error. Check method setting.')
                break
            
            df_test = funcs.update_grid_group(df_test, grid_area_dict)
            
            rec_oris = []
Example #3
0
            print("all users num: {}".format(len(df_item_ageGroup_uid)))
            print("split train and test over")
            print("train num {}".format(len(df_train)))
            print("test num {}".format(len(df_test)))
            print("train items {}".format(df_train_items.shape[1]))
            print("test items {}".format(df_test_items.shape[1]))

            if method == 'HyObscure':
                X_obf_dict, X_ori, model_rf, model_xgb = obfuscations.HyObscure(
                    df_train, df_test, df_test_rec_items, df_item_age_uid,
                    age_group_dict, group_age_dict, cluster_num,
                    age_group_number, age_list, deltaX, k_threshold,
                    l_threshold, pp)
            elif method == 'PrivCheck':
                X_obf_dict, X_ori, model_rf, model_xgb = obfuscations.PrivCheck(
                    df_train, df_test, df_test_rec_items, age_group_number,
                    cluster_num, deltaX, age_list, age_group_dict,
                    group_age_dict, pp)
            else:
                print('Method error. Check method setting.')
                break

            mae_oris_rf = []
            mae_obfs_rf = []
            mae_oris_xgb = []
            mae_obfs_xgb = []

            rec_oris = []
            rec_obfs = []

            for i in range(100):
                rmse_ori, rmse_obf = recommendation(X_obf_dict[i], X_ori,