python数据挖掘入门与实践---用图挖掘找到感兴趣的人

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/ypgsh/article/details/79605596

问题:找出一个班级中兴趣爱好相近的人

思路:将每个人的兴趣爱好(足球、篮球、美剧。。。)都列出来,看看那两个或几个人的兴趣爱好重合度高

评价标准:杰卡德相似性系数(Jaccard Similarity);

计算公式:A同学与B同学共同的兴趣爱好数量/A同学与B同学所有的兴趣爱好数量。(可见系数不可能大于1)

:个体间关系的直观表示,根据要表达的内容分为有向图、无向图等,端点表示个体,端点之间的线(边)表示关系。

        python相关模块:networks

延伸

聚类:当为相似性系数设置一个阈值,即小于该系数的两个同学认定他两没关系,在图中二者之间不划线。可以发现整个                       班级会分成几个小团体(个体之间连线较多,团体之间连线较少),这样的小团体又称为连通分支。

           阈值的变化,会导致连通分支也跟着变(设为1,一个连通分支都没有)。聚类的效果没有统一标准,不同的视角出                     发,对聚类的标准要求不一样。

常用的判断聚类标准:轮廓系数(silhouette coefficient)

计算公式:s=(b-a)/max(a,b),a为簇内距离(个体之间的平均距离,可以通过相似性系数取反表示,因为相似性越高表示二                 者距离越近),b为蔟间距离(与最近的蔟内各个体的平均距离)。越大说明团体之间越干净

扫描二维码关注公众号,回复: 7599809 查看本文章

python相关:s计算函数sklearn.metrics.silhouette_score

                     通过调整阈值求最大s函数,scipy中minimize函数取反(取反使实际是求最小值,但最后结果是求了s的最大值)

         

猜你喜欢

转载自blog.csdn.net/ypgsh/article/details/79605596