标签: machine-learning
共 31 篇文章
大数据-278 Spark MLlib - 基础介绍 机器学习算法 梯度提升树 GBDT案例 详解
GBDT 案例实战,手把手带你完成从残差计算到回归树构建与迭代训练的全过程,结合图示详细解析,最终预测精准输出!
大数据-276 Spark MLlib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树
本文介绍了机器学习中Bagging与Boosting的区别,以及GBDT(梯度提升决策树)算法原理。主要内容包括:1)Bagging和Boosting在数据采样、投票方式、学习顺序和应用场景上的差异;2)GBDT的基本概念和使用CART回归树的原因;3)回归决策树的构建流程,包括最优切分点选择、区域划分和输出值计算;4)通过具体案例演示回归树的生成过程,包括损失函数计算和递归划分策略。
大数据-277 Spark MLlib - 基础介绍 机器学习算法 Gradient Boosting GBDT算法原理 高效实现
本文介绍了梯度提升树(GBDT)算法的原理与应用。首先通过通俗例子说明提升树的基本思想,然后详细解析算法流程,包括负梯度计算、回归树拟合和模型更新等关键步骤。文章比较了GBDT与传统提升树的区别,并阐述了GBDT在回归和分类问题中的优势。此外,还介绍了XGBoost、LightGBM等高效实现及其特性,分析了GBDT的适用场景和局限性。
大数据-275 Spark MLlib - 基础介绍 机器学习算法 集成学习 随机森林 Bagging Boosting
本文系统介绍了机器学习中的集成学习方法。主要内容包括:1)集成学习的基本定义与分类,通过结合多个模型提升预测性能;2)Bagging方法原理及应用,重点讲解随机森林的实现过程;3)Boosting方法的核心思想,包括Adaboost等算法的逐步增强机制。文章通过图示直观展示了不同集成学习技术的运作流程,比较了它们在解决欠拟合和过拟合问题上的作用。
大数据-274 Spark MLlib - 基础介绍 机器学习算法 剪枝 后剪枝 ID3 C4.5 CART
本文系统介绍了决策树的预剪枝与后剪枝原理,对比了ID3、C4.5和CART三种主流算法的核心差异,包括分裂标准、属性支持类型和剪枝方法。重点阐述了信息增益、信息增益率与基尼系数的计算原理,详细讲解了从树生成到剪枝的完整流程,并通过Spark MLlib中的Scala代码实例演示了决策树分类器的实现过程。
大数据-273 Spark MLlib - 基础介绍 机器学习算法 决策树 分类原则 分类原理 基尼系数 熵
本文介绍了决策树的基本概念、分类原则和分类原理。决策树是一种非线性有监督分类模型,通过树形结构进行属性判断和分类。分类时应选择能将数据分类更纯粹的节点作为根节点,减少树高和训练次数。分类原理涉及熵、条件熵、信息增益等概念:熵衡量信息混乱程度,信息增益反映分类前后熵的变化,基尼系数也可表示样本混乱程度。
大数据-272 Spark MLlib - 基础介绍 机器学习算法 逻辑回归
本文介绍了逻辑回归的基本原理、应用场景和在Spark MLlib中的实现。逻辑回归是一种高效二分类算法,广泛应用于广告点击率、垃圾邮件识别等领域。文章详细讲解了逻辑回归的输入函数、Sigmoid激活函数和损失计算方法,并通过糖尿病预测案例演示了如何使用Spark MLlib的LogisticRegressionWithSGD模块进行模型训练与评估。
大数据-271 Spark MLlib - 基础介绍 机器学习算法 线性回归 场景 定义 损失 优化
线性回归(Linear Regression)是利用回归方程(函数)对一个或多个自变量和因变量之间关系进行建模的一种分析方式。特点:只有一个自变量的情况称为单变量回归,多于一个自变量情况的叫做多元回归。
大数据-215 sklearn KMeans 关键属性与评估:cluster_centers_、inertia_、轮廓系数选 K 实战
文章浏览阅读6.1k次,点赞30次,收藏32次。scikit-learn(sklearn)KMeans(2026)解释三个最常用对象:cluster_centers_(聚类中心)、inertia_(簇内平方和/Within-Cluster Sum of Squares)以及聚类评估指标 silhouette_score / silhouette_samples(轮廓系数,范围 [-1, 1])。inertia_随簇数 K 增大通常单调下降,适合做「肘部法则」参考,但不具备可比上界且强依赖特征尺度与维度;因此在选 K 时,更工程化的做法是:对 K 进行网格搜索并结合轮廓系数等指标综合评估。sklearn.cluster
大数据-216 KMeans 选 n_clusters:轮廓系数(Silhouette)实战 + init/n_init/random_state 版本坑(scikit-learn 1.4+)
文章浏览阅读5.2k次,点赞32次,收藏26次。KMeans 选 n_clusters 方法:在候选簇数(如 2/4/6/8)上计算 silhouette_score 与 silhouette_samples,结合轮廓系数分布图与聚类散点图判断最优 k,并解释「轮廓系数均值不等于最佳」的典型情况(簇内分裂、簇间重叠、离群点拉低)。同时梳理 KMeans 初始化相关参数:init(推荐默认 k-means++)、n_init(多次初始化取 inertia 最优)与 random_state(复现用)。重点指出 scikit-learn 1.4+(2024 年)起 n_init 默认变为 auto 的重大变化,结合实战代码与错误速查表,帮助读者避坑。
大数据-213 Python 手写 K-Means 聚类实战(鸢尾花 Iris 数据集):从距离函数到迭代收敛与坑点
文章浏览阅读4.5k次,点赞14次,收藏22次。Python K-Means 聚类实现:基于 NumPy 广播计算欧式距离平方和(distEclud),在特征范围内均匀采样初始化质心(randCent),并使用 Pandas 统一容器 result_set 记录「最短距离/当前簇/上次簇」,通过簇编号是否变化判断收敛,最终输出 centroids 与分簇结果。示例数据采用 Iris(鸢尾花)数据集(iris.txt)。工程化落地时重点关注:特征量纲统一(标准化/归一化)、随机种子与最大迭代次数、空簇导致质心数量缩减、groupby().mean()
大数据-214 K-Means 聚类实战:自写算法验证 + sklearn KMeans 参数/labels_/fit_predict 速通
文章浏览阅读5.4k次,点赞22次,收藏18次。K-Means 聚类给出一套「可验证、可复现、可排错」的工程化流程:先用二维 testSet 数据集做算法验证(pd.read_table 读取、追加虚拟标签列、plt.scatter 可视化、绘制质心与聚类结果),再切换到 sklearn.cluster.KMeans 进行参数级理解与对照。核心关键词覆盖:K-Means、sklearn KMeans、n_clusters、init、n_init、max_iter、tol、labels_、predict、fit_predict、make_blobs、聚类
大数据-211 逻辑回归的 Scikit-Learn 实现:max_iter、分类方式与多元回归的优化方法
文章浏览阅读4.4k次,点赞10次,收藏19次。Scikit-Learn 中使用逻辑回归时,max_iter 控制最大迭代次数,影响模型的收敛速度和精度。如果训练未收敛,可能会收到警告提示需要增大 max_iter。不过,过高的迭代次数可能导致过拟合,影响测试集的表现。在二元逻辑回归中,multi_class 参数的选择也至关重要。OvR(One-vs-Rest)适用于大多数数据集,而 multinomial(多类)则适合需要更精确分类的场景。
大数据-212 K-Means 聚类实战指南:从无监督概念到 Inertia、K 值选择与避坑
文章浏览阅读5.8k次,点赞39次,收藏17次。聚类算法 K-Means,梳理监督学习与无监督学习的差异(是否需要标签 Y),并给出聚类在客户细分、RFM 分析、图像/语音/视频压缩、异常检测等工程场景的落地路径。重点解释 K-Means 的关键概念「簇与质心」、迭代过程(分配样本→更新质心→收敛)、以及评价目标簇内误差平方和 Inertia。同时给出 K 值选择的工程方法(肘部法、轮廓系数、业务约束),并强调 K-Means 对初始化、尺度/量纲、离群点与非凸簇形状敏感。
大数据-209 深度理解逻辑回归(Logistic Regression)与梯度下降优化算法
逻辑回归(Logistic Regression, LR)是机器学习中重要的分类算法,广泛应用于二元分类任务,如情感分析、疾病预测、垃圾邮件检测等场景。尽管其名字中有"回归"二字,实则是一种分类方法。LR通过对数几率函数(Logistic Function)将预测值映射到0到1之间,计算样本属于某个类别的概率。为了优化LR模型,常用的算法是梯度下降法,它通过不断调整模型参数以最小化损失函数,找到最优解。在实际应用中,梯度下降需要调整步长、初始值,并进行标准化处理以提高收敛速度。本文深入探讨了逻辑回归的原理、...
大数据-210 如何在Scikit-Learn中实现逻辑回归及正则化详解(L1与L2)
但随着C的逐渐变大,正则化的强度越来越小,模型在训练集和测试集上表现呈现了上升趋势,直到C=0.8左右,训练集上的表现依然走高,但模型在未知数据集上的表现就开始下跌,这时候就是出现了过拟合。正则化参数,LogisticRegression默认带了正则化项,penalty参数可选择的值有1和2,分别对应L1的正则化和L2的正则化,默认是L2的正则化。可以看出,当我们选择L1正则化的时候,许多特征的参数都被设置了0,这些特征在真正建模的时候,就不会出现在我们的模型当中了,而L2正则化是对所有特征都给出了参数。
大数据-207 如何应对多重共线性:使用线性回归中的最小二乘法时常见问题与解决方案
scikit-learn 进行线性回归时,如何应对最小二乘法中的多重共线性问题。多重共线性可能导致回归模型的不稳定性,表现为参数估计值的不稳定、方差增大以及解的不唯一。文章详细介绍了多重共线性的成因及其影响,并提出了几种改进的回归方法,如岭回归、Lasso回归等。
大数据-208 岭回归与Lasso回归:区别、应用与选择指南
岭回归(Ridge Regression)和Lasso回归(Lasso)是两种常用的线性回归正则化方法,用于解决机器学习中的过拟合和多重共线性问题。岭回归通过L2正则化项压缩回归系数,但不将其归零,适合特征间高度相关的场景;Lasso回归则采用L1正则化,有助于特征选择,将不重要的特征系数压缩为零,特别适用于高维数据。选择两者时需依据应用场景:岭回归适用于避免过拟合,Lasso则有助于模型解释性与特征筛选。实际应用中,交叉验证用于选择最优正则化参数λ,Elastic Net结合两者优点进行折中。
大数据-205 线性回归的机器学习视角:矩阵表示、SSE损失与最小二乘
线性回归(Linear Regression)的核心链路:用矩阵形式统一表示预测函数 y=Xw,将参数向量 w 作为唯一未知量;以损失函数刻画拟合误差,重点解释 SSE(残差平方和/误差平方和)作为回归任务的典型优化目标;通过最小二乘法(Least Squares)把"让 SSE 最小"转化为对参数求导并令一阶导为 0,从一元线性回归的直观拟合过渡到多元线性回归的矩阵推导与求解框架(正规方程形式)。内容覆盖:线性回归的机器学习表示、损失函数与优化目标、最小二乘法、SSE 推导、多元线性回归矩阵求解。
大数据-206 用 NumPy 矩阵乘法手写多元线性回归:正规方程、SSE/MSE/RMSE 与 R²
pandas DataFrame 与 NumPy 矩阵乘法手写多元线性回归(线性回归实现)。核心思路是将特征矩阵 X(包含一列全 1 作为截距)与标签 y 组成正规方程,通过 w=(X^TX)^{-1}X^Ty 直接求解参数权重。实现中重点检查 X^TX 是否满秩:若行列式为 0 则矩阵奇异,无法求逆,需要改用伪逆或最小二乘。评估部分给出残差平方和 SSE、均方误差 MSE、均方根误差 RMSE,以及判定系数 R²(1-\frac{SSE}{SST})的计算方式,并用 matplotlib 将预测直线与原始数据点可视化展示。
大数据-203 scikit-learn 决策树剪枝参数:max_depth/min_samples_leaf 到 min_impurity_decrease
scikit-learn 决策树剪枝(预剪枝)在工程落地中的常用参数:max_depth、min_samples_leaf、min_samples_split、max_features、min_impurity_decrease 与 class_weight,解释它们如何影响 DecisionTreeClassifier 的过拟合、树规模与泛化能力,并给出用学习曲线(score vs 超参数)确定近似最优值的操作路径。重点提示版本差异:min_impurity_decrease 自 0.19 引入,用于替代_决策树 样本不均衡
大数据-204 混淆矩阵到ROC:不平衡二分类评估指标全梳理 sklearn
混淆矩阵(TP、FP、FN、TN)建立统一口径,解释 Accuracy、Precision(查准率)、Recall(查全率/敏感度)、F1 Measure 的业务含义:Precision 对应"误伤多数类"的成本,Recall 对应"捕获少数类"的能力,F1 用调和平均惩罚短板;并给出 ROC 曲线的坐标含义(FPR 假正率、TPR 真正率/召回率)与 AUC 的使用边界。工程落地以 scikit-learn 1.8.0(2025-12 发布)为准,覆盖 sklearn.metrics.confusion
大数据-201 决策树从分裂到剪枝:信息增益/增益率、连续变量与CART要点
"分裂"到"剪枝"的完整链路,解释其为何通常采用贪心算法形成"局部最优",以及不同算法在分裂准则上的差异:ID3/C4.5偏信息增益(Information Gain),但信息增益会偏向取值多的特征,因此引入信息增益比/增益率(Gain Ratio)做修正;CART常用二叉递归划分,分类树用基尼系数(Gini)度量不纯度,回归树常用方差/均方误差类指标。
大数据-202 sklearn 决策树实战:criterion、Graphviz 可视化与剪枝防过拟合
DecisionTreeClassifier 在 load_wine 数据集完成从数据拆分、建模评估到决策树可视化的完整流程(2026版)。重点解释 criterion 的选择:gini(基尼不纯度)、entropy 与 log_loss(信息增益/香农信息)在分裂质量度量上的差异,以及 splitter=best/random、random_state 对树结构稳定性的影响。可视化部分通过 sklearn.tree.export_graphviz 导出 DOT,并用 Python graphviz 包渲染
大数据-199 决策树模型详解:节点结构、条件概率视角与香农熵计算
决策树模型(Decision Tree)面向分类任务系统梳理:树的三类节点(根节点/内部节点/叶节点)、从根到叶的递归分裂流程,以及"分而治之"的规则生成机制。理论层面给出决策树的条件概率分布视角:特征空间被划分为互不重叠区域 R_j,叶节点估计 P(Y|X∈R_j),预测时用 MAP 选择概率最大的类别
大数据-200 决策树信息增益详解:信息熵、ID3 选特征与 Python 最佳切分实现
决策树信息增益(Information Gain)展开,先用信息熵(Entropy)解释不纯度,再说明为何在节点切分时要最大化父节点熵与子节点熵之差:在 Ent(D) 固定的前提下,最大化 Gain 等价于最小化分支不纯度的加权平均,从而得到局部最优切分
大数据-197 K折交叉验证实战:sklearn 看均值/方差,选更稳的 KNN 超参
训练/测试随机划分会导致评估指标不稳定,并给出工程化解法:K折交叉验证(K-Fold Cross Validation)。通过sklearn的cross_val_score在训练集内部做多次划分,输出每折得分数组,进一步计算均值(mean)与方差(var),用"高均值+低方差"筛选更稳健的KNN超参数K
大数据-198 KNN 必须先归一化:Min-Max 正确姿势、数据泄露陷阱与 sklearn 落地
scikit-learn机器学习训练流程中,KNN这类距离模型对"量纲不统一"极其敏感:欧式距离的平方和会让数值尺度更大的特征主导距离,从而显著拖垮分类效果。Min-Max归一化通过"减最小值再除以极差"把特征压缩到[0,1],是KNN的常用预处理。但工程上最容易踩坑的是数据泄露:把全量X先归一化再做train/test切分或交叉验证,会把测试集分布信息注入训练过程,导致评估虚高
大数据-195 KNN/K近邻算法实战:欧氏距离+投票机制手写实现,含可视化与调参要点
KNN/K近邻算法(K-Nearest Neighbors, KNN):从欧氏距离计算、距离排序、TopK投票到函数封装,给出可复现的Python代码与matplotlib可视化。重点解释K值对模型偏差/方差的影响、噪声数据下为何需要更大的K、以及高维数据下距离度量与特征缩放对结果稳定性的决定作用
大数据-196 scikit-learn KNN 实战:KNeighborsClassifier、kneighbors 与学习曲线选最优
从统一 API(fit/predict/transform/score)到 kneighbors 找出测试样本的 K 个最近邻,再到用学习曲线/参数曲线选择 n_neighbors(K 值)。重点说明:KNN 对数据尺度敏感,未标准化会导致距离度量失真;而仅靠一次 train_test_split 的最高分来定"最佳 K"在不同 random_state 下会波动,需用 StratifiedKFold 交叉验证配合 GridSearchCV/RandomizedSearchCV 才能稳定选参
大数据-194 数据挖掘 从红酒分类到机器学习全景:监督/无监督/强化学习、特征空间与过拟合一次讲透
2025年仍最常用的机器学习概念框架:监督学习(分类/回归)、无监督学习(聚类/降维)、半监督学习与强化学习。重点解释输入空间、输出空间与特征空间的关系,以及过拟合/欠拟合在训练集与交叉验证集上的典型表现与治理思路