1.自动确定聚类中心的用户影评密度峰值聚类方法,包括以下步骤:步骤1.读取用户影视评分数据文件中的数据集,该数据集包含1000个用户,1700部电影作品,然后用欧式距离计算任意两个用户i与j之间的相似度值,i,j<=1000,相似度值是用来反应两个影评用户之间的相关关系的程度,相似度值越大,表示这两个用户的相关关系越大,被划为同一类的可能性就越大;反之,相似度值越小,即相关性就越小,被划分为同一类的可能性就越小;
步骤2.计算两个用户之间的相似度:i与j代指某两个影评用户,n为数据集中电影总数;
步骤3.初始化截断距离dc
其中M为步骤2中计算距离的总数,t为比例系数,初始化t=2%,f(Mt)是对Mt进行四舍五入后得到的整数,公式译为对所有的距离dij进行升序排列,然后取第2%位置的距离点作为截断距离的dc的值;
步骤4.影评用户i的局部密度ρi计算,可以理解为作为聚类中心用户的必要条件之一,即聚类中心用户会有更多的非中心用户附庸,而局部密度值就是反应每一个用户的附庸指数,其计算公式为:
dij为影评用户j与影评用户i的相似度,dc为截断距离;
步骤5.计算用户点i的距离δi,可以理解为作为聚类中心用户的必要条件之二,即作为聚类中心不仅要有更多的附庸,而且必须要与其他聚类中心有更大的相似度值,这样两个聚类群体才会保证每一个群体内部有较高的相似性,对其他群体有更大相异性;距离计算公式为:
ρi、ρj分别为影评用户i、j的局部密度,其中局部密度最大值的影评用户取δi=maxj(dij);
步骤6.计算用户i的归一化决策函数ri,其计算方式为:ri=[ρi/(ρmax‑ρmin)]*[δi/(δmax‑δmin)] (5)ρmax、ρmin、δmax、δmin分别表示所有的影评用户的最大局部密度值、最小局部密度值、最大距离、最小距离;
步骤7.初始化聚类中心;根据归一化决策函数对ri进行降序排列,初始化聚类中心个数Ci=1;
步骤8.依据降序的ri取前Ci个数据点作为聚类中心用户,对非中心用户进行归类;将非聚类中心用户划分为局部密度比最大,且距离最近点中心用户;
步骤9.离群用户剔除;依据截断距离dc把初步归类好的用户划分为核心用户和边界用户:若边界点p的dc邻域中包含的核心用户同属于一个类簇,则把该点划分为核心用户簇中;若该边界点p同时落在几个不同的类簇中,则把该点划分为边界点;取同一个类簇的边界点的局部密度最大值作为判别离群用户阈值ρb;将局部密度小于ρb的用户作为离群用户处理;
步骤10.计算占分比N
N=△m/m (6)△m为聚类核心点总数的变化量,m为当前聚类核心点数;
步骤11.取占分比最大值时的聚类中心点数Ci,然后依据降序后的归一化决策函数,取前Ci‑1个点作为本样本的聚类中心,然后按照上述步骤对非中心点进行归类划分;
步骤12.输出聚类结果;聚类结果主要有两部分组成,一部分是已经聚类好的多个用户群体;另一部分是离群用户,这些离群用户与那些用户群体有较低的相似度,其商业价值较低。