
机器学习
文章平均质量分 74
一些机器学习的常用算法
Fuction.
思想支配着一切
展开
-
04.流程实现
Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。ball tree是为了克服kd树高维失效而发明的。brute是蛮力搜索。原创 2025-01-25 21:16:38 · 398 阅读 · 0 评论 -
决策树算法api
这个值限制了叶子节点最少的样本数,如果某叶子节点数目小于 样本数,则会和兄弟节点一起被剪枝。默认是1,可以输入最少的 样本数的整数,或者最少样本数占样本总数的百分比。这个值限制了子树继续划分的条件,如果某节点的样本数少于 min_samples_split,则不会继续再尝试选择最优特征来进行划分。决策树的最大深度,默认可以不输入,如果不输入的话,决策树 在建立子树的时候不会限制子树的深度。如果模型样本量多,特征也多的 情况下,推荐限制这个最大深度,具体的取值取决于数据的分 布。原创 2025-02-20 17:45:10 · 159 阅读 · 0 评论 -
KMeans算法案例
已知:客户性别、年龄、年收入、消费指数需求:对客户进行分析,找到业务突破口,寻找黄金客户数据集共包含顾客的数据, 数据共有 4 个特征, 数据共有 200 条。接下来,使用聚类算法对具有相似特征的的顾客进行聚类,并可视化聚类结果。原创 2025-03-30 21:00:18 · 256 阅读 · 0 评论 -
分类评估方法
绘制ROC曲线的意义很明显,不断地把可能分错的情况扣除掉,从概率最高往下取的点,每有一个是负样本,就会导致分错排在它下面的所有正样本,所以要把它下面的正样本数扣除掉(1-TPR,剩下的正样本的比例)。上面的第一种情况,从上往下取,无论怎么取,正样本的概率总在负样本之上,所以分对的概率为1,AUC=1。也是1,ROC曲线的积分与AUC相等。假设有6次展示记录,有两次被点击了,得到一个展示序列(1:1,2:0,3:1,4:0,5:0,6:0),前面的表示序号,后面的表示点击(1)或没有点击(0)。原创 2025-02-15 11:12:46 · 778 阅读 · 0 评论 -
案例:癌症分类预测-良/恶性乳腺癌肿瘤预测
(1)699条样本,共11列数据,第一列用语检索的id,后9列分别是与肿瘤相关的医学特征,最后一列表示肿瘤类型的数值。在很多分类场景当中我们不一定只关注预测的准确率!2.2 确定特征值,目标值。(2)包含16个缺失值,用”?(3)2表示良性,4表示恶性。比如以这个癌症举例子!4.机器学习(逻辑回归)3.特征工程(标准化)原创 2025-02-15 11:18:30 · 173 阅读 · 0 评论 -
02.数据集介绍
通过创建⼀些图,以查看不同类别是如何通过特征来区分的。在理想情况下,标签类将由⼀个或多个特征对完美分隔。的漂亮主要体现在配⾊更加舒服、以及图形元素的样式更加细腻。据集,是⼀类多重变量分析的数据集。获取⼤规模数据集,需要从⽹络上下载,函数的第⼀个参数是。测试数据:在模型检验时使⽤,⽤于评估模型是否有效。了解评估机器学习模型的基本过程。数据集是常⽤的分类实验数据集,由。获取⼩规模数据集,数据包含在。,可选,选择要加载的数据集。训练数据:⽤于训练,构建模型。,表示数 据集下载的⽬录。松地画出更漂亮的图形。原创 2025-01-25 21:07:28 · 719 阅读 · 0 评论 -
特征降维
皮尔逊相关系数(Pearson Correlation Coefficient)的作用是:反映变量之间相关关系密切程度的统计指标。pca不适合处理大批次的特征数据(例如:有几W个特征列...),可以先用 低方差法删除保留重要特征, 然后结合pca分析法实现。用于训练的数据集包含一些不重要的特征,可能导致模型泛化性能不佳。eg:希望特征独立存在对预测产生影响,两个特征同增同减非常相关,不会给模型带来更多的信息。删除低方差的一些特征,前面讲过方差的意义。eg:某些特征的取值较为接近,其包含的信息较少。原创 2025-03-30 20:57:02 · 753 阅读 · 0 评论 -
逻辑回归介绍
(重要):假设有两个类别A,B,并且假设我们的概率值为属于A(1)这个类别的概率值。现在有一个样本的输入到逻辑回归输出结果0.55,那么这个概率值超过0.5,意味着我们训练或者预测的结果就是A(1)类别。逻辑回归最终的分类是通过属于某个类别的概率值来判断是否属于某个类别,并且这个类别默认标记为1(正例),另外的一个类别会标记为0(反例)。计算损失:= [ 1log0.4 + (1-1)log(1-0.4) + # 第1个样本产生的损失。我们对损失函数的希望是:当样本是1类别,模型预测的p越大越好;原创 2025-02-15 11:07:50 · 841 阅读 · 0 评论 -
聚类算法简介
在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计算方法,会得到不同的聚类结果,常用的相似度计算方法有欧式距离法。学习算法,主要用于将相似的样本自动归到一个类别中。的学习算法,而分类算法属于。原创 2025-03-20 17:39:25 · 298 阅读 · 0 评论 -
boost三种算法总结
boost三种算法总结原创 2025-03-20 17:36:22 · 272 阅读 · 0 评论 -
朴素贝叶斯
问题:从上面的例子我们得到P(Tokyo|C)和P(Japan|C)都为0,这是不合理的,如果词频列表里面有很多出现次数都为0,很可能计算结果都为0.此时我们需要用到朴素贝叶斯进行求解,在讲解贝叶斯公式之前,首先复习一下联合概率、条件概率和相互独立的概念。P(喜欢|产品, 超重) = P(产品, 超重|喜欢)P(喜欢)/P(产品, 超重)记作:P(AB) = P(A) *P(B|A) = P(B) *P(A|B):如果P(A, B) = P(A)P(B),则称事件A与事件B相互独立。原创 2025-03-30 21:03:27 · 555 阅读 · 0 评论 -
GBDT介绍
假如有个人30岁,我们首先用20岁去拟合,发现损失有10岁,这时我们用6岁去拟合剩下的损失,发现差距还有4岁,第三轮我们用3岁拟合剩下的差距,差距就只有一岁了。在分类树中最佳划分点的判别标准是熵或者基尼系数,都是用纯度来衡量的,但是在回归树中的样本标签是连续数值,所以再使用熵之类的指标不再合适,如果我们的 GBDT 进行的是分类问题,则损失函数变为 logloss,此时拟合的目标值就是该损失函数的负梯度值。对于回归树算法来说最重要的是寻找最佳的划分点,那么回归树中的可划分点包含了所有特征的所有可取的值。原创 2025-03-03 19:03:01 · 579 阅读 · 0 评论 -
案例:商品评论情感分析
朴素贝叶斯分类拉普拉斯平滑系数。原创 2025-03-30 21:05:32 · 323 阅读 · 0 评论 -
回归决策树
举例:如下图,假如我们想要对楼内居民的年龄进行回归,将楼划分为3个区域R1,R2,R3(红线),那么R1的输出就是第一列四个居民年龄的平均值,R2的输出就是第二列四个居民年龄的平均值,R3的输出就是第三、四列八个居民年龄的平均值。4 当划分点 s=6.5时,m(s) 最小。遍历特征j,对固定的切分特征j扫描切分点s,选择使得上式达到最小值的对 (j,s).6 在所有的特征的划分点中,选择出最小平方损失的划分点,作为当前树的分裂点。1 选择一个特征,将该特征的值进行排序,取相邻点计算均值作为待划分点。原创 2025-02-20 17:48:00 · 825 阅读 · 0 评论 -
朴素贝叶斯算法总结
第一种:给定 x, 可通过直接建模 P(c |x) 来预测 c,这样得到的是"判别式模型" (discriminative models);第二种:也可先对联合概率分布 P(x,c) 建模,然后再由此获得 P(c |x), 这样得到的是"生成式模型" (generative models);显然,前面介绍的逻辑回归、决策树、都可归入判别式模型的范畴,还有后面学到的BP神经网络支持向量机等;在计算条件概率分布P(X=x∣Y=c_k)时,NB引入了一个很强的条件独立假设,解决这一问题的方法是采用贝叶斯估计。原创 2025-03-30 21:08:58 · 241 阅读 · 0 评论 -
01.K临近算法
是最容易直观理解的距离度量⽅法,我们⼩学、初中和⾼中接触到的两个点在空间中的距离⼀般都是指欧⽒距离。从1到2算走了一步,从2到3也是1步,所以切比雪夫距离就是3,竖向走了三步,横向走了2步,取最大值。,对现有的训练集能有很好的预测,但是对未知的测试样本将会出现较⼤偏差的预测。不是⼀种距离,⽽是⼀组距离的定义,是对多个距离度量公式的概括性的表述。闵⽒距离,包括曼哈顿距离、欧⽒距离和切⽐雪夫距离,都存在明显的缺点。值,就相当于⽤较⼩的领域中的训练实例进⾏预测,值,就相当于⽤较⼤领域中的训练实例进⾏预测,原创 2025-01-25 20:54:33 · 789 阅读 · 0 评论 -
决策树分类原理
假设我们把上面表格1的数据前面添加一列为"编号",取值(1--14). 若把"编号"也作为一个候选划分属性,则根据前面步骤: 计算每个属性的信息熵过程中,我们发现,该属性的值为0, 也就是其信息增益为0.940. 但是很明显这么分类,最后出现的结果不具有泛化效果.此时根据信息增益就无法选择出有效分类特征。如果一个属性的信息增益越大,就表示用这个属性进行样本划分可以更好的减少划分后样本的不确定性,当然选择该属性就可以更快更好地完成我们的分类目标。他表示的是在某种属性的条件下,各种类别出现的不确定性之和。原创 2025-02-19 15:59:58 · 274 阅读 · 0 评论 -
决策树算法简介
决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-else结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法。上面案例是女生通过定性的主观意识,把年龄放到最上面,那么如果需要对这一过程进行量化,该如何处理呢?树中每个内部节点表示一个特征上的判断,每个分支代表一个判断结果的输出,每个叶子节点代表一种分类结果。想一想这个女生为什么把年龄放在最上面判断!3. 决策树也易过拟合,采用剪枝的方法缓解过拟合。此时需要用到信息论中的知识:信息熵,信息增益。2.决策树生成:根据选择的特征生成决策树。原创 2025-02-19 15:56:46 · 400 阅读 · 0 评论 -
线性回归的损失和优化02
意味着我们可以通过α来控制每一步走的距离,以保证不要步子跨的太大扯着蛋,哈哈,其实就是不要走太快,错过了最低点。梯度的方向是函数在给定点上升最快的方向,那么梯度的反方向就是函数在给定点下降最快的方向,这正是我们所需要的。所以,我们重复利用这个方法,反复求取梯度,最后就能到达局部的最小值,这就类似于我们下山的过程。根据之前的场景假设,最快的下山的方式就是找到当前位置最陡峭的方向,然后沿着此方向向下走,对应到函数中,就是。如图,经过四次的运算,也就是走了四步,基本就抵达了函数的最低点,也就是山底。原创 2025-02-02 19:23:20 · 880 阅读 · 0 评论 -
聚类算法实现流程
4、如果计算得出的新中心点与原中心点一样(质心不再移动),那么结束,否则重新进行第二步过程【经过判断,需要重复上述步骤,开始新一轮迭代】2、对于其他每个点计算到K个中心的距离,未知的点选择最近的一个聚类中心点作为标记类别。3、接着对着标记的聚类中心之后,重新计算出每个聚类的新中心点(平均值)5、当每次迭代结果不变时,认为算法收敛,聚类完成,原创 2025-03-20 17:44:21 · 221 阅读 · 0 评论 -
欠拟合和过拟合,正则化
那么是什么原因导致模型复杂?线性回归进行训练学习的时候变成模型会变得复杂,这里就对应前面再说的线性回归的两种关系,非线性关系的数据,也就是存在很多无用的特征或者现实中的事物特征跟目标值的关系并不是简单的线性关系。但是对于其他机器学习算法如分类算法来说也会出现这样的问题,除了一些算法本身作用之外(决策树、神经网络),我们更多的也是去自己做特征选择,包括之前说的删除、合并一些特征。注:调整时候,算法并不知道某个特征影响,而是去调整参数得出优化的结果。原创 2025-02-02 19:39:33 · 836 阅读 · 0 评论 -
cart剪枝
例如对下表的西瓜数据集,我们将其随机划分为两部分,其中编号为 {1,2,3,6, 7, 10, 14, 15, 16, 17} 的样例组成训练集,编号为 {4, 5, 8, 9, 11, 12, 13} 的样例组成验证集。在用属性"脐部"划分之后,上图中的结点2、3、4分别包含编号为 {1,2,3, 14}、 {6,7, 15, 17}、 {10, 16} 的训练样例,因此这 3 个结点分别被标记为叶结点"好瓜"、 "好瓜"、 "坏瓜"。一般情况下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝。原创 2025-02-19 16:05:42 · 433 阅读 · 0 评论 -
集成学习基础
集成学习是机器学习中的一种思想,它通过多个模型的组合形成一个精度更高的模型,参与组合的模型成为弱学习器(弱学习器)。训练时,使用训练集依次训练出这些弱学习器,对未知的样本进行预测时,使用这些弱学习器联合进行预测。集成学习通过建立几个模型来解决单一预测问题。,各自独立地学习和作出预测。Bagging:随机森林。Bagging思想图。原创 2025-02-26 16:24:51 · 235 阅读 · 0 评论 -
特征工程中的三大向量化工具详解
在文本处理和特征工程中,`TfidfVectorizer`、`CountVectorizer` 和 `DictVectorizer` 是常用的工具,用于将原始数据转换为机器学习模型可用的数值特征。是否提取 N-gram(如 (1,2) 包含单词和双词组合)是否提取 N-gram(如 (1,2) 包含单词和双词组合)是否启用 IDF 计算(默认为 True)过滤停用词(如 "the", "is")过滤停用词(如 "the", "is")是否返回稀疏矩阵(默认为 True)结构化数据(数值 + 类别特征)原创 2025-02-28 19:40:48 · 901 阅读 · 0 评论 -
特征工程-特征提取
{'city': '北京','temperature':100}, {'city': '上海','temperature':60}, {'city': '深圳','temperature':30}]所以,如果"非常"一词在1,0000份文件出现过,而文件总数是10,000,000份的话,其逆向文件频率就是lg(10,000,000 / 1,0000)=3。之前在学习pandas中的离散化的时候,也实现了类似的效果。假如一篇文章的总词语数是100个,而词语"非常"出现了5次,那么"非常"一词在该文件中的。原创 2025-02-20 17:36:28 · 776 阅读 · 0 评论 -
热编码(one-hot编码)
columns=['Color', 'Shape']) # 指定要转换的列。data, # 要编码的数据。原创 2025-02-15 11:20:16 · 236 阅读 · 0 评论 -
07.预测facebook签到位置
【代码】07.预测facebook签到位置。原创 2025-01-25 21:26:26 · 386 阅读 · 1 评论 -
06.交叉验证,网格搜索
交叉验证:将拿到的训练数据,分为训练和验证集。以下图为例:将数据分成4份,其中一份作为验证集。然后经过4次(组)的测试,每次都更换不同的验证集。即得到4组模型的结果,取平均值作为最终结果。但是手动过程繁杂,所以需要对模型预设几种超参数组合。param_grid=None, # 估计器参数。我们之前知道数据分为训练集和测试集,但是。cv=None) # 指定几折交叉验证。解释:对估计器的指定参数值进行详尽搜索。estimator, # 估计器对象。原创 2025-01-25 21:23:01 · 351 阅读 · 0 评论 -
Boosting
该分析涉及白葡萄酒,并基于数据集中显示的13个变量/特征:固定酸度,挥发性酸度,柠檬酸,残留糖,氯化物,游离二氧化硫,总二氧化硫,密度,pH值,硫酸盐,酒精,质量等。为了评估葡萄酒的质量,我们提出的方法就是根据酒的物理化学性质与质量的关系,找出高品质的葡萄酒具体与什么性质密切相关,这些性质又是如何影响葡萄酒的质量。- 6.样本 1、2、3、4、5、6、10 最终权重值为(正样本权重/归一化值): 0.07143。3.分类正确的样本:1、2、3、7、8、9、10,其权重调整系数为:0.5222。原创 2025-02-26 16:44:22 · 807 阅读 · 0 评论 -
聚类注意点
经过对30000样本点分别使用KMeans 和 MiniBatchKMeans 进行聚类,对比之后运行时间 MiniBatchKMeans 是 K-Means的一半(0.17 vs 0.36),但聚类结果差异性很小。当真正面对海量数据时,使用K均值算法将面临严重的结果延迟,尤其是当K均值被用做实时性或准实时性的数据预处理、分析和建模时,这种瓶颈效应尤为明显。K均值(K-Means)是聚类中最常用的方法之一,它基于点与点距离的相似度来计算最佳类别归属。t,其中n是样本量、k是划分的聚类数、t是迭代次数。原创 2025-03-30 20:58:26 · 355 阅读 · 0 评论 -
线性回归算法-01
注释:单特征与目标值的关系呈直线关系,或者两个特征与目标值呈现平面的关系更高维度的我们不用自己去想,记住这种关系即可。注释:为什么会这样的关系呢?在这里我们只能画一个平面更好去理解,所以都用单个特征或两个特征举例子。线性回归(Linear regression)是利用。关系进行建模的一种分析方式。线性回归当中主要有两种模型,原创 2025-02-02 19:16:35 · 369 阅读 · 0 评论 -
案例:波士顿房价预测
给定的这些特征,是专家们得出的影响房价的结果属性。我们此阶段不需要自己去探究特征是否有用,只需要使用这些特征。到后面量化很多特征需要我们自己去寻找。回归当中的数据大小不一致,是否会导致结果影响较大。所以需要做标准化处理。此时我们可以通过调参数,找到学习率效果更好的值。思考:MSE和最小二乘法的区别是?我们也可以尝试去修改学习率。return:浮点数结果。原创 2025-02-02 19:38:33 · 216 阅读 · 0 评论 -
03.特征⼯程-特征预处理
特征的单位或者⼤⼩相差较⼤,或者某特征的⽅差相⽐其他的特征要⼤出⼏个数量级,容易影响(⽀配)⽬标结果,使得⼀些算法⽆法学习到其它的特征。注意最⼤值最⼩值是变化的,另外,最⼤值与最⼩值⾮常容易受异常点影响,所以这种⽅法鲁棒性较差,只适合传统精确⼩数据场景。无论是归一化, 还是标准化,目的都是为了避免因 特征列的量纲(单位)问题导致权重不同,从而影响最终的预测结果。对于标准化来说:如果出现异常点,由于具有⼀定数据量,少量的异常点对于平均值的影响并不⼤,从⽽⽅差改变较⼩。量纲化,使不同规格的数据转换到同⼀规格。原创 2025-01-25 21:13:42 · 862 阅读 · 0 评论 -
梯度下降方法介绍
由于FG每迭代更新一次权重都需要计算所有样本误差,而实际问题中经常有上亿的训练样本,故效率偏低,且容易陷入局部最优解,因此提出了随机梯度下降算法。在SG方法中,虽然避开了运算成本大的问题,但对于大数据训练而言,SG效果常不尽如人意,因为每一轮梯度更新都完全与上一轮的数据和梯度无关。在调优的时候再 优化。梯度下降的距离都小于ε,如果小于ε则算法终止,当前所有的θi(i=0,1,...n)即为最终结果。被抽出的小样本集所含样本点的个数称为batch_size,通常设置为2的幂次方,更有利于GPU加速处理。原创 2025-02-02 19:33:32 · 583 阅读 · 0 评论 -
05.KNN算法总结
在这里,苹果是样本,箱子最多能放的个数(即苹果的总数)50是这个样本的样本(容)量,而所抽取的样本个数30则是样本量。一个箱子最多能放50个苹果(样本),从中取样30个。样本量、样本个数与样本容量的关系举例。原创 2025-01-25 21:17:20 · 256 阅读 · 0 评论 -
模型的保存和加载
进行导入,你安装的scikit-learn版本有可能是最新版本。这是因为scikit-learn版本在0.21之后,无法使用。安装joblib,然后使用。原创 2025-02-02 19:42:43 · 281 阅读 · 0 评论 -
正则化线性模型
也就是说,Lasso Regression 能够自动进行特征选择,并输出一个稀疏模型(只有少数特征的权重是非零的)。Lasso 回归(Lasso Regression)是线性回归的另一种正则化版本,正则项为权值向量的ℓ1范数。例如:当α 取值相对较大时,高阶多项式退化为二次甚至是线性:高阶多项式特征的权重被置为0。Lasso Regression 有一个很重要的性质是:倾向于完全消除不重要的权重。,而应对模型进行一定的正则化处理,那如何选择正则化方法呢?其做法为:在验证错误率达到最小值的时候停止训练。原创 2025-02-02 19:43:48 · 755 阅读 · 0 评论 -
XGBoost
此时,公式可以看作是关于叶子结点 w 的一元二次函数,我们可以对 w 求导并令其等于 0,可得到 w 的最优值,将其代入到公式中,即可再次化简上面的公式。例如:10 个样本,落在 D 结点 3 个样本,落在 E 结点 2 个样本,落在 F 结点 2 个样本,落在 G 结点 3 个样本。叶子节点允许的最小权重值(即节点中所有样本的二阶导数值之和),可视为是对叶子节点的正则化,是一种后剪枝的手段。Gi 表示样本的一阶导之和,Hi 表示样本的二阶导之和,当确定损失函数时,就可以通过计算得到结果。原创 2025-03-20 17:35:00 · 653 阅读 · 0 评论 -
聚类算法-模型评估
在机器学习里,主要为了获取数据的特征值,那么就是说,在任何一个矩阵计算出来之后,都可以简单化,只要获取矩阵的迹,就可以表示这一块数据的最重要的特征了,这样就可以把很多无关紧要的数据删除掉,达到简化数据,提高处理速度。计算样本i到最近簇Cj 的所有样本的平均距离bij,称样本i与最近簇Cj 的不相似度,定义为样本i的簇间不相似度:bi =min{bi1, bi2, ..., bik},bi越大,说明样本i越不属于其他簇。(2)平方和是会逐渐变小的,直到k==n时平方和为0,因为每个点都是它所在的簇中心本身。原创 2025-03-20 17:47:20 · 764 阅读 · 0 评论