决策树、随机森林与k-means聚类算法
决策树的构建满足信息熵增益最大化原则
决策树的优点:
- 可解释性高
- 能处理非线性的数据
- 不需要数据归一化
- 可以用于特征工程
- 对数据分布没有偏好
- 广泛使用
- 容易软件实现
- 可以转化为规则
决策树的弱点
- 启发式生成,不是最优解
- 容易过拟合
- 微小的数据改变会改变整个树的形状
- 对类别不平衡的数据不友好
随机森林指训练多个决策树结果,预测时回归取均值,分类取众数
随机体现在带放回的随机取数据子集做训练数据,随机选择的特征子集中选择一个特征
随机森林消除了决策树容易过拟合的缺点,不会因为训练数据的小变化而剧烈变化
K-means算法
初始化:随机选择K个点,作为初始中心点,每个点代表一个group.
交替更新:
步骤1.计算每个点到所有中心点的距离,把最近的距离记录下来并赋把group赋给当前的点
步骤2.针对于每一个group里的点,计算其平均并作为这个group的新的中心点(重心:分别每个维度的坐标和除以坐标个数)。
如果中心点不再变化就停止
一定会收敛吗? 一定收敛
不同的初始化结果,会不会带来不一样的结果?会不一样
K-Means的目标函数是什么? 非凸函数,局部最优不一定是全局最优
$ \sum_{i=1}^n \sum_{k=1}^k r_{ik}(x_i-u_k) $
步骤1:假定u已知求r最优解 步骤2:假定r已知求u最优解
K如何选择?求出k=2-n的目标函数的值
其他聚类算法:GMM、层次聚类、Spectral Clustrering、DBSCAN、Kernel K-Means...
决策树、随机森林与k-means聚类算法的更多相关文章
- k均值聚类算法原理和(TensorFlow)实现
顾名思义,k均值聚类是一种对数据进行聚类的技术,即将数据分割成指定数量的几个类,揭示数据的内在性质及规律. 我们知道,在机器学习中,有三种不同的学习模式:监督学习.无监督学习和强化学习: 监督学习,也 ...
- K均值聚类算法
k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个 ...
- 机器学习实战---K均值聚类算法
一:一般K均值聚类算法实现 (一)导入数据 import numpy as np import matplotlib.pyplot as plt def loadDataSet(filename): ...
- AI学习---分类算法[K-近邻 + 朴素贝叶斯 + 决策树 + 随机森林 ]
分类算法:对目标值进行分类的算法 1.sklearn转换器(特征工程)和预估器(机器学习) 2.KNN算法(根据邻居确定类别 + 欧氏距离 + k的确定),时间复杂度高,适合小数据 ...
- K均值聚类算法的MATLAB实现
1.K-均值聚类法的概述 之前在参加数学建模的过程中用到过这种聚类方法,但是当时只是简单知道了在matlab中如何调用工具箱进行聚类,并不是特别清楚它的原理.最近因为在学模式识别,又重新接触了这 ...
- bootstrap && bagging && 决策树 && 随机森林
看了一篇介绍这几个概念的文章,整理一点点笔记在这里,原文链接: https://machinelearningmastery.com/bagging-and-random-forest-ensembl ...
- 决策树&随机森林
参考链接: https://www.bilibili.com/video/av26086646/?p=8 <统计学习方法> 一.决策树算法: 1.训练阶段(决策树学习),也就是说:怎么样构 ...
- 基于改进人工蜂群算法的K均值聚类算法(附MATLAB版源代码)
其实一直以来也没有准备在园子里发这样的文章,相对来说,算法改进放在园子里还是会稍稍显得格格不入.但是最近邮箱收到的几封邮件让我觉得有必要通过我的博客把过去做过的东西分享出去更给更多需要的人.从论文刊登 ...
- scikit-learn机器学习(四)使用决策树做分类,并画出决策树,随机森林对比
数据来自 UCI 数据集 匹马印第安人糖尿病数据集 载入数据 # -*- coding: utf-8 -*- import pandas as pd import matplotlib matplot ...
- sklearn_随机森林random forest原理_乳腺癌分类器建模(推荐AAA)
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
随机推荐
- PHP常见设计模式
简单工厂 <?php # 简单工厂 abstract class mycoach { public function __construct(){} } class cultivatecpc e ...
- 【Android-布局复用】 多个界面复用一个布局文件(二)
多个界面复用一个布局界面 ,如何找到复用布局文件中的控件的id? 举个栗子: 1. layout_common.xml 复用的布局文件,如何找到button 的id? <?xml versio ...
- BZOJ 1867 [Noi1999]钉子和小球 DP
想状态和钉子的位置如何匹配想了半天...后来发现不是一样的吗$qwq$ 思路:当然是$DP$啦 提交:>5次(以为无故$RE$,实则是先乘后除爆了$long\space long$) 题解: 若 ...
- SQL Update多表联合更新的方法
SQL Update多表联合更新的方法 (1) sqlite 多表更新方法 update t1 set col1=t2.col1 from table1 t1 inner join table2 t2 ...
- Laravel 多态关联中利用关联表相关字段进行排序的问题
1 目标 1.1 在 Laravel 项目的开发中,多态的需求很常见,按多态关联进行排序的需求也是必须的. 1.2 请想像,我们有一个需求,荣誉栏目多态关联一个档案模型,要求在荣誉中按档案的推荐时间进 ...
- 【8.27-模拟赛】remove
题解: 代码: #include<iostream> #include<algorithm> #include<cstdio> #include<cstrin ...
- 标准输入输出(C++)
输入输出流函数(模板) #include<iostream> #include<iomanip> using namespace std; int main() { cout ...
- nginx实现动静分离的负载均衡集群
实战: 一.源码编译安装nginx [root@tiandong63 ~]#yum groupinstall "Development Tools" "Developme ...
- 白鹭引擎EUI做H5活动 巩固篇
项目目录 上面这张图片是项目的目录结构,咋们一点一点来讲解: .wing:包括 Egret 项目的任务配置文件和启动配置文件. wingProperties.json:Egret Wing 项目配置文 ...
- 【洛谷2050】 [NOI2012]美食节(费用流)
大家可以先看这道题目再做! SCOI2007修车 传送门 洛谷 Solution 就和上面那道题目一样的套路,但是发现你会获得60~80分的好成绩!!! 考虑优化,因为是SPFA,所以每一次只会走最短 ...