机器学习中的 P 值
摘要本文介绍了机器学习中P值的概念及其应用。通过乳腺癌数据集案例演示了如何使用Python的scipy和scikit-learn库进行P值计算和特征选择。实验首先加载并分割数据然后基于ANOVA F值筛选Top5特征训练逻辑回归模型获得97%的准确率。最后单独检验平均半径特征的显著性P值为0.00证实其对肿瘤分类具有统计显著性。该方法展示了P值在机器学习特征选择和假设检验中的实用价值。目录机器学习中的 P 值Python 中 P 值的实现步骤 1加载数据集并分割训练集与测试集步骤 2基于 P 值选择最优特征步骤 3训练模型并评估性能步骤 4单独检验某一特征的显著性完整代码输出结果机器学习中的 P 值在机器学习中我们使用 P 值检验零假设—— 即两个变量之间不存在显著关系。例如若有房价数据集想判断房屋面积与价格是否存在显著关联便可通过 P 值验证这一假设。要理解机器学习中的 P 值概念需先明确零假设和备择假设零假设指两个变量无显著关系备择假设则与之相反认为变量间存在显著关系。定义好两种假设后即可用 P 值检验假设的显著性P 值是在零假设成立的前提下得到当前观测结果或更极端结果的概率。若 P 值小于显著性水平通常设为 0.05则拒绝零假设、接受备择假设说明变量间存在显著关系若 P 值大于显著性水平则无法拒绝零假设即认为变量间无显著关系。Python 中 P 值的实现Python 提供了多个用于统计分析和假设检验的库其中 scipy 库最为常用其ttest_ind()函数可计算两个独立样本的 P 值。以下将结合 scikit-learn 的乳腺癌数据集演示 P 值的应用 —— 该数据集旨在通过肿瘤半径、纹理、周长、面积、平滑度、紧密度、凹陷度、对称性等特征预测乳腺肿瘤为恶性还是良性。步骤 1加载数据集并分割训练集与测试集from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split data load_breast_cancer() X data.data # 特征数据 y data.target # 标签0恶性1良性 # 按8:2分割训练集和测试集随机种子设为42以保证结果可复现 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)步骤 2基于 P 值选择最优特征使用 scikit-learn 的SelectKBest类根据特征的 P 值筛选出 Top k 个最优特征此处 k5from sklearn.feature_selection import SelectKBest, f_classif k 5 # 采用f_classif函数ANOVA F值计算各特征与目标变量的P值 selector SelectKBest(score_funcf_classif, kk) # 对训练集拟合并转换保留Top 5特征 X_train_new selector.fit_transform(X_train, y_train) # 对测试集执行相同转换避免数据泄露 X_test_new selector.transform(X_test)步骤 3训练模型并评估性能基于筛选后的特征训练逻辑回归模型用准确率评估效果from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score # 初始化并训练逻辑回归模型 model LogisticRegression() model.fit(X_train_new, y_train) # 预测测试集结果并计算准确率 y_pred model.predict(X_test_new) accuracy accuracy_score(y_test, y_pred) print(f准确率: {accuracy:.2f})步骤 4单独检验某一特征的显著性以 “平均半径” 特征为例用 scipy 的ttest_ind()函数检验其对肿瘤分类的显著性from scipy.stats import ttest_ind # 提取恶性肿瘤y0和良性肿瘤y1的平均半径特征第0列 malignant X[y 0, 0] benign X[y 1, 0] # 计算t统计量和双尾P值 t, p_value ttest_ind(malignant, benign) print(fP值: {p_value:.2f})完整代码from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.feature_selection import SelectKBest, f_classif from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score from scipy.stats import ttest_ind # 加载数据并分割 data load_breast_cancer() X data.data y data.target X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42) # 特征选择 k 5 selector SelectKBest(score_funcf_classif, kk) X_train_new selector.fit_transform(X_train, y_train) X_test_new selector.transform(X_test) # 模型训练与评估 model LogisticRegression() model.fit(X_train_new, y_train) y_pred model.predict(X_test_new) accuracy accuracy_score(y_test, y_pred) print(f准确率: {accuracy:.2f}) # 单独检验平均半径特征的显著性 malignant X[y 0, 0] benign X[y 1, 0] t, p_value ttest_ind(malignant, benign) print(fP值: {p_value:.2f})输出结果上述代码运行后将得到以下输出plaintext准确率: 0.97 P值: 0.00该结果表明基于 Top 5 特征的模型准确率达 97%“平均半径” 特征的 P 值为 0.00小于 0.05说明其对区分良恶性肿瘤具有显著统计意义。

相关新闻

智能自助购药系统的研究与应用

智能自助购药系统的研究与应用

智能自助购药系统的研究与应用 第一章 系统设计理念与核心目标 智能自助购药系统以“便民惠民、精准安全、高效便捷、合规可控”为核心设计理念,旨在突破传统药店时空限制与人工服务瓶颈,构建覆盖“购药-咨询-结算-取药”全流程的智能化服务体系。系统核…

2026/7/6 4:06:33 阅读更多 →
Deepoc具身模型开发板:让无人机迈入“自主决策”智能时代

Deepoc具身模型开发板:让无人机迈入“自主决策”智能时代

在应急救援的废墟上空、生态保护区的林海之间、城市电网的输电塔旁,无人机的身影愈发常见。但传统无人机始终未能突破 “智能缺位” 的瓶颈 —— 依赖预设航线飞行、需人工解读采集数据、复杂场景下易 “失灵”,只能作为 “飞行相机” 被动执行任务。而 …

2026/7/5 13:14:35 阅读更多 →
Flutter-OH三方库适配:从兼容性检查到社区提交的完整指南

Flutter-OH三方库适配:从兼容性检查到社区提交的完整指南

Flutter-OH三方库适配:从兼容性检查到社区提交的完整指南 欢迎大家加入开源鸿蒙跨平台开发者社区: 随着 OpenHarmony(OH)生态的快速发展,将成熟的 Flutter 应用迁移到鸿蒙平台已成为许多开发者的选择。然而&#xff…

2026/7/4 2:49:46 阅读更多 →

最新新闻

3个暗黑破坏神2存档编辑难题,如何用免费Web工具完美解决?

3个暗黑破坏神2存档编辑难题,如何用免费Web工具完美解决?

3个暗黑破坏神2存档编辑难题,如何用免费Web工具完美解决? 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否曾为暗黑破坏神2的存档问题而烦恼?角色进度丢失、装备损坏、或者想尝试新build…

2026/7/6 5:10:31 阅读更多 →
毕设分享 深度学习手写数字识别系统(源码+论文)

毕设分享 深度学习手写数字识别系统(源码+论文)

文章目录 0 前言1 项目运行效果2 深度学习手写字符识别原理2.1 结构解析2.2 C1层2.3 S2层S2层和C3层连接 2.4 F6与C5层 3 写数字识别算法模型的构建3.1 输入层设计3.2 激活函数的选取3.3 卷积层设计3.4 降采样层3.5 输出层设计 4 网络模型的总体结构5 部分实现代码6 最后 0 前言…

2026/7/6 5:08:31 阅读更多 →
GPT-6 vs Claude 5:2026 提示词工程进阶对比

GPT-6 vs Claude 5:2026 提示词工程进阶对比

GPT-6 vs Claude 5:2026 提示词工程进阶对比大模型进入2026年,单纯的“对话”已无法胜任复杂的生产级任务。随着GPT-6和Claude 5相继发布,提示词工程从“艺术”变成了“科学”。面对原生思维链、超长上下文和Agent工作流的革新,开…

2026/7/6 5:06:30 阅读更多 →
从评判者到驾驭者——贾子理论“懂-用“二维框架与认知偏差校正

从评判者到驾驭者——贾子理论“懂-用“二维框架与认知偏差校正

从评判者到驾驭者 ——贾子理论"懂-用"二维框架与认知偏差校正摘要本研究以公理-定理-定律层级理论为研究对象,从科学哲学的本体论与认识论角度,系统探讨了客观规律描述体系的属性定位、人与客观规律之间的正确关系模式,并以贾子理论(Kucius Theory)为典型样本进行实…

2026/7/6 5:04:29 阅读更多 →
Alternative Mod Launcher:告别传统启动器,开启XCOM 2模组管理新时代

Alternative Mod Launcher:告别传统启动器,开启XCOM 2模组管理新时代

Alternative Mod Launcher:告别传统启动器,开启XCOM 2模组管理新时代 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https:/…

2026/7/6 5:00:28 阅读更多 →
Nmap网络扫描实战:从主机发现到渗透测试的完整指南

Nmap网络扫描实战:从主机发现到渗透测试的完整指南

1. 项目概述:为什么你需要掌握 Nmap? 如果你是一名系统管理员、网络安全工程师,或者只是对自家网络里到底有什么设备感到好奇的技术爱好者,那么 Nmap 这个名字你一定不陌生。它被誉为网络扫描领域的“瑞士军刀”,是进行…

2026/7/6 4:56:26 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻