关联规则算法作业.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关联规则应用报告 班级: 学号: 姓名: 一、关联规则应用介绍 就目前而言,关联规则挖掘技术已经被广泛应用在西方金融行业企业中, 它可以成功预测银行客户需求。一旦获得了这些信息,银行就可以改善自身营销。 现在银行天天都在开发新的沟通客户的方法。各银行在自己的ATM机上就捆绑 了顾客可能感兴趣的本行产品信息,供使用本行ATM机的用户了解。如果数据 库中显示,某个高信用限额的客户更换了地址,这个客户很有可能新近购买了一 栋更大的住宅,因此会有可能需要更高信用限额,更高端的新信用卡,或者需要 一个住房改善贷款,这些产品都可以通过信用卡账单邮寄给客户。当客户打电话 咨询的时候,数据库可以有力地帮助电话销售代表。销售代表的电脑屏幕上可以 显示岀客户的特点,同时也可以显示岀顾客会对什么产品感兴趣。 同时,一些知名的电子商务站点也从强大的关联规则挖掘中的受益。这些电子 购物网站使用关联规则中规则进行挖掘,然后设置用户有意要--起购买的捆绑包。 也有一些购物网站使用它们设置相应的交叉销售,也就是购买某种商品的顾客会 看到相关的另外一种商品的广告。 关联规则在中I矢药研究中、在客户关系管理中、在商务智能中都有不同程度 的应用。 二、代码 /* *描述:Apriori算法实现 * T #include iostream #inelude algorithm using namespace std; #define MIN_SUP 0.6 #define MAX」TEM 26 #define MOSTJTEM 10 struct Tra nsactio n 〃事务结构体 { intTID; int num; charitem[MOST_ITEM]; }*trans; struct KN 〃为方便指针指向切换,利用结构体指针 { char KN_item[MOST_ITEM][MOST_ITEM]; }*pKN,*qKN,*tKN; int trans _num;〃事务数 int trans _num; 〃事务数 bool apriori_gen(char cl[],char c2[],char tk[],int curk) //由 curk 项频繁集生成 curk+1 项 { int i,j,tk_num; i=j=0; tk_n um=0; while(icurk jcurk) { if(cl[i]==c2[j]){tk[tk_num]=cl[i];i++;j++;} else if(cl[i]c2[j]){tk[tk_num]=cl[i];i++;} else {tk[tk_num]=c2[j];j++;} tk_n um++; } 讦(i=curk) { while(jcurk) {tk[tk_num]=c2[j];j++;tk_num++;} }else { while(icurk) {tk[tk_num]=cl[i];i++;tk_num++;} } tk[tk_num]=\0; 讦(tk_num==curk+l)return true; else return false; } bool hasChecked(KN *p,int nzchar tk[]Jnt curK) 〃判断是否已在频繁集中 { int i; for(i=0;i vn ;i++) { if(strcmp(p-KN_item[i]ztk)==O)return true; } return false; } bool isFrequent(char c[],int n) 〃判断一个n项集是否为频繁的 { int i,j,pos; int times=0; for(i=0;itrans _nu m;i++) { if(ntra ns[i]. nu m)c ontinue; j=0;pos=0; while(jvn postrans[i].num) if (c[j]==tra ns[i].item[pos]) {j++;pos++;} else if(c[j]trans[i].item[pos]) {break;} else pos++; } if(j=二 n )times++; int main() freopen「in?txtTUstdin); cin?tra ns_num; trans=(Transaction *)malloc(sizeof(Transaction广trans_num); MIN = trans_num * MIN_SUP; intallltem[MAX」TEM]二{0}; int i,j; char tmp; for(i=0;itrans _nu m;i++) { cin〉tra ns[i].TID〉trans[i]? num; for(j=

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档