- 博客(49)
- 收藏
- 关注
原创 【机器学习】自定义数据集 使用scikit-learn中svm的包实现svm分类
适用于数据线性可分的情况,即存在一个超平面可以将不同类别的样本完全分开。目标是找到一个最优超平面,使得两类样本之间的间隔(margin)最大化。适用于数据近似线性可分的情况,即数据中存在少量噪声或异常点,无法完全分开。引入松弛变量(slack variables),允许部分样本违反间隔约束。适用于数据非线性可分的情况,即无法通过一个超平面将不同类别的样本分开。通过核函数(Kernel Function)将数据映射到高维空间,使得数据在高维空间中线性可分。类型适用场景核心思想关键参数/技术。
2025-02-01 21:55:18
1458
2
原创 【机器学习】自定义数据集,使用scikit-learn 中K均值包 进行聚类
欧式距离是两点之间的直线距离,计算公式为:其中:x 和 y 是两个数据点。n 是特征的数量。曼哈顿距离是两点在各维度上绝对差值的总和,计算公式为:其中:x 和 y 是两个数据点。n 是特征的数量。# 1. 自定义数据集# 生成 200 个样本,每个样本有 2 个特征np.random.seed(42) # 设置随机种子以确保结果可重复# 2. 初始化 K 均值模型# 设置聚类数为 3# 3. 训练模型# 4. 获取聚类结果# 获取每个样本的聚类标签# 获取聚类中心。
2025-02-01 18:54:19
1447
原创 【机器学习】自定义数据集 ,使用朴素贝叶斯对其进行分类
1. 自定义数据集# 生成 100 个样本,每个样本有 2 个特征# 根据特征的线性组合生成标签,大于 0 标记为 1,否则标记为 0# 2. 初始化朴素贝叶斯模型# 3. 训练模型# 4. 输出训练结果print("训练完成!")print("模型参数:")print("类别先验概率:", model.class_prior_)print("类别数量:", model.class_count_)print("每个类别的均值:", model.theta_)
2025-01-31 22:45:38
737
原创 【机器学习】自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测,对预测结果计算精确度和召回率及F1分数
自定义数据集# 转换为 PyTorch 张量# 定义线性回归模型# 定义损失函数和优化器# 训练模型# 前向传播# 反向传播和优化# 模型评估print(f"均方误差 (MSE): {mse}")print(f"决定系数 (R²): {r2}")# 输出模型的系数和截距print("模型系数:", model[0].weight.item())print("模型截距:", model[0].bias.item())方案 2forward# 自定义数据集。
2025-01-31 21:47:01
1096
原创 【PyQT】大家Python年快乐!sum(i**3 for i in range(1, 10))年大吉!
看不到演示结果,如果有PyQT6的同学可以演示一下。不过最后还是祝大家在新的一年里一定要幸福啊!
2025-01-28 20:44:51
105
原创 【机器学习】自定义数据集 使用paddlepaddle框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测
代码解释① 数据生成与转换:② 模型组网:③ 损失函数和优化器:④ 模型训练:⑤ 损失曲线绘制:⑥ 模型评估:⑦ 输出模型参数:方案 2:单独定义,使用类的方式 组网代码解释此方案与方案 1 的主要区别在于模型的组网方式,具体如下:模型组网:① 定义一个继承自 的自定义模型类 。② 在 方法中初始化 层。③ 在 方法中定义前向传播逻辑。后续步骤:损失函数、优化器的选择,模型训练、评估以及参数输出等步骤与方案 1 基本相同。3. 训练和评估部分:使用 列表记录每一轮训练的损失值
2025-01-27 19:39:47
1871
原创 【机器学习】自定义数据集 使用tensorflow框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测
解释继承Model基类创建自定义模型类Linear,在__init__方法中定义Dense层。call方法用于实现前向传播逻辑,类似于 PyTorch 中的forward方法。后续的编译、训练、评估和参数输出流程和前面方案一致。# 自定义数据集# 自定义模型类return x# 构建模型# 编译模型# 训练模型# 模型评估print(f"均方误差 (MSE): {mse}")print(f"决定系数 (R²): {r2}")# 输出模型的系数和截距。
2025-01-25 07:23:26
1531
原创 【机器学习】自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测
自定义数据集# 转换为 PyTorch 张量# 定义线性回归模型# 定义损失函数和优化器# 训练模型# 前向传播# 反向传播和优化# 模型评估print(f"均方误差 (MSE): {mse}")print(f"决定系数 (R²): {r2}")# 输出模型的系数和截距print("模型系数:", model[0].weight.item())print("模型截距:", model[0].bias.item())方案 2forward# 自定义数据集。
2025-01-24 17:15:57
1466
原创 【机器学习】自定义数据集使用框架的线性回归方法对其进行拟合
准备好数据之后,就需要定义前向模型了。在这里给出了“定义前向模型”组件,如下图所示。在选择好前向的模型后,需要定义反向传播过程中用到的一些超参数。在深度学习的三种框架中,关于损失函数和优化器的代码实现都已经封装好了,只需要选择使用哪种即可。# 自定义数据集# 转换为 PyTorch 张量# 定义线性回归模型# 定义损失函数和优化器# 训练模型# 前向传播# 反向传播和优化# 模型评估print(f"均方误差 (MSE): {mse}")print(f"决定系数 (R²): {r2}")
2025-01-24 16:31:12
966
原创 【机器学习】自定义数据集使用scikit-learn中的包实现线性回归方法对其进行拟合
线性回归是一种用于建立自变量与因变量之间关系的统计方法。它假设因变量(或响应变量)与一个或多个自变量(或预测变量)之间的关系是线性的。其主要目标是通过拟合一个线性模型来预测因变量的数值。2、代码解释及使用说明①数据生成②数据集划分:将数据集按照 80% 和 20% 的比例划分为训练集和测试集,用于保证每次划分结果的一致性。③模型创建与拟合④模型预测与评估⑤模型参数输出
2025-01-24 11:00:00
835
原创 【机器学习】使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测
自定义数据集# 特征矩阵# 标签向量# 将数据集划分为训练集和测试集,测试集占比20%# 创建KNN分类器,设置K值为3# 使用训练集对KNN分类器进行训练# 使用训练好的模型对测试集进行预测# 计算预测准确率print(f"自定义数据集预测准确率: {accuracy}")2、代码解释。
2025-01-23 12:29:14
633
原创 PyQt + OpenCV综合训练
创建一个 PyQt 应用程序,该应用程序能够:①使用 OpenCV 加载一张图像。②在 PyQt 的窗口中显示这张图像。③提供四个按钮(QPushButton):- 一个用于将图像转换为灰度图- 一个用于将图像恢复为原始彩色图- 一个用于将图像进行翻转- 一个用于将图像进行旋转④当用户点击按钮时,相应地更新窗口中显示的图像。
2024-12-27 22:23:25
1132
原创 Opencv-python的简单练习
在一家生产彩色玩具的工厂中,需要检测产品是否按照正确的颜色进行生产。请设计一个使用OpenCV的自动化检测系统,该系统能够识别并报告不符合颜色标准的产品。你正在开发一个自动驾驶系统,需要识别交通信号灯的颜色(红、黄、绿)。请设计一个简化的流程,说明如何使用OpenCV来识别交通信号灯的颜色。8.计算这些轮廓的长宽比,长宽比ratio在2到5.5之间的,在原图上用矩形框标出,这些轮廓可能是车牌的候选区域。接着,对二值化后的图像执行腐蚀和膨胀操作,并显示处理前后的图像。1.设定产品的标准颜色范围(HSV值)。
2024-12-15 23:44:49
897
1
原创 Opencv之识别图片颜色并绘制轮廓
OpenCV 的默认颜色空间为 BGR(蓝、绿、红),但识别特定颜色更适合在 HSV(色调、饱和度、亮度)颜色空间中进行。HSV 优势:能够更方便地描述颜色范围,用于筛选特定颜色区域。
2024-12-12 22:15:35
813
2
原创 Opencv之图像矫正
图片矫正实验的核心是 透视变换(Perspective Transformation)。透视变换是一种几何变换,它根据两个坐标点集之间的映射关系,改变图像的透视效果,用于矫正图像中存在的透视畸变或视角不正的问题。在现实世界中,我们观察到的物体在视觉上会受到透视效果的影响,即远处的物体看起来会比近处的物体小。透视投影是指将三维空间中的物体投影到二维平面上的过程,这个过程会导致物体在图像中出现形变和透视畸变。
2024-12-12 20:57:36
687
原创 机器视觉认识OpenCV
对于彩色图像的每个像素【每个像素包含 RGB三通道】,它会按照一定的权重去乘以每个通道的像素值,并将其相加,得到最后的值就是灰度图像中对应位置的像素值,权重的比例为: R乘以0.299,G乘以0.587,B乘以0.114。对于彩色图像的每个像素,它会将R、G、B三个通道的像素值全部加起来,然后再除以三,得到的平均值就是灰度图像中对应位置的像素值。二值化是图像处理中的常见操作,用于将图像转化为只有两种像素值(通常是 0 和 255)的图像,常用于边缘检测、形状检测等。
2024-12-11 22:20:36
1369
原创 PyQt事件机制及其应用
一个小闹钟应用创建主窗口类首先我们创建了一个名为AlarmClock的类,它继承自QMainWindow。这个类将包含我们的GUI组件和逻辑。
2024-12-07 20:51:16
745
2
原创 Python应用之数据结构
思路:将顺序表遍历一遍,对每个元素而言,查找该元素后是否有跟自己相等的元素,如果有,则删除那个元素,注意不要漏删。函数的功能:往顺序表中增加元素。思路:将要添加的元素,放入顺序表下标为size的位置中。函数的功能:顺序表按位置进行数据的修改 思路:直接通过对应位置元素进行修改。函数的功能:在顺序表的任意位置插入数据。参数列表:self 顺序表、要插入的位置、要插入的数据。参数列表:self 顺序表,要修改的位置、修改的数据。函数的功能:在顺序表的任意位置删除。函数的功能:打印顺序表中的所有元素 (思路)
2024-11-21 22:38:38
642
原创 python高级之简单爬虫实现
场景1:一个网络爬虫,顺序爬取一个网页花了一个小时,采用并发下载就减少到了20分钟。场景2:一个应用软件优化前每次打开网页需要3秒,采用异步并发提升到了200毫秒。假设一个工程的工作量为100,不采用并发编程就相当于由一个人去完成这个工作量为100的所有工作内容,可能需要1个小时来做完。但是还是这工作量为100的工程,我们采用并发编程就相当于是由2个人或者3个人去共同完成这份100工作量的工作,可能这份工作只需要半个小时就能做完。总之引入并发就相当于提升程序进行速度。
2024-11-18 21:55:32
1520
原创 python高级之模块、迭代器与生成器和正则表达式
把模块组织到一起的方法,即创建一个包。“模块”就是 一个 .py 文件;“包”就是一个包含 __init__.py文件的 文件夹,文件夹中可以包含子包或者模块。创建包的目的不是为了运行,而是为了被导入使用;包的本质就是模块,因此可以将包当做模块来导入。包是不能像普通模块那样被执行代码,所以包提供了一个__init__.py文件;导入包就会执行 __init__.py 文件,这也是 __init__.py 文件存在的意义。导入自定义的包,必须确保包在Python的搜索路径中。
2024-11-18 18:52:38
728
原创 python高级之异常处理机制和文件操作
python放入内置异常已经很丰富了,但是我们还是可以自定义异常的,也就是说我们可以根据自己的实际需求做异常判断。在学习自定义异常之前,先来看一下 raise的使用。raise可以手动抛出异常——内置异常或者自定义异常都可以。def __init__(self, message="输入不是数字!"):try:print(check_numeric("abc")) # 非数字输入触发异常print(f"捕获自定义异常: {e}")现在来看一下自定义异常类,自定义异常必须继承Exception类。
2024-11-14 21:10:03
926
1
原创 python高级之面向对象编程
在python中使用class关键字创建一个类。# 公共的属性passpasspass# 公共的属性passpasspass实例化对象的语法:1》无参对象名 = 类名()2》有参对象名 = 类名(参数列表)例: 输出汽车品牌型号和问世年份# 定义一个简单的类brand = "比亚迪" # 实例属性model = "秦L DM"passdef display_info(self): # 实例方法pass# 实例化对象s1 = Car()s2 = Car()
2024-11-13 22:10:35
924
2
原创 python高级之闭包函数、lambda函数、高阶函数和装饰器
如果内函数中使用了外函数的局部变量,并且外函数把内函数返回的过程就叫闭包。例:问题1:定义函数时首先先想一个函数的名字,最好与内置函数、内置方法不重名问题2:若一个函数的功能很简单,就两行代码,我还写一个完整的函数这两个问题都可以通过匿名函数解决匿名函数:顾名思义就是没有名字的函数,这种函数只使用一次,一般函数体只有一条语句一个返回值,用于实现简单功能。例: lambda函数的特性数学中的高阶函数:y = g(f(x))Python中的高阶函数:将一个或多个函数作为函数的参数用于将一个函数应用到一个序
2024-11-13 19:02:15
695
1
原创 python基础考试试卷及解析
new_list = old_list.copy():这是正确的方法,copy()方法会创建一个列表的浅拷贝,复制了原列表中的所有元素,但如果元素本身是可变类型(如列表),则它们仍然会被共享。也就是说,对于一个包含多层嵌套结构的对象(如包含子列表的列表),深拷贝会复制所有层级的对象,生成一个完全独立的副本。7、编写一个python函数,可接收一个列表和要查找的值key,使用顺序查找法,输出key在列表中的下标,找不到的话,输出-1,要求:不可以在定义函数内调用python内置方法。
2024-11-12 22:03:02
934
1
原创 简单和递归函数小练习
list2 = []print(f"该字符串有{len(a)}个字符。")a = str(input("请输入一个字符串:"))b = str(input("请输入一个字符串:"))c = str(input("请输入一个字符串:"))max = dmin = dnum6 = []f = input("请输入一个数字:")else:print('输入结束')breakprint(f"该列表中的最大值为{max},最小值为{min}。")
2024-11-09 16:37:29
227
1
原创 python入门之python函数
实现【特定功能】的代码块。内置函数【别人写好的,你直接用】 自定义函数如果内函数中使用了外函数的局部变量,并且外函数把内函数返回的过程就叫闭包。
2024-11-09 12:14:24
845
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人