资源简介
数据挖掘的代码是用C++写的,包含了三个算法 k-means ,CURE,DBSCAN,分别对三个数据集做处理,分别为小麦种子,股票数据,糖尿病患者。另外还有其他两个算法,代码在cplusplus文件里面,但是没有用于数据分析,有需要可以自己加。资料里面还包含了我的实验报告,结合了weka进行预处理。另外还有可执行文件,该目录下的其他文件是预处理后的数据,删除后就不能执行。
仅供参考。
代码片段和文件信息
/***************************************************************************
Module Name:
Continuous Observation Hidden Markov Model with Gaussian Mixture
History:
2003/12/13 Fei Wang
2013 luxiaoxun
***************************************************************************/
#include
#include
#include
#include
#include
#include “CHMM.h“
using namespace std;
CHMM::CHMM(int stateNum int dimNum int mixNum)
{
m_stateNum = stateNum;
m_maxIterNum = 100;
m_endError = 0.001;
Allocate(stateNum dimNum mixNum);
for (int i = 0; i < m_stateNum; i++)
{
// The initial probabilities
m_stateInit[i] = 1.0 / m_stateNum;
// The transition probabilities
for (int j = 0; j <= m_stateNum; j++)
{
m_stateTran[i][j] = 1.0 / (m_stateNum + 1);
}
}
}
CHMM::~CHMM()
{
Dispose();
}
void CHMM::Allocate(int state int dim int mix)
{
m_stateModel = new GMM*[state];
m_stateInit = new double[state];
m_stateTran = new double*[state];
for (int i = 0; i < state; i++)
{
m_stateModel[i] = new GMM(dim mix);
m_stateTran[i] = new double[state + 1]; // Add a final state
}
}
void CHMM::Dispose()
{
for (int i = 0; i < m_stateNum; i++)
{
delete m_stateModel[i];
delete[] m_stateTran[i];
}
delete[] m_stateModel;
delete[] m_stateTran;
delete[] m_stateInit;
}
void CHMM::Zero()
{
for (int i = 0; i < m_stateNum; i++)
{
// The initial probabilities
m_stateInit[i] = 0;
// The transition probabilities
for (int j = 0; j < m_stateNum + 1; j++)
{
m_stateTran[i][j] = 0;
}
}
}
void CHMM::Norm()
{
double count = 0;
int ij;
for ( j = 0; j < m_stateNum; j++)
{
count += m_stateInit[j];
}
for ( j = 0; j < m_stateNum; j++)
{
m_stateInit[j] /= count;
}
for (i = 0; i < m_stateNum; i++)
{
count = 0;
for ( j = 0; j < m_stateNum; j++)
{
count += m_stateTran[i][j];
}
if (count > 0)
{
for ( j = 0; j < m_stateNum + 1; j++)
{
m_stateTran[i][j] /= count;
}
}
}
}
double CHMM::GetStateInit(int i)
{
assert(i >= 0 && i < m_stateNum);
return m_stateInit[i];
}
double CHMM::GetStateFinal(int i)
{
assert(i >= 0 && i < m_stateNum);
return m_stateTran[i][m_stateNum];
}
double CHMM::GetStateTrans(int i int j)
{
assert(i >= 0 && i < m_stateNum && j >= 0 && j < m_stateNum);
return m_stateTran[i][j];
}
GMM* CHMM::GetStateModel(int i)
{
assert(i >= 0 && i < m_stateNum);
return m_stateModel[i];
}
double CHMM::GetProbability(std::vector& seq)
{
vector state;
return Decode(seq state);
}
//Viterbi Decode
//vector state: save the best state seqence to generate the seq
double CHMM::Decode(vector& seq vector& state)
{
// Viterbi
int size = (int)seq.size();
double* lastLogP = new double[m_stateNum];
double* currLogP = new double[m_stateNum];
int** path = new int*[size
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-11-25 19:38 cplusplus\
目录 0 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\
目录 0 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\
文件 23 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\HEAD
文件 310 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\config
文件 73 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\desc
目录 0 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\hooks\
文件 478 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\hooks\applypatch-msg.sample
文件 896 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\hooks\commit-msg.sample
文件 189 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\hooks\post-update.sample
文件 424 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\hooks\pre-applypatch.sample
文件 1642 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\hooks\pre-commit.sample
文件 1348 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\hooks\pre-push.sample
文件 4951 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\hooks\pre-reba
文件 1239 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\hooks\prepare-commit-msg.sample
文件 3610 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\hooks\update.sample
文件 810 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\index
目录 0 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\info\
文件 240 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\info\exclude
目录 0 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\logs\
文件 187 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\logs\HEAD
目录 0 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\logs\refs\
目录 0 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\logs\refs\heads\
文件 187 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\logs\refs\heads\master
目录 0 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\logs\refs\remotes\
目录 0 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\logs\refs\remotes\origin\
文件 187 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\logs\refs\remotes\origin\HEAD
目录 0 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\ob
目录 0 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\ob
文件 3075 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\ob
目录 0 2018-11-25 19:37 cplusplus\KMeans-GMM-HMM\.git\ob
............此处省略198个文件信息
相关资源
- K-Means聚类分析算法C语言实现
- Opencv cvKmeans2进行灰度图像和彩色图像
- 用C++实现DBSCAN聚类算法
- 聚类分析ISODATA,C代码
- FCM_S聚类图像分割程序
- 模糊c均值聚类+FCM算法的c++代码
- K-means聚类算法c语言实现支持任意维数
- 基于聚类的医学图像分割法
- C++实现Apriori算法,频繁模式数据挖掘
- 复杂网络聚类系数最短路径平均长度
- 数据挖掘FP树算法实现C++
- fpmax*源代码 c语言实现
- k-means多维数据聚类
- c++写的马尔科夫聚类算法MCL
- 数据挖掘中的Apriori算法(C语言版)
- 层次聚类算法C++
- FLICM聚类算法C语言
- vc6.0编写的SOM神经网络聚类
- 数据挖掘中的Apriori算法(C语言版)源
- 自己写的Apriori算法c++实现
- Iris数据集的KNN算法实现
- 贝叶斯分类算法C++实现
- k均值聚类算法
- FP-TREE算法 C++实现
- Em算法实现聚类(VC++实现)
- K-means聚类算法的C++实现
- DBSCAN聚类算法C++代码实现
- 聚类算法DBScanC++实现代码及简单
- tfidf 采用TFIDF自动对文本进行形式化
- c++ 图片分类(特征聚类)
评论
共有 条评论