MLPRegressor 给出非常负的分数
Posted
技术标签:
【中文标题】MLPRegressor 给出非常负的分数【英文标题】:MLPRegressor gives very negative scores 【发布时间】:2020-01-09 02:56:19 【问题描述】:我是机器学习的新手,我正在使用 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)。可能有什么问题?
【问题讨论】:
好吧,我认为这种类型的问题之前问过this link that might help you 【参考方案1】:为了保持语法相同,sklearn 最大化每个指标,无论是分类准确率还是回归 MSE。因此,目标函数定义为正数越多越好,负数越多越好。因此,更偏向于负的 MSE。
继续说明为什么它在您的情况下可能如此消极,这可能主要是由于两件事:过度拟合或欠拟合。 There are tonnes of resources out there to help you from this point forward.
【讨论】:
以上是关于MLPRegressor 给出非常负的分数的主要内容,如果未能解决你的问题,请参考以下文章
为啥 GridSearchCV 没有给出最好的分数? - Scikit 学习