Machine Learning
文章平均质量分 82
大数据AI
公众号:大数据AI
展开
-
解锁数据的秘密武器:PCA带你走进降维新世界
PCA 算法是一种无监督学习方法,只需要对数据集本身的特征属性进行运算,消除相关性达到压缩数据去噪降维的目的。PCA 算法的主要优点有:仅仅需要以方差衡量信息量,不受数据集以外的因素影响。各主成分之间正交,可消除原始数据成分间的相互影响的因素。计算方法简单,易于实现。主成分各个特征维度的含义不在具有实际的物理意义,所以不如原始样本特征的解释性强。方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响。原创 2024-09-12 08:37:28 · 444 阅读 · 0 评论 -
使用肘部法则确定K-Means中的k值
现在,为了确定最佳的聚类数(k),我们绘制了k与它们的WCSS值的关系图。为了确定聚类的最佳数量,我们必须选择“弯头”处的k值,即distortion/inertia开始以线性方式减小的点。在这种方法中,为了确定k值,我们连续迭代k=1到k=n(这里n是我们根据要求选择的超参数)。下面我们将分4步实现肘部法则。首先,我们将创建随机数据集点,然后我们将在此数据集上应用k均值,并计算1到4之间的k的wcss值。我们将k的值从1迭代到n,并计算每个k值的Distortion,给定范围内每个k值的Inertia。原创 2024-09-11 08:48:24 · 1373 阅读 · 0 评论 -
K-Means算法详解与实战应用.
在数据分析的众多工具中,K-Means聚类算法以其简单、直观和高效的特点,成为了探索数据集结构的常用方法。本文将带你深入了解K-Means算法的原理,并展示如何在实际项目中运用这一强大的聚类工具。原创 2024-09-11 08:47:50 · 830 阅读 · 0 评论 -
机器学习中的聚类艺术:探索数据的隐秘之美
聚类是一种经典的无监督学习方法,无监督学习的目标是通过对无标记训练样本的学习,发掘和揭示数据集本身潜在的结构与规律,即不依赖于训练数据集的类标记信息。聚类则是试图将数据集的样本划分为若干个互不相交的类簇,从而每个簇对应一个潜在的类别。聚类直观上来说是将相似的样本聚在一起,从而形成一个类簇(cluster)。那首先的问题是如何来度量相似性(similarity measure)呢?这便是距离度量。原创 2024-09-10 08:32:47 · 1089 阅读 · 0 评论 -
Spark2.x 入门:高斯混合模型(GMM)聚类算法
模型的训练与分析Spark的ML库提供的高斯混合模型都在org.apache.spark.ml.clustering包下,和其他的聚类方法类似,其具体实现分为两个类:用于抽象GMM的超参数并进行训练的GaussianMixture类(Estimator)和训练后的模型GaussianMixtureModel类(Transformer),在使用前,引入需要的包:import org.ap原创 2024-09-09 10:08:08 · 345 阅读 · 0 评论 -
【机器学习实战】用sklearn玩转随机森林,分类准确率提升秘籍!
随机森林是一种集成学习方法,通过构建多个决策树并综合它们的预测结果来提高预测准确性。每个决策树都是在训练数据的一个随机子集上构建的,这种方法减少了模型间的相关性,从而增强了整体模型的泛化能力。揭秘Bagging与随机森林:构建更强大预测模型的秘密定义一个超参数网格,用于进行搜索。# 定义超参数网格'n_estimators': [50, 100, 200], # 树的数量'max_depth': [None, 10, 20, 30], # 树的最大深度。原创 2024-09-09 10:03:40 · 1300 阅读 · 6 评论 -
XGBoost实战精粹:从原理到应用
XGBoost(eXtreme Gradient Boosting)是一种集成学习算法,它基于梯度提升决策树(GBDT)并引入多项优化。高效性:通过并行化处理和优化的算法实现,XGBoost在处理大规模数据集时表现出色。灵活性:支持自定义损失函数和评估标准,使其能够应对多种预测问题。正则化:通过在目标函数中加入正则项,有效控制模型复杂度,防止过拟合。缺失值处理:XGBoost能够自动处理数据中的缺失值,找到最优的分裂方向。原创 2024-09-08 09:42:28 · 837 阅读 · 0 评论 -
Spark2.x 入门: KMeans 聚类算法
KMeans 是一个迭代求解的聚类算法,其属于 划分(Partitioning) 型的聚类方法,即首先创建K个划分,然后迭代地将样本从一个划分转移到另一个划分来改善最终聚类的质量。ML包下的KMeans方法位于org.apache.spark.ml.clustering包下,其过程大致如下:1.根据给定的k值,选取k个样本点作为初始划分中心;2.计算所有样本点到每一个划分中心的距离,原创 2024-09-07 10:22:30 · 1077 阅读 · 0 评论 -
机器学习中的聚类艺术:探索数据的隐秘之美
聚类是一种经典的无监督学习方法,无监督学习的目标是通过对无标记训练样本的学习,发掘和揭示数据集本身潜在的结构与规律,即不依赖于训练数据集的类标记信息。聚类则是试图将数据集的样本划分为若干个互不相交的类簇,从而每个簇对应一个潜在的类别。聚类直观上来说是将相似的样本聚在一起,从而形成一个类簇(cluster)。那首先的问题是如何来度量相似性(similarity measure)呢?这便是距离度量。原创 2024-09-07 10:20:11 · 1129 阅读 · 0 评论 -
Spark2.x 入门:决策树分类器
一、方法简介 决策树(decision tree)是一种基本的分类与回归方法,这里主要介绍用于分类的决策树。决策树模式呈树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。学习时利用训练数据,根据损失函数最小化的原则建立决策树模型;预测时,对新的数据,利用决策树模型进行分类。决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的剪枝。原创 2024-09-06 14:18:07 · 463 阅读 · 0 评论 -
【揭秘】GBDT:机器学习界的超级英雄
介绍GBDT之前,让我们先介绍下提升树(Boosting Tree)提升树是以 分类树 或 回归树 为基本分类器的提升方法。提升树被认为是统计学习中性能最好的方法之一。提升方法实际采用加法模型( 即基函数的线性组合)与前向分步算法。以决策树为基函数的提升方法称为提升树( boosting tree)。对分类问题决策树是二叉分类树,对回归问题决策树是二叉回归树。提升树利用加法模型与前向分歩算法实现学习的优化过程。当损失函数是平方损失和指数损失函数时, 每一 步 优化是很简单的。原创 2024-09-06 13:55:57 · 1118 阅读 · 0 评论 -
Spark2.x 入门:逻辑回归分类器
方法简介逻辑斯蒂回归(logistic regression)是统计学习中的经典分类方法,属于对数线性模型。logistic回归的因变量可以是二分类的,也可以是多分类的。示例代码我们以iris数据集(iris)为例进行分析。iris以鸢尾花的特征作为数据来源,数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性,是在数据挖掘、数据分类中非常常用的测试集、训练集。原创 2024-09-05 09:07:36 · 547 阅读 · 1 评论 -
【揭秘】AdaBoost:那些年,我们一起追过的算法
最后对AdaBoost算法进行一下总结。AdaBoost主要有如下特性:简单易用,需要进行调节的参数很少;原始的AdaBoost算法只适用于二分类任务;对于噪声数据较为敏感,这是因为AdaBoost算法倾向于对噪声数据进行拟合,容易造成过拟合;弱学习器可以使用任何算法进行构建,例如可使用逻辑回归、决策树、线性回归等;原创 2024-09-05 09:06:05 · 589 阅读 · 0 评论 -
libsvm 数据格式简介
libsvm文件数据格式:label> index1>:value1> index2>:value2> ...其中, 是训练数据集的目标值,对于分类,它是标识某类的整数(支持多个类);对于回归,是任意实数。 是以1开始的整数,可以是不连续的;为实数,也就是我们常说的自变量。即:lable 数据集的标签,index为特征,value为特征值。例如:+1 1:0.原创 2024-09-04 09:16:03 · 300 阅读 · 0 评论 -
揭秘Bagging与随机森林:构建更强大预测模型的秘密
随机森林(Random Forest)是Bagging的一个拓展体,它的基学习器固定为决策树,多棵树也就组成了森林,而“随机”则在于选择划分属性的随机,随机森林在训练基学习器时,也采用有放回采样的方式添加样本扰动,同时它还引入了一种属性扰动,即在基决策树的训练过程中,在选择划分属性时,RF先从候选属性集中随机挑选出一个包含K个属性的子集,再从这个子集中选择最优划分属性,一般推荐K=log2(d)。这样随机森林中基学习器的多样性不仅来自样本扰动,还来自属性扰动,从而进一步提升了基学习器之间的差异度。原创 2024-09-04 09:14:10 · 1209 阅读 · 0 评论 -
机器学习进阶之路:集成学习带你走向巅峰
集成学习是机器学习中的一个重要分支,集成学习即ensemble learning,它是一种利用样本数据训练多个不同的弱分类器,然后将这些弱分类器整合成一个强大分类器的机器学习方法。集成学习的基本结构为:先产生一组个体学习器,再使用某种策略将它们结合在一起。集成模型如下图所示:在上图的集成模型中,若个体学习器都属于同一类别,例如都是决策树或都是神经网络,则称该集成为同质的(homogeneous);原创 2024-09-03 09:01:20 · 522 阅读 · 0 评论 -
【实战攻略】scikit-learn支持向量机:从小白到高手只需五步
在机器学习的广阔天地里,有一种算法像武侠小说中的绝世高手一样,既神秘又强大——那就是(SVM)。今天,我们将一起踏上一段旅程,用Python中的库实现支持向量机,并通过一个简单的实战案例来体验它的魅力!原创 2024-09-03 08:50:25 · 683 阅读 · 0 评论 -
【机器学习入门】一文读懂非线性支持向量机SVM
由于上述的超平面只能解决线性可分的问题,对于线性不可分的问题,例如:异或问题,我们需要使用核函数将其进行推广。一般地,解决线性不可分问题时,常常采用映射的方式,将低维原始空间映射到高维特征空间,使得数据集在高维空间中变得线性可分,从而再使用线性学习器分类。如果原始空间为有限维,即属性数有限,那么总是存在一个高维特征空间使得样本线性可分。若∅代表一个映射,则在特征空间中的划分函数变为:按照同样的方法,先写出新目标函数的拉格朗日函数,接着写出其对偶问题,求L关于w和b的极大,最后运用SOM求解α。原创 2024-09-02 09:56:22 · 1144 阅读 · 0 评论 -
【机器学习入门】一文读懂线性支持向量机SVM
本身就偏离了正常位置,但是在前面的SVM模型中,我们要求所有的样本数据都必须满足约束,如果不要这些噪声数据还好,当加入这些outlier后导致划分超平面被挤歪了,如下图所示,对支持向量机的泛化性能造成很大的影响。为了解决这一问题,我们需要允许某一些数据点不满足约束,即可以在一定程度上偏移超平面,同时使得不满足约束的数据点尽可能少,这便引出了**“软间隔”支持向量机**的概念。综上所述,对于有噪音的线性不可分数据,我们选择放松其约束,相对于基于严格约束的硬间隔最大化来说,这种做法称为。原创 2024-09-02 09:35:16 · 637 阅读 · 0 评论 -
【机器学习入门】一文读懂线性可分支持向量机(一)
本文总结了在数据集线性可分情况下,使用支持向量机算法进行分类的思想——硬间隔最大化。然而,在多数应用中,数据集并非线性可分,如果只是在分类边界附近少数点造成线性不可分,这种情况下需要在硬间隔最大化目标函数基础上,引入松弛变量和惩罚因子,然后通过拉格朗日对偶性求解,这种方法称为软间隔最大化。如果大量样本线性不可分,则需要引入核技巧,往高维空间映射,转化为线性可分。对于这两部分内容,在后续博客中在总结了。原创 2024-09-02 09:26:45 · 1280 阅读 · 0 评论 -
使用 scikit-learn 实战感知机算法
感知机(Perceptron)是最早的人工神经网络模型之一,由 Frank Rosenblatt 在 1957 年提出。实现一个基本的感知机模型,并通过一个简单的二分类问题来评估和可视化其性能。尽管感知机在处理复杂的非线性数据时可能不是最佳选择,但对于线性可分的数据集来说,它是一个快速而有效的解决方案。为了让读者更好地理解感知机的工作方式,我们将可视化训练数据及其决策边界。库来实现感知机,并通过一个简单的数据集来展示其实战效果。我们将创建一个简单的二分类数据集,数据是线性可分的。类来训练我们的模型。原创 2024-08-30 08:33:07 · 551 阅读 · 0 评论 -
【技术干货】一文搞懂感知机算法:从理论到Python实战
对于给定训练样本数据集Dxiyii1mD{(xiyii1mxi∈X⊆Rnxi∈X⊆Rn表示训练样本的特征向量,${y_i} \in Y = { + 1, - 1}表示样本类别。表示样本类别。表示样本类别。x与与与yfxsignw⋅xbyfxsignw⋅xb称为感知机。其中,w∈Rnw∈Rn称为感知机的权值系数或者权值向量weightb∈Rb \in R。原创 2024-08-29 08:44:31 · 773 阅读 · 0 评论 -
从零开始:scikit-learn决策树分类实战
鸢尾花数据集(Iris dataset)是机器学习领域中最著名的数据集之一,由英国统计学家和生物学家Ronald Fisher于1936年整理发布。该数据集包含了150个样本,每个样本有四个特征:萼片长度、萼片宽度、花瓣长度和花瓣宽度,以及一个标签,指示该样本属于三种鸢尾花中的哪一种(Setosa、Versicolor、Virginica)。决策树是一种监督学习算法,可用于分类和回归任务。它通过递归地将数据集划分成多个子集,直到每个子集中的样本都属于同一类别为止。原创 2024-08-28 08:36:30 · 509 阅读 · 0 评论 -
CART算法:决策树的双面剑
对3种决策树算法做一个简单对比总结:决策树的思路简单易懂,浅层的树可解释性很好,并且易于可视化,这种特点使得其颇受一些传统行业的青睐;同时,决策树对数据分布没有假设,且可以处理离散型数据和连续型数据,而之前那几种分类器显然对连续型数据更友善;决策树可以直接实现多分类;对批量数据预测速度比较快,因为CART二叉树的结果,其预测的时间复杂度为Olog2NO(log_2N)Olog2N,其中NNN为数据量。原创 2024-08-26 14:26:25 · 1270 阅读 · 0 评论 -
决策树算法:ID3与C4.5的对比分析
我们每天都做着各种形形色色的决策——周末怎么嗨、是否买下衣服、出差选哪种交通工具等等,这些决策的过程我们用图形的形式表现出来就是一种类似树形的结构,将这种决策思想应用到机器学习算法领域,那就是我们本文要说的决策树算法。决策树算法属于有监督学习算法的一员,在决策前需要先根据先验数据进行学习,构建并训练出一个决策树模型。决策树模型中每一个非叶子结点代表着一个特征属性,其下每一个分支都代表对该特征属性值域的不同取值划分,每一个叶子结点代表一个输出分类。原创 2024-08-25 08:23:17 · 912 阅读 · 0 评论 -
【机器学习理论基础】一文看尽朴素贝叶斯算法
在所有的机器学习分类算法中,朴素贝叶斯和其他绝大多数的分类算法都不同。对于大多数的分类算法,比如决策树, KNN ,逻辑回归,支持向量机等,他们都是判别方法,也就是直接学习出特征输出Y和特征X之间的关系,要么是决策函数 Y=f(X)Y=f(X)Y=f(X), 要么是条件分布 P(Y∣X)P(Y|X)P(Y∣X)。但是朴素贝叶斯却是生成方法,也就是直接找出特征输出 YYY 和特征 XXX 的联合分布 P(X,Y)P(X,Y)P(X,Y), 然后用 P(Y∣X)=P(X,Y)/P(X)P(Y|X)=P(X,Y)原创 2024-08-23 08:23:08 · 1558 阅读 · 0 评论 -
【实战教程】用scikit-learn玩转KNN:鸢尾花数据集的分类之旅
KNN(K-Nearest Neighbors)算法是一种简单直观的监督学习算法,被广泛应用于分类和回归任务中。本文将带你一步步了解如何使用Python中的库实现KNN算法,并通过鸢尾花数据集来进行实战演练。让我们一起探索如何用KNN算法对鸢尾花进行分类吧!原创 2024-08-22 11:17:40 · 440 阅读 · 0 评论 -
一文读懂KNN算法:寻找你的最近邻居
KNN算法是基于实例的学习方法中最基本的,先介绍基于实例学习的相关概念。原创 2024-08-20 14:07:49 · 704 阅读 · 0 评论 -
广义线性模型(5)Softmax回归
根据文章和我们已经知道,逻辑回归是一种处理二分类问题的常用方法,当需要处理多分类问题是,除了使用 One vs All 策略之外,我们还可以选择使用Softmax回归多分类器。softmax函数又称归一化指数函数,是基于 sigmoid 二分类函数在多分类任务上的推广;原创 2024-08-15 08:26:59 · 1354 阅读 · 0 评论 -
多分类实战:一文掌握 One-vs-All 策略
One-vs-All 策略是一种将多类分类问题转化为一系列二分类问题的方法。对于N个类别的分类问题,OvA 方法会构建N个二分类器,每个分类器负责区分一个类别与其他所有类别。构建分类器:对于第k个类别,训练一个二分类模型来识别该类别(正例)与所有其他类别(负例)。预测阶段:当新的数据点到达时,将其输入到所有的N个分类器中,并选择输出分数最高的那个分类器所对应的类别作为最终预测结果。这种方法的优点在于可以利用现有的二分类算法来处理多类分类问题,而不需要对算法本身进行任何修改。原创 2024-08-14 08:33:01 · 784 阅读 · 0 评论 -
【机器学习sklearn实战】逻辑回归(Logistic regression)
【代码】【机器学习sklearn实战】逻辑回归(Logistic regression)原创 2024-08-13 08:33:06 · 583 阅读 · 0 评论 -
机器学习三要素:模型、策略和算法
来体现,损失函数衡量了模型预测值与实际值之间的差距。常见的损失函数包括平方损失、交叉熵损失等。此外,正则化项也经常被加入到损失函数中以防止过拟合,如L1正则化和L2正则化。原创 2024-08-12 15:15:34 · 499 阅读 · 0 评论 -
广义线性模型(4)逻辑回归(Logistic regression)
从广义线性模型(1)广义线性模型详解中我们知道,逻辑回归是使用logit函数(Sigmod函数)作为连接函数,伯努利分布(二分类问题)或多项式分布(多分类问题)作为概率分布的广义线性模型。逻辑回归,虽然叫做回归,但它却是分类算法,而且是比较重要的有监督的分类算法。Logistic回归的因变量可以是二分类的,也可以是多分类的,但是二分类的更为常用,也更加容易解释。所以实际中最常用的就是二分类的Logistic回归。寻找危险因素:寻找某一疾病的危险因素等;预测。原创 2024-08-12 14:37:53 · 566 阅读 · 0 评论 -
广义线性模型(3)岭回归、Lasso回归与弹性网络
岭回归更适合处理多重共线性问题,而不强调特征选择。LASSO回归适用于特征选择,特别是当特征数量很大时。弹性网络则是在特征选择和多重共线性处理之间提供了一个折衷方案。在实际应用中,选择哪种方法取决于具体的数据集特性和目标。通常情况下,我们会尝试不同的模型并使用交叉验证等技术来评估和比较它们的性能,以确定最适合问题的方法。原创 2024-08-09 08:40:11 · 909 阅读 · 0 评论 -
【机器学习sklearn实战】计算偏差和方差
作为对比,下面是Bagging方法的偏差-方差,可以看出采用Bagging方法可以降低variance。可以很方便的计算Bias-Variance误差分解,下面是回归决策树方法的偏差-方差分解。原创 2024-08-08 09:23:43 · 214 阅读 · 0 评论 -
【机器学习理论基础】理解偏差、方差和泛化误差的关系
模型的复杂度与方差偏差的变动情况如下图所示,当算法复杂度不够或者是训练程度不足时,学习器的拟合能力不足,偏差主导泛化错误率.随着算法复杂度加深或训练程度加强,学习器的拟合能力逐渐增强,训练数据的扰动逐渐被学习器学习到,此时方差逐步主导了泛化错误率.而我们要做的就是在在偏差和方差之间寻找一个平衡点,即泛化误差最小的点, 达到optimal balance.度量了同样大小的训练集的变动所导致的学习性能的变化,即。1)低偏差,低方差:这是模型的最好结果,一个好的模型会不断去逼近低偏差和低方差这个结果;原创 2024-08-08 09:22:35 · 682 阅读 · 0 评论 -
【机器学习sklearn实战】线性回归
这段代码首先加载了糖尿病数据集,并将其分为训练集和测试集。然后,创建了一个线性回归模型并用训练集对其进行拟合。最后,它在测试集上预测了目标变量,并计算了均方误差(MSE)和决定系数(R2。),它通常用于回归分析的教学示例。这个数据集包含442个患者的10个生理特征以及一年后疾病级别的量化指标。提供的一个内置的糖尿病数据集 (2),以评估模型的表现。原创 2024-07-30 16:37:42 · 366 阅读 · 0 评论 -
如何解析字段中包含逗号(,)的csv文件
即,如果一个csv文件不遵从逗号分隔值格式,那它便不是真正的csv文件格式,用wps或者office也无法正确打开。其中,第二个字段"New York, NY"中包含逗号,而csv文件又以逗号作为默认分隔符。面对这种问题,我们无须进行特殊处理,直接使用pandas.read_csv函数进行读取数据即可。我们在进行数据处理时,有时候会碰到字段中包含逗号(,)的csv文件,例如。即当字段本身包含逗号时,CSV 文件通常会用引号(通常是双引号。是一个包含逗号的字段,但由于它被双引号包围,例如上面的样例数据,原创 2024-07-26 11:09:43 · 560 阅读 · 0 评论 -
【sklearn实战】sklearn 数据集之 Toy datasets
该数据集包含了 150 个鸢尾花的数据,其中每个数据点都有 4 个变量(萼片长度、萼片宽度、花瓣长度、花瓣宽度)和一个目标变量(花的种类)。该数据集最初由 R.A. Fisher 在 1936 年发布。适用于分类任务。这个著名的鸢尾花数据库最初由R.A. Fisher博士使用,数据集来自于他的论文。请注意,这与R中的数据集相同,但与UCI机器学习仓库中的数据集不同,UCI数据集中有两个错误数据点。这可能是图案识别文献中最著名的数据库。Fisher的论文是该领域的经典之作,至今仍经常被引用。原创 2024-07-26 11:04:45 · 560 阅读 · 0 评论 -
【sklearn实战】datasets数据集简介
scikit-learn 内置的一些小型标准数据集,不需要从某个外部网站下载任何文件,用datasets.load_xx()加载。函数从网络上下载,它们是近年来真实收集的数据,适用于更复杂的机器学习任务。例如,新闻组(20 Newsgroups)数据集,这是一个用于文本分类的大型数据集。在实际应用中,可能需要使用更大规模、更复杂的数据集来训练模型。库可能会更新和添加新的数据集,因此建议查阅最新的官方文档以获取最准确的信息。这些函数可以根据用户指定的参数生成用于分类、回归等任务的数据集。原创 2024-07-25 16:11:31 · 767 阅读 · 1 评论