MLPRegressor дает очень отрицательные оценки

Я новичок в машинном обучении и использую MLPRegressor. Я разделяю свои данные с

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

затем я создаю и подгоняю модель, используя 10-кратную проверку для набора тестов.

nn = MLPRegressor(hidden_layer_sizes=(100, 100), activation='relu',
                     solver='lbfgs', max_iter=500)

nn.fit(X_train, y_train)

TrainScore = nn.score(X_train, y_train)

kfold = KFold(n_splits=10, shuffle=True, random_state=0)
        print("Cross-validation scores:\t{} ".format(cross_val_score(nn, X_test, y_test, cv=kfold)))
        av_corss_val_score = np.mean(cross_val_score(nn, X_test, y_test, cv=kfold))
        print("The average cross validation score is: {}".format(av_corss_val_score))

Проблема в том, что результаты тестов, которые я получаю, очень отрицательные (-4256). Что может быть не так?


person Don    schedule 06.09.2019    source источник
comment
хорошо, я думаю, что этот тип вопроса задан ранее, проверьте эту ссылку это может вам помочь   -  person Akash Kumar    schedule 06.09.2019


Ответы (1)


Чтобы синтаксис оставался неизменным, sklearn максимизирует каждую метрику, будь то точность классификации или регрессионная MSE. Следовательно, целевая функция определяется таким образом, что более положительное число - хорошо, а большее отрицательное - плохо. Следовательно, предпочтительна менее отрицательная MSE.

Переходя к тому, почему это может быть настолько негативным в вашем случае, это может быть в основном из-за двух вещей: переобучения или недостаточного подбора. Есть множество ресурсов, которые помогут вам в этом указать вперед.

person brandoldperson    schedule 06.09.2019