kmodes聚类算法:专治纯类别数据的无监督分群
简介本资源是面向数据科学学习者与Python开发者的kmodes聚类算法开源实现专为解决分类变量及混合型数据数值类别的无监督聚类难题而设计适用于客户分群、文本分析、生物信息等实际场景。压缩包共30个文件含20个核心Python源码如kmodes.py、kprototypes.py、2个CSV示例数据集soybean.csv、stocks.csv、2个Markdown与RST文档、以及setup.py、LICENSE、.coveragerc等工程配置文件整体仅36KB轻量易集成。已有2008人学习下载体现其在scikit-learn生态中处理非数值型聚类任务的实用价值。读者可直接复用完整算法实现、参考多组基准测试脚本benchmark_kmodes.py等、运行示例项目iris.py、soybean.py并基于清晰模块结构tests/、examples/、util/快速理解k-模式与k-原型的原理差异、参数调优策略及评估方法。1. kmodes 是什么当你的数据全是“男/女”“北京/上海/广州”“已婚/未婚/离异”K-means 就彻底懵了你手头有一批用户数据职业是“教师/医生/程序员/设计师”城市是“杭州/成都/西安/武汉”婚姻状态是“未婚/已婚/离异”学历是“本科/硕士/博士”。你想把相似的人聚成几组比如找出“高学历一线城市已婚”的稳定型用户或“年轻程序员未婚”的流动型群体。这时候如果你直接套用最出名的 K-means 聚类——恭喜结果大概率是玄学它会把“教师”和“医生”算出一个数值距离再强行跟“35.2”这个数字比大小它甚至可能因为编码方式不同比如把“北京1上海2广州3”误以为“北京”和“上海”比“北京”和“广州”更接近——这显然荒谬。kmodes 就是为这种场景而生的它不碰数字专治“纯文字、纯类别、纯标签”这类没法算加减乘除的数据。你可以把它理解成 K-means 的“文科生版本”——K-means 擅长处理身高、收入、温度这类连续数值kmodes 则专精于职业、城市、品牌偏好这类离散标签。它不求“中心点坐标”只找“出现最频繁的组合”比如某一群人的典型画像就是“程序员深圳硕士未婚”这个组合本身就是该簇的“众数中心”。搞懂 kmodes不是为了多学一个冷门算法而是避免在真实业务中——比如用户分群、商品归类、问卷分析——用错工具导致结论翻车。2. 为什么需要 kmodesK-means 在分类数据上为何会“算错账”2.1 K-means 的底层逻辑天生排斥“文字标签”K-means 的核心动作只有两个算距离、取平均。它假设所有特征都能用欧氏距离衡量比如点 A(1.75, 8500) 和点 B(1.68, 9200) 的距离是 √[(1.75−1.68)² (8500−9200)²]然后把每个簇的中心点设为该簇所有点坐标的算术平均值比如身高平均 1.72m月薪平均 8850 元。问题来了当你把“教师”编码成 1“医生”编码成 2“程序员”编码成 3K-means 真的会认为“教师”和“医生”的距离|1−2|1比“教师”和“程序员”的距离|1−3|2更小——可现实中“教师”和“医生”在职业属性、工作强度、社会认知上的相似度未必就比“教师”和“程序员”更高。这种编码强加的数值关系完全扭曲了原始语义。kmodes 彻底绕开了这个死结它不给类别赋数字而是直接统计频次。对“职业”这一列它不计算平均值而是看哪个职业在该簇里出现最多——如果 12 个人里有 7 个是“程序员”那这个簇的职业中心就是“程序员”干净利落毫无歧义。2.2 kmodes 的三步走替换、计数、收敛每一步都紧扣“类别”本质kmodes 的流程看似和 K-means 相似但每一步的数学含义完全不同初始化中心Modes随机选 K 个样本作为初始簇中心。注意这里叫“Mode”众数不是“Mean”均值。每个中心本身就是一个完整的类别组合比如第 1 簇中心可能是[教师, 北京, 已婚, 硕士]第 2 簇中心是[程序员, 深圳, 未婚, 本科]。分配样本Hamming Distance对每个样本计算它与每个中心的“汉明距离”Hamming Distance。这个距离极其简单两个向量在多少个位置上取值不同。比如样本[医生, 北京, 已婚, 博士]对比中心[教师, 北京, 已婚, 硕士]只有第 1 位医生 vs 教师和第 4 位博士 vs 硕士不同汉明距离 2对比中心[程序员, 深圳, 未婚, 本科]4 个位置全不同距离 4。样本自然归属距离最小的中心。更新中心Mode Update对每个簇重新计算新中心对每一列如“职业”列统计该簇内所有样本在该列的取值频次把出现次数最多的那个值即众数 Mode作为新中心在该列的值。如果出现并列比如“教师”和“医生”各 5 人通常随机选一个或按字母序选第一个。这个过程不涉及任何加减乘除纯粹是“数谁最多”。提示kmodes 的目标函数是最小化所有样本到其所属簇中心的汉明距离总和。这和 K-means 最小化欧氏距离平方和的目标在数学形式上对应但语义上天壤之别——一个在数“差异位置数”一个在算“空间直线距离”。2.3 一个真实翻车现场电商用户分群K-means 给出“平均城市”是“北上广深杭”的混合体某电商公司想对千万级用户做精细化运营特征包括购买品类家电/美妆/服饰/食品、收货城市一线/新一线/二线/三线、会员等级青铜/白银/黄金/钻石、支付方式微信/支付宝/银行卡。团队直接用 K-meansK4跑了一遍得到四个“中心点”簇1中心[家电, 1.72, 黄金, 支付宝]簇2中心[美妆, 2.35, 钻石, 微信]簇3中心[服饰, 3.18, 白银, 银行卡]簇4中心[食品, 4.01, 青铜, 支付宝]问题立刻暴露“城市”维度的数值 1.72、2.35 是什么是“一线”和“新一线”的加权平均它既不是真实城市也无法指导运营——你总不能给用户推送“1.72 城市专属优惠”。而 kmodes 给出的中心则是簇1中心[家电, 一线, 黄金, 支付宝]簇2中心[美妆, 新一线, 钻石, 微信]簇3中心[服饰, 二线, 白银, 银行卡]簇4中心[食品, 三线, 青铜, 支付宝]每一个值都是真实存在的、可解释的、可落地的标签。运营同学一眼就能说“簇2 是高净值的新一线城市美妆达人主用微信重点推高端新品。” 这种可解释性是 kmodes 在业务场景中不可替代的价值。3. kmodes 与 k-prototypes当你的数据里既有“文字”又有“数字”该怎么办3.1 k-prototypeskmodes 的“混血兄弟”专治“半文半理”数据现实中的数据很少非黑即白。更多时候你手里的表格是这样的职业文本、城市文本、年龄数字、年消费额数字、会员等级文本。前两列是 kmodes 的菜后两列是 K-means 的主场中间一列又是个文本标签。硬塞给 kmodes它会把“年龄”当成类别比如把 25 岁和 26 岁当作两个完全无关的标签丢失所有数值关系硬塞给 K-means又回到开头的玄学困境。k-prototypes 就是为此诞生的融合方案。它的核心思想很朴素对类别型categorical列用 kmodes 的汉明距离对数值型numerical列用 K-means 的欧氏距离然后把两类距离加权相加得到一个综合距离。公式长这样D(x, y) λ * D_c(x_c, y_c) D_n(x_n, y_n)其中D_c是类别部分的汉明距离D_n是数值部分的欧氏距离λ是一个需要你指定的权重参数用来平衡两类距离的量纲差异因为汉明距离最大就是列数而欧氏距离可能动辄上千。3.2 权重 λ 不是随便填的它决定了“文字”和“数字”谁说了算λ 的选择是 k-prototypes 实战中最容易踩坑的地方。如果 λ0.1意味着类别差异只占总距离的 10%数值差异占 90%——模型几乎只看年龄和消费额职业和城市的影响微乎其微如果 λ10类别差异被放大 10 倍可能让一个“职业不同”就压倒“年龄差 5 岁”的所有数值差异。没有银弹必须结合业务判断。一个血泪经验是先用λ1跑一次观察结果再尝试λ0.5和λ2对比簇内一致性比如同一簇里“职业”是否真的集中和业务可解释性。某高校实验室在分析学生行为数据时发现当 λ1.5 时分出的“学术潜力股”簇高 GPA高论文数博士在读理工科最稳定λ 太小这个簇会被“高 GPA低论文数本科文科”的学生稀释λ 太大则“博士在读”这个标签会把所有博士生强行拉进一簇不管他们 GPA 是 3.0 还是 3.9。3.3 代码实操用 kmodes 库一行切换 kmodes 与 k-prototypesPython 的kmodes库注意不是 scikit-learn 原生需pip install kmodes提供了极简接口。关键在于fit()方法的categorical参数from kmodes.kmodes import KModes from kmodes.kprototypes import KPrototypes import numpy as np # 假设 data 是一个 numpy array形状 (n_samples, n_features) # 前两列是类别型职业、城市后两列是数值型年龄、消费额 # 注意数值型列必须是 float 类型类别型列可以是 str 或 int 编码 # 【纯 kmodes】只处理类别型数据假设 data 只有前两列 km KModes(n_clusters3, initHuang, n_init10, verbose1) clusters_km km.fit_predict(data[:, :2]) # 仅传入类别列 # 【k-prototypes】处理混合数据 # categorical 参数指定哪些列是类别型索引从0开始 kproto KPrototypes(n_clusters3, initHuang, n_init10, verbose1, random_state42) # data 是全部四列categorical[0,1] 表示第0、1列职业、城市是类别型 clusters_kp kproto.fit_predict(data, categorical[0, 1]) print(k-prototypes 中心点, kproto.cluster_centroids_) # 输出类似[[程序员,深圳,32.5,8500.0], [教师,北京,41.2,12000.0], ...] # 注意中心点里类别列是字符串数值列是浮点数完美对应原始语义注意kmodes库的KPrototypes类要求输入数据data必须是numpy.ndarray且数值列必须是float类型不能是int否则会报错。这是初学者最容易卡住的细节——一个data[:, 2] data[:, 2].astype(float)就能解决。4. 常见误区与易混概念kmodes 不是 K-means 的“换皮版”这些坑新手必踩4.1 误区一认为 kmodes 只是“把 K-means 的距离换成汉明距离”其他完全一样为什么混教程常强调“kmodes 用汉明距离替代欧氏距离”让人误以为只是距离函数的替换算法骨架相同。怎么区分核心区别在中心点更新逻辑。K-means 更新中心是center mean(points_in_cluster)这是一个严格的数学运算kmodes 更新中心是center[col] mode(points_in_cluster[:, col])这是一个统计学众数查找。这意味着K-means 的中心点可以是任何实数值哪怕数据里从未出现过而 kmodes 的中心点必须是数据中真实存在过的某个类别组合K-means 对异常值outlier敏感一个极端高薪会大幅拉高中心点kmodes 对异常值鲁棒只要它没成为众数就不会影响中心K-means 的中心点有明确的几何意义簇的“重心”kmodes 的中心点只有统计学意义簇的“最典型代表”。4.2 误区二把 kmodes 当作“万能文本聚类器”直接喂给中文分词后的词向量为什么混看到“文本”“聚类”就想到 kmodes尤其当听说“它处理类别数据”。怎么区分kmodes 处理的是预定义的、有限的、离散的类别标签比如[苹果, 香蕉, 橙子]或[北京, 上海, 广州]。它无法处理高维稀疏的词向量如 TF-IDF 向量维度几千每个值是浮点数。词向量是典型的数值型数据且维度极高kmodes 的汉明距离在此完全失效两个向量在绝大多数维度上都不为零汉明距离趋近于总维度失去区分度。处理中文文本聚类正确路径是先用 TF-IDF 或 Word2Vec 得到数值向量 → 再用 K-means、DBSCAN 或 HDBSCAN 等数值聚类算法 → 如果想保留关键词可用 LDA 主题模型。kmodes 在这里连入场券都没有。4.3 误区三认为 k-prototypes 是 kmodes 和 K-means 的“简单拼接”可以无脑混用为什么混名字里带“k-”和“-prototypes”直觉是两者组合。怎么区分k-prototypes 不是两个算法分别跑再合并结果而是一个统一优化目标下的联合迭代。它的每次中心更新都同时依赖于类别列的众数和数值列的均值并且这个过程受权重 λ 调控。这意味着如果你错误地将所有列都标记为categorical[0,1,2,3]k-prototypes 就退化为 kmodes数值列被当作文本处理结果灾难如果你忘记设置categorical参数或设为空列表它就变成 K-means类别列被当数值处理结果同样灾难λ 的选择不是“调参”而是业务语义的翻译λ1 意味着你认为“职业不同”和“年龄差1岁”对用户相似度的贡献同等重要λ10 意味着你认为“职业不同”比“年龄差10岁”还重要十倍。这个翻译必须由业务方确认不能交给算法自动学习。4.4 误区四用 kmodes 做“特征工程”比如把高基数类别特征如用户ID聚成几类来降维为什么混看到“聚类”“降维”就想用。怎么区分kmodes 的目标是发现数据内在的结构化分组模式而非无监督的特征压缩。对用户ID这种高基数、无序、无语义的标识符kmodes 会强行找出“最频繁的 ID 组合”但这组合毫无业务意义比如中心点是[U1001, U2005, U3012]既不能代表用户群体也无法用于后续建模。正确的做法是对 ID 类特征要么删除无预测价值要么用频率编码frequency encoding或目标编码target encoding转换为数值再输入数值算法。kmodes 的适用前提是类别特征本身具有可解释的语义分组潜力如“产品品类”“用户等级”“设备型号”。4.5 误区五认为 kmodes 的“初始化”不重要反正最后都会收敛为什么混K-means 常用 k-means 初始化kmodes 文档提得少容易忽略。怎么区分kmodes 的初始化init参数对结果稳定性影响巨大。initrandom完全随机选中心多次运行结果可能天差地别initHuang默认和initCao是两种更稳健的启发式算法它们优先选择那些能最大化簇间差异的样本作为初始中心。某跨平台系统在做设备类型聚类特征操作系统,品牌,屏幕尺寸区间,网络制式时用initrandom运行 10 次得到的簇数量K5下簇内纯度同一簇中“品牌”一致的比例标准差高达 0.15换成initHuang标准差降至 0.02结果高度可复现。这不是玄学而是算法设计使然好的初始化能让迭代更快落入有意义的局部最优。5. 什么时候该用 kmodes/k-prototypes什么时候该果断放弃5.1 黄金场景你的数据满足这三条kmodes 就是最佳拍档判断一个项目是否适合 kmodes只需快速回答三个问题问题是 ✅否 ❌说明Q1核心特征是否全部或主要是有限、离散、无序的类别标签如职业、城市、婚姻状态、产品品类、会员等级、设备品牌、问卷选项A/B/C/D如年龄、收入、评分、温度、时间戳、文本长度、TF-IDF 向量这是 kmodes 的绝对前提。如果主要特征是数字kmodes 是错配。Q2你是否极度需要簇中心具备“可解释性”和“业务可操作性”如运营要基于中心点发短信“您是【程序员深圳未婚】用户专享云服务折扣”风控要定义规则“【已婚三线房贷】用户授信额度上调”如只需要一个隐含向量用于后续深度学习输入或者中心点只用于内部计算不对外展示kmodes 的中心点是真实标签组合天然可读K-means 的中心是抽象坐标需额外解释。Q3你是否在处理中小规模数据 100 万样本且对计算速度要求不高kmodes 时间复杂度约为 O(n·K·I·d)其中 n 是样本数K 是簇数I 是迭代次数d 是特征数。对百万级数据单次运行可能耗时数分钟如实时推荐系统要求毫秒级响应或数据达千万级需分布式计算kmodes 是单机算法无原生分布式支持。超大规模场景需考虑采样或转向 Spark MLlib 的相关实现。如果以上三问答案均为 ✅那么 kmodes 不仅合适而且可能是最优解。某图像处理 Demo 项目曾用此法对 50 万张用户上传图片的元数据拍摄设备,滤镜类型,分享平台,图片尺寸区间进行聚类成功识别出“专业相机无滤镜原始尺寸私密分享”的高质量图源群体为内容审核策略提供了直接依据。5.2 红色警戒出现这四种情况立刻停手换其他方法当你的项目出现以下任一信号继续用 kmodes 就是自找麻烦信号1类别特征的基数unique value count极高且无业务分组意义例如用户ID100 万唯一值、订单号全唯一、长文本哈希值如 MD5。kmodes 会试图在百万个 ID 中找“众数”结果必然是某个高频 ID 占据整个簇毫无泛化能力。此时应删除该特征或用哈希分桶hash bucketing将其映射到固定数量的桶如 1000 个再喂给 kmodes。信号2类别特征存在天然的序数关系ordinal却被 kmodes 当作无序处理例如教育程度小学/初中/高中/本科/硕士/博士、满意度评分1星/2星/3星/4星/5星。kmodes 认为“小学”和“博士”距离等于“小学”和“初中”完全忽略了“博士 硕士 本科”的序关系。正确做法是对序数型特征先用LabelEncoder转为有序整数1,2,3,4,5,6再作为数值型特征输入 k-prototypescategorical参数不包含它让算法能利用数值大小关系。信号3你需要评估聚类质量但数据没有真实标签ground truthkmodes 本身不提供像 K-means 那样的“惯性”inertia指标簇内平方和。常用外部指标如 Adjusted Rand Index (ARI)、Normalized Mutual Information (NMI) 都需要真实标签。若无标签只能用内部指标如costkmodes 的目标函数值越小越好但它无法告诉你“K3 是否比 K4 更好”。此时必须结合业务逻辑判断或改用 DBSCAN无需预设 K能发现噪声点。信号4你的数据存在大量缺失值NaN且缺失模式本身有业务含义kmodes 库v0.12默认会报错ValueError: Input contains NaN。虽然可以预处理如用众数填充但“未填写城市”和“填写了‘其他’”在业务上含义不同简单填充会抹杀这一信息。更优解是将缺失作为一个独立类别如MISSING显式加入数据再运行 kmodes。这要求你在数据清洗阶段就意识到缺失值的语义。5.3 一个完整实战从数据准备到结果解读带你走通 kmodes 全流程我们以一个模拟项目 X 的用户分群为例完整演示如何避免踩坑背景某在线教育平台有 8 万学员特征表students.csv包含学科数学/英语/编程/艺术、学习阶段入门/进阶/高阶、设备手机/平板/电脑、所在省份34 个、月均学习时长小时数值、完课率%数值。Step 1特征筛选与类型标注学科、学习阶段、设备、所在省份→ 显然是类别型✅月均学习时长、完课率→ 数值型✅所在省份基数 34适中且有地域运营意义✅无缺失值无超高基数 ID✅→ 结论k-prototypes 是完美匹配categorical[0,1,2,3]前四列索引。Step 2权重 λ 的业务校准业务方认为“学科相同”比“学习时长差 5 小时”更能定义用户群体“学习阶段相同”比“完课率差 10%”更重要。初步设定λ2.0类别距离权重为数值距离的 2 倍后续根据结果微调。Step 3代码实现与关键检查import pandas as pd import numpy as np from kmodes.kprototypes import KPrototypes # 加载并预处理 df pd.read_csv(students.csv) # 确保数值列是 float df[月均学习时长] df[月均学习时长].astype(float) df[完课率] df[完课率].astype(float) # 提取特征矩阵类别列保持 object数值列是 float X df[[学科, 学习阶段, 设备, 所在省份, 月均学习时长, 完课率]].values # 训练 k-prototypes kproto KPrototypes( n_clusters4, initHuang, # 避免随机初始化陷阱 n_init10, # 多次初始化取最优 max_iter20, # 防止无限循环 verbose1, random_state42, gamma2.0 # 即 λ 参数 ) clusters kproto.fit_predict(X, categorical[0,1,2,3]) # 关键检查打印中心点验证可解释性 centroids kproto.cluster_centroids_ for i, centroid in enumerate(centroids): print(f簇 {i1} 中心学科{centroid[0]}, 学习阶段{centroid[1]}, f设备{centroid[2]}, 省份{centroid[3]}, f时长{centroid[4]:.1f}h, 完课率{centroid[5]:.1f}%)预期输出簇 1 中心学科编程, 学习阶段进阶, 设备电脑, 省份广东, 时长12.3h, 完课率78.5% 簇 2 中心学科英语, 学习阶段入门, 设备手机, 省份河南, 时长4.1h, 完课率62.2% ...Step 4结果解读与落地簇1 被命名为“高投入技术学习者”运营策略推送高级编程实战课、电脑端专属功能簇2 被命名为“移动端轻量英语用户”策略优化手机 App 体验、推送碎片化英语内容检查各簇内学科的纯度占比簇1 中“编程”占比 92%证明聚类有效若簇3 中省份分布极散如 34 省全有说明省份特征对区分该群体贡献小下次可尝试移除或合并为“东/中/西部”。从那以后我每次拿到新数据做分群第一件事就是掏出纸笔画个表格挨个问 Q1/Q2/Q3。如果有一条答不上来就立刻停下来去查数据字典、问业务方、或者重洗数据。kmodes 不是万能钥匙但当你确认它锁对了门拧动它时那种“咔哒”一声的踏实感是其他算法给不了的。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

工业视觉检测落地指南:从人工目检到TVA全自动闭环的痛点与对策

工业视觉检测落地指南:从人工目检到TVA全自动闭环的痛点与对策

这几年常年泡在制造现场,最常被问的一句话就是:“这套视觉检测到底能不能替掉人工?”聊得越深,越发现真正的问题从来不是“算法能不能识别”,而是企业从人工目检走向全自动化检测时,那些藏在实际产线里的核…

2026/10/17 14:25:11 阅读更多 →
Vibe Coding 指南:用自然语言实现 AI 自动构建产品

Vibe Coding 指南:用自然语言实现 AI 自动构建产品

1. Vibe Coding 是什么:编程这件事,终于可以不那么“程序员”了 1.1 一个词掀起的讨论:它在解决什么问题 最近圈子里到处都在聊 Vibe Coding,我身边好几个以前连 HTML 都懒得写的朋友,居然自己做起了小工具、小网站&a…

2026/10/17 14:25:11 阅读更多 →
纯C++ OpenSSL实现HTTPS客户端:深度定制TLS握手与证书验证

纯C++ OpenSSL实现HTTPS客户端:深度定制TLS握手与证书验证

简介:本资源是一份面向C初学者与网络编程实践者的HTTPS通信实战项目,聚焦OpenSSL在MFC框架下的集成应用,解决传统socket无法直接访问HTTPS站点的核心痛点。代码完整实现了原生socket HTTP POST登录与基于OpenSSL的HTTPS POST登录(…

2026/10/17 14:25:11 阅读更多 →

最新新闻

Python爬虫技术

Python爬虫技术

前言 「爬虫技术」听起来像一个独立学科,拆开看其实就是三件事:发出 HTTP 请求拿到响应、从响应里抽出结构化数据、把数据存下来并决定下一次抓哪里。Python 之所以成了爬虫的主流语言,不是语言本身有什么魔法,而是标准库把这三件…

2026/10/17 15:15:52 阅读更多 →
OpenLayers v7.4.0 UMD离线环境搭建与地图渲染排障指南

OpenLayers v7.4.0 UMD离线环境搭建与地图渲染排障指南

简介:本资源为 OpenLayers 地图开发必备的前端基础文件包,面向 WebGIS 初学者、前端开发者及地理信息相关课程学习者,解决快速集成开源地图能力时缺少核心依赖的问题。压缩包共 3 个文件(152KB),含核心 Jav…

2026/10/17 15:15:52 阅读更多 →
AI助手Skill技能包实战:将通用大模型调教成专业分析师

AI助手Skill技能包实战:将通用大模型调教成专业分析师

前阵子我把一个叫"小龙虾"的内部AI助手调教了一通,结果它从"什么都聊得来但什么都落不了地"的通用聊天对象,变成了一个能拆指标、查数据、出结论的分析师。整个过程没有改模型、没有换底座,只是给它加了几个 Skill——也…

2026/10/17 15:15:52 阅读更多 →
AI辅助学术专著写作:从结构化生成到质量把关

AI辅助学术专著写作:从结构化生成到质量把关

1. 学术专著写作的三大痛点:AI工具到底解决了哪一环很多人以为,写完博士毕业论文就能顺手攒出一本学术专著。真正动笔之后才会发现,这完全是两码事。论文是回答一个具体问题,专著是构建一个完整的知识体系;论文的读者是…

2026/10/17 15:15:52 阅读更多 →
2026企业Agent落地复盘:六大路径投入产出对比与避坑指南

2026企业Agent落地复盘:六大路径投入产出对比与避坑指南

2026年1到9月,我陆续复盘了近40个企业Agent落地案例,把市面上常见的6大路径的真实效果拉出来对比了一遍。先说一个直观感受:宣传时最热闹的项目,和实际跑出业务价值的项目,往往不是同一批。有的团队Demo惊艳全场&#…

2026/10/17 15:15:52 阅读更多 →
从傅里叶级数到傅里叶变换:非周期信号的频谱密度推导与实战

从傅里叶级数到傅里叶变换:非周期信号的频谱密度推导与实战

1. 从“非周期”这三个字说起1.1 信号分析里最常被跳过的一个动机问题我当年学“信号与系统”这门课,第一次对傅里叶变换产生困惑就是在教材的章节标题上:前面还在讲“周期信号的傅里叶级数”,后面突然跳到“非周期信号的傅里叶变换”。老师在…

2026/10/17 15:14:52 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →