当我将以下代码与X
大小为(952,144)的数据矩阵和大小y
为(952)的输出向量一起使用时,mean_squared_error
度量标准将返回负值,这是意外的。你有什么主意吗?
from sklearn.svm import SVR
from sklearn import cross_validation as CV
reg = SVR(C=1., epsilon=0.1, kernel='rbf')
scores = CV.cross_val_score(reg, X, y, cv=10, scoring='mean_squared_error')
则所有值scores
均为负。
试图解决这一问题,因此请提供David和larsmans在评论部分雄辩地描述的答案:
是的,这应该发生。实际的MSE只是您获得的号码的肯定版本。
统一评分API始终使得分最大化,因此为了使统一评分API正常工作,否定了需要最小化的得分。因此,当返回的分数是一个应该最小化的分数时将被否定,如果分数应该是最大的则保持正数。
本文向大家介绍scikit-learn 使用交叉验证训练分类器,包括了scikit-learn 使用交叉验证训练分类器的使用技巧和注意事项,需要的朋友参考一下 示例 使用虹膜数据集: 数据分为训练集和测试集。要做到这一点,我们使用train_test_split效用函数来分割双方X和y(数据和目标矢量)用随机选择train_size=0.75(训练集包含数据的75%)。 训练数据集被输入到k最近邻
问题内容: 是否可以在没有交叉验证的情况下使用GridSearchCV?我正在尝试通过网格搜索优化KMeans聚类中的聚类数量,因此我不需要或想要交叉验证。 该文档也使我感到困惑,因为在fit()方法下,它有一个用于非监督学习的选项(例如,将None用于非监督学习)。但是,如果您想进行无监督学习,则需要在没有交叉验证的情况下进行学习,而且似乎没有摆脱交叉验证的选择。 问题答案: 经过大量搜索,我能
交叉验证 那么什么时候才需要交叉验证呢?交叉验证用在数据不是很充足的时候。比如在我日常项目里面,对于普通适中问题,如果数据样本量小于一万条,我们就会采用交叉验证来训练优化选择模型。如果样本大于一万条的话,我们一般随机的把数据分成三份,一份为训练集(Training Set),一份为验证集(Validation Set),最后一份为测试集(Test Set)。用训练集来训练模型,用验证集来评估模型预
1)在我读过的大多数机器学习入门页面中,似乎都在说你需要一个训练集、一个验证集和一个测试集。根据我的理解,交叉验证允许你结合训练和验证集来训练模型,然后你应该在测试集上测试它以得到一个分数。然而,我在论文中看到,在很多情况下,您可以在整个数据集上交叉验证,然后报告CV得分作为准确性。我知道在一个理想的世界里,你会想要在不同的数据上进行测试,但如果这是合法的,我想要在我的整个数据集上交叉验证并报告那
根据scikit-learn的文档 你觉得呢?