def __init__(self, clf_kind, race_cnt=None, distance=None): self.race_cnt = race_cnt if clf_kind == 'randomforest': self.clf = RandomForestClassifier(n_estimators=30, max_leaf_nodes=48, max_features=None, n_jobs=-1) elif clf_kind == 'mlp': self.clf = MLPClassifier(hidden_layer_sizes=(100, 90, 80, 70, 60, 50, 40, 30, 20, 10), solver='sgd', max_iter=5000, batch_size='auto') elif clf_kind == 'mlp50': self.clf = MLPClassifier(hidden_layer_sizes=(50), solver='sgd', max_iter=5000, batch_size='auto') elif clf_kind == 'mlp70': self.clf = MLPClassifier(hidden_layer_sizes=(70), solver='sgd', max_iter=5000, batch_size='auto') elif clf_kind == 'mlp80': self.clf = MLPClassifier(hidden_layer_sizes=(80), solver='sgd', max_iter=5000, batch_size='auto') elif clf_kind == 'mlp90': self.clf = MLPClassifier(hidden_layer_sizes=(90), solver='sgd', max_iter=5000, batch_size='auto') elif clf_kind == 'mlp100': self.clf = MLPClassifier(hidden_layer_sizes=(100), solver='sgd', max_iter=5000, batch_size='auto') elif clf_kind == 'mlp100-50': self.clf = MLPClassifier(hidden_layer_sizes=(100, 50), solver='sgd', max_iter=5000, batch_size='auto') elif clf_kind == 'mlpgrid': self.clf = GridSearchCV(MLPClassifier()) self.clf_kind = clf_kind self.sc = StandardScaler() self.distance = distance self.ht_util = ht.HorseTableUtil() args = sys.argv self.argstr = '' for num in range(1, len(args)): self.argstr += args[num] + '_'
pkl_file_prefix = args[3] order_limit = None if len(args) > 4: order_limit = int(args[4]) start = time.time() t_util = train.TrainUtil(clf_kind) clf_pkl = train.PKL_FILE_DIR + pkl_file_prefix + train.CLF_PKL_FILE_NAME sc_pkl = train.PKL_FILE_DIR + pkl_file_prefix + train.SC_PKL_FILE_NAME if os.path.isfile(clf_pkl) and os.path.isfile(sc_pkl): t_util.clf = joblib.load(clf_pkl) t_util.sc = joblib.load(sc_pkl) else: print('pklファイルが存在しません。') sys.exit() ht_util = ht.HorseTableUtil() test_race_keys = ht_util.get_race_keys_debut_after_ymd(ymd) if len(test_race_keys) == 0: print('入力日に対象レースはありません。') sys.exit() t_util.predict_maiden(test_race_keys, order_limit) t_util.print_return_maiden(test_race_keys) elapsed_time = time.time() - start print('elapsed_time:{0}'.format(elapsed_time) + '[sec]') print(datetime.now().strftime("%Y/%m/%d %H:%M:%S"))