day03-交叉验证-混淆矩阵-分类报告-验证曲线-学习曲线
2.朴素贝叶斯定理
模块:
import sklearn.naive_bayes as nb
model = nb.GaussianNB()
基于高斯分布即正态分布的朴素贝叶斯分类器
代码示例:nb.py
import numpy as np
import sklearn.naive_bayes as nb
import matplotlib.pyplot as mp
x,y = [],[]
with open('../../day01/data/multiple1.txt','r') as f:
for line in f.readlines():
data = [float(substr) for substr in line.split(',')]
x.append(data[:-1])
y.append(data[-1])
x ,y = np.array(x),np.array(y,dtype=int)
#朴素贝叶斯分类器
model = nb.GaussianNB()
model.fit(x,y)
l, r, h = x[:, 0].min() - 1, x[:, 0].max() + 1, 0.005
b, t, v = x[:, 1].min() - 1, x[:, 1].max() + 1, 0.005
grid_x = np.meshgrid(np.arange(l, r, h),np.arange(b, t, v))
flat_x = np.c_[grid_x[0].ravel(), grid_x[1].ravel()] #列合并
flat_y = np.zeros(len(flat_x), dtype=int)#进行自动分类
flat_y = model.predict(flat_x) #注意,在这里才开始训练
grid_y = flat_y.reshape(grid_x[0].shape)
pred_y = model.predict(x)#在这里测试并产生预测值
print((pred_y == y).sum() / pred_y.size )#统计分类结果概率
mp.figure('Naive Bayes Classification',facecolor='lightgray')
mp.title('Naive Bayes Classification', fontsize=20)
mp.xlabel('x', fontsize=14)
mp.ylabel('y', fontsize=14)
mp.tick_params(labelsize=10)
mp.pcolormesh(grid_x[0], grid_x[1], grid_y, cmap='gray')
mp.scatter(x[:, 0], x[:, 1], c=y, cmap='brg', s=80)
mp.tight_layout()
mp.show()
3.划分训练集测试集
import sklearn.model_selection as ms
ms.train_test_split(输入集,输出集,
test_size=测试集占比,ramdom_state=随机种子)
-->得到:训练输入,测试输入,训练输出,测试输出
代码示例:split.py
import numpy as np
import sklearn.naive_bayes as nb
import matplotlib.pyplot as mp
import sklearn.model_selection as ms
x,y = [],[]
with open('../../day01/data/multiple1.txt','r') as f:
for line in f.readlines():
data = [float(substr) for substr in line.split(',')]
x.append(data[:-1])
y.append(data[-1])
x ,y = np.array(x),np.array(y,dtype=int)
#划分训练集合测试集
train_x,test_x,train_y,test_y = \
ms.train_test_split(x,y,test_size=0.25,random_state=7)
#朴素贝叶斯分类器
model = nb.GaussianNB()
model.fit(train_x,train_y)#用训练集进行训练
l, r, h = x[:, 0].min() - 1, x[:, 0].max() + 1, 0.005
b, t, v = x[:, 1].min() - 1, x[:, 1].max() + 1, 0.005
grid_x = np.meshgrid(np.arange(l, r, h),np.arange(b, t, v))
flat_x = np.c_[grid_x[0].ravel(), grid_x[1].ravel()] #列合并
flat_y = np.zeros(len(flat_x), dtype=int)#进行自动分类
flat_y = model.predict(flat_x) #注意,在这里才开始训练
grid_y = flat_y.reshape(grid_x[0].shape)
pred_test_y = model.predict(test_x)#用测试集测试并产生预测值
print((pred_test_y == test_y).sum() / pred_test_y.size )#统计分类结果概率
mp.figure('Naive Bayes Classification',facecolor='lightgray')
mp.title('Naive Bayes Classification', fontsize=20)
mp.xlabel('x', fontsize=14)
mp.ylabel('y', fontsize=14)
mp.tick_params(labelsize=10)
mp.pcolormesh(grid_x[0], grid_x[1], grid_y, cmap='gray')
mp.scatter(test_x[:, 0], test_x[:, 1], c=test_y, cmap='brg', s=80)
mp.tight_layout()
mp.show()
4.交叉验证
import sklearn.model_selection as ms
ms.cross_val_score(模型,输入集,输出集,
cv=验证(折叠)次数,scoring=指标名) 得到指标数组
指标名scoring:
1)精确度accuracy:分类正确的样本数/总样本数 总样本数是测试集
2)查准率precision_weighted:预测正确数量/预测出来的总数
如100个测试样本中,预测有20个相似,最终只有5个是正确的,
则查准率=5/20=0.25
3)召回率recall_weighted: 预测正确的数量/实际存在的样本数
4)f1得分f1_weighted:
2*查准率*找回率/(查准率+召回率) 越高越好
在交叉验证过程中,针对每一个折叠,计算所有类别的查准率、
召回率或者f1得分,然后取各类别相应指标值的平均数,作为
这一个折叠的评估指标,然后再将所有折叠的评估指标以数组
的形式返回调用对象。
代码示例:cv.py
import numpy as np
import sklearn.naive_bayes as nb
import matplotlib.pyplot as mp
import sklearn.model_selection as ms
x,y = [],[]
with open('../../day01/data/multiple1.txt','r') as f:
for line in f.readlines():
data = [float(substr) for substr in line.split(',')]
x.append(data[:-1])
y.append(data[-1])
x ,y = np.array(x),np.array(y,dtype=int)
#划分训练集合测试集
train_x,test_x,train_y,test_y = \
相关推荐
Day01-人工智能核心概念
在分析问题的过程中,一个关键步骤是明确模型的输入和输出。输入通常指的是原始数据或特征,而输出则是模型基于这些输入生成的预测或分类结果。明确输入输出内容有助于选择合适的算法和模型结构,并构建有效的数据处理和特征工程流程。在进行任何机器学习项目之前,首先需要对问题进行深入的分析和理解。这包括明确项目的目标、确定要解决的具体问题、理解相关背景和领域知识,以及收集和分析可用的数据。
线性回归股价预测
Machine learning for finance in python Preparing data and a linear model Explore the data with some EDA Any time we begin a machine learning (ML) project, we need to first do some exploratory data ana...
机器学习生产化实战:特征一致性与模型可观测性落地指南
机器学习模型从开发到生产部署,核心挑战在于保障特征计算的一致性与模型行为的可观测性。其原理涉及训练/推理数据源对齐、特征时效性控制、实时漂移检测及预测质量双轨监控;技术价值体现在降低线上故障率、缩短MTTR、支撑灰度发布与秒级回滚;典型应用场景包括金融风控、电商推荐、实时反欺诈等高SLA要求系统。本文聚焦Feast特征治理、MLflow Registry生产流转、Evidently实时监控与Triton推理优化四大关键技术实践,覆盖特征平面、模型平面、服务平面与可观测平面的协同设计。
机器学习科研导航系统:实时追踪arXiv/GitHub/Reddit三维信号
在机器学习领域,研究者面临的核心挑战并非信息匮乏,而是高噪声环境下的信号甄别——arXiv论文日均超180篇,代码开源滞后、术语漂移频繁、作者匿名化加剧,导致传统关键词订阅与RSS推送漏报率高达63%。其本质是动态信息过滤问题,需融合作者行为模式、代码仓库活性(CI通过率、依赖健康度)、社区反馈(Hugging Face Spaces热度、Reddit技术讨论聚类)三重维度,构建低延迟(≤90秒端到端)、高精度(F1≥0.82)、强可操作性(直达diff、消融配置、issue修复)的科研导航闭环。该范式已应
光学系统设计:波段、光源、光纤与探测器匹配指南
在光学测量和光纤通信系统中,波段、光源、光纤和探测器的匹配关系是系统设计的核心基础。波段指电磁波谱中的特定波长范围,光源负责产生特定波长的光信号,光纤作为传输介质需要与波长匹配以降低损耗,探测器则负责将光信号转换为电信号。理解各组件的光谱特性对于系统性能至关重要,例如在850nm短波长多模光纤系统中,VCSEL激光器与PIN光电二极管的组合能提供最佳性价比。典型应用场景包括生物医学成像、光纤通信和气体传感,其中光谱重叠优化、模场直径匹配和偏振特性协调是关键技术要点。通过实测数据对比不同组合的传输性能,可以为
大数据国赛第2套任务C-子任务一特征工程
根据**Hudi**的dwd_ds_hudi库中相关表或MySQL中shtd_store中相关表(order_detail、sku_info),计算出与用户id为6708的用户所购买相同商品种类最多的前10位用户(只考虑他俩购买过多少种相同的商品,不考虑相同的商品买了多少次),将10位用户id进行输出,若与多个用户购买的商品种类相同,则输出结果按照用户id升序排序,输出格式如下,将结果截图粘贴至客户端桌面【Release任务C提交结果.docx】中对应的任务序号下;
PSCAD通过python调用自动化库的实现
带有python脚本的pscad自动化PSCAD通过python调用自动化库的实现前期准备实现 PSCAD通过python调用自动化库的实现 在网上搜了一圈没有找到,通过油管的一个视频学到了,这里分享一下。 前期准备 下载PSCAD 在官方文档中建议PSCADV4.6.1及以上版本 下载python python这里没注明哪些版本可用,博主下载了最新的3.8.2使用正常。 下载IDE py...
Flutter 完整学习文档 - 从入门到精通
Widget 就像乐高积木,Flutter 中所有的东西都是 Widget。一个按钮是 Widget,一段文字是 Widget,甚至布局、边距、对齐方式也是 Widget!"万物皆 Widget"
运维颠覆!一文解锁AI赋能运维实战秘籍,效率飙升!
将AI应用于运维工作是一场极具价值的变革,从故障预测与诊断到自动化任务执行,再到资源管理优化,AI都展现出巨大潜力。尽管在实践过程中会面临数据质量、模型复杂性等挑战,但通过合理的技术选型和解决方案,我们能够充分挖掘AI的优势,实现运维工作的高效、智能转型。持续探索和创新AI在运维领域的应用,将为企业的数字化发展提供坚实保障。在科技飞速发展的当下,运维领域正经历着深刻变革,AI的融入成为提升运维效率与质量的关键。本文将深入实战,带你领略AI如何在运维各环节大显身手,让你的运维工作开启智能高效新模式。
《我的Classic Platform AUTOSAR之路》 BSWM 模式管理(二)ESH
只有 PostRun 和 wakeup 才能切换到 RUN,其他状态需要先切换到 wakeup 模式。进入 RUN 模式需要打开通信 allow,退出 Run 需要 disable 通信 allow。Prepareshut 与 dem_shutdown 绑定,如果没有 dem 配置,不会生成。除了 Init 模式下,其他模式下都要检查 ECU 的唤醒源和通信 pending 需求。与 ECUM 相关,整个 ECU 状态管理的状态机制。postrun 可以不配置,需要根据自己的需求使能。
基于NARX和NARX-LSTM的模型辨识与MPC控制系统调试与优化
本文针对两输入单输出非线性系统,提出基于NARX和NARX-LSTM的模型辨识与MPC控制优化方案。系统输入为固定量u1和可调量u2(8.5-140),输出目标为-0.58。现有模型存在辨识精度不足、历史输出依赖过重、预测偏差等问题。解决方案包括:数据差分处理改善非平稳性、调整延迟阶数优化模型结构、引入注意力机制替代手动加权、改进损失函数消除预测偏差。MPC控制器将结合优化模型,考虑控制变量步长约束(≥2),实现输出稳定控制。通过系统性的模型调试与控制算法优化,最终形成完整的非线性系统辨识与控制框架。
在 SAP BTP 上为应用开启多租户能力:基于 SaaS Provisioning 和 XSUAA 的完整实践指南
本文介绍了在SAP BTP上配置多租户应用的实战指南。主要内容包括: 多租户架构概述:解释provider子账户、consumer子账户和tenant的概念,以及数据隔离机制。 安全配置:在xs-security.json中设置tenant-mode为shared,并为SaaS Provisioning服务添加回调scope授权。 路由配置:通过manifest.yml设置TENANT_HOST_PATTERN来定义多租户访问模式,确保不同租户通过不同子域名访问同一应用。 服务绑定:将XSUAA和SaaS
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
Camera2Demo
在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作
416



被折叠的 条评论
为什么被折叠?



