CN106372670A - 基于改进最近邻算法的忠诚度预测方法 - Google Patents

基于改进最近邻算法的忠诚度预测方法 Download PDF

Info

Publication number
CN106372670A
CN106372670A CN201610804842.1A CN201610804842A CN106372670A CN 106372670 A CN106372670 A CN 106372670A CN 201610804842 A CN201610804842 A CN 201610804842A CN 106372670 A CN106372670 A CN 106372670A
Authority
CN
China
Prior art keywords
loyalty
classification
test data
data set
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610804842.1A
Other languages
English (en)
Inventor
朱虹
李千目
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN201610804842.1A priority Critical patent/CN106372670A/zh
Publication of CN106372670A publication Critical patent/CN106372670A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Artificial Intelligence (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于改进最近邻算法的忠诚度预测方法。该方法包括:在忠诚度分类预测时,首先利用贝叶斯算法对数据集进行预处理,筛选出非忠诚客户和忠诚客户(包含忠诚度高的客户和忠诚度低的客户);再用最近邻算法对忠诚客户做进一步分类,从而得到高忠诚度客户,完成忠诚度预测。本发明降低K值即选择多少个邻居对最近邻算法的影响;减少其内存开销;具有明显的时间优势;提高忠诚度分类的准确率。

Description

基于改进最近邻算法的忠诚度预测方法
技术领域
本发明涉及数据挖掘分类预测领域,具体地说是一种基于改进最近邻算法的忠诚度预测方法。
背景技术
分类的目的是为任何给定的测试实例预测结果。给定一个测试实例,在训练集中没有与之相同的属性集,该算法应该能够正确预测该测试实例的类标签。预测的准确度决定了该算法有多好。通常单一分类技术,像贝叶斯,决策树,K最近邻等被用于预测新实例的类。
基于分类技术进行客户忠诚度预测,目前是大型互联网巨头的研发热点。例如Zhang Yongli(Zhang Yongli.Prediction and implementation of customer loyaltybased on Data Mining[J].brand,2011(2):15-16)提出使用神经网络算法对客户忠诚度进行评价和预测,取得较好的效果,但模型结构很难确定且容易造成泛化能力下降;TianHui(Tian Hui.Research on the application of data mining in the field ofautomobile sales CRM[D].Zhejiang,China:College of Computer Science andTechnology,Zhejiang University of Technolog,2012)将分类决策树(C4.5)算法和KNN算法相结合,提出的忠诚度预测模型,当计算开销大时,算法的效果就会变得不理想,而且要选取多少个邻居即K值很难确定;Liu Pengfei(Liu Pengfei.Research and systemimplementation of customer loyalty prediction model[D].Jilin,China:College ofComputer Science and Technology,Jilin University,2011)提出基于贝叶斯算法建立客户忠诚度预测模型,可有效预测各电信客户的忠诚度高低,但它无法处理特征符合所发生的变更,对缺失数据的补充效果会影响准确度。
发明内容
本发明的目的在于提出一种基于改进最近邻算法的忠诚度预测方法,提高忠诚度预测的准确度和效率,该方法将K最近邻(K nearest neighbor,KNN)算法和贝叶斯算法相结合作为分类预测策略。首先利用贝叶斯算法对数据集进行预处理,筛选出非忠诚客户和忠诚客户(包含忠诚度高的客户和忠诚度低的客户);再用最近邻算法对忠诚客户做进一步分类,得到了高忠诚度客户。
实现本发明目的的技术方案为:一种基于改进最近邻算法的忠诚度预测方法,包括以下步骤:
步骤1,已知忠诚度类别的训练数据集D,其包含N个属性和M个忠诚度类别,将属于同一忠诚度类别的训练数据个数除以训练数据集D的总个数,获得该类的先验概率即P(Ci);
步骤2,待分类未知类别的测试数据集X,其包含N个属性,计算测试数据集X中一条测试数据的指定属性列上指定值出现的概率,即类条件概率P(X|Ci);
步骤3,在训练数据的基础上预测一条测试数据的忠诚度类别即P(X|Ci)P(Ci);
步骤4,重复步骤1-3,直到将测试数据集X遍历完毕;
步骤5,将测试数据集X的类别标签为忠诚客户的数据放入集合S中,集合S包括忠诚度高的客户和忠诚度低的客户,此时将集合S作为测试数据集;
步骤6,设置一个长度为j且按距离由大到小排列的优先级队列,用于存储最近邻训练元组;
步骤7,随机从已知类别的原训练数据集D中提取j个元组作为初始的最近邻元组;
步骤8,设F1=(f11,f12,...,f1n)和F2=(f21,f22,...,f2n)为2个样本特征向量,fij代表样本Fi的第j个特征的值,则F1和F2的欧式距离公式为根据该公式从S中取一条测试数据,分别计算其与这j个元组的距离d,且将训练元组的忠诚度类别和距离存入该优先级队列;
步骤9,计算训练数据集D中某条训练数据与该条测试数据的距离d,将其距离d与优先级队列中的距离最大值dmax比较;如果d<dmax,则删除优先级队列中与之距离最大的元组,将当前该条训练数据的类别和距离存入优先级队列;否则舍弃该条训练数据,访问下一条训练数据;重复此步骤,直至训练数据集D遍历完毕;
步骤10,将队列j中占多数的忠诚度类别作为测试元组的类别,从而得到高忠诚度客户,重复步骤7-9,直到将测试数据集S遍历完毕;
步骤11,计算该算法所消耗的时间T;读入目标数据集O,其为测试数据集X的真实类别,并读入上述所有测试数据集的预测类别,将其与目标数据集O进行逐一比较,从而获取算法的正确率W。
本发明与现有技术相比,其显著优点为:(1)降低K值即选择多少个邻居对最近邻算法的影响;(2)减少其内存开销;(3)具有明显的时间优势;(4)提高了忠诚度分类的准确率。
说明书附图
图1是本发明的算法流程图。
图2是不同K值下KNN算法和贝叶斯算法的客户忠诚度预测的总时间耗费以及正确率比较。
图3是本发明基于改进最近邻算法的忠诚度预测方法和KNN算法的客户忠诚度预测的总时间耗费以及正确率比较。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
如图1所示,一种基于改进最近邻算法的忠诚度预测方法,具体方法步骤如下:
目标:忠诚度预测
输入:已知忠诚度类别的训练数据集D,其中包含M个已知忠诚度类别,待分类未知类别测试数据集X,目标数据集O
输出:测试数据集X的忠诚度类别标签C,算法运行消耗的时间T和正确率W
第一步,已知忠诚度类别的训练数据集D,其包含N个属性和M个忠诚度类别,将属于同一忠诚度类别的训练数据个数除以训练数据集D的总个数,获得该类的先验概率即P(Ci);
第二步,待分类未知类别的测试数据集X,其包含N个属性,计算测试数据集X中一条测试数据的指定属性列上指定值出现的概率,即类条件概率P(X|Ci);
第三步,在训练数据的基础上预测一条测试数据的忠诚度类别即P(X|Ci)P(Ci);
第四步,重复第一至三步,直到将测试数据集X遍历完毕;
第五步,将测试数据集X的类别标签为忠诚客户的数据放入集合S中,集合S包括忠诚度高的客户和忠诚度低的客户,此时将集合S作为测试数据集;
第六步,设置一个长度为j且按距离由大到小排列的优先级队列,用于存储最近邻训练元组;
第七步,随机从已知类别的原训练数据集D中提取j个元组作为初始的最近邻元组;
第八步,设F1=(f11,f12,...,f1n)和F2=(f21,f22,...,f2n)为2个样本特征向量,fij代表样本Fi的第j个特征的值,则F1和F2的欧式距离公式为根据该公式从S中取一条测试数据,分别计算其与这j个元组的距离d,且将训练元组的忠诚度类别和距离存入该优先级队列;
第九步,计算训练数据集D中某条训练数据与该条测试数据的距离d,将其距离d与优先级队列中的距离最大值dmax比较;假如d<dmax,则删除优先级队列中与之距离最大的元组,将当前该条训练数据的类别和距离存入优先级队列;否则舍弃该条训练数据,访问下一条训练数据;重复此步骤,直至训练数据集D遍历完毕;
第十步,将队列j中占多数的忠诚度类别作为测试元组的类别,从而得到高忠诚度客户,重复第七至九步,直到将测试数据集S遍历完毕;
第十一步,计算该算法所消耗的时间T;读入目标数据集O,其为测试数据集X的真实类别,并读入上述所有测试数据集的预测类别,将其与目标数据集O进行逐一比较,从而获取算法的正确率W,以此来对算法建立的模型进行评价。
本文以保险公司基准(COIL 2000)的数据集为实验数据集,比较了KNN算法与贝叶斯算法、一种基于改进最近邻算法的忠诚度预测方法和KNN算法的分类性能。该数据集是由荷兰的数据挖掘公司有情机研究提供,是基于现实世界的商业问题。该数据集包含保险公司的客户信息。要求预测哪些客户会有兴趣购买一个旅行车保险政策,并解释为什么这些客户会购买一个车队的政策。训练集包含5822个客户的描述,包括他们是否有一个旅行车保险政策的信息。每个客户记录包含86个属性,包含社会人口数据(属性1-43)和产品所有权(属性44-86)。社会人口数据来自邮政编码。所有客户都生活在同一个邮政编码地区具有相同的社会人口属性。第86个属性,“旅行车:移动家庭政策”,是目标变量。目标只有两个类别:0和1,若目标为1,则表明该客户的忠诚度较高,可能对旅行车保险政策感兴趣。测试集包含4000个客户,与训练集有相同的格式,只有目标缺失,只有组织者知道他们是否有旅行车保险政策。
本文实验环境是i5 2.30GHZ 2 core CPU、2GB DDR3内存的Windows7操作系统,JDK1.7,Eclipse集成开发环境(IDE)。
表1
表1是不同K值下KNN算法和贝叶斯算法的客户忠诚度预测的总时间耗费以及正确率比较,其柱状图比较结果如图2所示。KNN算法与贝叶斯算法相比,算法运行所消耗的时间少,正确率相对而言较高。然而当数据量较大时,K值影响KNN算法的时间耗费与正确率。当K值设定的较小,虽然算法运行消耗的时间少,但是正确率却相对低。所以需选择不同的K值进行实验。
表2
表2是本发明基于改进最近邻算法的忠诚度预测方法和KNN算法的客户忠诚度预测的总时间耗费以及正确率比较,其柱状图比较结果如图3所示。基于改进最近邻算法的忠诚度预测方法和KNN算法相比,消耗的时间较短且正确率较高。本方法先是通过贝叶斯算法得到目标为1的忠诚客户(包括忠诚度高的客户和忠诚度低的客户)和目标为0的非忠诚客户,再用KNN算法对预测目标为1的忠诚客户做进一步预测,将该目标再进行分类,这样所得的目标结果为1的客户就拥有更高的忠诚度,对旅行车保险政策非常感兴趣,这些客户愿意置办旅行车保险政策的可能性十分大。本方法结合了贝叶斯和KNN算法的优点,并且减少了时间开销,进一步提高了准确率。
贝叶斯是数据挖掘领域中最优雅、最简单的分类器之一,不论其特征独立性的假设,它都超越了其他的分类技术,产生非常好的性能。而由于K最近邻算法简单、易于理解和比较高的性能分类,因此本发明将贝叶斯算法融入K最近邻算法学习模型中,不仅可以减少内存开销,降低K值对最近邻算法的影响,而且利用概率背景和先验知识对忠诚客户进行筛选,提高了准确率。

Claims (1)

1.一种基于改进最近邻算法的忠诚度预测方法,其特征在于包括以下步骤:
步骤1,已知忠诚度类别的训练数据集D,其包含N个属性和M个忠诚度类别,将属于同一忠诚度类别的训练数据个数除以训练数据集D的总个数,获得该类的先验概率即P(Ci);
步骤2,待分类未知类别的测试数据集X,其包含N个属性,计算测试数据集X中一条测试数据的指定属性列上指定值出现的概率,即类条件概率P(X|Ci);
步骤3,在训练数据的基础上预测一条测试数据的忠诚度类别即P(X|Ci)P(Ci);
步骤4,重复步骤1-3,直到将测试数据集X遍历完毕;
步骤5,将测试数据集X的类别标签为忠诚客户的数据放入集合S中,集合S包括忠诚度高的客户和忠诚度低的客户,此时将集合S作为测试数据集;
步骤6,设置一个长度为j且按距离由大到小排列的优先级队列,用于存储最近邻训练元组;
步骤7,随机从已知类别的原训练数据集D中提取j个元组作为初始的最近邻元组;
步骤8,设F1=(f11,f12,...,f1n)和F2=(f21,f22,...,f2n)为2个样本特征向量,fij代表样本Fi的第j个特征的值,则F1和F2的欧式距离公式为根据该公式从S中取一条测试数据,分别计算其与这j个元组的距离d,且将训练元组的忠诚度类别和距离存入该优先级队列;
步骤9,计算训练数据集D中某条训练数据与该条测试数据的距离d,将其距离d与优先级队列中的距离最大值dmax比较;如果d<dmax,则删除优先级队列中与之距离最大的元组,将当前该条训练数据的类别和距离存入优先级队列;否则舍弃该条训练数据,访问下一条训练数据;重复此步骤,直至训练数据集D遍历完毕;
步骤10,将队列j中占多数的忠诚度类别作为测试元组的类别,从而得到高忠诚度客户,重复步骤7-9,直到将测试数据集S遍历完毕;
步骤11,计算该算法所消耗的时间T;读入目标数据集O,其为测试数据集X的真实类别,并读入上述所有测试数据集的预测类别,将其与目标数据集O进行逐一比较,从而获取算法的正确率W。
CN201610804842.1A 2016-09-06 2016-09-06 基于改进最近邻算法的忠诚度预测方法 Pending CN106372670A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610804842.1A CN106372670A (zh) 2016-09-06 2016-09-06 基于改进最近邻算法的忠诚度预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610804842.1A CN106372670A (zh) 2016-09-06 2016-09-06 基于改进最近邻算法的忠诚度预测方法

Publications (1)

Publication Number Publication Date
CN106372670A true CN106372670A (zh) 2017-02-01

Family

ID=57900148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610804842.1A Pending CN106372670A (zh) 2016-09-06 2016-09-06 基于改进最近邻算法的忠诚度预测方法

Country Status (1)

Country Link
CN (1) CN106372670A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109190797A (zh) * 2018-08-03 2019-01-11 北京航空航天大学 一种基于改进k最近邻的大规模路网状态短时预测方法
CN115049114A (zh) * 2022-05-30 2022-09-13 中国银行股份有限公司 用户数据分析方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330476A (zh) * 2008-07-02 2008-12-24 北京大学 一种垃圾邮件动态检测方法
CN102081655A (zh) * 2011-01-11 2011-06-01 华北电力大学 基于贝叶斯分类算法的信息检索方法
CN103927872A (zh) * 2014-04-28 2014-07-16 武汉大学 一种基于浮动车数据预测多时段行程时间分布的方法
CN104348741A (zh) * 2013-08-06 2015-02-11 南京理工大学常熟研究院有限公司 基于多尺度分析和决策树的p2p流量检测方法和系统
CN104883734A (zh) * 2015-05-12 2015-09-02 北京邮电大学 一种基于地理指纹的室内被动定位方法
CN105307111A (zh) * 2014-07-07 2016-02-03 南京理工大学常熟研究院有限公司 一种基于增量近邻查询的位置隐私保护方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330476A (zh) * 2008-07-02 2008-12-24 北京大学 一种垃圾邮件动态检测方法
CN102081655A (zh) * 2011-01-11 2011-06-01 华北电力大学 基于贝叶斯分类算法的信息检索方法
CN104348741A (zh) * 2013-08-06 2015-02-11 南京理工大学常熟研究院有限公司 基于多尺度分析和决策树的p2p流量检测方法和系统
CN103927872A (zh) * 2014-04-28 2014-07-16 武汉大学 一种基于浮动车数据预测多时段行程时间分布的方法
CN105307111A (zh) * 2014-07-07 2016-02-03 南京理工大学常熟研究院有限公司 一种基于增量近邻查询的位置隐私保护方法
CN104883734A (zh) * 2015-05-12 2015-09-02 北京邮电大学 一种基于地理指纹的室内被动定位方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GUAN CHUN等: "recognition of multiple power quality disturbances using KNN-bayesian", 《INTERNATIONAL REVIEW OF ELECTRICAL ENGINEERING(I.R.E.E)》 *
刘鹏飞: "电信客户忠诚度预测模型研究和系统实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
孙晓燕等: "用于不均衡数据集分类的KNN算法", 《计算机工程与应用》 *
田慧: "数据挖掘在汽车销售领域CRM中的应用研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109190797A (zh) * 2018-08-03 2019-01-11 北京航空航天大学 一种基于改进k最近邻的大规模路网状态短时预测方法
CN115049114A (zh) * 2022-05-30 2022-09-13 中国银行股份有限公司 用户数据分析方法及装置

Similar Documents

Publication Publication Date Title
RColorBrewer et al. Package ‘randomforest’
CN106528874B (zh) 基于Spark内存计算大数据平台的CLR多标签数据分类方法
Yi et al. Multi-valued attribute and multi-labeled data decision tree algorithm
Baltrunas et al. Matrix factorization techniques for context aware recommendation
Wang et al. Dynamic Multi-label Learning with Multiple New Labels
Tang et al. Dynamic personalized recommendation on sparse data
Langone et al. Kernel spectral clustering and applications
CN116594748B (zh) 针对任务的模型定制处理方法、装置、设备和介质
CN110019790A (zh) 文本识别、文本监控、数据对象识别、数据处理方法
CN106934410A (zh) 数据的分类方法及系统
Haddad et al. Temporalnode2vec: Temporal node embedding in temporal networks
CN107066328A (zh) 大规模数据处理平台的构建方法
CN107193940A (zh) 大数据优化分析方法
Chiang et al. The Chinese text categorization system with association rule and category priority
Guo et al. Active semi-supervised K-means clustering based on silhouette coefficient
CN106372670A (zh) 基于改进最近邻算法的忠诚度预测方法
CN101226521A (zh) 一种用于多义性数据对象预测建模的机器学习方法
Bakhtyar et al. Freight transport prediction using electronic waybills and machine learning
Annam et al. Entropy based informative content density approach for efficient web content extraction
Olorunnimbe et al. Intelligent adaptive ensembles for data stream mining: a high return on investment approach
CN107103095A (zh) 基于高性能网络架构的数据计算方法
Sun et al. Key nodes discovery in large-scale logistics network based on MapReduce
Li et al. A Novel Semi-supervised Adaboost Technique Based on Improved Tri-training
CN106559290B (zh) 基于社团结构的链路预测的方法和系统
Xiao et al. One-step classifier ensemble model for customer churn prediction with imbalanced class

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170201