将评分函数从 sklearn.metrics 传递到 GridSearchCV

2024-01-03

GridSearchCV 文档 http://scikit-learn.org/stable/modules/generated/sklearn.grid_search.GridSearchCV.html表明我可以通过评分功能。

评分:字符串,可调用或无,默认=无

我想使用本机准确率_分数 http://scikit-learn.org/stable/modules/generated/sklearn.metrics.accuracy_score.html作为评分函数。

这是我的尝试。导入和一些数据:

import numpy as np
from sklearn.cross_validation import KFold, cross_val_score
from sklearn.grid_search import GridSearchCV
from sklearn.metrics import accuracy_score
from sklearn import neighbors

X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
Y = np.array([0, 1, 0, 0, 0, 1])

现在,当我仅使用 k 折交叉验证而不使用评分函数时,一切都会按预期进行:

parameters = {
    'n_neighbors': [2, 3, 4],
    'weights':['uniform', 'distance'],
    'p': [1, 2, 3]
}
model = neighbors.KNeighborsClassifier()
k_fold = KFold(len(Y), n_folds=6, shuffle=True, random_state=0)
clf = GridSearchCV(model, parameters, cv=k_fold)  # TODO will change
clf.fit(X, Y)

print clf.best_score_

但是当我将线路更改为

clf = GridSearchCV(model, parameters, cv=k_fold, scoring=accuracy_score) # or accuracy_score()

我收到错误:ValueError: Cannot have number of folds n_folds=10 greater than the number of samples: 6.我认为这并不代表真正的问题。

我认为问题在于accuracy_score不遵循签名scorer(estimator, X, y),这是在文档中写的


那么我该如何解决这个问题呢?


如果你改变它就会起作用scoring=accuracy_score to scoring='accuracy' (请参阅文档 http://scikit-learn.org/stable/modules/model_evaluation.html对于完整的记分员列表,您可以通过这种方式使用姓名。)

理论上,您应该能够像您尝试的那样传递自定义评分函数,但我的猜测是您是对的并且accuracy_score没有合适的 API。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将评分函数从 sklearn.metrics 传递到 GridSearchCV 的相关文章

  • 如何在Python中测量时间?

    我想启动我的程序 测量程序启动的时间 然后等待几秒钟 按下按钮 K RIGHT 并测量按下按钮的时间 我正在使用 Pygame 来注册 Keydown 但在我下面的代码中它没有注册我的 Keydown 我在这里做错了什么 start tim
  • 在 Pandas 数据框中显示对图

    我试图通过从 pandas 数据框中的 scatter matrix 创建来显示一对图 这就是创建配对图的方式 Create dataframe from data in X train Label the columns using th
  • Python 中的“断言”有什么用?

    什么是assert意思是 它是如何使用的 The assert语句几乎存在于所有编程语言中 它有两个主要用途 它有助于在程序早期发现问题 原因明确 而不是等到其他操作失败时才发现问题 例如 Python 中的类型错误在实际引发错误之前可能会
  • 如果文件不存在,使用 python 添加一行

    我有一个 xml 文件如下
  • 找不到文件 setuptools-27.2.0-py3.5.egg

    这个问题适用于Python 3 5 2 在Windows 10 64位 上使用Anaconda 4 3 0 当我尝试使用 pip 安装软件包时 出现以下错误 Command python setup py egg info failed w
  • Google Cloud Functions 中的 Python

    Google Cloud Functions 可以使用 sklearn pandas 等包处理 python 吗 如果是这样 有人可以向我指出如何做到这一点的资源方向 我已经搜索了一段时间 似乎这是不可能的 我找到的只是将基本 python
  • 如何在 python 中生成可在 C++ 中使用的十六进制转义字符串?

    我正在尝试为使用 MessagePack 的库创建综合单元测试 我想在 python 中创建十六进制转义的二进制字符串 我可以将其嵌入到 C 源代码中 我正在创建一个这样的 In 6 umsgpack packb 0 0 dummy voi
  • 像多米诺骨牌一样对 Python 中的元组进行排序/查找顶点连接

    我有一个像这样的整数元组列表 L 1 2 7 6 2 3 8 5 3 8 5 7 每对定义两个顶点之间的边 我想找到顶点连接性 没有循环 元组总是像多米诺骨牌一样唯一地链接起来 因此在这种情况下 排序列表应如下所示 L sorted 1 2
  • 如何在 python 中从相机(或网络摄像头)捕获视频(和音频)

    我正在寻找一个解决方案 无论是在Linux还是在Windows中 它都可以让我 同时从我的网络摄像头和麦克风录制视频 音频 将其另存为文件 AVI 或 mpg 或其他文件 录制时在屏幕上显示视频 就我而言 压缩不是问题 实际上我更喜欢捕获
  • Python 有限边界 Voronoi 单元

    我正在尝试改编我在 stackoverflow 上找到的代码来创建具有有限边界的 voronoi 单元 我发现下面的代码https stackoverflow com a 20678647 2443944 https stackoverfl
  • Pandas groupby 汇总

    如果我有一个这样的数据框 import pandas as pd df pd DataFrame A 1 1 2 B a b c metric 4 5 2 df df groupby A B sum 得到的 df 为 metric A B
  • SQLAlchemy/pandas to_sql for SQLServer -- 在主数据库中创建表

    使用 MSSQL 版本 2012 我使用 SQLAlchemy 和 pandas 在 Python 2 7 上 将行插入 SQL Server 表中 使用特定服务器字符串尝试 pymssql 和 pyodbc 后 我正在尝试 odbc 名称
  • 根据另一个参数的值添加参数

    根据输入之一 我想初始化某些对象 这些对象的值将是其余参数的默认值 因此 即使在 parser parse args 之前 我也需要参数之一的值 我如何使用 python argparse 模块来实现这一点 所有选项都将作为一个命令行给出
  • Numpy 附加到一个空数组

    第一种情况 gt gt gt import numpy as np gt gt gt x np array 0 gt gt gt x np append x 1 gt gt gt x array 0 1 x包含 2 个元素 这是为什么 第二
  • python中使用argsort进行排序

    我尝试对数组进行排序 import numpy as np arr 5 3 7 2 6 34 46 344 545 32 5 22 print unsorted print arr np argsort arr print sorted p
  • python中的“如果不是”条件语句[重复]

    这个问题在这里已经有答案了 if not start new next None return new 如果不是 是什么意思 这段代码什么时候执行 这和说的是一样的吗 if start None 那么做点什么 if是声明 not start
  • 从 pandas 数据帧中提取阶段/段以及相应的时间戳

    我有以下数据框 Sleep Stage Time hh mm ss Event Duration s 0 SLEEP S0 23 27 14 SLEEP S0 30 1 SLEEP S0 23 27 44 SLEEP S0 30 2 SLE
  • bdist_rpm 从 Ubuntu 到 CentOs

    我们在 Ubuntu Mac 上进行开发 并将 RPM 部署到 CentOS 这是设置 不能更改太多 问题是 当从 rpm 安装时 软件包会转到 usr local lib python2 7 dist packages 这是 Ubuntu
  • 在 folium 中显示栅格数据(不处理任何数据值)。

    我正在尝试使用 folium 显示栅格类型数据 numpy 数组 这是我到目前为止所拥有的 import folium from folium plugins import ImageOverlay import numpy as np f
  • 如何使用BeautifulSoup查找所有下一个链接

    我目前正在通过预设一个名为 number of pages 的变量来抓取特定网站的所有页面 预设此变量一直有效 直到添加了我不知道的新页面 例如 下面的代码适用于 3 个页面 但网站现在有 4 个页面 base url https secu

随机推荐

  • 如何动态改变datagrid行的背景颜色?

    似乎有各种黑客可以改变数据网格行的背景颜色 但所有这些似乎都发生在渲染时 See 在 Adob e Flex 中设置数据网格行的背景颜色 https stackoverflow com questions 748213 setting ba
  • Sql:将行转变成列

    考虑下面的例子 我有一个Person包含人员记录和人物属性包含链接到人员的可选属性的表 表 人 ID Name 1 Joe Bloggs 2 Jane Doe 表人员属性 PersonId Key Value 1 Age 27 2 Hair
  • 是 C++ 语句“delete [] Q;”的 Big-O O(1) 还是 O(n)?

    标题是不言自明的 很简单的问题 我认为这是 O n 但想在明天的期末考试之前验证一下 简短的回答是 这取决于情况 If Q是一个指向具有析构函数的对象数组的指针 那么delete Q将需要调用所有这些析构函数 这将调用 O n 析构函数 其
  • X86 原子 RMW 指令是否空闲等待

    在 x86 上 原子 RMW 指令如lock add dword rdi 1在现代 CPU 上使用高速缓存锁定来实现 因此 高速缓存行在指令执行期间被锁定 这是通过在读取值时获取行 EXCLUSIVE MODIFIED 状态来完成的 并且
  • 如何对连续行进行分组?

    所以 我有一个包含如下行的表 Ev Message Ev Comment EV Custom1 Ev Time Ms Machine 1 Alarm 5 23 2016 11 02 00 AM Alarms Scanned 25 Machi
  • 对屏幕阅读器隐藏图标的适当方法是什么

    在我的网络应用程序中 我为自己制作了一种仅由图标组成的字体 我使用这些图标来补充应用程序中的标题和子标题 并使其在视觉上更具吸引力 然而 像 JAWS 这样的屏幕阅读器会读出这些内容 这会给屏幕阅读器的用户带来不愉快的体验 例如角色c显示云
  • 从 SimpleXMLElement 对象获取值

    我有这样的事情 url http ws geonames org findNearbyPostalCodes country pl placename url rawurlencode city i xml simplexml load f
  • “图表”和“渲染器”同时使用时,HighCharts 性能会急剧下降

    我试图对 HighCharts 的性能有一些感受 比较这两个代码 A 1000 个矩形Renderer object http jsfiddle net highcharts jxpSk 3 50ms B 1000 个矩形Renderer
  • 设置 Eclipse 插件的启动级别和自动启动:p2.inf 与产品定义

    我知道我可以使用 p2 inf 文件或产品定义文件在 Eclipse 中设置捆绑包的启动级别和自动启动标志 在产品文件中执行此操作可以为我提供工具支持 并将设置放入我的启动配置中 另一方面 使用 p2 inf 文件允许我根据每个功能管理启动
  • 如何在 SwiftUI 中没有 NavigationButton 的情况下导航到 NavigationView 中的另一个视图?

    正如问题所说 我想在没有 NavigationButton 的情况下导航到另一个视图 例如 UIkit 中的 pushView 和 popView 我认为这更像是一种限制的解决方法 但它对我有用 添加一个布尔状态变量 用于定义链接是否处于活
  • 使用 find 和 grep 删除文件列表

    我想删除名称包含特定单词的所有文件 例如 车 到目前为止 我想出了这个 find grep car 如何将输出传递给 rm find name car exec rm f 或将管道的输出传递给xargs find grep car xarg
  • 错误:无法访问 jarfile bfg.jar - BFG

    所以我在之前的提交中错误地提交了 Secrets yml 哎呀 我想清除它的 git 提交历史记录 看来最简单的禁食方法就是使用BFG 我已经下载了 jar 文件并安装了 Java 并且我已经创建了我的存储库的镜像 但是当我按照文档运行命令
  • 在分区表上同时创建索引

    我正在使用 postgresql 14 1 并且我使用某些表的分区重新创建了实时数据库 因为我这样做了 所以我可以在服务器不活动时创建索引 但是当它活动时我只能创建使用concurrently但不幸的是 当我尝试同时创建索引时 出现错误 运
  • perl 遍历目录

    我正在尝试获取指定路径中所有目录的名称 我尝试了以下操作 但这给了我每个级别 而不仅仅是在我指定的路径上 find dir names C mydata sub dir names print File Find dir n if f Fi
  • 我可以在 Scala 中定义“方法私有”字段吗?

    鉴于这种情况 object ResourceManager private var inited false def init config Config if inited throw new IllegalStateException
  • MySQL 将十六进制转换为双精度

    MySQL 中应采用哪种方法将十六进制 8 字节 转换为双精度值 为了从 HEX 转换为 INT 我使用 CONV hex value 16 10 但为了转换为双倍我不知道 CREATE FUNCTION HEX2DOUBLE hex in
  • 在 Objective-C 字符串格式中添加零

    快速问题 我试图在 NSString stringWithFormat 格式化字符串中用特定数量的零填充空白 例如 我想要 The number is d 5 I want this to output the number is 05 t
  • 将 HTML 或 RTF 格式的文本插入 Word 书签

    我尝试将格式化文本插入 Word 书签 文本来自多个富文本控件 我们使用 TX Text Control 并附加到书签中 问题在于标签是按原样编写的并且没有被解释 oWord New Word Application Dim strFile
  • XUnit 测试项目只有 1 个 Main 方法:“程序定义了多个入口点。”

    我在 Visual Studio 2017 RC 中将 vNext 格式的 NET xUnit 测试项目 带有 project json 转换为新的 csproj 格式 并开始出现以下错误 大多数对此错误的在线答案都说 您有两个 Main
  • 将评分函数从 sklearn.metrics 传递到 GridSearchCV

    GridSearchCV 文档 http scikit learn org stable modules generated sklearn grid search GridSearchCV html表明我可以通过评分功能 评分 字符串 可