什么是关联规则?如何利用apriori算法在给定的数据mongodb 两个集合关联上找出关联规则

更多公众号:AI_Algorithm分享常见的人工智能算法,每周1~2篇算法相关文章。欢迎关注。最新文章对这篇文章不满意?您可以继续搜索:百度:搜狗:感谢您阅读挖掘关联规则之Apriori算法,本文由网友投稿产生,如果侵犯了您的相关权益,请联系管理员。 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
Apriori算法在安全审计数据分析模型架构上的应用
下载积分:1200
内容提示:Apriori算法在安全审计数据分析模型架构上的应用
文档格式:PDF|
浏览次数:4|
上传日期: 01:57:52|
文档星级:
该用户还上传了这些文档
Apriori算法在安全审计数据分析模型架构上的应用
官方公共微信&                      浅谈数据挖掘中的关联规则挖掘
  数据挖掘是指以某种方式分析数据源,从中发现一些潜在的有用的信息,所以数据挖掘又称作知识发现,而关联规则挖掘则是数据挖掘中的一个很重要的课题,顾名思义,它是从数据背后发现事物之间可能存在的关联或者联系。举个最简单的例子,比如通过调查商场里顾客买的东西发现,30%的顾客会同时购买床单和枕套,而购买床单的人中有80%购买了枕套,这里面就隐藏了一条关联:床单&&枕套,也就是说很大一部分顾客会同时购买床单和枕套,那么对于商场来说,可以把床单和枕套放在同一个购物区,那样就方便顾客进行购物了。下面来讨论一下关联规则中的一些重要概念以及如何从数据中挖掘出关联规则。
一.关联规则挖掘中的几个概念
  先看一个简单的例子,假如有下面数据集,每一组数据ti表示不同的顾客一次在商场购买的商品的集合:
t1: 牛肉、鸡肉、牛奶
t2: 牛肉、奶酪
t3: 奶酪、靴子
t4: 牛肉、鸡肉、奶酪
t5: 牛肉、鸡肉、衣服、奶酪、牛奶
t6: 鸡肉、衣服、牛奶
t7: 鸡肉、牛奶、衣服
  假如有一条规则:牛肉&&鸡肉,那么同时购买牛肉和鸡肉的顾客比例是3/7,而购买牛肉的顾客当中也购买了鸡肉的顾客比例是3/4。这两个比例参数是很重要的衡量指标,它们在关联规则中称作支持度(support)和置信度(confidence)。对于规则:牛肉&&鸡肉,它的支持度为3/7,表示在所有顾客当中有3/7同时购买牛肉和鸡肉,其反应了同时购买牛肉和鸡肉的顾客在所有顾客当中的覆盖范围;它的置信度为3/4,表示在买了牛肉的顾客当中有3/4的人买了鸡肉,其反应了可预测的程度,即顾客买了牛肉的话有多大可能性买鸡肉。其实可以从统计学和集合的角度去看这个问题, 假如看作是概率问题,则可以把&顾客买了牛肉之后又多大可能性买鸡肉&看作是条件概率事件,而从集合的角度去看,可以看下面这幅图:
&&& 上面这副图可以很好地描述这个问题,S表示所有的顾客,而A表示买了牛肉的顾客,B表示买了鸡肉的顾客,C表示既买了牛肉又买了鸡肉的顾客。那么C.count/S.count=3/7,C.count/A.count=3/4。
  在数据挖掘中,例如上述例子中的所有商品集合I={牛肉,鸡肉,牛奶,奶酪,靴子,衣服}称作项目集合,每位顾客一次购买的商品集合ti称为一个事务,所有的事务T={t1,t2,....t7}称作事务集合,并且满足ti是I的真子集。一条关联规则是形如下面的蕴含式:
  X&&Y,X,Y满足:X,Y是I的真子集,并且X和Y的交集为空集
  其中X称为前件,Y称为后件。
  对于规则X&&Y,根据上面的例子可以知道它的支持度(support)=(X,Y).count/T.count,置信度(confidence)=(X,Y).count/X.count&。其中(X,Y).count表示T中同时包含X和Y的事务的个数,X.count表示T中包含X的事务的个数。
  关联规则挖掘则是从事务集合中挖掘出满足支持度和置信度最低阈值要求的所有关联规则,这样的关联规则也称强关联规则。
  对于支持度和置信度,我们需要正确地去看待这两个衡量指标。一条规则的支持度表示这条规则的可能性大小,如果一个规则的支持度很小,则表明它在事务集合中覆盖范围很小,很有可能是偶然发生的;如果置信度很低,则表明很难根据X推出Y。根据条件概率公式P(Y|X)=P(X,Y)/P(X),即P(X,Y)=P(Y|X)*P(X)
  P(Y|X)代表着置信度,P(X,Y)代表着支持度,所以对于任何一条关联规则置信度总是大于等于支持度的。并且当支持度很高时,此时的置信度肯定很高,它所表达的意义就不是那么有用了。这里要注意的是支持度和置信度只是两个参考值而已,并不是绝对的,也就是说假如一条关联规则的支持度和置信度很高时,不代表这个规则之间就一定存在某种关联。举个最简单的例子,假如X和Y是最近的两个比较热门的商品,大家去商场都要买,比如某款手机和某款衣服,都是最新款的,深受大家的喜爱,那么这条关联规则的支持度和置信度都很高,但是它们之间没有必然的联系。然而当置信度很高时,支持度仍然具有参考价值,因为当P(Y|X)很高时,可能P(X)很低,此时P(X,Y)也许会很低。
二.关联规则挖掘的原理和过程
  从上面的分析可知,关联规则挖掘是从事务集合中挖掘出这样的关联规则:它的支持度和置信度大于最低阈值(minsup,minconf),这个阈值是由用户指定的。根据支持度=(X,Y).count/T.count,置信度=(X,Y).count/X.count &,要想找出满足条件的关联规则,首先必须找出这样的集合F=X U&Y ,它满足F.count/T.count&& minsup,其中F.count是T中包含F的事务的个数,然后再从F中找出这样的蕴含式X&&Y,它满足(X,Y).count/X.count&& minconf,并且X=F-Y。我们称像F这样的集合称为频繁项目集,假如F中的元素个数为k,我们称这样的频繁项目集为k-频繁项目集,它是项目集合I的子集。所以关联规则挖掘可以大致分为两步:
  1)从事务集合中找出频繁项目集;
  2)从频繁项目集合中生成满足最低置信度的关联规则。
&  最出名的关联规则挖掘算法是Apriori算法,它主要利用了向下封闭属性:如果一个项集是频繁项目集,那么它的非空子集必定是频繁项目集。它先生成1-频繁项目集,再利用1-频繁项目集生成2-频繁项目集。。。然后根据2-频繁项目集生成3-频繁项目集。。。依次类推,直至生成所有的频繁项目集,然后从频繁项目集中找出符合条件的关联规则。
  下面来讨论一下频繁项目集的生成过程,它的原理是根据k-频繁项目集生成(k+1)-频繁项目集。因此首先要做的是找出1-频繁项目集,这个很容易得到,只要循环扫描一次事务集合统计出项目集合中每个元素的支持度,然后根据设定的支持度阈值进行筛选,即可得到1-频繁项目集。下面证明一下为何可以通过k-频繁项目集生成(k+1)-频繁项目集:
  假设某个项目集S={s1,s2...,sn}是频繁项目集,那么它的(n-1)非空子集{s1,s2,...sn-1},{s1,s2,...sn-2,sn}...{s2,s3,...sn}必定都是频繁项目集,通过观察,任何一个含有n个元素的集合A={a1,a2,...an},它的(n-1)非空子集必行包含两项{a1,a2,...an-2,an-1}和 {a1,a2,...an-2,an},对比这两个子集可以发现,它们的前(n-2)项是相同的,它们的并集就是集合A。对于2-频繁项目集,它的所有1非空子集也必定是频繁项目集,那么根据上面的性质,对于2-频繁项目集中的任一个,在1-频繁项目集中必定存在2个集合的并集与它相同。因此在所有的1-频繁项目集中找出只有最后一项不同的集合,将其合并,即可得到所有的包含2个元素的项目集,得到的这些包含2个元素的项目集不一定都是频繁项目集,所以需要进行剪枝。剪枝的办法是看它的所有1非空子集是否在1-频繁项目集中,如果存在1非空子集不在1-频繁项目集中,则将该2项目集剔除。经过该步骤之后,剩下的则全是频繁项目集,即2-频繁项目集。依次类推,可以生成3-频繁项目集。。直至生成所有的频繁项目集。
  得到频繁项目集之后,则需要从频繁项目集中找出符合条件的关联规则。最简单的办法是:遍历所有的频繁项目集,然后从每个项目集中依次取1、2、...k个元素作为后件,该项目集中的其他元素作为前件,计算该规则的置信度进行筛选即可。这样的穷举效率显然很低。假如对于一个频繁项目集f,可以生成下面这样的关联规则:
  (f-&)&&&
  那么这条规则的置信度=f.count/(f-&).count
  根据这个置信度计算公式可知,对于一个频繁项目集f.count是不变的,而假设该规则是强关联规则,则(f-&sub)&&&sub也是强关联规则,其中&sub是&的子集,因为(f-&sub).count肯定小于(f-&).count。即给定一个频繁项目集f,如果一条强关联规则的后件为&,那么以&的非空子集为后件的关联规则都是强关联规则。所以可以先生成所有的1-后件(后件只有一项)强关联规则,然后再生成2-后件强关联规则,依次类推,直至生成所有的强关联规则。
  下面举例说明Apiori算法的具体流程:
   假如有项目集合I={1,2,3,4,5},有事务集T:
  设定minsup=3/7,misconf=5/7。
  首先:生成频繁项目集:
  1-频繁项目集:{1},{2},{3},{4},{5}
  生成2-频繁项目集:
  根据1-频繁项目集生成所有的包含2个元素的项目集:任意取两个只有最后一个元素不同的1-频繁项目集,求其并集,由于每个1-频繁项目集元素只有一个,所以生成的项目集如下:
  {1,2},{1,3},{1,4},{1,5}
  {2,3},{2,4},{2,5}
  {3,4},{3,5}
  {4,5}
  计算它们的支持度,发现只有{1,2},{1,3},{1,4},{2,3},{2,4},{2,5}的支持度满足要求,因此求得2-频繁项目集:
  {1,2},{1,3},{1,4},{2,3},{2,4}
  生成3-频繁项目集:
  因为{1,2},{1,3},{1,4}除了最后一个元素以外都相同,所以求{1,2},{1,3}的并集得到{1,2,3},&{1,2}和{1,4}的并集得到{1,2,4},{1,3}和{1,4}的并集得到{1,3,4}。但是由于{1,3,4}的子集{3,4}不在2-频繁项目集中,所以需要把{1,3,4}剔除掉。然后再来计算{1,2,3}和{1,2,4}的支持度,发现{1,2,3}的支持度为3/7 ,{1,2,4}的支持度为2/7,所以需要把{1,2,4}剔除。同理可以对{2,3},{2,4}求并集得到{2,3,4} ,但是{2,3,4}的支持度不满足要求,所以需要剔除掉。
  因此得到3-频繁项目集:{1,2,3}。
  到此频繁项目集生成过程结束。注意生成频繁项目集的时候,频繁项目集中的元素个数最大值为事务集中事务中含有的最大元素个数,即若事务集中事务包含的最大元素个数为k,那么最多能生成k-频繁项目集,这个原因很简单,因为事务集合中的所有事务都不包含(k+1)个元素,所以不可能存在(k+1)-频繁项目集。在生成过程中,若得到的频繁项目集个数小于2,生成过程也可以结束了。
  现在需要生成强关联规则:
  这里只说明3-频繁项目集生成关联规则的过程:
  对于集合{1,2,3}
  先生成1-后件的关联规则:
  (1,2)&&3, & 置信度=3/4
  (1,3)&&2, 置信度=3/5
  (2,3)&&1 & & &置信度=3/3
  (1,3)&&2的置信度不满足要求,所以剔除掉。因此得到1后件的集合{1},{3},然后再以{1,3}作为后件
& & & &2&&1,3 & & & 置信度=3/5不满足要求,所以对于3-频繁项目集生成的强关联规则为:(1,2)&&3和(2,3)&&1。
算法实现:
/*Apriori算法 */
#include &iostream&
#include &vector&
#include &map&
#include &string&
#include &algorithm&
#include &cmath&
using namespace
vector&string& T;
//保存初始输入的事务集
double minSup,minC
//用户设定的最小支持度和置信度
map&string,int&
//保存项目集中每个元素在事务集中出现的次数
vector& vector&string& & F;
//存放频繁项目集
vector&string& R;
//存放关联规则
void initTransactionSet()
//获取事务集
cout&&"请输入事务集的个数:"&&
getchar();
cout&&"请输入事务集:"&&
while(n--)
getline(cin,str);
//输入的事务集中每个元素以空格隔开,并且只能输入数字
T.push_back(str);
cout&&"请输入最小支持度和置信度:"&&
//支持度和置信度为小数表示形式
cin&&minSup&&minC
vector&string& split(string str,char ch)
vector&string&
while(i&str.size())
if(str[i]==ch)
while(j&str.size())
if(str[j]!=ch)
string temp=str.substr(i,j-i);
v.push_back(temp);
void genarateOneFrequenceSet()
//生成1-频繁项目集
vector&string&
//存储1-频繁项目集
for(i=0;i&T.size();i++)
string t = T[i];
vector&string& v=split(t,' ');
//将输入的事务集进行切分,如输入1 2 3,切分得到"1","2","3"
for(j=0;j&v.size();j++)
//统计每个元素出现的次数,注意map默认按照key的升序排序
mp[v[j]]++;
for(map&string,int&::iterator it=mp.begin();it!=mp.end();it++)
//剔除不满足最小支持度要求的项集
if( (*it).second &= minSup*T.size())
f.push_back((*it).first);
F.push_back(T);
//方便用F[1]表示1-频繁项目集
if(f.size()!=0)
F.push_back(f);
bool judgeItem(vector&string& v1,vector&string& v2) //判断v1和v2是否只有最后一项不同
while(i&v1.size()-1&&j&v2.size()-1)
if(v1[i]!=v2[j])
return false;
return true;
bool judgeSubset(vector&string& v,vector&string& f)
//判断v的所有k-1子集是否在f中
bool flag=true;
for(i=0;i&v.size();i++)
for(j=0;j&v.size();j++)
str+=v[j]+" ";
str=str.substr(0,str.size()-1);
vector&string&::iterator it=find(f.begin(),f.end(),str);
if(it==f.end())
flag=false;
int calculateSupportCount(vector&string& v)
//计算支持度计数
int count=0;
for(i=0;i&T.size();i++)
vector&string& t=split(T[i],' ');
for(j=0;j&v.size();j++)
vector&string&::iterator it=find(t.begin(),t.end(),v[j]);
if(it==t.end())
if(j==v.size())
bool judgeSupport(vector&string& v)
//判断一个项集的支持度是否满足要求
int count=calculateSupportCount(v);
if(count &= ceil(minSup*T.size()))
return true;
return false;
void generateKFrequenceSet()
//生成k-频繁项目集
for(k=2;k&=mp.size();k++)
if(F.size()& k)
//如果Fk-1为空,则退出
//根据Fk-1生成Ck候选项集
vector&string&
vector&string& f=F[k-1];
for(i=0;i&f.size()-1;i++)
vector&string& v1=split(f[i],' ');
for(j=i+1;j&f.size();j++)
vector&string& v2=split(f[j],' ');
if(judgeItem(v1,v2))
//如果v1和v2只有最后一项不同,则进行连接
vector&string& tempVector=v1;
tempVector.push_back(v2[v2.size()-1]);
sort(tempVector.begin(),tempVector.end());
//对元素排序,方便判断是否进行连接
//剪枝的过程
//判断 v1的(k-1)的子集是否都在Fk-1中以及是否满足最低支持度
if(judgeSubset(tempVector,f)&&judgeSupport(tempVector))
string tempS
for(p=0;p&tempVector.size()-1;p++)
tempStr+=tempVector[p]+" ";
tempStr+=tempVector[p];
c.push_back(tempStr);
if(c.size()!=0)
F.push_back(c);
vector&string& removeItemFromSet(vector&string& v1,vector&string& v2)
//从v1中剔除v2
vector&string& result=v1;
for(i=0;i&v2.size();i++)
vector&string&::iterator it= find(result.begin(),result.end(),v2[i]);
if(it!=result.end())
result.erase(it);
string getStr(vector&string& v1,vector&string& v2)
//根据前件和后件得到规则
for(i=0;i&v1.size();i++)
rStr+=v1[i]+" ";
rStr=rStr.substr(0,rStr.size()-1);
rStr+="-&";
for(i=0;i&v2.size();i++)
rStr+=v2[i]+" ";
rStr=rStr.substr(0,rStr.size()-1);
void ap_generateRules(string fs)
int i,j,k;
vector&string& v=split(fs,' ');
vector&string&
vector& vector&string& & H;
//存放所有的后件
int fCount=calculateSupportCount(v);
//f的支持度计数
for(i=0;i&v.size();i++)
//先生成1-后件关联规则
vector&string& temp=v;
temp.erase(temp.begin()+i);
int aCount=calculateSupportCount(temp);
if( fCount &= ceil(aCount*minConf))
//如果满足置信度要求
h.push_back(v[i]);
string tempS
for(j=0;j&v.size();j++)
tempStr+=v[j]+" ";
tempStr=tempStr.substr(0,tempStr.size()-1);
tempStr+="-&"+v[i];
R.push_back((tempStr));
H.push_back(v);
if(h.size()!=0)
H.push_back(h);
for(k=2;k&v.size();k++)
//生成k-后件关联规则
vector&string& addH;
for(i=0;i&h.size()-1;i++)
vector&string& v1=split(h[i],' ');
for(j=i+1;j&h.size();j++)
vector&string& v2=split(h[j],' ');
if(judgeItem(v1,v2))
vector&string& tempVector=v1;
tempVector.push_back(v2[v2.size()-1]);
//得到后件集合
sort(tempVector.begin(),tempVector.end());
vector&string& filterV=removeItemFromSet(v,tempVector);
//得到前件集合
int aCount=calculateSupportCount(filterV);
//计算前件支持度计数
if(fCount &= ceil(aCount*minConf))
//如果满足置信度要求
string rStr=getStr(filterV,tempVector);
//根据前件和后件得到规则
for(int s=0;s&tempVector.size();s++)
hStr+=tempVector[s]+" ";
hStr=hStr.substr(0,hStr.size()-1);
addH.push_back(hStr);
//得到一个新的后件集合
R.push_back(rStr);
if(addH.size()!=0)
//将所有的k-后件集合加入到H中
H.push_back(addH);
void generateRules()
//生成关联规则
int i,j,k;
for(k=2;k&F.size();k++)
vector&string& f=F[k];
for(i=0;i&f.size();i++)
string str=f[i];
ap_generateRules(str);
void outputFrequenceSet()
//输出频繁项目集
if(F.size()==1)
cout&&"无频繁项目集!"&&
for(k=1;k&F.size();k++)
cout&&k&&"-频繁项目集:"&&
vector&string& f=F[k];
for(i=0;i&f.size();i++)
cout&&f[i]&&
void outputRules()
//输出关联规则
cout&&"关联规则:"&&
for(i=0;i&R.size();i++)
cout&&R[i]&&
void Apriori()
initTransactionSet();
genarateOneFrequenceSet();
generateKFrequenceSet();
outputFrequenceSet();
generateRules();
outputRules();
int main(int argc, char *argv[])
Apriori();
测试数据:
运行结果:
1-频繁项目集:123462-频繁项目集:1 21 42 32 63 63-频繁项目集:2 3 6关联规则:3-&22-&36-&26-&33 6-&22 6-&36-&2 3请按任意键继续. . .
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
阅读(...) 评论()关联规则挖掘算法在大数据集上的应用研究--《江南大学》2011年硕士论文
关联规则挖掘算法在大数据集上的应用研究
【摘要】:随着计算机和数据库技术的迅猛发展,人类进入了信息时代,收集、存储数据的能力大大增强,传统的数据分析工具已经满足不了人们的要求。如何不被海量的数据淹没,如何从数据中挖掘出有用的信息帮助人们决策,在这种形势下,数据挖掘技术应运而生。数据挖掘就是从大量的数据中发现潜在有效的信息的过程。
关联规则挖掘是数据挖掘的一个重要方面,主要用于发现数据库中项与项之间的某种联系。关联规则挖掘已经被广泛的应用于各个方面,如:超市货架的布置、存货管理、商品的营销策略、银行、电信、移动的数据分析及其保险、医疗等其他行业。面对日益膨胀的海量数据,传统的关联规则挖掘方式已经满足不了人们的需求,因此大数据集的关联规则挖掘研究显得尤为重要。针对上述问题,本文从基于抽样的关联规则挖掘和并行关联规则挖掘模型两个方面着手解决大数据集的挖掘问题。
抽样是统计学中应用非常广泛的一种方法。当总体数据量很大时,想要对总体中的每个个体都进行研究是不现实的,因此通常采用抽样的方法得到一个小样本对总体进行估计。将抽样的概念与关联规则结合起来,在研究已有抽样算法的基础上,提出一种新的层次二分抽样算法(EHAC)。该算法在每次挖掘前对已有数据进行抽样,使数据平均划分的同时,频繁k-项集也尽量能够得到平均划分,以保证通过少量的数据挖掘出高精度的规则。通过实验证明,该算法性能优越,精度明显优于HAC算法而且在运行时间方面也体现了它的优势。
在分析典型并行算法的基础上,提出了一种基于客户机/服务器模式的关联规则挖掘算法。该算法设置一个中心节点做为服务器,其他节点为客户机,将原有大数据集平均划分到各客户机,每个客户机独立进行挖掘。每次挖掘结束后,各客户机将局部频繁项集传递给服务器,由服务器得到全局频繁项集,避免了各客户机之间相互通信,减少通信量。同时,引入数据库的触发机制,使服务器全局频繁项集的生成自动进行。最后通过实验证明,该模型和算法提高了挖掘性能,使大数据的挖掘从不可行到可行,从困难到容易。
【关键词】:
【学位授予单位】:江南大学【学位级别】:硕士【学位授予年份】:2011【分类号】:TP311.13【目录】:
Abstract4-7
第一章 绪论7-11
1.1 课题的研究背景及意义7-8
1.2 国内外研究现状8-9
1.3 本文所做的工作9
1.4 本文的组织结构9-10
1.5 小结10-11
第二章 关联规则挖掘算法11-19
2.1 关联规则挖掘概念11-12
2.2 关联规则的种类12-13
2.3 经典关联规则挖掘算法--Apriori13-15
2.3.1 Apriori 算法的挖掘步骤13
2.3.2 Apriori 算法性质13
2.3.3 Apriori 算法的关键步骤13-14
2.3.4 Apriori 算法14-15
2.3.5 Apriori 算法的评价15
2.4 Apriori 算法的改进15-18
2.4.1 基于散列技术15-16
2.4.2 基于事务压缩方法16-18
2.4.3 基于划分的方法18
2.4.4 基于采样方法18
2.4.5 动态项集计数18
2.5 小结18-19
第三章 抽样在大数据集挖掘中的应用19-31
3.1 抽样概述19-20
3.1.1 抽样19
3.1.2 抽样的优点19
3.1.3 基本抽样方法19-20
3.2 抽样在关联规则挖掘中的应用20-30
3.2.1 一种新的两阶段抽样算法21-22
3.2.2 关联规则的序贯抽样算法22-27
3.2.3 基于负边界的抽样算法27-28
3.2.4 分布式抽样算法28-30
3.3 小结30-31
第四章 大数据集挖掘的层次二分抽样算法31-43
4.1 问题的提出31-32
4.2 相关定义32
4.3 随机抽样方法32-34
4.3.1 随机抽取比较法32-33
4.3.2 随机抽取交换法33
4.3.3 随机抽取交换法的改进33-34
4.4 改进的层次二分算法(EHAC 算法)34-42
4.4.1 算法基本思想34-35
4.4.2 算法描述35-37
4.4.3 算法实现37-38
4.4.4 实验结果及分析38-42
4.5 小结42-43
第五章 客户机/服务器模式并行关联规则挖掘的研究43-56
5.1 问题的提出43
5.2 相关定义43-44
5.3 经典并行算法44-45
5.3.1 CD 算法44-45
5.3.2 DD 算法45
5.4 客户机/服务器模式的并行关联规则挖掘45-54
5.4.1 算法基本思想46-47
5.4.2 算法结构模型47
5.4.3 算法实现47-49
5.4.4 实验及结果分析49-54
5.5 小结54-56
第六章 总结与展望56-58
6.1 总结56-57
6.2 未来工作57-58
参考文献59-64
附录:作者在攻读硕士学位期间发表的论文64
欢迎:、、)
支持CAJ、PDF文件格式
【参考文献】
中国期刊全文数据库
李宏;陈松乔;杜剑峰;陈建二;;[J];计算机科学;2006年07期
吉根林,杨明,宋余庆,孙志挥;[J];计算机学报;2005年01期
胡慧蓉,王周敬;[J];计算机应用;2005年07期
吴磊,陈鹏;[J];计算机应用;2005年09期
李梅花;王黎明;许红涛;;[J];计算机应用;2006年04期
何波;王华秋;刘贞;王越;;[J];计算机应用;2006年02期
王华秋,曹长修,王越;[J];计算机应用研究;2005年07期
马廷淮,张海盛;[J];计算机应用研究;2003年11期
蔡之华,颜雪松,李晖;[J];计算机应用研究;2002年02期
杨明,孙志挥,宋余庆;[J];软件学报;2004年08期
【共引文献】
中国期刊全文数据库
赵群礼;;[J];安徽教育学院学报;2006年03期
李社,管太阳,林子瑜;[J];测绘与空间地理信息;2005年05期
赵宇;戚国强;;[J];东北农业大学学报;2006年04期
黎静华,栗然;[J];电力自动化设备;2005年10期
陆安生,陈永强,屠浩文;[J];电脑知识与技术;2005年03期
陆安生,陈永强,屠浩文;[J];电脑知识与技术;2005年09期
余敏俊;[J];电脑知识与技术;2005年12期
庞洁;李睿仙;胡建华;;[J];电脑知识与技术;2006年35期
吕爽;陈高云;;[J];广东广播电视大学学报;2006年03期
董燕;[J];管理学报;2005年S2期
中国重要会议论文全文数据库
杨静;申艳光;邢丽莉;;[A];2006北京地区高校研究生学术交流会——通信与信息技术会议论文集(下)[C];2006年
陈震;陈维默;;[A];福建省科协第五届学术年会数字化制造及其它先进制造技术专题学术年会论文集[C];2005年
董燕;;[A];第11届海峡两岸信息管理发展策略研讨会论文集[C];2005年
李忠哗;何丕廉;;[A];2006年全国开放式分布与并行计算学术会议论文集(一)[C];2006年
中国博士学位论文全文数据库
宋世杰;[D];国防科学技术大学;2005年
王越;[D];重庆大学;2003年
刘君强;[D];浙江大学;2003年
温磊;[D];天津大学;2004年
郭秀娟;[D];吉林大学;2004年
王卉;[D];华中科技大学;2004年
阮幼林;[D];华中科技大学;2004年
罗可;[D];湖南大学;2005年
黄陈蓉;[D];南京理工大学;2005年
张俊;[D];武汉大学;2005年
中国硕士学位论文全文数据库
李春媚;[D];长沙理工大学;2007年
童健华;[D];华中科技大学;2004年
赵家刚;[D];云南师范大学;2001年
张德海;[D];云南师范大学;2002年
赵斌;[D];南京师范大学;2003年
赵彩云;[D];北京工业大学;2003年
高法钦;[D];山东科技大学;2003年
李芳;[D];沈阳工业大学;2003年
颜雪松;[D];中国地质大学;2003年
陈维;[D];对外经济贸易大学;2004年
【同被引文献】
中国期刊全文数据库
张智军,方颖,许云涛;[J];计算机工程与应用;2003年14期
柴华昕;王勇;;[J];计算机工程与应用;2007年24期
丁祥武;[J];武汉交通科技大学学报;1999年04期
陈安龙,唐常杰,陶宏才,元昌安,谢方军;[J];软件学报;2004年08期
中国硕士学位论文全文数据库
田玲;[D];四川大学;2003年
韩涛;[D];中国海洋大学;2005年
赵艳霞;[D];合肥工业大学;2006年
林景亮;[D];厦门大学;2007年
【二级参考文献】
中国期刊全文数据库
杨明,孙志挥,吉根林;[J];东南大学学报(自然科学版);2002年06期
陆如松;闪四清;;[J];大众科技;2006年02期
杨明,孙志挥,吉根林;[J];计算机研究与发展;2003年04期
陈栋,徐洁磐;[J];计算机研究与发展;1998年04期
李宏;陈松乔;杜剑峰;陈建二;;[J];计算机科学;2006年07期
孟祥萍,钱进,刘大有;[J];计算机工程;2003年15期
杨明,孙志挥;[J];计算机学报;2003年10期
吉根林,杨明,宋余庆,孙志挥;[J];计算机学报;2005年01期
李梅花;王黎明;许红涛;;[J];计算机应用;2006年04期
铁治欣,陈奇,俞瑞钊;[J];计算机应用研究;2000年01期
【相似文献】
中国期刊全文数据库
程雁,闪四清;[J];计算机工程;2005年17期
赵晓岚;张招杰;;[J];科技情报开发与经济;2011年23期
程继华,施鹏飞;[J];计算机工程与设计;1999年05期
王新,王湄生;[J];云南民族学院学报(自然科学版);2001年03期
施润身,赵青;[J];同济大学学报(自然科学版);2002年02期
丁振国,陈静;[J];计算机集成制造系统-CIMS;2003年10期
汪洪涛,刘文才;[J];工业控制计算机;2003年09期
田生伟,禹龙;[J];微机发展;2003年08期
朱红蕾,李明;[J];兰州理工大学学报;2004年05期
朱玉全,宋余庆,陈耿;[J];计算机工程与应用;2005年15期
中国重要会议论文全文数据库
方艳;别荣芳;;[A];第二十一届中国数据库学术会议论文集(技术报告篇)[C];2004年
潘海为;李建中;张炜;;[A];第十八届全国数据库学术会议论文集(研究报告篇)[C];2001年
李阳;徐锡山;韩伟红;郑黎明;徐镜湖;;[A];全国计算机安全学术交流会论文集·第二十五卷[C];2010年
左万利;刘居红;;[A];第十六届全国数据库学术会议论文集[C];1999年
王宁;董淳;胡运发;陶晓鹏;;[A];第十五届全国数据库学术会议论文集[C];1998年
冯建华;赖辉旻;周立柱;陆玉昌;;[A];第十七届全国数据库学术会议论文集(研究报告篇)[C];2000年
周焕银;张永;;[A];第二十届全国数据库学术会议论文集(技术报告篇)[C];2003年
黄晓燕;许龙飞;;[A];第二十三届中国数据库学术会议论文集(技术报告篇)[C];2006年
李庆忠;张世栋;董国庆;;[A];第十六届全国数据库学术会议论文集[C];1999年
韩涛;张春海;;[A];第二十一届中国数据库学术会议论文集(研究报告篇)[C];2004年
中国重要报纸全文数据库
严宁;[N];网络世界;2007年
;[N];网络世界;2008年
林晓明;[N];中国计算机报;2007年
马芳;[N];南方日报;2010年
王培森;[N];中国计算机报;2003年
南京市地方税务局信息管理处、计算机中心 明靖 朱岚;[N];中国计算机报;2006年
;[N];人民邮电;2006年
莫言钧;[N];上海证券报;2007年
;[N];网络世界;2007年
袁跃;[N];财会信报;2005年
中国博士学位论文全文数据库
肖波;[D];北京邮电大学;2009年
牛成林;[D];华北电力大学(北京);2010年
申彦;[D];江苏大学;2013年
王越;[D];重庆大学;2003年
叶小飞;[D];第二军医大学;2011年
伊卫国;[D];大连海事大学;2012年
李强;[D];哈尔滨工程大学;2010年
Vital Delmas MABONZO;[D];大连海事大学;2012年
刘峰;[D];北京邮电大学;2008年
谢海涛;[D];北京邮电大学;2012年
中国硕士学位论文全文数据库
王玉荣;[D];江南大学;2011年
涂明;[D];合肥工业大学;2010年
侯新丽;[D];中北大学;2010年
张丹丹;[D];中北大学;2011年
王景;[D];广西大学;2003年
岳慧颖;[D];哈尔滨工程大学;2004年
聂倩雯;[D];西南交通大学;2010年
赵春胜;[D];内蒙古大学;2011年
蒋秀英;[D];山东师范大学;2003年
吴倩;[D];华东师范大学;2011年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 知识超市公司
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备75号

我要回帖

更多关于 mongo 集合关联查询 的文章

 

随机推荐