как найти точность при работе с файлами рассола в python? - PullRequest
0 голосов
/ 27 мая 2020

Это мой код. Здесь я пытаюсь предсказать количество ошибок с помощью регрессора с градиентным повышением.

from sklearn.ensemble import GradientBoostingRegressor
# GradientBoostingRegressor
regr3 = GradientBoostingRegressor(random_state=0)
regr3.fit(X_train, y_train.values.ravel())    

pkl_filename = "GradientBoostingRegressor.pkl"
    with open(pkl_filename, 'wb') as file:
        pickle.dump(regr3, file)

    # Load from file
    with open(pkl_filename, 'rb') as file:
        pickle_model = pickle.load(file)

    score = pickle_model.score(X_test, y_test)
    print("Test score: {0:.2f} %".format(100 * score))
    Ypredict = pickle_model.predict(X_test)
    print(Ypredict)
    a= Ypredict.reshape(-1,1)
    accuracy_score= pickle_model.score(a, y_test)
    print(accuracy_score)

И при выполнении легко вычисляется оценка (99,69%). Но на точность не рассчитал. У меня также есть еще одно сомнение - можем ли мы выбрать модель с наивысшим значением test_score как лучшую. или я должен найти точность и найти ту, которая наиболее точна, чтобы получить модель? Произошла ошибка ---- "Количество функций модели должно соответствовать входным. N_features модели - 52, а входные n_features - 1"

1 Ответ

0 голосов
/ 27 мая 2020

precision_score предназначен для проверки производительности моделей классификации. Поскольку вы используете регрессионную модель, вам следует использовать оценки r2, mse или rmse. Для получения дополнительной информации проверьте все функции оценки модели здесь.

например

from sklearn.metrics import r2_score
r2_score(a, y_test)
...