- 博客(261)
- 资源 (65)
- 收藏
- 关注
原创 【机器学习】手撕封装PCA——将高维数据映射到低维数据的过程
本文详细介绍了主成分分析法(PCA)在高维数据降维中的应用。首先,阐述了PCA的基本原理,即通过寻找前k个主成分对应的轴的方向,实现从高维数据向低维数据的映射。随后,讲解了如何通过PCA将样本数据从N维映射到k维,包括主成分的计算矩阵乘法和降维过程的具体实现。此外,还涉及了PCA的编程实现,包括如何封装PCA为一个类,以及如何通过该类进行数据的降维和恢复。最后,通过实际编程实验展示了PCA降维的基本原理和应用效果,强调了PCA在数据降维中的重要作用。
2025-03-22 16:50:23
1248
原创 【数据挖掘】数据预处理——以鸢尾花数据集为例
这个案例代码展示了对鸢尾花数据集进行数据挖掘预处理的常见操作,包括数据加载、探索、清理、变换和归约等步骤。
2025-03-21 10:08:58
499
原创 【机器学习】什么是逻辑回归
本文主要讲述了逻辑回归算法的基本原理和应用。首先介绍了逻辑回归在机器学习领域的重要地位,然后解释了其名称的由来和如何利用样本特征和概率之间的关系进行分类。通过与线性回归的对比,解释了概率值的概念和如何进行分类。强调了逻辑回归只能解决二分类问题,并介绍了如何通过转换函数将线性回归的结果转换为概率值。最后通过实例说明了如何应用逻辑回归模型进行肿瘤类型的预测。逻辑回归是一种常用的机器学习算法,在各个行业中广泛使用,尤其在非军事和安全领域。逻辑回归的简单性使其易于理解和实现,但同时也非常有用。
2025-03-20 23:40:00
693
原创 【数据挖掘】Python基础环境安装配置
本文主要介绍如何在Windows上安装Python3.13.2,然后基于该Python版本安装Jupyter notebook、Numpy、pandas等数据挖掘涉及到的相关库,本文适合Python初学者和数据挖掘初学者作为学习后续课程的准备。
2025-03-18 15:40:00
1075
原创 【机器学习】主成分分析法求数据前n个主成分
本文详细讲解了主成分分析法的原理及应用,包括如何通过梯度上升法求出一组数据的前n个主成分。介绍了主成分分析法如何从一个坐标系转换到另一个坐标系,通过逐步去除数据在已有主成分上的分量,求出新的主成分。具体涉及二维数据到高维数据的处理,以及如何通过编程实现主成分分析。最后,阐述了主成分分析法在降维方面的应用,并强调了该方法在数据处理和分析中的重要性。主成分分析法用于求出一组数据的第一主成分,即一个坐标轴方向,使得样本点在该轴上的方差最大。第一主成分将样本点映射到该轴上,保留了样本点之间的最大方差。
2025-03-13 23:19:26
691
原创 【数据挖掘】通过心脏病数据案例熟悉数据挖掘的完整过程
特征会影响目标的取值,目标变量target取值为[0,4],其中0表示没有心脏病,1-4表示有心脏病,只是程度不一样。它是一种用于分类任务的统计方法,适用于二元分类问题。分析每个特征与目标变量的关系。
2025-03-12 10:18:12
638
原创 【机器学习】主成分分析法(PCA)
本文主要讲述了主成分分析法(PCA)的原理和应用。PCA通过选择最重要的特征,将高维数据映射到低维空间,同时保持数据间的关系,实现降维和去噪。通过具体的例子和图示解释了PCA的原理,并比较了两种降维方案,解释了为什么选择将数据映射到x轴上可以得到更好的分类效果。最后强调了在PCA之前需要对所有样本的均值进行归零处理。通过这篇文章,读者可以深入了解PCA的原理和应用,并掌握如何使用PCA进行数据降维和去噪,提高分类效果。
2025-03-12 01:28:35
1587
原创 【机器学习】应用梯度下降法训练线性回归算法模型
本文主要讲述了在线性回归模型下如何使用梯度下降法。首先,通过生成模拟数据来测试梯度下降法的效果,数据包括一维的x向量和由线性公式及噪声生成的y值。然后,通过编写函数计算损失函数J的值,并处理可能的溢出问题。接着,介绍了梯度下降法的关键部分,即编写函数计算损失函数对θ的导数,使用空数组存储结果,并具体展示了如何计算第一个元素的导数,为后续多维情况的计算奠定基础。
2025-03-04 23:41:33
1169
原创 【机器学习】梯度下降法及使用一元二次方程模拟使用梯度下降法的代码实现
文本主要讲述了梯度下降法作为机器学习中的一种优化方法用于最小化损失函数。它并非直接解决机器学习问题,而是作为求解最优参数的工具。通过二维坐标图直观展示了梯度下降法的原理,即通过调整参数值来逐步减小损失函数值,直至找到最小值点。同时,强调了导数在梯度下降中的作用,即指示了损失函数随参数变化的趋势,从而指导参数调整的方向。
2025-02-25 22:43:18
879
原创 【机器学习】多元线性回归算法和正规方程解求解
本文围绕多元线性回归的正规方程解展开,为初学者系统介绍了相关基本概念、求解方法、实际应用以及算法封装要点。首先,深入阐释了正规方程解这一多元线性回归的重要求解方法,同时明确了截距和系数的概念及其差异。通过详细步骤,指导读者如何运用正规方程解决多元线性回归问题,并剖析了将截距和系数分开处理的原因,帮助读者理解其背后的数学逻辑和实际意义。接着,全面分析了正规方程解的优缺点,使读者清晰了解该方法在不同场景下的适用性。在此基础上,介绍了正规方程解在实际应用中的具体操作方法,增强了读者将理论知识转化为实践的能力。
2025-02-21 00:30:40
1252
原创 【机器学习】衡量线性回归算法最好的指标:R Squared
本文主要介绍了线性回归算法中用于衡量模型优劣的重要指标——R Squared(R方)。R方用于比较模型预测结果与实际结果的拟合程度,其值范围在0到1之间,越接近1表示模型预测效果越好。R方的计算涉及预测误差与总误差的比较,其中分子为预测误差的平方和分母为总误差的平方和。当R方等于1时,表示模型预测无误差;小于零则表明模型效果不佳,可能不适合线性回归。此外,还介绍了如何通过编程实践计算R方值,并在不同的机器学习库中实现该指标的计算。最后,强调了R方作为衡量线性回归模型性能的关键指标的重要性。
2025-02-20 21:05:14
651
原创 【机器学习】衡量线性回归算法的指标:MSE、RMSE、MAE
本文主要讲述了如何评价线性回归算法的模型质量。文中详细介绍了如何使用均方误差(MSE)和平均绝对误差(MAE)等指标来衡量模型的好坏,以及如何使用波士顿房价数据集进行实际应用。通过这些实际应用的例子,可以更好地理解如何评价线性回归算法的模型质量。此外,文中还介绍了如何将数据集分割为训练集和测试集,并使用训练集训练模型,然后使用测试集进行预测,以评估模型的预测准确性。
2025-02-17 00:48:58
845
原创 【机器学习】向量化使得简单线性回归性能提升
本文主要讲述了向量化运算在简单线性回归算法中的应用。通过回顾传统for循环方式实现的简单线性回归算法,介绍了如何通过最小二乘法计算a的值。然而,这种方式在计算性能上存在效率较低的问题。为了提高性能,视频引入了向量化运算的概念,即将计算过程从循环方式转变为向量之间的计算。通过向量化运算,可以快速地计算出结果,相比传统的for循环方式,在性能上具有显著的优势。视频还强调了向量化运算需要基于推导的结果进行,对于入门级别的同学来说,可以先实现更清晰的程序版本,再基于这个版本进行向量化,以更好地理解算法的原理。
2025-02-16 22:32:01
991
原创 【机器学习】简单线性回归算法及代码实现
本文讲解了线性回归算法的基础知识和应用,强调线性回归主要用于解决回归问题。通过分析房产价格与房屋面积的关系,展示了线性回归的基本思想。文中提到线性回归算法的实现简单,但背后有强大的数学支撑。介绍了简单线性回归与多元线性回归的区别,并解释了如何通过最小二乘法找到最佳拟合直线。同时,探讨了线性回归算法的可解释性以及在机器学习中的重要地位,指出它是许多复杂模型的基础。此外,还提到了最优化原理在机器学习算法中的应用,以及如何通过线性回归算法学习机器学习中的重要思想。线性回归算法是机器学习领域的重要算法,
2025-02-13 00:34:04
711
原创 【大模型】本地部署DeepSeek-R1:8b大模型及搭建Open-WebUI交互页面
作为一名对 AI 和生成式模型感兴趣的开发者或学习者,了解如何在小规模环境中部署这些模型是有趣且有益的。在个人笔记本上部署 DeepSeek-R1 是一种具有挑战性的但非常有价值的实践。它不仅可以帮助你快速实现文本生成和问答功能,还能通过不断解决遇到的问题,提升你的技术能力和对 AI 模型的理解。尽管过程中可能会遇到资源不足、配置复杂等问题,但通过仔细规划和持续学习,最终可以成功完成部署并享受到模型带来的便利。
2025-02-10 22:23:12
1696
5
原创 【机器学习】数据预处理之scikit-learn的Scaler与自定义Scaler类进行数据归一化
本文主要介绍了scikit-learn中Scaler的使用方法,特别强调了数据归一化在机器学习过程中的重要性。讲述了归一化算法在训练模型前对训练数据集的处理,以及预测时对测试数据集的正确归一化方式。强调了保存训练数据集得到的均值和方差的重要性,并介绍了scalar类在数据处理中的封装理念和过程。最后通过实际代码示例,演示了如何使用standard scalar对数据进行归一化处理,并进行了knn分类实验,展示了归一化处理对提高模型预测准确度的重要性。
2025-02-09 17:02:47
1344
原创 【机器学习】数据预处理之数据归一化
本文主要讲述了数据归一化(Feature Scaling)的重要性及其方法。首先通过肿瘤大小和发现时间的例子,说明了不同量纲特征在距离计算中可能导致偏差,从而引出数据归一化的必要性。接着,介绍了最值归一化(Normalization)的概念和方法,即将数据映射到0-1之间的尺度,并指出其适用于分布有明显边界的情况。最后,还指出了最值归一化的一个缺点,即受异常值影响较大。
2025-02-09 14:53:06
1187
原创 【机器学习】超参数的选择,以kNN算法为例
本博文讲解了机器学习中的超参数问题,以K近邻算法为例,介绍了超参数的概念及其重要性。讲解了如何通过实验搜索确定最佳的超参数值,如k值的选择,并介绍了距离权重的考虑和明可夫斯基距离的计算方法。同时,探讨了如何通过网格搜索策略来寻找最优的超参数组合。最后,强调了机器学习工程师在进行调参时需要考虑领域知识和经验数值的重要性。
2025-02-08 22:19:51
1421
原创 【机器学习】训练数据集和测试数据集的划分及KNN准确率测试
本博文围绕机器学习算法性能评估方法展开,重点介绍了训练数据集与测试数据集的分离(train test split)的重要性。内容详细说明了为何不能直接将全部原始数据作为训练集投入生产环境,而是需要通过分割部分数据作为测试集来评估模型性能。讲解了如何进行数据乱序和比例分配,并介绍了使用sklearn库进行train test split的示例。此外,还提到了在进行模型选择时,通过测试数据集的反馈来改进算法的重要性。最后,通过一个简单的knn分类器实例展示了如何应用方法评估机器学习算法的性能。
2025-02-08 01:12:10
1074
原创 【机器学习】scikit-learn调用KNN算法并手动模仿封装自己的KNN算法
本文详细介绍了scikit-learn库中机器学习算法的封装过程,特别是k近邻(knn)算法的实现与应用。视频从knn算法的基本原理出发,演示了如何将算法整理成函数,并通过断言确保输入数据的合法性。接着讲解了如何使用scikit-learn中的knn分类器进行预测,并说明了机器学习流程,包括数据训练和预测过程。此外,还讨论了如何自定义封装knn算法类,并进行了测试。视频强调了scikit-learn在机器学习算法封装上的统一性,并提示了在使用预测时需注意数据格式的问题。
2025-02-06 23:59:10
1115
原创 【机器学习】K近邻算法的实现
k近邻(k-NN)算法,中文翻译为k进零算法,是机器学习中的经典算法。k-NN算法适用于初学者,因其思想简单、实现容易,且数学要求低。k-NN算法效果良好,实验中可见其有效性。
2025-02-06 00:28:06
838
原创 【基于OpenEuler国产操作系统大数据实验环境搭建】
环境搭建,具体包括:Hadoop的分布式环境Spark分布式环境Zookeeper分布式环境HBase分布式环境Flume单机环境Hive单机环境Sqoop单机环境大数据组件的基本用法。
2024-12-11 09:34:27
1899
1
原创 【openGauss 5.0.0】事务管理与锁示例
另外,针对窗口2而言,两次查询的结果是不一样的,也就证明了在窗口2当前事务中读取到了不一样的数据,也就是在窗口2事务中出现了【不可重复读】的现象。此时,假设我们在窗口1中也执行插入数据的操作,会产生什么效果呢?由此可以看到,针对窗口1中的事务,无论窗口2的事务提交与否,窗口1事务中读取到的仍然是事务开启前的状态。由此,在可重复读的隔离级别下,保证了窗口1事务不受到其他事务提交的影响。由此,可知,在事务隔离级别为【可重复读】下,openGauss数据库可通过设置表的约束,依然可以保证数据的一致性。
2024-11-05 11:30:37
975
1
原创 【鸿蒙HarmonyOS NEXT】数据存储之关系型数据库RDS
1. RDS关系型数据库简介关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库。关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。支持通过ResultSet.getSendableRow方法获取Sendable数据,进行跨线程传递。为保证插入并读取数据成功,建议一条数据不要超过2M。超出该大小,插入成功,读取失败。
2024-09-25 17:01:55
2452
4
原创 【鸿蒙HarmonyOS NEXT】数据存储之分布式键值数据库
KVStore简介分布式键值数据库为应用程序提供不同设备间数据库的分布式协同能力。通过调用分布式键值数据库各个接口,应用程序可将数据保存到分布式键值数据库中,并可对分布式键值数据库中的数据进行增加、删除、修改、查询、同步等操作。KVManager:分布式键值数据库管理实例,用于获取数据库的相关信息。KVStoreResultSet:提供获取数据库结果集的相关方法,包括查询和移动数据读取位置等。Query:使用谓词表示数据库查询,提供创建Query实例、查询数据库中的数据和添加谓词的方法。
2024-09-25 11:59:57
1962
1
原创 【鸿蒙HarmonyOS NEXT】用户首选项Preference存储数据
用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。Preferences会随着存放的数据量越多而导致应用占用的内存越大,因此,Preferences不适合存放过多的数据,也不支持通过配置加密,适用的场景一般为应用保存用户的个性化设置(字体大小,是否开启夜间模式)等。另外,在真实的开发过程中Preferences不适合存放过多的数据,也不支持通过配置加密,适用的场景一般为应用保存用户的个性化设置(字体大小,是否开启夜间模式)等。博文中的代码,进行测试。
2024-09-23 23:55:13
2684
原创 【鸿蒙HarmonyOS NEXT】UIAbility的生命周期
例如用户打开游戏应用,正在打游戏的时候,有一个消息通知,打开消息,消息会以弹窗的形式弹出在游戏应用的上方,此时,游戏应用就从获焦切换到了失焦状态,消息应用切换到了获焦状态。对于消息应用,在onWindowStageCreate回调中,会触发获焦的事件回调,可以进行设置消息应用的背景颜色、高亮等操作。在此回调中,可以进行初始化操作,如变量定义、资源加载等。例如用户打开电池管理应用,在应用加载过程中,在UI页面可见之前,可以在onCreate回调中读取当前系统的电量情况,用于后续的UI页面展示。
2024-09-08 18:36:22
1367
原创 【鸿蒙HarmonyOS NEXT】页面之间相互传递参数
页面路由模块根据页面url找到目标页面,从而实现跳转。通过页面路由模块,可以使用不同的url访问不同的页面,包括跳转到UIAbility内的指定页面、用UIAbility内的某个页面替换当前页面、返回上一页面或指定的页面等。我们现在模拟用户从登录页面(如页面名称为LoginPage)调整到首页(HomePage),将用户登录信息传递给HomePage,当从HomePage返回到登录页面时也将HomePage的数据传递给LoginPage页面。输入账号和密码,点击登录,页面进行跳转,
2024-09-07 23:31:28
4340
1
原创 【鸿蒙HarmonyOS NEXT】页面和自定义组件生命周期
需要明确几个概念:页面Page即应用的UI页面。可以由一个或者多个自定义组件组成,@Entry装饰的自定义组件为页面的入口组件,即页面的根节点,一个页面有且仅能有一个@Entry。只有被@Entry装饰的组件才可以调用页面的生命周期。onPageShow:页面每次显示时触发。onPageHide:页面每次隐藏时触发一次。onBackPress:当用户点击返回按钮时触发。自定义组件Component@Component装饰的UI单元,可以组合多个系统组件实现UI的复用。
2024-09-07 00:28:23
2590
原创 【鸿蒙HarmonyOS NEXT】调用后台接口及List组件渲染
调用后台接口,需要引入http模块或者其他诸如Ajax、axios等网络请求模块;如果是需要在页面被创建的时候调用后台接口,则需要在aboutToAppear()中进行调用,如需要在页面显示时需要调用后台接口加载数据,则可以在onPageShow()函数中进行调用。根据实际业务结合组件的生命周期进行合适的调用;如使用JSON.parse报错Structural typing is not supported (arkts-no-structural-typing),其原因是引入。
2024-09-06 22:48:50
1733
原创 【鸿蒙HarmonyOS NEXT】List组件的使用
List是很常用的滚动类容器组件,一般和子组件ListItem一起使用,List列表中的每一个列表项对应一个ListItem组件。List组件通常需要搭配如ForEach组件对ListItem组件进行循环渲染。List组件子组件ListItem之间默认是没有分割线的,部分场景子组件ListItem间需要设置分割线,这时候您可以使用List组件的divider属性。,您可以将List组件的。
2024-09-03 22:27:11
1929
原创 【硬件知识】从零开始认识GPU
GPU(图形处理器)的发展史是一段充满创新与变革的历程,它不仅改变了计算机图形显示的方式,还推动了高性能计算、人工智能等多个领域的发展。以下是GPU发展史的概述及其中的一些趣闻。GPU发展史早期发展阶段起源:GPU的起源可以追溯到早期的图形显示控制器,如IBM在1981年发布的IBM 5150个人电脑中的黑白显示适配器和彩色图形适配器。这些设备虽然简单,但为后续的图形处理器发展奠定了基础。2D图形加速。
2024-09-02 23:02:16
2176
原创 【openGauss5.0.0版本】分区表新增的特性 - 示例
openGauss 中提供了一种自动扩展分区的分区表建表语法,可以自定义按日期进行分区,而无需预定义创建表分区定义,系统可以自行创建系统分区,并命名为 sys_p1, sys_p2, …注意:sys_p1等是超过范围规定的部分数据将会存储到以sys_pxxx的方式命名的分区中。LIST分区和RANGE分区都是一种将数据根据特定条件进行分区的技术,但是它们之间存在一些关键区别,主要区别在于存储值、分区键和数据分布。的分区,自动扩展出来的分区,且当前该分区存储的数据为“2025-04-01”。
2024-08-12 18:01:35
907
原创 【GaussDB(DWS)】数仓部署架构与物理结构分析
上述查看到表空间和数据库的关系可以通过oid进行关联,但是所查的表oid只看到了表oid和schema(relnamespace字段)的oid进行关联,relnamespace等于2200的是名为public的schema。本小节内容主要查看DWS数仓按照上述部署架构完成部署后,其服务器上数仓的物理结构是什么样子的,以及当发生DDL、DML等操作后,CN和DN各自发生了什么变化等,并查看表的数据文件存储情况等。继续查看CN节点对应的数据目录下的文件变化,发现相关文件的大小依然是0,
2024-08-09 13:57:23
1325
原创 国产数据库时代已经来临
就目前信创的大背景下,我们国产数据库时代已经来临,无论上层应用如何变化,底层的芯片设计,服务器硬件设计以及操作系统优先国产化,而作为企业数据存储的基石-数据库是必不可少的技术之一。像华为的数据库GaussDB及其来源的openGauss发展潜力有目共睹,希望未来能爆炸性发展!
2024-08-07 11:26:40
375
原创 【电脑基础硬件】磁盘阵列
磁盘阵列(Disk Array)是一种将多个独立的磁盘驱动器组合起来形成一个逻辑单元的技术,目的是为了提高存储系统的性能、可靠性和可用性。磁盘阵列通过不同的配置方式(称为RAID级别)来实现这些目标。
2024-08-06 05:57:29
1352
原创 【GaussDB(DWS)】数据分布式存储——hash分区表数据分布方式
水平分表方式将一个数据表内的数据,按合适分布策略分散存储在多个节点内,DWS支持如表1所示的数据分布策略。用户可在CREATE TABLE时指定DISTRIBUTE BY参数进行分片,指定PARTITION BY对分片进行一步分区,以此来组织数据的分布方式。DWS采用水平分表的方式,将业务数据表的元组打散存储到各个节点内。这样带来的好处在于,查询中通过查询条件过滤不必要的数据,快速定位到数据存储位置,可极大提升数据库性能。
2024-08-01 00:57:52
1584
基于Spark电商用户行为分析的电商后台程序
2024-05-06
基于spark电商用户行为分析的代码程序
2024-05-06
一键式安装openGauss脚本
2023-08-03
openeuler-lsb-5.0-1.oe2203.src.rpm
2023-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人