예제 #1
0
#     # print(y_pred)
#     print('Final prediction score with optimal(use superknn): [%.8f]' % accuracy_score(y_test, y_pred))
'''方法2:使用need_proba,这时只有参数alpha和epsilon,其中alpha一共有models*classes = 4*10=40个,
grid_points = 10个
所以先调用opmimal_parameters函数先找到一个大概的范围'''
model = Superknn(models=models,
                 metric=accuracy_score,
                 regression=False,
                 random_state=0,
                 folds=5,
                 needs_proba=True,
                 shuffle=True)
# model.opmimal_parameters(X=X_train, y=y_train, eps_size=0.05, grid_points=10)
epsilons = np.arange(0.12, 0.16, 0.005)
model.alpha = 25
for epsilon in epsilons:
    print('epsilon:', epsilon)
    model.epsilon = epsilon

    start_time = time.time()
    model.fit(X_train, y_train)
    print('fit took %fs!' % (time.time() - start_time))

    start_time = time.time()
    y_pred = model.predict(X_test)
    print('predict took %fs!' % (time.time() - start_time))
    # print(y_test)
    # print(y_pred)
    print('Final prediction score with optimal(use superknn): [%.8f]' %
          accuracy_score(y_test, y_pred))