# # 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))