资源简介
数据挖掘算法
算法目录
18大DM算法
包名 目录名 算法名
AssociationAnalysis DataMining_Apriori Apriori-关联规则挖掘算法
AssociationAnalysis DataMining_FPTree FPTree-频繁模式树算法
BaggingAndBoosting DataMining_AdaBoost AdaBoost-装袋提升算法
Classification DataMining_CART CART-分类回归树算法
Classification DataMining_ID3 ID3-决策树分类算法
Classification DataMining_KNN KNN-k最近邻算法工具类
Classification DataMining_NaiveBayes NaiveBayes-朴素贝叶斯算法
Clustering DataMining_BIRCH BIRCH-层次聚类算法
Clustering DataMining_KMeans KMeans-K均值算法
GraphMining DataMining_GSpan GSpan-频繁子图挖掘算法
IntegratedMining DataMining_CBA CBA-基于关联规则的分类算法
LinkMining DataMining_HITS HITS-链接分析算法
LinkMining DataMining_PageRank PageRank-网页重要性/排名算法
RoughSets DataMining_RoughSets RoughSets-粗糙集属性约简算法
SequentialPatterns DataMining_GSP GSP-序列模式分析算法
SequentialPatterns DataMining_PrefixSpan PrefixSpan-序列模式分析算法
StatisticalLearning DataMining_EM EM-期望最大化算法
StatisticalLearning DataMining_SVM SVM-支持向量机算法
其他经典DM算法
包名 目录名 算法名
Others DataMining_ACO ACO-蚁群算法
Others DataMining_BayesNetwork BayesNetwork-贝叶斯网络算法
Others DataMining_CABDDCC CABDDCC-基于连通图的分裂聚类算法
Others DataMining_Chameleon Chameleon-两阶段合并聚类算法
Others DataMining_DBSCAN DBSCAN-基于密度的聚类算法
Others DataMining_GA GA-遗传算法
Others DataMining_GA_Maze GA_Maze-遗传算法在走迷宫游戏中的应用算法
Others DataMining_KDTree KDTree-k维空间关键数据检索算法工具类
Others DataMining_MSApriori MSApriori-基于多支持度的Apriori算法
Others DataMining_RandomForest RandomForest-随机森林算法
Others DataMining_TAN TAN-树型朴素贝叶斯算法
Others DataMining_Viterbi Viterbi-维特比算法
18大经典DM算法
18大数据挖掘的经典算法以及代码实现,涉及到了决策分类,聚类,链接挖掘,关联挖掘,模式挖掘等等方面,后面都是相应算法的博文链接,希望能够帮助大家学。 目前追加了其他的一些经典的DM算法,在others的包中涉及聚类,分类,图算法,搜索算等等,没有具体分类。
C4.5
C4.5算法与ID3算法一样,都是数学分类算法,C4.5算法是ID3算法的一个改进。ID3算法采用信息增益进行决策判断,而C4.5采用的是增益率。详细介绍链接
CART
CART算法的全称是分类回归树算法,他是一个二元分类,采用的是类似于熵的基尼指数作为分类决策,形成决策树后之后还要进行剪枝,我自己在实现整个算法的时候采用的是代价复杂度算法,详细介绍链接
KNN
K最近邻算法。给定一些已经训练好的数据,输入一个新的测试数据点,计算包含于此测试数据点的最近的点的分类情况,哪个分类的类型占多数,则此测试点的分类与此相同,所以在这里,有的时候可以复制不同的分类点不同的权重。近的点的权重大点,远的点自然就小点。详细介绍链接
Naive Bayes
朴素贝叶斯算法。朴素贝叶斯算法是贝叶斯算法里面一种比较简单的分类算法,用到了一个比较重要的贝叶斯定理,用一句简单的话概括就是条件概率的相互转换推导
代码片段和文件信息
package DataMining_Apriori;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
/**
* apriori算法工具类
*
* @author lyq
*
*/
public class AprioriTool {
// 最小支持度计数
private int minSupportCount;
// 测试数据文件地址
private String filePath;
// 每个事务中的商品ID
private ArrayList totalGoodsIDs;
// 过程中计算出来的所有频繁项集列表
private ArrayList resultItem;
// 过程中计算出来频繁项集的ID集合
private ArrayList resultItemID;
public AprioriTool(String filePath int minSupportCount) {
this.filePath = filePath;
this.minSupportCount = minSupportCount;
readDataFile();
}
/**
* 从文件中读取数据
*/
private void readDataFile() {
File file = new File(filePath);
ArrayList dataArray = new ArrayList();
try {
BufferedReader in = new BufferedReader(new FileReader(file));
String str;
String[] tempArray;
while ((str = in.readLine()) != null) {
tempArray = str.split(“ “);
dataArray.add(tempArray);
}
in.close();
} catch (IOException e) {
e.getStackTrace();
}
String[] temp = null;
totalGoodsIDs = new ArrayList<>();
for (String[] array : dataArray) {
temp = new String[array.length - 1];
System.arraycopy(array 1 temp 0 array.length - 1);
// 将事务ID加入列表吧中
totalGoodsIDs.add(temp);
}
}
/**
* 判读字符数组array2是否包含于数组array1中
*
* @param array1
* @param array2
* @return
*/
public boolean iSStrContain(String[] array1 String[] array2) {
if (array1 == null || array2 == null) {
return false;
}
boolean iSContain = false;
for (String s : array2) {
// 新的字母比较时,重新初始化变量
iSContain = false;
// 判读array2中每个字符,只要包括在array1中 ,就算包含
for (String s2 : array1) {
if (s.equals(s2)) {
iSContain = true;
break;
}
}
// 如果已经判断出不包含了,则直接中断循环
if (!iSContain) {
break;
}
}
return iSContain;
}
/**
* 项集进行连接运算
*/
private void computelink() {
// 连接计算的终止数,k项集必须算到k-1子项集为止
int endNum = 0;
// 当前已经进行连接运算到几项集开始时就是1项集
int currentNum = 1;
// 商品,1频繁项集映射图
HashMap itemMap = new HashMap<>();
FrequentItem tempItem;
// 初始列表
ArrayList list = new ArrayList<>();
// 经过连接运算后产生的结果项集
resultItem = new ArrayList<>();
resultItemID = new ArrayList<>();
// 商品ID的种类
ArrayList idType = new ArrayList<>();
for (String[] a : totalGoodsIDs) {
for (String s : a) {
if (!idType.contains(s)) {
tempItem = new FrequentItem(new String[] { s } 1);
idType.add(s);
resultItemID.add(new String[] { s });
} else {
// 支持度计数加1
tempItem = itemMap.get(s);
tempItem.setCount(tempItem.getCount() + 1);
}
itemMap.put(s tempItem);
}
}
// 将初始频繁项集转入到列表中,以便继续做连接运算
for (Map.Entry entry : itemMap.entrySet()) {
list.add((FrequentItem) entry.getValue());
}
// 按照商品ID进行排序,否则连接计
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-08-02 06:36 DataMiningAlgorithm-master\
文件 483 2015-08-02 06:36 DataMiningAlgorithm-master\.gitattributes
文件 606 2015-08-02 06:36 DataMiningAlgorithm-master\.gitignore
目录 0 2015-08-02 06:36 DataMiningAlgorithm-master\AssociationAnalysis\
目录 0 2015-08-02 06:36 DataMiningAlgorithm-master\AssociationAnalysis\DataMining_Apriori\
文件 10208 2015-08-02 06:36 DataMiningAlgorithm-master\AssociationAnalysis\DataMining_Apriori\AprioriTool.java
文件 307 2015-08-02 06:36 DataMiningAlgorithm-master\AssociationAnalysis\DataMining_Apriori\Client.java
文件 1014 2015-08-02 06:36 DataMiningAlgorithm-master\AssociationAnalysis\DataMining_Apriori\FrequentItem.java
文件 72 2015-08-02 06:36 DataMiningAlgorithm-master\AssociationAnalysis\DataMining_Apriori\testInput.txt
目录 0 2015-08-02 06:36 DataMiningAlgorithm-master\AssociationAnalysis\DataMining_FPTree\
文件 354 2015-08-02 06:36 DataMiningAlgorithm-master\AssociationAnalysis\DataMining_FPTree\Client.java
文件 10964 2015-08-02 06:36 DataMiningAlgorithm-master\AssociationAnalysis\DataMining_FPTree\FPTreeTool.java
文件 1553 2015-08-02 06:36 DataMiningAlgorithm-master\AssociationAnalysis\DataMining_FPTree\TreeNode.java
文件 72 2015-08-02 06:36 DataMiningAlgorithm-master\AssociationAnalysis\DataMining_FPTree\testInput.txt
目录 0 2015-08-02 06:36 DataMiningAlgorithm-master\BaggingAndBoosting\
目录 0 2015-08-02 06:36 DataMiningAlgorithm-master\BaggingAndBoosting\DataMining_AdaBoost\
文件 7231 2015-08-02 06:36 DataMiningAlgorithm-master\BaggingAndBoosting\DataMining_AdaBoost\AdaBoostTool.java
文件 348 2015-08-02 06:36 DataMiningAlgorithm-master\BaggingAndBoosting\DataMining_AdaBoost\Client.java
文件 1016 2015-08-02 06:36 DataMiningAlgorithm-master\BaggingAndBoosting\DataMining_AdaBoost\Point.java
文件 65 2015-08-02 06:36 DataMiningAlgorithm-master\BaggingAndBoosting\DataMining_AdaBoost\input.txt
目录 0 2015-08-02 06:36 DataMiningAlgorithm-master\Classification\
目录 0 2015-08-02 06:36 DataMiningAlgorithm-master\Classification\DataMining_CART\
文件 1443 2015-08-02 06:36 DataMiningAlgorithm-master\Classification\DataMining_CART\AttrNode.java
文件 13879 2015-08-02 06:36 DataMiningAlgorithm-master\Classification\DataMining_CART\CARTTool.java
文件 234 2015-08-02 06:36 DataMiningAlgorithm-master\Classification\DataMining_CART\Client.java
文件 468 2015-08-02 06:36 DataMiningAlgorithm-master\Classification\DataMining_CART\input.txt
目录 0 2015-08-02 06:36 DataMiningAlgorithm-master\Classification\DataMining_ID3\
文件 995 2015-08-02 06:36 DataMiningAlgorithm-master\Classification\DataMining_ID3\AttrNode.java
文件 287 2015-08-02 06:36 DataMiningAlgorithm-master\Classification\DataMining_ID3\Client.java
文件 214 2015-08-02 06:36 DataMiningAlgorithm-master\Classification\DataMining_ID3\DataNode.java
文件 11441 2015-08-02 06:36 DataMiningAlgorithm-master\Classification\DataMining_ID3\ID3Tool.java
............此处省略164个文件信息
- 上一篇:石材仿形机程序
- 下一篇:QT编的MP3播放器
相关资源
- Introduction to Algorithms - A Creative Approa
- 基于决策树和朴素贝叶斯算法对Adul
- 哈尔滨工业大学深圳 数据挖掘 2017 考
- 微电网PSO优化算法
- 暗原色单幅去雾改进算法
- 算法竞赛入门经典 第2版刘汝佳+高清
- 北大林宙辰:机器学习一阶算法的优
- 基于概率神经网络的图匹配算法研究
- 遗传算法论文11篇
- 德州扑克DeepStack算法.pdf
- ForceAtlas2图布局算法
- 基于遗传算法的立体车库车位调度研
- 稀疏表示SRC算法
- HMM算法第四种实现代码
- SM2国密算法实现基于mircal的实现
- 指数平滑算法
- 操作系统课程设计 银行家算法论文
- 电子科大2018肖鸣宇算法分析与设计真
- 算法导论(第2版)Introduction to Algor
- 程序员的数学1+2+3 数学思维+概率统计
- 基于神经网络的身份证号码识别算法
- 磁盘调度算法的实现与对比
- 采用TVAL_3算法
- ADAS算法设计五:ACC算法设计.zip
- 长整数的代数计算 算法
- 机器学习方法R实现-用决策树、神经网
- SSD目标检测算法论文-英文原版
- 七月学习--数据挖掘基础
- Raft算法论文
- 轨迹数据挖掘各种行为
评论
共有 条评论