y_pred) # I haven't checked the log_loss return logloss ''' # for testing the classification accuracy predictions_binary = [] for item in y_pred: if item > 0.5: predictions_binary.append(1.0) else: predictions_binary.append(0.0) Accuracy = accuracy_score(y_true, predictions_binary) return Accuracy ''' if __name__ == '__main__': # Data loading args = parse_args() data = DATA.LoadData_cut_dire(args.path, args.dataset, args.loss_type) if args.verbose > 0: print( "Neural FM: dataset=%s, hidden_factor=%d, dropout_keep=%s, layers=%s, loss_type=%s, pretrain=%d, #epoch=%d, batch=%d, lr=%.4f, lambda=%.4f, optimizer=%s, batch_norm=%d, activation=%s, early_stop=%d" % (args.dataset, args.hidden_factor, args.keep_prob, args.layers, args.loss_type, args.pretrain, args.epoch, args.batch_size, args.lr, args.lamda, args.optimizer, args.batch_norm, args.activation, args.early_stop)) activation_function = tf.nn.relu if args.activation == 'sigmoid': activation_function = tf.sigmoid elif args.activation == 'tanh': activation_function == tf.tanh elif args.activation == 'identity': activation_function = tf.identity