
机器学习
文章平均质量分 57
星海千寻
学习使我快乐,每天进步一点点,夯实基础,足够努力,未来定可期。缓慢而坚持地学习,
花一年的时间蜕变,他日剑指长虹。
展开
-
《scikit-learn》朴素贝叶斯
在scikit-learn中,优这么集中朴素贝叶斯naive_bayes.BernoulliNB 伯努利分布下的NBnaive_bayes.GaussianNB 高斯分布下的NBnaive_bayes.MultinomialNB 多项式分布下的NBnaive_bayes.ComplementNB 补充NB一:高斯朴素贝叶斯通过假设P(xi | Y)是服从于高斯分布的。它会自动计算某个Y的条件下,某个特征的的均值和方差,然后代入具体值的话就是得到了具体的条件概率。它适用于连续变量。# 高原创 2021-02-17 20:09:19 · 690 阅读 · 0 评论 -
《scikit-learn》xgboost
XGBoost算法• XGBoost是陈天奇等人开发的一个开源机器学习项目,高效地实现了GBDT算法并进行了算法和工程上的许多改进,被广泛应用在Kaggle竞赛及其他许多机器学习竞赛中并取得了不错的成绩。• XGBoost的基学习器除了可以是CART(这个时候就是GBDT)也可以是线性分类器,而GBDT只能是CART。• XGBoost的目标函数的近似用了二阶泰勒展开,模型优化效果更好。• XGBoost在代价函数中加入了正则项,用于控制模型的复杂度(正则项的方式不同,如果你仔细点话,GBDT是一原创 2021-02-17 16:13:45 · 652 阅读 · 2 评论 -
《scikit-learn》SVM(三)ROC曲线
当我们越来越追求较高的recall的时候,precision会下降,就是说随着越来越多的少数类被捕获出来,就会伴随着更多的多数类被判断错误,我们想知道随着追求的recall的增加,模型把多数类判断错误的现象的将如何变化;或者说啊,我们每多找出一些少数类,就会把多少多数类样本给判断错误。因此我们可以使用Recall和假正率FPR之间的平衡,来代替Recall和precision之间的平衡,因此这种,衡量模型在尽量捕获少数类的时候,造成对多数类样本错误判断情况的变化曲线,我们称之为ROC(The Rece原创 2021-02-17 02:46:02 · 4666 阅读 · 0 评论 -
《scikit-learn》SVM(二)数据不均衡
我们继续学习一些其他的细节一:样本均衡问题我们来看看在SVM中样本不均衡的情况比如两个样本集合的数目严重不对等,我们希望模型更能识别出少数样本,比如银行贷款,预测某人会不会抵赖,我们更希望能预测出抵赖的人,防止损失吧,大多数人是不会抵赖的,递来的人就是少数。在这样的分布下,即便我们什么都不做,全部预测是不会抵赖,那么模型的准确度也是很高的,这样是没有任何意义,我们需要重点关注的是那部分少数的样本。我们用class_weight来改变样本的分布权重比例。同时我们也可以用sample_weight来原创 2021-02-16 16:37:13 · 2463 阅读 · 0 评论 -
《scikit-learn》SVM(一)
至于SVM的数学理解,强烈推荐如下三篇知乎博文,我是自学视频学习的,但是如下三篇博文讲的是真的好啊,完全跟我在视频里学习到的是一样的,我很激动啊。https://zhuanlan.zhihu.com/p/28660098https://zhuanlan.zhihu.com/p/28954032https://zhuanlan.zhihu.com/p/77750026这三篇写的真的是用心极力推荐啊。我就不自己重复工作了,为了搞懂这点,或者说初步搞懂这点,我花了两天的时间,因为自己的数学能力有点薄弱。原创 2021-02-15 18:54:12 · 353 阅读 · 1 评论 -
《scikit-learn》KMeans
至于聚类的地含义,以及我们熟悉的KMeans算法,基于层次的,基于密度的,我们之前都是学习过的,就不多说了,这里说一些在scikit-learn中是如何使用的,且说一些其他方面的。一:代码直接开整第一步,我们先自己造一些二维数据,并且用图画出来。from sklearn.datasets import make_blobsimport matplotlib.pyplot as plt# 自己创造一个数据集,# 自己创造一个,一千个样本的数据,每个数据是2个特征,一共有4个中心x, y = m原创 2021-02-13 18:14:37 · 1458 阅读 · 1 评论 -
《scikit-learn》PCA(一)
特征选择是从已经存在的特征中选择相关性,信息量最多的特征。特征创造,比如降维,降维之后,新的特征矩阵就不是任何一个特征了。二十通过线性变换后创造的新的特征,新的特征不再具有可读性。至于降维的一些算法和数学,在最早的一些文章中已经粗略学习过了。下面我们直接学习如何在scikit-learn中使用它,scikit-learn中有很多种类。1:主要成分分析:decomposition.PCA 主要成分分析decomposition.IncrementalPCA 增量主要成分分析decom原创 2021-02-09 18:29:12 · 523 阅读 · 0 评论 -
《scikit-learn》数据预处理与特征工程(三)特征选择
特征工程包括三个部分:1、特征提取:从文字,图像,声音等其他非结构化数据中提取信息作为特征,建立最原始特征信息采集。2、特征创造:把现有的一些特征进行组合胡总和相互计算,得到新的特征。3:特征选择:从所有特征中挑选出最具有价值的,对模型最具有帮助的特征。本文将全部学习特征选择。特征选择第一步,充分理解业务和需求,理解数据特征。拿到数据后,一些低相关性的特征在我们人眼识别下就可以轻易剔除掉的,这需要我们对业务的理解后次啊可以得出。比如上次在泰坦尼克的实验中,名字,乘客编号这些信息是跟最后是否存活是原创 2021-02-07 18:52:54 · 613 阅读 · 0 评论 -
《scikit-learn》数据预处理与特征工程(二)数值转换
处理缺失值呢,就不讲了,参考之前的博文,《《scikit-learn》随机森林回归填补缺失值》 即可。这里来学习怎么对一些数值进行处理一:对分类型数据处理,对数据进行编码和哑变量的处理Scikit-learn中处理是不允许有文字的,因此需要做一些转换,对标签或者特征的含有文字的信息进行转换。1:把文字/字符信息转换成对应的类别数值。方法如下:一个是对标签进行数值转换。from sklearn.preprocessing import LabelEncoder # 标签专用,将标签转换为数值的原创 2021-02-06 16:49:41 · 875 阅读 · 0 评论 -
《ML》方差和偏差
偏差:就是预测值和观测值之间的差异,每个评估器都有自己的偏差,集成算法中,是所有偏差的均值,其衡量模型的准确度,模型精度越高,越准确,则偏差越低。方差:反映的是模型的每一次输出结果和模型预测值的平均水平的差异,看看每一次预测稳定不稳定,其用来衡量模型的稳定性,模型越稳定,方差越低。因此一个好的模型是哟又准确又稳定。需要偏差和方差都很低才行。一般会把模型复杂度和最后的总误差值做个曲线,如下:Total_error = Bias_error + Variance_error模型太简单的时候,一般方差原创 2021-02-05 19:29:43 · 298 阅读 · 0 评论 -
《scikit-learn》数据预处理与特征工程(一)数据归一化
数据挖掘的五大流程1:获取数据从调查问卷,网络,爬虫,算法转变等一系列方式获得数据2:数据预处理这是从数据中检测、纠正、或者删除损坏、不准确、不适用的数据的过程。可能面对的问题有:数据类型不对,比如不是所有机器学习算法可以处理文字;数据的质量不行,比如有噪声,有异常,有错误,有缺失,量纲不一致,数据有重复,数据有的他打或者太小。目的就是:让数据变得完整、准确和可靠,从而使得数据更能适应、匹配模型。3:特征工程特征工程是一种为了能让原始数据转换为更能代表模型潜在问题的特征的过程,可以通过挑选最原创 2021-02-04 17:41:15 · 557 阅读 · 0 评论 -
《scikit-learn》随机森林之分类预测乳腺癌模型
今天我们使用随机森林分类器来对乳腺癌数据进行预测第一步:加载数据import matplotlib.pyplot as pltimport pandas as pdimport numpy as npfrom sklearn.datasets import load_breast_cancer # 乳腺癌数据from sklearn.ensemble import RandomForestClassifierfrom sklearn.model_selection import GridS原创 2021-02-04 11:45:49 · 3470 阅读 · 1 评论 -
《scikit-learn》随机森林回归填补缺失值
在清洗数据的阶段,我们面对缺失值有三种方式1:直接将少量具有缺失值的样本删除。2:将大量缺失值的特征删除。3:中等含有缺失值的特征进行填补。在scikit-learn中,有一个专门填充的类,专门将均值,中值,或其他数值填充,比如还有0值填充,随机森林回归填充,来分别验证拟合状况,来找出此数据集最佳的缺失值填补方式。假如我们还是使用回归数据来做测试,使用boston房价数据。第一步:加载数据# ====1:加载数据boston = load_boston()这里不展开介绍了,简单说是506个原创 2021-02-03 01:56:42 · 3514 阅读 · 1 评论 -
《scikit-learn》随机森林之回归
今天我们学习下随机森林做回归的用法话不多说直接上测试代码,看的更加清晰,总体上和回归树是一样的使用流程from sklearn.datasets import load_bostonfrom sklearn.model_selection import cross_val_scorefrom sklearn.ensemble import RandomForestRegressorimport sklearn# 加载连续型数据,boston房价boston = load_boston()原创 2021-02-02 17:30:15 · 1484 阅读 · 0 评论 -
《scikit-learn》随机森林之深入学习
本文探究一些关于随机森林细节的东西一:随机森林效果比单个决策树要好的原因是?百家言胜过一言堂在bagging中,多个分类器的随机森林为什么要比单个基本分类器要好呢?我们从数学的角度来简单分析下:假设我们有单独的一棵树,其正确率是80%(错误率是ε=0.2),我们现在要建立一片森林,假如要建立25棵树,一般在bagging下,表决的结果是根据多棵树的平均(回归问题)或者多数(分类问题)来决定的。分类问题,根据多数原则来。那么在随机森林下一个样本倍分错的概率是:其值约等于0.000369因此,原创 2021-02-02 00:18:43 · 262 阅读 · 0 评论 -
《scikit-learn》随机森林之分类树
至于集成学习方法,我们之前学习了很多的基本理论知识,现在我们进入实战环节。集成学习包含bagging的随机森林,包括boosting的Adaboost,GBDT,Xgboost等。bagging方式下,单个学习器之间完全没有联系,都是独立的。Boosting方式下,则是在前一个学习器的基础上进一步优化。今天我们先来看看最常见的随机森林中的分类树的用法吧代码如下,我们把单个决策树和随机森林放在一起运行比较。from sklearn.tree import DecisionTreeClassifie原创 2021-02-01 18:01:25 · 465 阅读 · 0 评论 -
《scikit-learn》《Kaggle》泰坦尼克数据集的试验
下载泰坦尼克数据集,下载地址是:https://www.kaggle.com/c/titanic这里如果是第一次使用kaggle的话,需要注册,注册时候有一些验证码的问题,可以参考https://www.cnblogs.com/liuxiaomin/p/11785645.html 来解决。第一步:我们来看看titanic数据集import pandas as pdfrom sklearn.tree import DecisionTreeClassifierimport matplotlib as原创 2021-01-31 21:07:59 · 528 阅读 · 1 评论 -
《scikit-learn》数据标准化与SVM之SVC
这一章节我们能学到SVC作为分类器的简单使用。先来看看对数据进行标准化的方式标准化的目的与归一化一样,都是为了避免某个特征的重要程度过大或过小。标准化的优点:受异常点的影响较小。 适用于繁杂大数据。from sklearn.preprocessing import StandardScaler# 标准化处理std = StandardScaler()# (fit_transform()等同于fit()填充数据 + tansform()转换数据)(tansform转换器转换数据时所依赖的均值原创 2021-01-30 18:01:02 · 1700 阅读 · 0 评论 -
《scikit-learn》通过GridSearchCV来进行超参数优化
微调的一种方法是手工调制超参数,直到找到一个好的超参数组合,这么做的话会非常冗长,你也可能没有时间探索多种组合,所以可以使用Scikit-Learn的GridSearchCV来做这项搜索工作。GridSearchCV的名字其实可以拆分为两部分,GridSearch和CV,即网格搜索和交叉验证。这两个名字都非常好理解。网格搜索,搜索的是参数,即在指定的参数范围内,按步长依次调整参数,利用调整的参数训练学习器,从所有的参数中找到在验证集上精度最高的参数,这其实是一个训练和比较的过程。GridSearchCV原创 2021-01-30 17:48:01 · 723 阅读 · 1 评论 -
《scikit-learn》使用交叉验证优化KNN参数
KNN有一个非常重要的参数就是n_neighbors,这个超参数很大程度上决定模型的准确性。那么我们利用有限的数据集,来调出最有说服力,最合适的这个参数呢,当然可以使用交叉验证的指标来衡量其好坏。尝试不同的n_neighbors参数,每一个都去做一次交叉验证,取结果最好的那个超参数模型即可。代码如下:from sklearn import datasets # 自带数据集from sklearn.model_selection import train_test_split, cross_val原创 2021-01-30 11:13:54 · 1291 阅读 · 1 评论 -
《scikit-learn》交叉验证
当我们训练模型的时候,首先得要有数据进行训练。我们拥有一定的数据集的时候,我们不会用所有数据去训练,因为这样我们会不知道训练出的模型的繁华能力如何,而是习惯于划分为训练数据集和测试数据集,在训练集上训练处模型,拿到测试集去做测试。而这种方式也不一定是最好的,因为,这种方式选择数据集是随机的,也许我们调的参数只是该训练集下是最优的,或许只是在特定的训练集和测试集是最有的,换了个样本集,或者是划分出的训练集就不是。为了避免这种因样本选择带来的随机性影响,我们需要额外设置一个验证集,当模型训练完成以后,先在原创 2021-01-30 11:12:50 · 643 阅读 · 0 评论 -
《scikit-learn》决策树之回归树
今天我们来看看怎么使用回归树,其实大致流程还是跟决策树一样的,只不过我们今天要使用的是tree.DecisionTreeRegressor这个类。1:加载数据由于是要做回归,因此我们需要连续的数据,比如拿波士顿房价距离。from sklearn.datasets import load_bostonfrom sklearn.model_selection import train_test_splitfrom sklearn import treeimport graphvizboston原创 2021-01-29 18:53:31 · 604 阅读 · 1 评论 -
《scikit-learn》决策树之鸢尾花分类
有了上一博客的基础,我们来看看怎么操作鸢尾花的分裂问题。也是做一个简单的总结和回顾。直接整代码了。from sklearn import treefrom sklearn.datasets import load_irisfrom sklearn.model_selection import train_test_splitimport graphviz# 分类问题举例,加载自带的鸢尾花数据集,150个样本,4个属性,3个类别。iris = load_iris()print(iris.da原创 2021-01-28 18:46:51 · 838 阅读 · 0 评论 -
《scikit-learn》决策树之分类树
前面我们学习了决策树的一些算法,提及到了scikit learn,这里我们已经基本具备了一些基本的知识,接下来我们进入实战环节,真实地去操作一把数据。希望在此学习的基础上基本掌握scikit learn的使用方法。作为具体操作scikit learn的第一篇,先得做好一些准备工作。conda install graphvizconda install scikit-learn此外还需要下载graphviz,并把其bin目录添加环境变量,重启开发环境即可。一:分类树先来看个例子from skle原创 2021-01-28 18:33:06 · 1110 阅读 · 0 评论 -
ML《朴素贝叶斯》
一:贝叶斯定理二:朴素贝叶斯推断三:计算过程原创 2021-01-13 02:38:20 · 137 阅读 · 0 评论 -
ML《集成学习(五)XGBoost》
今天学习了一整天的 XGBoost,到最后还是懒得自己写了,还是奉上两篇博客吧,学这两篇博客学懂的。https://blog.youkuaiyun.com/a1b2c3d4123456/article/details/52849091https://www.jianshu.com/p/8cb5289da9de?open_source=weibo_search...原创 2021-01-09 04:05:23 · 250 阅读 · 0 评论 -
ML《集成学习(四)Boosting之回归树、提升树和GBDT》
GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化能力较强的算法。 GBDT中的树是回归树(不是分类树),GBDT用来做回归预测,调整后也可以用于分类。 GBDT的思想使其具有天然优势可以发现多种有区分性的特征以及特征组合。一:回归树我们先来回顾下那个回归树,这个其实原创 2021-01-04 03:43:51 · 949 阅读 · 0 评论 -
ML《集成学习(三)Boosting和Adaboosting回归树》
上一篇博文我们学习了adaboosting算法用于分类树的算法,今天想把adaboosting算法用于回归树的算法也补充下:这里我们学习的是adaboosting R2算法:存在样本集D = {(x1,y1), (x2,y2), (x3,y3),…,(xN,yN)}迭代次数是T,也就是存在T个弱学习器,样本个数是N。整体还是和adaboosting做分类树的过程是一样的,都是给每个样本一个权重,一次迭代后,计算错误率和权重,以及更新权重,最后结合T个弱学习器的时候都是选择加权线性相加。..原创 2021-01-04 02:18:17 · 467 阅读 · 1 评论 -
ML《集成学习(二)Boosting之Adaboosting》
一:集成学习集成学习通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统、基于委员会的学习等。集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能,也就是平常所说的“三个臭皮匠顶个诸葛亮”的道理。下面从两个方面对集成学习进行简要介绍。它有两个大种类:根据个体学习器的生成方式,目前的集成学习方法大致可以分为两大类,即个体学习器间存在强依赖关系、必须串行生成的序列化方法,代表算法是Boosting系列的算法;以及个体学习器间不存在强依赖关系、可同时生成的并行化方法,代表算法是原创 2021-01-03 02:55:31 · 590 阅读 · 0 评论 -
ML《集成学习(一)Bagging 和 Random Forest》
今天一起来学习集成学习,其中的Bagging和随机森林(Random Forest)。一:bootstrap二:Bagging三:随机森林(Random Forest)原创 2021-01-02 03:48:01 · 262 阅读 · 0 评论 -
ML《决策树(三)CART》
上一篇我们学习的ID3和C4.5算法,今天我们来看看CART(classification and regression tree)算法。从名字上也能看出来,它是分类和回归树。本文参考以及采用了很多其他博主的文字,因为自己觉得他们写的很好,自己做了归纳和整理,汲取百家之长。其实这会儿是有点困了,因为自己也在忙完工作后有点累,也是不停地站东脑子去学习算法,也在思考这三种决策树算法的区别和相似处,经过百度呢,也是大同小异,所以今天偷个懒,哈哈,就当是自己按照自己的理解思路整理整理,免得后面忘记了。当然了,原创 2020-12-30 06:16:26 · 394 阅读 · 4 评论 -
ML《决策树(二)C4.5》
上一篇我们学习的ID3算法呢,有一些缺点。1:它只能处理离散值。2:容易过拟合,因为我们拿到了样本,总是希望最后得到的样本是非常纯的,所以我那个我那个造成了过拟合,训练样本拟合很好,泛化能力降低。3:在每一次的节点选择中啊,它总是倾向于某个属性值种类多的特征。这里新增一个缺点4:就是没有对缺失值的处理。因此我们有另外一种决策树的算法,C4.5,它也是决策树算法。我们主要来看看C4.5针对ID3的缺点进行的处理和改进吧。====华丽分割线其中三个呢,比较好理解,我就先写出来:1)对于上述I原创 2020-12-27 05:48:41 · 512 阅读 · 0 评论 -
ML《决策树(一)ID3》
今天做个回顾和记录,简单做个学习,也是梳理下知识点,决策树的学习。本文的学习,自己不想画图,因为觉得没有必要自己画图,所以文中一部分图片是截取其他人的分享,但是内容都会是自己写的。当然了,这里是浅析学习学习。一:ID3拿西瓜书里面的来举例子来说,我们去挑西瓜呗,西瓜的有纹理,色泽,触感等特征,怎么判断这是不是好瓜呢?有经验的人会告诉我们,纹理咋样的是好是坏,然后色泽咋样的时好时坏,等等一系列的类似于if –else 的判断标准,画出来呢就是下图表示。这个只是举例子啊,很明显从数据结构的角度来看就原创 2020-12-27 04:50:55 · 223 阅读 · 0 评论 -
每天进步一点点《ML - 高斯混合模型》
上一篇文章学习了极大似然估计和EM算法,这一章节就是学习EM算法的具体应用场景,高斯混合模型,是一中聚类的算法。一:高斯混合模型(GMM)我们将一个分布复杂的数据分布,用多个高斯概率分布来共同表示,如上图,一维数据下,红色的线条,用了三个高斯分布来表示了。红色线条可以看成是数据分布的密度分布,三个波峰,数据分布的密度相对较大。再举个例子,我们那堆西瓜,如果我们不考虑类别,就可以直接全部看成是一个类别的,用分布密度曲线统计出,在体积区间范围内的西瓜个数密度,得到了一个概率密度曲线Y,但是实际上,我们西原创 2020-10-21 05:47:53 · 276 阅读 · 0 评论 -
每天进步一点点《ML - 从极大似然到EM算法》
一:极大似然1:概念引入极大似然参数估计是概率论中学习过的内容,就是预先定义概率分布模型,根据一堆的同概率分布的一堆样本数据去估计该概率模型中的未知参数。举个例子:有很多西瓜x,我们可以得到每一个西瓜的体积数值,每一个样本就是一个西瓜,每个西瓜是一个N维参数向量表示,为了简单起见我们先只用体积参数来叙述。这样一来,我们能够对这一一堆西瓜做一个概率分布统计,假如西瓜的体积服从高斯分布的话,就是5:怎么最大化求参数呢?答案就是求偏导数,对每个位置参数求偏导,偏导数为0,即可得到相应的参数值。6原创 2020-10-21 05:43:20 · 338 阅读 · 0 评论 -
每天进步一点点《ML - Sklearn库简单学习》
一:Sklearn介绍Sklearn是一个强大的机器学习库,基于python的。官方文档(http://scikit-learn.org/stable/ )。如下列举部分的使用场景。由图中,可以看到库的算法主要有四类:分类,回归,聚类,降维。其中:• 常用的回归:线性、决策树、SVM、KNN ;集成回归:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees• 常用的分类:线性、决策树、SVM、KNN,朴素贝叶斯;集成分类:随机森林、Adaboost、G原创 2020-10-14 04:12:57 · 346 阅读 · 1 评论 -
每天进步一点点《ML - 异常点检测》
一些前提的约定,还是沿用上篇文章的哈。先来致敬下男神。一:异常点检查(Anomaly Detection)这一章节相对来说简单很多,也可以说是很大程度是概率论的知识内容了。异常点,和大部分正常状态下表现上不一致的点,就叫做异常点,举个例子,我们分析统计用户的行为,并提取某个特征,或者一个月内去的次数,和一个月内去网吧的时长,如下图:很明显,我们会把红色点的行为定义为不正常的,去的少,上网时间还挺长,看来存在巨大网瘾啊,运用某个模型检测过来,对应到具体人,警察就可以出动强制了,这样及早帮助父母发现原创 2020-09-26 21:58:48 · 328 阅读 · 2 评论 -
每天进步一点点《ML - 基于层次的聚类》
一些前提的约定,还是沿用上篇文章的哈。先来致敬下男神。一:层次聚类(Hierarchical Clustering)介绍它也是聚类算法的一种,也是我学习的第三种聚类算法,通过计算样本点之间的相似性,也可以理解成距离,构建出一个嵌套层次聚类树,有两种方式,一个是自下而上的合并法,一个是自上而下的分裂法,本文讲解更容易理解的合并法。如上图所示,不断地将样本汇聚成小的簇,再将晓得簇不断重复该过程汇聚成更大簇。二:算法介绍简单的说层次聚类的合并算法是通过计算每一个类别的数据点与所有数据点之间的距离来确原创 2020-09-26 19:09:00 · 164 阅读 · 0 评论 -
每天进步一点点《ML - DBSCAN》
一些前提的约定,还是沿用上篇文章的哈。先来致敬下男神。一:DBSCAN介绍有一堆样本点,在特征空间内,样本之间有稀疏之分,所以呢有一种就是基于密度的聚类算法,就把密切紧密挨着的点,认为是一个簇,密度小的点,认为是噪声点。它比仅仅考虑距离的K-means算法优点是:这个算法不仅仅考虑距离,正中啊哟考虑密度,这样一来就是可以发现任意形状的样本簇。二:算法介绍好比一个人群,自动的进行聚合找朋友圈,一开始所有的人都没有分类,随机找到一个未分类的人,就好比是找朋友,给定某个圈子范围大小,如果以你为中心,你原创 2020-09-26 00:17:10 · 201 阅读 · 0 评论 -
每天进步一点点《ML - K-means》
一些前提的约定,还是沿用上篇文章的哈。先来致敬下男神。一:聚类就我个人而言,学到了这里,是让我非常激动的事情,因为K-means这个算法是我学习到的第一个非监督学习算法,也是第一个聚类算法。所谓的无监督学习,就是对于样本来说,我们不知道它的输出,或者不知道它的标签是什么,我们唯一知道的就是样本空间内,各个样本的特征向量。所谓聚类,就是通过某种算法,自动将在特征空间内相似的样本聚合在一起组成一个类簇(cluster),通过自动的样本聚类,帮助人们发现样本之间的分布和类群特征。比如在文章分类中,通过提原创 2020-09-25 04:57:47 · 230 阅读 · 0 评论