数据挖掘18大算法实现以及其他相关经典DM算法:决策分类,聚类,链接挖掘,关联挖掘,模式挖掘、图算法,搜索算法等

news2024/9/25 9:28:42

在这里插入图片描述
【机器学习入门与实践】入门必看系列,含数据挖掘项目实战:模型融合、特征优化、特征降维、探索性分析等,实战带你掌握机器学习数据挖掘

在这里插入图片描述
专栏详细介绍:【机器学习入门与实践】合集入门必看系列,含数据挖掘项目实战:数据融合、特征优化、特征降维、探索性分析等,实战带你掌握机器学习数据挖掘。

本专栏主要方便入门同学快速掌握相关知识。声明:部分项目为网络经典项目方便大家快速学习,后续会不断增添实战环节(比赛、论文、现实应用等)

专栏订阅:数据挖掘-机器学习专栏

主要讲解了数据探索性分析:查看变量间相关性以及找出关键变量;数据特征工程对数据精进:异常值处理、归一化处理以及特征降维;在进行归回模型训练涉及主流ML模型:决策树、随机森林,lightgbm等。同时重丶讲解模型验证、特征优化、模型融合等。

数据挖掘18大算法实现以及其他相关经典DM算法:决策分类,聚类,链接挖掘,关联挖掘,模式挖掘、图算法,搜索算法等

码源链接见文末 or 文章顶部

1.十八大DM算法目录

包名目录名算法名
AssociationAnalysisDataMining_AprioriApriori-关联规则挖掘算法
AssociationAnalysisDataMining_FPTreeFPTree-频繁模式树算法
BaggingAndBoostingDataMining_AdaBoostAdaBoost-装袋提升算法
ClassificationDataMining_CARTCART-分类回归树算法
ClassificationDataMining_ID3ID3-决策树分类算法
ClassificationDataMining_KNNKNN-k最近邻算法工具类
ClassificationDataMining_NaiveBayesNaiveBayes-朴素贝叶斯算法
ClusteringDataMining_BIRCHBIRCH-层次聚类算法
ClusteringDataMining_KMeansKMeans-K均值算法
GraphMiningDataMining_GSpanGSpan-频繁子图挖掘算法
IntegratedMiningDataMining_CBACBA-基于关联规则的分类算法
LinkMiningDataMining_HITSHITS-链接分析算法
LinkMiningDataMining_PageRankPageRank-网页重要性/排名算法
RoughSetsDataMining_RoughSetsRoughSets-粗糙集属性约简算法
SequentialPatternsDataMining_GSPGSP-序列模式分析算法
SequentialPatternsDataMining_PrefixSpanPrefixSpan-序列模式分析算法
StatisticalLearningDataMining_EMEM-期望最大化算法
StatisticalLearningDataMining_SVMSVM-支持向量机算法

2.其他经典DM算法

包名目录名算法名
OthersDataMining_ACOACO-蚁群算法
OthersDataMining_BayesNetworkBayesNetwork-贝叶斯网络算法
OthersDataMining_CABDDCCCABDDCC-基于连通图的分裂聚类算法
OthersDataMining_ChameleonChameleon-两阶段合并聚类算法
OthersDataMining_DBSCANDBSCAN-基于密度的聚类算法
OthersDataMining_GAGA-遗传算法
OthersDataMining_GA_MazeGA_Maze-遗传算法在走迷宫游戏中的应用算法
OthersDataMining_KDTreeKDTree-k维空间关键数据检索算法工具类
OthersDataMining_MSAprioriMSApriori-基于多支持度的Apriori算法
OthersDataMining_RandomForestRandomForest-随机森林算法
OthersDataMining_TANTAN-树型朴素贝叶斯算法
OthersDataMining_ViterbiViterbi-维特比算法

3.十八大经典DM算法详解

18大数据挖掘的经典算法以及代码实现,涉及到了决策分类,聚类,链接挖掘,关联挖掘,模式挖掘等等方面,后面都是相应算法的博文链接,希望能够帮助大家学。
目前追加了其他的一些经典的DM算法,在others的包中涉及聚类,分类,图算法,搜索算等等,没有具体分类。

  • C4.5

C4.5算法与ID3算法一样,都是数学分类算法,C4.5算法是ID3算法的一个改进。ID3算法采用信息增益进行决策判断,而C4.5采用的是增益率。详细介绍链接

  • CART

CART算法的全称是分类回归树算法,他是一个二元分类,采用的是类似于熵的基尼指数作为分类决策,形成决策树后之后还要进行剪枝,我自己在实现整个算法的时候采用的是代价复杂度算法,详细介绍链接

  • KNN

K最近邻算法。给定一些已经训练好的数据,输入一个新的测试数据点,计算包含于此测试数据点的最近的点的分类情况,哪个分类的类型占多数,则此测试点的分类与此相同,所以在这里,有的时候可以复制不同的分类点不同的权重。近的点的权重大点,远的点自然就小点。详细介绍链接

  • Naive Bayes

朴素贝叶斯算法。朴素贝叶斯算法是贝叶斯算法里面一种比较简单的分类算法,用到了一个比较重要的贝叶斯定理,用一句简单的话概括就是条件概率的相互转换推导。详细介绍链接

  • SVM

支持向量机算法。支持向量机算法是一种对线性和非线性数据进行分类的方法,非线性数据进行分类的时候可以通过核函数转为线性的情况再处理。其中的一个关键的步骤是搜索最大边缘超平面。详细介绍链接

  • EM

期望最大化算法。期望最大化算法,可以拆分为2个算法,1个E-Step期望化步骤,和1个M-Step最大化步骤。他是一种算法框架,在每次计算结果之后,逼近统计模型参数的最大似然或最大后验估计。详细介绍链接

  • Apriori

Apriori算法是关联规则挖掘算法,通过连接和剪枝运算挖掘出频繁项集,然后根据频繁项集得到关联规则,关联规则的导出需要满足最小置信度的要求。详细介绍链接

  • FP-Tree

频繁模式树算法。这个算法也有被称为FP-growth算法,这个算法克服了Apriori算法的产生过多侯选集的缺点,通过递归的产生频度模式树,然后对树进行挖掘,后面的过程与Apriori算法一致。详细介绍链接

  • PageRank

网页重要性/排名算法。PageRank算法最早产生于Google,核心思想是通过网页的入链数作为一个网页好快的判定标准,如果1个网页内部包含了多个指向外部的链接,则PR值将会被均分,PageRank算法也会遭到LinkSpan攻击。详细介绍链接

  • HITS

HITS算法是另外一个链接算法,部分原理与PageRank算法是比较相似的,HITS算法引入了权威值和中心值的概念,HITS算法是受用户查询条件影响的,他一般用于小规模的数据链接分析,也更容易遭受到攻击。详细介绍链接

  • K-Means

K-Means算法是聚类算法,k在在这里指的是分类的类型数,所以在开始设定的时候非常关键,算法的原理是首先假定k个分类点,然后根据欧式距离计算分类,然后去同分类的均值作为新的聚簇中心,循环操作直到收敛。详细介绍链接

  • BIRCH

BIRCH算法利用构建CF聚类特征树作为算法的核心,通过树的形式,BIRCH算法扫描数据库,在内存中建立一棵初始的CF-树,可以看做数据的多层压缩。详细介绍链接

  • AdaBoost

AdaBoost算法是一种提升算法,通过对数据的多次训练得到多个互补的分类器,然后组合多个分类器,构成一个更加准确的分类器。详细介绍链接

  • GSP

GSP算法是序列模式挖掘算法。GSP算法也是Apriori类算法,在算法的过程中也会进行连接和剪枝操作,不过在剪枝判断的时候还加上了一些时间上的约束等条件。详细介绍链接

  • PreFixSpan

PreFixSpan算法是另一个序列模式挖掘算法,在算法的过程中不会产生候选集,给定初始前缀模式,不断的通过后缀模式中的元素转到前缀模式中,而不断的递归挖掘下去。详细介绍链接

  • CBA

基于关联规则分类算法。CBA算法是一种集成挖掘算法,因为他是建立在关联规则挖掘算法之上的,在已有的关联规则理论前提下,做分类判断,只是在算法的开始时对数据做处理,变成类似于事务的形式。详细介绍链接

  • RoughSets

粗糙集算法。粗糙集理论是一个比较新颖的数据挖掘思想。这里使用的是用粗糙集进行属性约简的算法,通过上下近似集的判断删除无效的属性,进行规制的输出。详细介绍链接

  • GSpan

gSpan算法属于图挖掘算法领域。,主要用于频繁子图的挖掘,相较于其他的图算法,子图挖掘算法是他们的一个前提或基础算法。gSpan算法用到了DFS编码,和Edge五元组,最右路径子图扩展等概念,算法比较的抽象和复杂。详细介绍链接

4.Others目录下的算法详解:

  • GA

遗传算法。遗传算法运用了生物进化理论的知识来寻找问题最优解的算法,算法的遗传进化过程分选择,交叉和变异操作,其中选择操是非常关键的步骤,把更适应的基于组遗传给下一代。详细介绍链接

  • DbScan

基于空间密度聚类算法。dbScan作为一种特殊聚类算法,弥补了其他算法的一些不足,基于空间密,实现聚类效果,可以发现任意形状的聚簇。详细介绍链接

  • GA_Maze

遗传算法在走迷宫游戏中的应用。将走迷宫中的搜索出口路径的问题转化为遗传算法中的问题通过构造针对此特定问题的适值函数,基因移动方向的定位,巧的进行问题的求解。详细介绍链接

  • CABDDCC

基于连通图的分裂聚类算法。也是属于层次聚类算法主要分为2个阶段,第一阶段构造连通图。第二个阶段是分裂连通图,最终形成聚类结果。详细介绍链接

  • Chameleon

两阶段聚类算法。与CABDDCC算法相反,最后是通过对小簇集合的合并,形成最终的结果,在第一阶段主要是通过K近邻的思想形成小规模的连通图,第二阶段通过RI(相对互连性)和RC(相对近似性)来选一个最佳的簇进行合并。详细介绍链接

  • RandomForest

随机森林算法。算法思想是决策树+boosting.决策树采用的是CART分类回归数,通过组合各个决策树的弱分类器,构成一个最终的强分类器,在构造决策树的时候采取随机数量的样本数和随机的部分属性进行子决策树的构建,避免了过分拟合的现象发生。详细介绍链接

  • KDTree

K-Dimension Tree。多维空间划分树,数据在多维空间进行划分与查找。主要用于关键信息的搜索,类似于在空间中的二分搜索,大大提高了搜索效率,在寻找目标元素时,使用了DFS深度优先的方式和回溯进行最近点的寻找。详细介绍链接

  • MS-Apriori

基于多支持度的Apriori算法。是Apriori算法的升级算法,弥补了原先Apriori算法的不足,还增加了支持度差别限制以及支持度计数统计方面的优化,无须再次重新扫描整个数据集,产生关联规则的时候可以根据子集的关系避免一些置信度的计算。详细介绍链接

  • ACO

蚁群算法。蚁群算法又称为蚂蚁算法。同GA遗传算法类似,也是运用了大自然规律的算法,用于在图中寻找最优路径的概率型算法。灵感来源于蚂蚁在寻找食物时会散播信息素的发现路径行为。详细介绍链接

  • BayesNetwork

贝叶斯网络算法。弥补了朴素贝叶斯算法中必须要事件独立性的缺点,利用了贝叶斯网络的DAG有向无环图,允许各个事件保留一定的依赖关系,网络结构中的每个节点代表一种属性,边代表相应的条件概率值,通过计算从而能得到精准的分类效果。详细介绍链接

  • TAN

树型朴素贝叶斯算法。此算法又被称为加强版朴素贝叶斯算法。在满足原有朴素贝叶斯条件的基础上,他允许部条件属性直接的关联性。形成树型的结构。详细介绍链接

  • Viterbi

维特比算法。给定一个隐马尔科夫模型以及一个观察序列,求出潜在的状态序列信息,每个潜在状态信息又会受到前一个状态信息的影响。

5.算法使用方法

在每个算法中给出了3大类型,主算法程序,调用程序,输入数据,调用方法如下:

  • 将需要数据的测试数据转化成与给定的输入格式相同
  • 然后以Client类的测试程序调用方式进行使用。
  • 也可以自行修改算法程序,来适用于自己的使用场景

码源链接见文末 or 文章顶部

如果无法下载,过几天在来试试,应该在审核中

下载链接:

https://download.csdn.net/download/sinat_39620217/87990416

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/712846.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TiDB(1):TiDB简介

1 从MySQL到TiDB 1.1 场景引入 假设现在有一个高速发展的互联网公司,核心业务库MySQL的数据量已经近亿行,且还在不断增长中,公司对于数据资产较为重视,所有数据要求多副本保存至少5年,且除了有对历史数据进行统计分析的离线报表业务外,还有一些针对用户数据实时查询的需求,如用…

软件测试技能,JMeter压力测试教程,签名sign(BeanShell 预处理程序)(二十)

前言 一般公司对外的接口都会用到sign签名,对不同的客户提供不同的apikey ,这样可以提高接口请求的安全性,避免被人抓包后乱请求 之前讲过用python代码实现sign签名,这次介绍jmeter上如何实现sign签名,思路都是差不多的 一、si…

Java框架之springboot基础

写在前面 本文看下springboot相关的基础内容。 1:从spring到springboot 在工作中,如果是我们想要引入某个框架,比如引入springMVC,就需要在web.xml中配置DispatcherServlet,在springmvc的配置文件中配置视图解析器等…

App自动化测试|Appium+Python自动化测试环境搭建

windows下搭建pythonappium环境 搭建过程步骤如下: 安装jdk并配置好环境变量(jdk版本1.8以上)安装android-sdk并配置好环境变量;具体步骤见:Android Studio安装(推荐使用这种方法安装SDK) - 环境配置 - 测试人社区安…

ASEMI代理海矽美SFP3012, 快恢复二极管SFP3012参数

编辑-Z SFP3012参数描述: 型号:SFP3012 最大反向重复峰值电压VRRM:1200V 平均整流正向电流IF:30A 反向恢复时间TRR:≤65nS 正向峰值浪涌电流IFSM:1602A 工作接点温度TJ:-40~1…

【数据挖掘】时间序列教程【七】

4.3 分布式滞后模型 考虑响应时间序列 y t 和输入(或“曝光”)时间序列 X t 。可能还有其他值得考虑的协变量,我们暂时忽略它们并在下一节中讨论它们的包含情况。我们将考虑以下形式的模型 在哪里 ε 表示独立同分布噪声过程。在连续时间设置中,该模型可以写为: …

VS上配置docker步骤记录

1:VS里安装Remote Development 2:运行 sudo usermod -aG docker $USER。#将当前用户添加到docker用户组中 sudo newgrp docker#更新,运行这个切到了root用户,获取权限 docker ps #列出正在运行的容器。它会显示容器的相关信息,如容器ID、镜像名称、创建时间、状态…

Linux 用户名称高亮和最近路径显示

1、通常情况下,Linux中的路径名称会不断叠加显示,如下图,这样看起来会很长。 2、为了设置路径只是当前最近的文件路径,先进入自己的家目录,然后进入.bashrc: 3、在.bashrc文件中的最后一行加入以下内容…

C# int[,] 和 int[,,]

如标题; 在C#中这两个是定义二维和三维数组的;这和C语言的写法不同; C语言定义二维数组是, int a[5][3]; 看下C#的多维数组;输出数组其中一个值; using System;class Program {static void Main(string[…

STM32 Proteus UCOSII系统拔河小游戏LED模拟-0053

STM32 Proteus UCOSII系统拔河小游戏LED模拟-0053 Proteus仿真小实验: STM32 Proteus UCOSII系统拔河小游戏LED模拟-0053 功能: 硬件组成:STM32F103R6单片机 1个选手1按键1个选手2按键1个重新开始按键7个LED灯1个蜂鸣器 1.单片机程序使用…

迷迷糊糊?似懂非懂?一文让你从此对SPI了如指掌

迷迷糊糊?似懂非懂?一文让你从此对SPI了如指掌 前言一、SPI 与 API1. SPI 在生活中的类比2. SPI 在代码上的例子3. API 与 SPI 的关系 二、JAVA 的 SPI 机制1. JAVA 中的 SPI 例子2. SPI 机制的四大组件3. SPI 机制的实现4. JAVA SPI的不足 前言 你是不…

CICD集合(四):Jenkins配置JDK,Maven,Allure报告

在Jenkins上面配置Jdk以及Maven环境 Maven和JDK Allure报告配置 当然配置Allure,得先安装Allure插件:

【Java项目】SpringBoot项目如何从自研配置中心拉取配置

文章目录 前言思路 前言 先简单说一下这个题目的意思是什么。 我们知道,如果我们的项目是SpringCloud的项目,我们是可以把我们的本地配置写到云端的的配置中心的,比如集成SpringCloud Alibaba,你就可以使用Nacos,然后…

科技云报道:智能化潮起,物联网产业链安全和效率问题何解?

科技云报道原创。 黑灯瞎火的夜。一胖一瘦两个小伙分别拿着平板和手机,在某知名新能源汽车周围鬼鬼祟祟地打转。 不到一分钟的时间,其中的瘦小伙很轻易地就用手机解开了车门锁。另外一名胖小伙,却用了两分钟,花了老大的力气&…

网站建设如何快速建站_网站建设快速建站有哪些方法

网站建设快速建站方法 1、JavaScript 压缩和模块打包 JavaScript 应用是以源码形式进行分发的,而源码解析的效率是要比字节码低的。对于一小段脚本来说,区别可以忽略不计。但是对于更大型的应用,脚本的大小会对应用启动时间有着负面的影响。…

dubbo Sentinet 限流 流控配置 高级 直连 关联 链路 预热冷启动 排队等待 单机 qps 并发 机器总体法制 单机均摊 集群俩种身份

目录 进入配置 单机超过10个限流 Qps 和 并发线程数区别使用思路 集群阈值模式 单机均摊 总体阈值 集群流控中共有两种身份: 高级-流控模式 直连 关联 链路 首先在实现类上加注解 Warm Up 预热冷启动 10秒内完成 100 预热并发效果 效果 排队等待 单…

Linux11.进程等待

1.写时拷贝 :使用fork创建子进程的时候,操作系统使用写时拷贝,类似于浅拷贝和深拷贝,对于只读的数据进行浅拷贝,对于需要写入的数据进行深拷贝。 2.cpu中有一个EIP寄存器,也叫pc指针(程序计数器),永远指向…

【ARM】-数据访问中止异常中断处理程序的返回

文章目录 处理流程示例 处理流程 当发生数据访问中止异常中断时,程序要返回到该有问题的数据指令处,重新访问该数据。因此数据访问中止异常中断程序应该返回到该数据访问中止异常中断的指令处,而不是像前面两种情况下返回到发生中断的指令的…

SpringBoot实战项目整合RabbitMQ+ElaticSearch实现SKU上下架功能

文章目录 前言1、前置条件2、搭建service-search模块3、开发功能接口3.1 添加远程调用方法3.2、创建远程调用模块3.3、开发service-search 模块接口 4、RabbitMQ5、完善SKU管理商品上下架5.1、商品服务5.2、es服务 6、最终测试总结 前言 最终实现效果:针对SKU的上下…

Java基础---String、StringBuilder和StringBuffer的区别

目录 典型回答 String的""是如何实现的 StringBuffer和StringBuilder 不要在for循环中使用拼接字符串 典型回答 本质上都是char[]字符数组的实现在Java9之后,String类的实现改用byte数组存储字符串使用final关键字修饰字符数组来保存字符串&#xff0…