当前位置: 首页 > article >正文

排列检验的色彩力量

原文towardsdatascience.com/the-colorful-power-of-permutation-tests-38f0490ebfbahttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4ce3dd25bad50a2c1f85e5463faedb76.png由作者创作的鸢尾花通过 Midjourney 生成机器学习和统计学由于它们的复杂数学基础而常常显得令人畏惧。然而一些概念如排列检验出奇地直观可以通过简单的实验来理解。排列检验是评估各个领域结果重要性的宝贵工具从心理学到数据科学。让我们通过一个引人入胜的例子来探索这个强大的概念学习德语中颜色的名称。在这里你就是机器学习一个复杂的神经网络仅通过自然地生育一个孩子就能自然产生颜色学习实验https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/785be05fb764824635c470e8f9c62b1b.png德语中的颜色原始数据集。图片由作者提供。想象我给你一个数据集每个颜色都使用相同颜色的墨水命名。你研究了几分钟记住了颜色名称然后我测试你。令人印象深刻的是你正确地命名了所有颜色只有一个小的错误。但我们如何确保德语有意义或者你的大脑是否正常工作呢一种检查方法是通过使用排列检验。打乱标签https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/f8eec27f685b36dbad31af4885e2408f.png德语中的颜色打乱的数据集。图片由作者提供。排列检验背后的想法很简单。我们取原始数据集随机打乱颜色标签以创建一个新的数据集。现在当你尝试从这些打乱的数据中学习时你会感到头疼因为颜色和它们的标签之间没有有意义的关系。如果我用这个打乱的数据集测试你你很可能会犯很多错误。我们重复这个打乱过程 100 次每次计算你犯的错误数量。假设在这 100 次尝试中你偶然间全部正确地猜出了颜色。所以在这 100 次尝试中你只在打乱的数据上比原始数据集表现得更好一次。你的 p 值将是 0.01这低于 0.05 的常识阈值。因此德语是有意义的你的大脑完全正常能够找出颜色和德语中它们名称之间的关联。计算 P 值你在打乱的数据上比原始数据获得更好结果次数与总尝试次数之比给出了p 值。这很简单且强大无需复杂的统计分布或花哨的测试。唯一的缺点是它可能计算成本高昂。斯托普效应这个颜色和文本不匹配的例子也被称为斯特鲁普效应它在心理学中用于展示执行功能。执行功能是一系列认知过程使你能够规划、集中注意力、记住指令并成功处理多个任务。斯特鲁普效应揭示了大脑中不同信息源之间的冲突。当颜色的名称例如“红色”以不是该名称所表示的颜色例如用蓝色墨水打印的“红色”单词打印时你会经历反应时间的延迟这显示了你的大脑如何努力处理冲突信息。如果你是一位德语母语者你可能会在命名颜色而不是阅读文本时遇到困难。为了尝试请说出文本的颜色而不是单词本身——这比听起来要复杂得多我还为你设计了一件带有斯特鲁普效应的 T 恤。每次你照镜子时它都会帮助你记住这个概念并在你的活动和咖啡休息时间作为一个很好的破冰者。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/1c8962c96b5d970f7a50e2216b0efc1a.png由作者设计由 Printful 打印和发送斯特鲁普效应男女通用 T 恤 - 科学家和极客的认知测试 T 恤真实世界的应用排列测试在各个领域都有广泛的应用。在心理学中它们用于评估组或条件之间差异的显著性。在遗传学中排列测试有助于识别显著的遗传关联。在机器学习中它们可以用来评估模型性能和数据质量。通过理解排列测试的通用性读者可以欣赏其在研究和实际应用中的价值。评估任何机器学习模型现在假设一位数据科学家已经使用你的数据训练了一个模型而你又想评估其性能但又不知道模型内部的工作原理。你可以这样做在原始数据上训练模型并记录其分数。打乱标签并再次训练模型。重复这个过程 100 次或更多并计算模型在打乱的数据上比原始数据表现更好的次数。模型在打乱的数据上表现更好的比例给出了 p 值的估计。如果这个值很高表明模型可能没有有效地学习或者数据本身没有信息性。Python 代码示例没有 Python 代码的数据科学帖子是不完整的在这里我使用Iris 数据集Fisher 1936CC BY 4.0 许可通过两个分类器来展示这个概念一个弱分类器和一个非常强大的分类器。这里的想法是通过打乱标签来消除特征和目标之间的可能关联。然后我们使用选择的分类器并使用选择的交叉验证方法计算其在打乱数据上的性能。我们重复它比如说1000 次。我们得到比原始未触动的数据更好的分数的次数是 p 值的估计。我们在两个不同的分类器上检查它一个是非常弱的随机一个是非常强的。总之我们展示了对于sklearn.datasets.load_iris数据使用sklearn.model_selection.permutation_test_score我们可以证明sklearn.dummy.DummyClassifier无法找到输入特征和鸢尾花类型之间的任何显著的统计关联而sklearn.ensemble.HistGradientBoostingClassifier发现了这种关联。# Load the libraries.fromsklearn.datasetsimportload_irisfromsklearn.model_selectionimportStratifiedKFold,permutation_test_scorefromsklearn.dummyimportDummyClassifierfromsklearn.ensembleimportHistGradientBoostingClassifierfromsklearn.linear_modelimportLogisticRegressionfrommatplotlibimportpyplotasplt# The Iris dataset (Fisher 1936, CC BY 4.0 license) is publicly available at:# https://archive.ics.uci.edu/ml/datasets/iris虚拟分类器我使用sklearn.dummy.DummyClassifier并设置strategystratified。在预测时它将随机输出类别所以仅通过查看标签你无法判断它是一个虚拟分类器。# Load the Iris datasetX,yload_iris(return_X_yTrue)# Use StratifiedKFold to make sure all lables are present.cvStratifiedKFold(2,shuffleTrue)# The DummyClassifier, I use stratified strategy so it spits out all the classes when predict is called.dummy_clfDummyClassifier(strategystratified)# Compute the permutation test scorescore_dummy,permutation_scores_dummy,pvalue_dummypermutation_test_score(dummy_clf,X,y,scoringaccuracy,cvcv,n_permutations1000)# Display results for DummyClassifierprint(fDummyClassifier score:{score_dummy:.4f}, p-value:{pvalue_dummy:.4f})DummyClassifier score:0.3200,p-value:0.6274p 值远远大于常识中的 p 值 0.05。这不是一个好的分类器并且无法找到特征和类别之间的关系。直方图显示它是一个无用的分类器因为其分数和排列的分数重叠。# Plot the histogram of pemutation scores (blue) and show dummy classifier score (red)plt.hist(permutation_scores_dummy,alpha0.5)plt.vlines(score_dummy,0,300,r)plt.xlabel(accuracy)plt.title(Histogram of accuracies of permutations in Dummy classifier)https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/fb4d18bbb3f87ea59c9e66a87469eeab.png红线表示原始数据集上的分数。真实分类器这次我们使用sklearn.ensemble.HistGradientBoostingClassifier它在发现特征和目标之间的关系方面要强大得多让我们看看它的实际效果。# Initialize the HistGradientBoostingClassifierhgbc_clfHistGradientBoostingClassifier()# Compute the permutation test scorescore_hgbc,permutation_scores_hgbc,pvalue_hgbcpermutation_test_score(hgbc_clf,X,y,scoringaccuracy,cvcv,n_permutations1000,n_jobs-1)# Display results for HistGradientBoostingClassifierprint(fHistGradientBoostingClassifier score:{score_hgbc:.4f}, p-value:{pvalue_hgbc:.4f})HistGradientBoostingClassifier score:0.9267,p-value:0.0010与上次相比分数相当高接近准确度分数可能的最大值 1。p 值也低于 0.05 的阈值 5 倍。现在让我们看看排列分数的直方图并将其与原始分数进行比较。# Plot the histogram of pemutation scores (blue) and show hgbc classifier score (red)plt.hist(permutation_scores_hgbc,alpha0.5)plt.vlines(score_hgbc,0,250,r)plt.xlabel(accuracy)plt.title(Histogram of accuracies of permutations in HGBC)https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/b67bffa89fb715785625a84d267332a3.png红线表示原始数据集上的分数。我将代码放在了 Google Colab 笔记本中所以你可以克隆它并立即开始享受乐趣Google Colab结论排列检验是评估机器学习和统计学中结果显著性的强大且直观的工具。通过打乱标签并比较性能我们可以深入了解我们模型的效力和数据的质量而无需复杂的数学概念。所以下次当你遇到机器学习模型时记得颜色学习示例和排列检验。这是一种简单而有效的方法来评估性能并在你的数据科学项目中做出明智的决定。感谢阅读如果你喜欢我的写作请关注我并鼓掌以激励我你可能也喜欢我的其他文章用 Python 比较苹果和橙子这篇文章由 AI 最小程度编辑使用的是MEditor。

相关文章:

排列检验的色彩力量

原文:towardsdatascience.com/the-colorful-power-of-permutation-tests-38f0490ebfba https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4ce3dd25bad50a2c1f85e5463faedb76.png 由作者创作的鸢尾花,通过 Midjourney…...

电子认证合规护航跨境数字身份互认、国际数字身份互信

在数字中国建设与高水平对外开放协同推进的背景下,跨境贸易、金融合作与数字服务加速线上化,数字信任成为打通跨境交互壁垒的核心因素。电子认证作为网络空间信任体系的基石,其全流程合规不仅是自身服务运营的要求,更是护航跨境数…...

环绕在我们周围的数据:从体育到家庭管理

原文:towardsdatascience.com/the-data-all-around-us-from-sports-to-household-management-9ce3f2f97e4c?sourcecollection_archive---------11-----------------------#2024-09-12 https://towardsdatascience.medium.com/?sourcepost_page---byline--9ce3f2f9…...

康威定律与数据空间

原文:towardsdatascience.com/the-curse-of-conway-and-the-data-space-e3cba689a915?sourcecollection_archive---------4-----------------------#2024-10-25 现代趋势如何追溯到康威定律 https://medium.com/jvanlightly?sourcepost_page---byline--e3cba689a…...

《在自定义数据集上训练和运行 YOLOv8 模型的全面指南》

原文:towardsdatascience.com/the-comprehensive-guide-to-training-and-running-yolov8-models-on-custom-datasets-22946da259c3?sourcecollection_archive---------2-----------------------#2024-10-02 现在,通过 Python、命令行或 Google Colab 在…...

答辩 PPT 熬到凌晨?PaperXie 用 AI 把你的毕业焦虑,变成 10 分钟的从容

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPThttps://www.paperxie.cn/ppt/createhttps://www.paperxie.cn/ppt/create 你有没有过这样的时刻:答辩前一周,论文终于定稿,转头却卡在了 PPT 上。翻遍网盘里的答辩…...

10分钟上手wired-elements:打造超萌手绘风UI界面的完整指南

10分钟上手wired-elements:打造超萌手绘风UI界面的完整指南 【免费下载链接】wired-elements Collection of custom elements that appear hand drawn. Great for wireframes or a fun look. 项目地址: https://gitcode.com/gh_mirrors/wi/wired-elements wi…...

答辩前别慌!Paperxie AI PPT,把你的毕业论文一键变成 “答辩通关券”

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPThttps://www.paperxie.cn/ppt/createhttps://www.paperxie.cn/ppt/create 距离毕业答辩只剩一周,你的论文终稿已经反复修改了十几遍,可电脑桌面上的答辩 PPT 文件夹&#xff0…...

7个实战技巧让你轻松掌握vlayout动态布局:从入门到精通

7个实战技巧让你轻松掌握vlayout动态布局:从入门到精通 【免费下载链接】vlayout Project vlayout is a powerfull LayoutManager extension for RecyclerView, it provides a group of layouts for RecyclerView. Make it able to handle a complicate situation w…...

答辩前 3 天,我用 PaperXie 的 AI PPT 功能,把答辩 PPT 从 0 改到了能直接上台

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPThttps://www.paperxie.cn/ppt/createhttps://www.paperxie.cn/ppt/create 凌晨两点的宿舍里,电脑屏幕的蓝光映着你布满红血丝的眼睛。文件夹里躺着写了半个月的毕业论文终稿,旁…...

从标准库到HAL库:STM32驱动TFTLCD的代码移植实战

1. 为什么需要从标准库迁移到HAL库? 最近在做一个智能家居控制面板项目时,遇到了一个典型问题:厂家提供的TFTLCD驱动代码是基于标准外设库(Standard Peripheral Library)开发的,但项目要求使用STM32CubeMX工…...

从提示词到技能笔记:构建可复用AI工作流的核心方法

1. 项目概述:从“提示词”到“技能笔记”的认知跃迁最近在折腾AI应用开发的朋友,估计没少被“提示词工程”这个词刷屏。从最初的简单指令,到如今动辄上千字的复杂结构化提示,我们与AI的交互方式正在经历一场深刻的变革。但不知道你…...

Adobe GenP 3.0终极指南:3步解锁全系列Adobe CC软件

Adobe GenP 3.0终极指南:3步解锁全系列Adobe CC软件 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 还在为Adobe Creative Cloud高昂的订阅费用而烦恼吗…...

【AI面试临阵磨枪-56】大模型服务部署:Docker、K8s、GPU 调度、推理加速

一、 面试题目在生产环境中部署大模型服务时,你是如何结合 Docker 和 K8s 实现高效治理的?特别是在 GPU 调度(如共享、切分) 和 推理加速(如 vLLM, TensorRT-LLM) 方面有哪些实战经验?二、 知识…...

打造高效愉悦的开发者工作流:从工具链配置到心流编码实践

1. 项目概述:一个面向开发者的“氛围感”编码工作流指南 最近在和一些独立开发者朋友交流时,发现一个挺有意思的现象:大家的技术栈都挺扎实,项目也能做出来,但总感觉开发过程磕磕绊绊,效率不高,…...

手把手教你用Python通过RS-232控制ITECH IT63XX电源(附完整代码)

用Python自动化控制ITECH可编程电源的工程实践指南 在硬件开发和自动化测试领域,精确控制直流电源是确保产品质量的关键环节。ITECH IT63XX系列可编程电源以其稳定性和丰富的接口选项,成为工程师实验室的常见设备。本文将带您从零开始构建一个完整的Pyth…...

PearProject梨子项目:如何快速搭建轻量级远程协作系统的完整指南

PearProject梨子项目:如何快速搭建轻量级远程协作系统的完整指南 【免费下载链接】pearProject pear,梨子,轻量级的在线项目/任务协作系统,远程办公协作 项目地址: https://gitcode.com/gh_mirrors/pe/pearProject PearPro…...

手把手教你给STM32H743的0.96寸OLED屏移植STemWin(裸机+FreeRTOS双版本)

STM32H743与0.96寸OLED的STemWin深度移植实战:裸机与RTOS双环境解析 在嵌入式图形界面开发领域,STemWin作为ST官方推出的图形库解决方案,以其高效的渲染性能和丰富的控件资源,成为STM32开发者构建人机界面的首选。本文将聚焦STM32…...

EDR-Telemetry项目实战:使用遥测生成器测试你的安全防护

EDR-Telemetry项目实战:使用遥测生成器测试你的安全防护 【免费下载链接】EDR-Telemetry This project aims to compare and evaluate the telemetry of various EDR products. 项目地址: https://gitcode.com/gh_mirrors/ed/EDR-Telemetry EDR-Telemetry是一…...

构建应用安全防护层:从沙箱隔离到供应链防御实战

1. 项目概述:从“氛围盾”到代码级防护最近在开源社区里,一个名为gomzkov/vibe-shield的项目引起了我的注意。乍一看这个标题,你可能会联想到一些科幻概念,比如“氛围护盾”或者“情绪屏障”。但作为一名长期在网络安全和系统架构…...

抖音无水印视频下载终极指南:5分钟快速上手douyin-downloader

抖音无水印视频下载终极指南:5分钟快速上手douyin-downloader 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallbac…...

别再封装IP了!Vivado里直接拖拽.v文件到Block Design的偷懒技巧

Vivado高效开发:直接拖拽.v文件到Block Design的实战技巧 在FPGA开发中,Vivado的Block Design图形化界面极大提升了设计效率,但传统IP封装流程往往成为快速迭代的瓶颈。当RTL代码需要频繁调整时,每次修改都重新封装IP核不仅耗时&…...

JSON Lint for PHP:如何构建企业级JSON数据验证解决方案?

JSON Lint for PHP:如何构建企业级JSON数据验证解决方案? 【免费下载链接】jsonlint JSON Lint for PHP 项目地址: https://gitcode.com/gh_mirrors/jso/jsonlint 在现代Web开发和API设计中,JSON数据验证是确保系统稳定性的关键环节。…...

不止是编解码:深入VPU硬件层,看BPU如何扛起运动估计与RDO的计算重担

从晶体管到比特流:揭秘VPU中BPU如何用硬件加速视频编解码 当你在4K屏幕上观看一场足球比赛直播时,画面中运动员的每个动作都流畅自然,这背后是每秒数千次的运动预测与补偿计算。传统CPU处理这类任务会瞬间过载,而专用视频处理单元…...

深耕黎巴嫩市场,先认清这些外贸骗局

黎巴嫩外贸环境复杂,出口商常遇虚假付款、骗取邀请函、空壳公司、汇率操纵及虚假订单等骗局。本文拆解五大陷阱,助企业识别风险、规避损失。虚假付款承诺骗局部分客户以“现金黄金”或特殊付款方式为由,要求供应商先发货或提供产品细节&#…...

《我的世界》EcoEnchants插件汉化与编译全流程:从Github源码到可用的中文版插件

《我的世界》EcoEnchants插件深度汉化与编译实战:从源码到定制化中文体验 引言:为什么我们需要自己动手编译与汉化? 在《我的世界》服务器生态中,EcoEnchants作为最受欢迎的附魔扩展插件之一,为游戏带来了数百种全新…...

Speedracer性能基准测试框架设计与实现:终极JavaScript性能测试指南

Speedracer性能基准测试框架设计与实现:终极JavaScript性能测试指南 【免费下载链接】speedracer Collect performance metrics for your library/application. 项目地址: https://gitcode.com/gh_mirrors/sp/speedracer Speedracer是一个专门为JavaScript库…...

从零开始:用MC1648和AD835搭建一个63MHz调幅无线发射器(附完整电路图)

从零开始:用MC1648和AD835搭建63MHz调幅无线发射器实战指南 在电子工程领域,高频电路设计一直被视为"皇冠上的明珠",而调幅无线发射器则是其中最具代表性的项目之一。本文将带你从零开始,用MC1648压控振荡器和AD835乘法…...

PearProject项目空间完全指南:概览、事件、功能、文件和任务管理

PearProject项目空间完全指南:概览、事件、功能、文件和任务管理 【免费下载链接】pearProject pear,梨子,轻量级的在线项目/任务协作系统,远程办公协作 项目地址: https://gitcode.com/gh_mirrors/pe/pearProject PearPro…...

AI法律助手:基于RAG与LLM的垂直领域应用实践

1. 项目概述:当AI遇见法律,一个开源法律助手的诞生最近在GitHub上看到一个挺有意思的项目,叫imyuanx/ai-lawyer。光看名字,你大概就能猜到它的方向——一个AI驱动的法律助手。作为一名在技术和应用交叉领域摸爬滚打多年的从业者&a…...