自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 收藏
  • 关注

原创 简单了解ES的核心概念

Elasticsearch是一个分布式JSON文档数据库,专注于高效搜索和分析。其核心架构包括:集群(多节点集合)、分片(数据水平分割)、索引(文档集合)和映射(字段类型定义)。ES采用倒排索引和近实时搜索技术,支持动态和显式映射。分析器处理文本数据为可搜索格式,查询分为叶子查询(字段匹配)和复合查询(逻辑组合)。通过分布式架构,ES能并行处理海量数据,提供高可用性和负载均衡能力。

2025-12-25 09:00:00 824

原创 负载均衡 + Nginx的基本使用

摘要 负载均衡是通过将网络流量分配到多个服务器来优化资源使用、提高系统性能和可靠性的技术。Nginx作为反向代理服务器,通过upstream模块实现负载均衡,支持轮询、加权轮询、最少连接等多种调度算法,并提供健康检查、会话保持等关键机制。Nginx配置灵活,能实现IP哈希、URL哈希等会话保持方式,并支持被动/主动健康检查。负载均衡技术可有效避免单点故障,提高系统扩展性,是构建高可用架构的重要组件。

2025-12-19 13:48:52 751

原创 了解JWT

JWT是一种用于安全传输信息的开放标准,由Header、Payload和Signature三部分组成。它具有无状态特性,适合分布式系统,通过数字签名确保数据完整性。JWT支持多种签名算法,采用双令牌模式实现令牌刷新,并通过黑名单等方式处理令牌吊销。使用时需注意安全防护措施,如防范篡改攻击、重放攻击等。在Python中可通过jwt库进行编码和解码操作。JWT广泛应用于身份验证和授权场景,但需合理管理密钥并避免存储敏感信息。

2025-12-17 13:41:42 586

原创 MySQL在python中的使用——连接方式及对对象的调用

本文介绍了三种Python连接MySQL数据库的方式及其特性:1) mysql-connector-python(Oracle官方支持,中等性能);2) PyMySQL(纯Python实现,适合简单项目);3) mysqlclient(C扩展实现,高性能但安装复杂)。文章详细比较了三者在官方支持、性能、安装难度等方面的差异,并提供了每种方式的连接代码示例。此外,还介绍了数据库连接对象和游标的使用方法,包括连接属性、不同类型游标的适用场景以及核心操作方法,最后给出了具体的CRUD操作示例代码。

2025-12-16 16:25:59 591

原创 简单学下chromaDB

摘要:ChromaDB是一个轻量级向量数据库,支持高效存储和检索文本、图像等数据的向量化表示。它提供两种使用方式:1)本地持久化模式,通过PersistentClient直接连接本地数据库;2)客户端-服务器模式,通过HttpClient连接远程服务。两种方式都支持创建集合、添加文档(自动生成向量)和相似性查询。服务器模式更适合生产环境,支持自定义嵌入模型和复杂查询过滤(基于元数据和文档内容)。本地模式适合快速开发和测试,数据保存在指定目录。

2025-12-10 15:42:47 332

原创 简单学下各种文件读取操作并转化成Document

本文介绍了Python处理三种常见文档格式的方法:1)使用pypdf库读取PDF文件,包括获取文档信息、提取文本内容和遍历页面;2)通过python-docx库解析Word文档结构,包括Document、Paragraph、Run和Table对象的操作;3)利用内置open()函数读取纯文本文件,支持多种编码格式。文章详细说明了各格式的核心对象属性和常用方法,为文档处理提供了实用代码示例。

2025-12-10 14:06:46 490

原创 简单学习下redis

知道redis是什么,人们常常叫它为缓存数据库,简单来讲这个就是一个存储键值对的数据库。使用redis的时候,首先,要保证自己的电脑上存在redis服务,也就是安装过redis软件。或者说使用docker下载过镜像文件也是可以的,本人使用的是docker中的redis镜像。其次,在python环境中安装redis(这个redis是客户端启动程序,作用是让python能够连接到Redis服务器中)

2025-12-10 09:58:10 253

原创 安装的是redis新版本,但导入的时候一直显示是旧版本

摘要:本文介绍了解决Python Redis包版本冲突的方法。首先通过grep命令定位错误文件,发现存在非官方源安装的修改版或旧版本残留。解决方案包括:1)强制卸载redis包并删除残留文件;2)清理pip缓存;3)从官方PyPI源重新安装指定版本(7.0.0)。随后提供了验证代码,检查Redis导入和连接功能是否正常,并包含一个测试脚本示例,演示如何存储和读取JSON格式数据。整个过程强调要确保使用正确的安装源和环境。

2025-12-09 15:48:24 216

原创 TensorFlow的主要应用——自定义模型和训练算法

本文介绍了在TensorFlow中自定义损失函数、指标、层和训练循环的方法。主要内容包括:1)针对含噪声数据,使用Huber损失替代MSE/MAE的实现方式;2)保存和加载包含自定义组件的模型时的注意事项;3)自定义激活函数、初始化器、正则化器和约束的方法;4)流式指标的正确实现方式;5)通过继承Layer类创建自定义层;6)使用Model类构建复杂模型架构;7)基于模型内部数据的自定义损失和指标;8)自动微分计算梯度;9)灵活的自定义训练循环实现。

2025-11-26 15:28:33 532

原创 Git\python复习

本文摘要:文章系统介绍了Git版本控制系统和Python编程语言的核心知识。Git部分详细讲解了仓库、工作区、暂存区、提交、分支等基本概念,以及常用命令如init、add、commit、merge等的使用方法。Python部分全面涵盖了数据类型(数值、序列、集合、字典)、函数参数传递、作用域规则、迭代器与生成器、异常处理、类与对象(包括继承、多态、装饰器等高级特性)、文件操作、日期时间处理以及多线程编程等内容。文章内容详实,既适合初学者系统学习,也可作为有经验开发者的参考手册。

2025-11-26 11:00:00 847

原创 numpy和pandas中的方法

本文总结了NumPy和Pandas两个Python数据分析库的核心功能。NumPy部分包括:数组创建方法(zeros/ones/arange等)、数组属性(shape/ndim/dtype等)、数组操作(reshape/concatenate/split等)、数学运算(基本运算/统计/线性代数)、广播机制和文件操作。Pandas部分涵盖:数据读写(CSV/Excel/JSON)、数据查看(head/info/describe)、数据选择(loc/iloc/布尔索引)、数据清洗(缺失值/重复值处理)、字符串操

2025-11-23 15:03:11 287

原创 Pandas12(时间序列2)—— 日期、周期、频率转换重采样和移动窗口

本文介绍了pandas中处理时间序列的核心功能,包括日期范围生成、频率设置和移位操作。主要内容包括:1)使用pd.date_range()生成固定频率的日期范围,支持多种参数配置;2)通过DateOffset和频率字符串设置时间偏移量;3)使用shift()方法进行时间序列数据移位;4)Period类表示时间段及其算术运算;5)通过to_period()和asfreq()实现不同频率间的转换。这些功能为时间序列分析提供了灵活的操作方法,支持从日到年等多种频率处理需求。

2025-11-23 15:02:59 491

原创 使用Torch结合模型进行训练的整体流程

本文详细介绍了深度学习项目全流程的实现方法。主要内容包括:1) 数据准备阶段,通过标准化目录结构和分层抽样划分数据集;2) 模型配置,采用动态类或EasyDict管理超参数;3) 模型训练核心,包括自定义Dataset类实现数据加载、封装Trainer类管理训练过程,以及主训练脚本实现训练流程控制;4) 模型评估,通过准确率、混淆矩阵和分类报告等多维度评估模型性能。文章强调工程化实践,如GPU优先、验证集模型保存、学习率动态调整等核心技巧,为深度学习项目开发提供系统指导。

2025-11-22 09:00:00 800

原创 Tensorflow循环神经网络RNN

循环神经网络(RNN)是处理序列数据的专用神经网络,能够捕捉数据中的时间依赖关系。摘要介绍了RNN的基本原理、记忆单元和循环层结构,以及LSTM、GRU等改进单元。重点探讨了RNN在时间序列预测中的应用,包括数据准备、不同模型架构(如简单RNN、深度RNN)的实现和评估。通过案例分析展示了RNN处理单变量和多变量时间序列的能力,以及序列到序列模型的预测优势。

2025-10-12 15:22:54 1191 2

原创 TensorFlow卷积层2

本文介绍了四种经典CNN架构及其应用:1. LeNet-5:首个成功应用的CNN,用于手写数字识别,采用卷积+池化交替结构。2. GoogLeNet:引入Inception模块并行处理不同尺度特征,使用辅助分类器解决梯度消失。3. ResNet:通过残差连接解决深度网络退化问题,支持超深层网络训练。4. MobileNet:采用深度可分离卷积实现轻量化,适用于移动设备。文章还讲解了如何使用Keras预训练模型进行迁移学习、图像分类定位技术,以及目标检测方法如YOLO系列及其评估指标mAP。

2025-10-11 09:00:00 1442

原创 tensorflow卷积层1——卷积和池化

卷积神经网络(CNN)是处理图像、语音等数据的核心架构,其核心组件是卷积层和池化层。卷积层通过滤波器提取局部特征,支持图像分类、目标检测等任务,具有参数共享特性,能有效减少计算量。池化层通过下采样降低维度并增强特征不变性。典型CNN架构通过堆叠卷积层和池化层,逐步提取高阶特征,最后连接全连接层进行分类。训练过程中需注意内存优化,如减小批量大小或使用16位浮点数。常见的CNN模型包括LeNet-5、AlexNet等,它们在深度和结构上各有特点,推动计算机视觉发展。

2025-09-24 16:47:18 1039

原创 tensorflow加载和预处理数据

数据加载:针对中小型数据集可直接内存加载,大型数据集推荐使用tf.data.Dataset API构建高效数据管道 数据预处理: 使用Keras预处理层(如Normalization/Discretization/Embedding等) 图像处理(Resizing/Rescaling/数据增强) 文本处理(TextVectorization) TFRecord文件格式:详细说明如何创建和读取TFRecord,包括Example和SequenceExample的使用性能优化技巧:如map并行处理。tfhub

2025-09-24 16:45:02 1104

原创 Tensorflow基础——数据类型、计算图

TensorFlow是一个基于计算图的深度学习框架,其核心数据结构是张量(多维数组),支持GPU加速和分布式计算。TensorFlow通过计算图优化计算效率,实现自动微分和跨平台部署。张量与NumPy数组类似,但支持硬件加速和自动求导。数据类型转换需显式操作,变量(tf.Variable)用于存储可修改的权重。TensorFlow提供丰富的张量操作(如reduce、数学运算等),并能与NumPy互转。tf.function将Python函数编译为计算图以提高性能,需注意避免副作用和外部库调用。TensorF

2025-09-22 18:49:45 991

原创 深度神经网络2——优化器选择、学习率消毒、正则化选择

for name in sorted(dir(tf.keras.optimizers.schedules)): # dir返回方法内对象的所有内置方法continuescheduler_class = getattr(tf.keras.optimizers.schedules, name) # python的反射机制,通过字符串获取属性或方法print(f"• {name} – {scheduler_class.__doc__.splitlines()[0]}") # 根据换行符进行分割,并取第一行。

2025-09-13 16:02:23 909 1

原创 深度神经网络1——梯度问题+标签数不够问题

摘要: 深度神经网络训练中常面临梯度消失/爆炸、数据不足、过拟合等问题。解决梯度问题可通过权重初始化(Xavier/He)、激活函数优化(ReLU变体、SELU)和批量归一化(BN),其中BN还能加速训练并缓解过拟合。梯度裁剪可限制梯度大小,确保稳定更新。数据不足时,采用迁移学习重用预训练层或无监督预训练(如自动编码器)提取通用特征。辅助任务预训练通过额外任务增强模型泛化能力。Keras中通过调整初始化器、激活函数和优化器参数(如clipnorm)实现这些技术,显著提升模型性能与训练效率。

2025-09-13 15:50:43 939

原创 神经网络2——使用Keras实现MLP

本文介绍了使用Keras构建、训练和优化神经网络的全流程。主要内容包括:1)使用顺序API构建分类MLP和回归MLP,详解模型构建、参数设置、训练评估方法;2)使用函数式API构建复杂模型,包括多输入输出模型;3)子类化API实现动态模型;4)模型保存与恢复、检查点回调、TensorBoard可视化;5)超参数调优方法,包括隐藏层数量、神经元数量、学习率等关键参数的优化策略;6)Keras常用层详解。文章提供了从基础到进阶的完整神经网络开发指南,涵盖模型构建、训练优化和部署全流程,适合深度学习开发者参考。

2025-09-01 10:57:03 639

原创 神经网络1——sklearn的简单实现

神经网络是一种由多层参数化、可微分函数组成的计算模型,是深度学习的核心。它经历了多次兴衰,从1943年MP模型的提出,到1980年代BP算法的出现,再到2010年后因大数据、强算力和新算法的突破迎来深度学习的革命。神经网络能解决图像分类、语音识别等复杂任务,其架构包括单层感知机(解决线性问题)和多层感知机(解决非线性问题)。通过反向传播算法优化权重,配合激活函数(如Sigmoid、ReLU)实现梯度计算。Scikit-Learn提供的MLPRegressor和MLPClassifier分别适用于回归和分类

2025-09-01 10:46:57 1252

原创 随机森林2——集成学习的发展

本文系统介绍了机器学习中特征重要性和多种集成学习方法。特征重要性通过计算特征对预测结果的贡献程度,帮助优化模型,包括基于树模型的内置方法和线性模型系数两种计算方式。集成学习方法部分详细讲解了提升法(Boosting)及其代表性算法AdaBoost和梯度提升(Gradient Boosting)的工作原理,以及基于直方图的梯度提升(HistGradientBoosting)的优化技术。此外,还介绍了堆叠法(Stacking)和极限梯度提升(XGBoost)的实现原理和应用场景。

2025-08-23 16:50:52 961

原创 随机森林1

集成学习通过组合多个预测器(分类器或回归器)来提高预测准确率,即使单个预测器是弱学习器,集成后也能形成强学习器。主要包括硬投票(基于类别标签)和软投票(基于概率加权)两种方式。随机森林是典型的集成方法,通过数据随机采样(bagging/pasting)和特征随机采样增加多样性,降低方差。极端随机森林进一步引入随机分裂阈值,以更高偏差换取更低方差。实验表明,集成方法通常优于单一模型,关键参数需通过交叉验证优化。

2025-08-23 16:49:27 1127

原创 决 策 树

决策树是一种强大的机器学习算法,可用于分类和回归任务。其核心是通过递归分割数据,构建树状结构进行预测。决策树的优势在于无需数据预处理,计算复杂度低(预测仅需O(log2(m)))。算法使用基尼系数或熵衡量节点纯度,通过CART算法寻找最优分割特征和阈值。为避免过拟合,可通过max_depth、min_samples_split等参数进行正则化。决策树对数据方向敏感,可能产生高方差模型。在分类任务中,它通过信息增益选择最优分割特征;在回归任务中,则通过最小化MSE进行预测。

2025-08-22 11:13:25 801

原创 支持向量机

支持向量机(SVM)是一种强大的机器学习模型,适用于分类、回归和异常检测任务。其核心思想是通过寻找最优决策边界(超平面)来最大化不同类别之间的间隔。SVM包括线性分类(硬间隔和软间隔)和非线性分类(通过核函数映射到高维空间)。线性SVM对特征缩放敏感,且训练结果仅由支持向量决定。非线性SVM常用多项式核、RBF核和Sigmoid核等核函数处理复杂数据。SVM回归通过调整目标使样本尽可能落在边界内,并用超参数ε控制街道宽度。对偶问题和梯度下降方法可用于优化SVM的求解过程。

2025-08-22 11:11:17 721

原创 sklearn分类和评估分数选择

本文介绍了scikit-learn中分类任务的核心内容。第一部分概述了sklearn.datasets模块,包括内置数据集、远程数据集和生成数据集的方法。第二部分详细讲解了分类原理,包括二分类和多分类的实现方式,以及常用算法(如逻辑回归、SVM、随机森林等)的关键参数设置。第三部分重点阐述了分类评估指标的选择策略,针对不同场景(平衡/不平衡数据、二分类/多分类)推荐了合适的评估方法(准确率、F1-score、AUC等),并提供了指标计算公式和适用场景分析。全文系统性地介绍了从数据准备到模型评估的完整分类流程

2025-08-17 13:11:47 671

原创 端到端的机器学习项目

本文系统介绍了机器学习项目从数据准备到模型部署的全流程。主要内容包括:1)项目流程框架,涵盖数据获取、清洗、特征工程、模型训练、部署上线等关键环节;2)数据预处理技术,详细说明缺失值处理、异常值检测、特征转换等方法;3)模型开发过程,重点阐述分层采样策略、超参数调优(网格搜索与随机搜索)及评估方法;4)模型部署方案,介绍了使用pickle/joblib保存模型、FastAPI框架部署以及Docker容器化等实践方法。全文通过具体代码示例展示了各环节的技术实现,为机器学习项目提供了规范化实施指南。

2025-08-17 10:00:00 943

原创 处理过拟合与欠拟合

现象:难以捕捉特征和标签之间的真是关系,训练误差就很高结论:高偏差,学得太少,模型过于简单 → 训练集和测试集都表现的很差。

2025-08-15 08:45:26 602

原创 处理过拟合之前的——Logistic回归

Logistic回归是一种用于二分类问题的算法,通过Sigmoid函数将线性输出转换为概率。相比线性回归,它更适合分类任务,能输出0-1之间的概率值并确定决策边界。文章详细介绍了Logistic回归的核心思想、Sigmoid函数的作用、决策边界的原理与代码实现、损失函数的定义(交叉熵损失)及其数学推导,以及梯度下降优化过程。最后展示了如何使用scikit-learn库实现Logistic回归模型。该算法通过概率预测和决策边界有效解决了分类问题,避免了线性回归在分类任务中的局限性。

2025-08-15 08:00:00 777

原创 线性回归处理技巧

问题:为什么特征的大小尺度很不一样,会导致梯度下降算法变慢?为什么把特征缩放到同一个范围内,比如[-1,1],[0,1]会解决梯度下降算法变慢的问题?每一项都在为预测值贡献 “加权项”。如果x的取值范围比其他特征大很多(例如200,2000等),那么同样大小的权重会w会让这一项产生远超其他项的数值贡献这样就会导致预测值几乎由权重大的一项控制,梯度也会优先生长或压缩权重最大的 w,其余权重更新“存在感”微弱。以平方损失函数为例,若其中的一个特征项过大,损失值会急剧上升同理,根据。

2025-08-12 08:00:00 998

原创 多特征线性回归

上述实验的模型预测,10000迭代的时候预测的不太准确,损失值还是比较大,后面要讨论如何继续优化它(特征尺度不一致)b...+

2025-08-11 10:30:00 1056

原创 单特征的线性回归

本文介绍了线性回归的基本原理与实现方法。首先通过简单的单变量线性回归示例,展示了模型预测线与实际数据的可视化对比。接着详细讲解了损失函数(均方误差MSE)的计算方法及其重要性,包括两种实现方式:循环和numpy数组计算。然后重点阐述了梯度下降算法,包括参数更新公式、学习率选择的影响以及代码实现。最后展示了如何使用梯度下降找到最优参数来拟合数据,并可视化拟合结果。整个流程涵盖了线性回归从理论基础到实践应用的关键环节,包括模型假设、损失函数构建、参数优化等核心步骤。

2025-08-11 09:00:00 919

原创 机器学习概念1

机器学习非常适合:1. 现有解决方案需要大量微调或一长串规则来解决的问题 (通过训练模型简化代码,而且比传统方法执行的更好)2. 使用传统方法无法解决的复杂问题,但机器学习技术可能可以找到解决方法 (识别图片里是否有行人;自动标出图片里行人出现的区域)3. 变化的环境(机器学习系统可以很容易地根据新数据重新训练,保持最新的状态)4. 定义明确的复杂问题(不是通过定义规则能解决的),且有大量数据。

2025-08-08 19:54:01 996

原创 机器学习概念2

机器学习面临数据质量、代表性不足、特征工程等技术挑战,以及过拟合/欠拟合等模型问题。需通过数据清洗、正则化、验证集评估等方法优化,但模型选择仍依赖经验假设,需平衡模型复杂度和泛化能力。数据不匹配时需针对性调整训练集,最终通过测试集验证模型性能。

2025-08-08 19:53:35 792 2

原创 pandas11(时间序列1)——日期和时间数据的类型及工具(strftime\strptime\trncate\groupby\dt属性)

本文介绍了时间序列数据处理的基本概念和Python工具。主要内容包括:时间序列的定义(固定频率或不定期)、日期时间数据类型(datetime模块使用)、字符串与datetime的相互转换方法(strftime/strptime)。重点讲解了pandas处理时间序列的核心操作:基础时间序列创建(DatetimeIndex)、数据索引选取(按年/月切片)、处理重复时间戳(groupby聚合)以及dt属性的灵活应用(提取日期组件、判断日期特征等)。文章还展示了如何利用pandas.to_datetime进行日期解

2025-07-22 16:12:13 658

原创 Pandas10——数据清洗可视化全过程例子

摘要:本文介绍了使用Python进行房价数据分析的全流程。首先从GitHub获取并解压数据集,使用pandas查看数据基本信息。然后通过直方图可视化数值分布,对缺失值进行填充处理。接着对收入数据进行分箱处理并可视化,同时绘制地理坐标散点图展现房价分布。最后对重尾特征进行对数转换。完整代码展示了数据获取、清洗、可视化和预处理的关键步骤,为后续建模分析奠定基础。

2025-07-09 10:56:16 420

原创 Pandas9(绘图)——使用pandas自带的plot属性之后的函数进行绘图

本文介绍了pandas内置的绘图方法,主要围绕DataFrame和Series的plot()方法展开。文章详细列举了plot()方法的常用参数,包括轴标签、标题、刻度、对数坐标等设置。通过示例代码展示了Series和DataFrame的基本线图绘制方法,以及如何创建包含多个子图的复杂图表。特别介绍了柱状图(bar和barh)的绘制技巧,包括垂直/水平柱状图、分组柱状图和堆叠柱状图的实现方式。文中提供了丰富的代码示例和可视化效果图,帮助读者快速掌握pandas数据可视化的基本操作。

2025-07-07 16:18:54 738

原创 Pandas8(可视化)——polt()\scatter()\bar()\hist()\pie()\boxplot()、子图、savefig()

Matplotlib是Python中重要的数据可视化库,主要用于数据探索和建模分析。摘要涵盖五个核心绘图函数:1) plot函数绘制折线图,支持颜色、线型和标记样式设置;2) scatter函数创建散点图,可调整点的大小、颜色和透明度;3) bar函数生成柱状图,控制柱体宽度、颜色和对齐方式;4) hist函数绘制直方图,配置区间划分和累积统计;5) pie函数制作饼图,自定义标签、百分比和突出显示。每种函数都详细列出关键参数及其作用,并附有基础使用示例代码和效果图

2025-07-07 16:17:15 1099

原创 python的高级4——闭包、装饰器

本文介绍了Python中的闭包和装饰器概念。闭包是指内部函数引用外部函数变量的结构,具有保存状态和数据隐藏的作用。装饰器是闭包的特殊应用,通过接受函数作为参数并返回新函数来扩展功能,使用@语法简化调用。文章详细讲解了闭包和装饰器的特点、实现方式、常见应用场景及注意事项,并分析了两者关系:装饰器建立在闭包基础上,专门用于函数行为修改。最后介绍了内置装饰器如@property、@classmethod的使用方法。

2025-07-02 10:07:40 813

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除