基于数据挖掘的校园社交网络用户行为分析毕业设计论文(编辑修改稿)内容摘要:
的对象相异。 但目前对于聚类并无一个学术上的统一定义,这里使用出 Everitt在 1974年关于聚类所下的定义:一个类簇内的实体是相似的,不同类簇的实体是不相似的;一个类簇是测试空间中点的会聚,同一类簇的任意两个点间的距离小于不同类簇的任意两个点间的距离;类簇可以描 述为一个包含密度相对较高的点集的多维空间中的连通区域,它们借助包含密度相对较低的点集的区域与其他区域 (类簇 )相分离 [14]。 数据准备:包括特征标准化和降维 特征选择:从最初的特征中选择最有效的特征 ,并将其存储于向量中。 特征提取:通过对所选择的特征进行转换形成新的突出特征 聚类:首先选择合适特征类型的某种距离函数(或构造新的距离函数)进行接近程度的度量而后执行聚类 聚类结果评估:是指对聚类结果进行评估。 评估主要分为外部有效。 性评估、内部有效性评估和相关性测试评估 北京交通大学毕业设计(论文) 第 14 页 聚类分析方法 由于多维数据集的复杂性,要求有不同的聚类方法对各种复杂数据类型进行分析。 目前主要的聚类分析方法有以下几种: 划分式聚类 (partitioning methods) 划分式聚类需要预先指定聚类数目或聚类中心,通过反复迭代运算,逐步降低目标函数的误差值,当目标函数值收敛时,得到最终聚类结果。 使用这个基本思想的算法有: KMEANS算法、 KMEDOIDS算法、模糊聚类算法以及图论算法 [15] 层次方法 (hierarchical methods) 这种方法对给定的数据集进行层次似的分解,直到某种条件 满足为止。 具体又可分为“自底向上”和“自顶向下”两种方案。 例如在“自底向上”方案中,初始时每 一个数据纪录都组成一个单独的组,在接下来的迭代中,它把那些相互邻近的组合并成一个组,直到所有的记录组成一个分组或者某个条件满足为止。 代表算法 有: BIRCH算法、 CURE算法、 CHAMELEON算法等 [16] 基于密度的方法 (densitybased methods) 基于密度的方法与其它方法的一个根本区别是:它不是基于各种各样的距离的,而是基于密度的。 这样就能克服基于距离的算法只能发现“类圆形”的聚类的缺点。 这 个方法的指导思想就是,只要一个区域中的点的密度大过某个阀值,就把它加到与之相近的聚类中去。 代表算法有: DBSCAN算法、 OPTICS算法、 DENCLUE算法等 基于网格的方法 (gridbased methods) 这种方法首先将数据空间划分成为有限个单元( cell)的网格结构 ,所有的处理都是以单个的单元为对象的。 这么处理的一个突出的优点就是处北京交通大学毕业设计(论文) 第 15 页 理速度很快,通常这是与目标数据库中记录的个数无关的,它只与把数据空间分为多少个单元有关。 代表算法有: STING算法、 CLIQUE算法、WAVECLUSTER算法 基 于模型的方法 (modelbased methods) 基于模型的方法给每一个聚类假定一个模型,然后去寻找能够很好的满足这个模型的数据集。 这样一个模型可能是数据点在空间中的密度分布函数或者其它。 它的一个潜在的假定就是:目标数据集是由一系列的概率分布所决定的。 通常有两种尝试方向:统计的方案和神经网络的方案 [17]。 技术方法框架 本文以 数据挖掘的交叉产业标准过程 ()作为参考 [18],结合具体的社交网站数据挖掘需求,构建如下图技术方法框架: 定 义 社 交 网 络 用户 行 为 具 体 内 容确 定 网 页 爬取 内 容通 过 网 页 爬虫 爬 取 数 据选 择 最 合 理模 型 进 行 解释对 数 据 进 行聚 类 分 析对 分 析 结 果做 出 评 估数 据 图 23 社交网络用户行为数据挖掘过程 北京交通大学毕业设计(论文) 第 16 页 3 基于 网络爬虫技术的 数据采集 网络爬虫工作原理 网络爬虫基本工作原理 网络爬虫,即 Spider , 通常是指遵循 HTTP协议、根据其中的超链接以及 WEB页面文档之间的索引关系来遍历万维网信息空间的软件程序。 网络爬虫是一个功能强大的自动提取网页的程序,负责收集页面来源。 网络爬虫通过访问某一 URL页面,来获得此页面内其他 URL,并且根据这些 URL来遍历这个站点或者跳转到其他站点,从而实现遍历整个互联网空间,进而获得需要的 URL集合。 其主要工作原理如下图所示 [19]: 图 31 网络爬虫基本原理 如上所述,常见的搜索引擎类网络爬虫负责收集互联网世界的所有页面并且存储下来。 除了以上通用爬虫之外,还有一些定向爬虫负责在一些北京交通大学毕业设计(论文) 第 17 页 细分领域收集特定信息。 URL 存在形态分析 从联系的角度来看,互联网上的 URL可分为有联系的和孤立的 2类,如下图所示: 图 32 互联网 URL分类 大部分的 URL都是相互关联的,比如从 urla出发,通过 urlb、 urld可到达 urlf,所有关联的 URL最后组成了一个复杂的网络结构。 但是 也存在一些 URL,比如 url url2等是相对孤立的,试图从 urla系列以及 url1等页面直接来获得另外 url url3是不可能的。 从 URL的出现位置来可看, 我们可将 URL的出现位置分为如下几类: HTML静态标签 HTML静态页面中存在大量 URL入口,比如某页面存在 A标签: a href= /a , 通过解析 A标签的结构,我们知道这里存在一个新的 url链接 似的标签还有: img src=” form action=/ method=POST 北京交通大学毕业设计(论文) 第 18 页 frame src= / script src= / ...... 因为这些链接是静止在页面内,属于比较容易发现的链接类型。 在页面下载回来后,我们甚至可简单地通过正则表 达式查找出这些链接。 动态生成的链接 这里说的动态生成的链接是指通过 javasript/vbscript生成的链接,它们需要通过 script脚本解释引擎来组装生成,如下伪代码: 图 33 script脚本动态生成链接代码 从这段伪代码中,我们无法直接看出来存在什么链接,分析代码可知,变量 URL由 3个部分组成 , path、 page还有用户输入的 id值。 明显地,要知北京交通大学毕业设计(论文) 第 19 页 道最后的 URL,需要在输入框里输入数据并且触发这个函数执行。 用户交互中产生的新 链接 HTTP协议是请求 响应式的交互型模型,在 WEB 上深入发展,请求响应的形式更加多样化。 云计算所使用的技术也大量使用了 WEB , ajax数据请求方式被广泛使用, json、 xml等格式的数据传递给爬虫的 URL发现带来了困难。 比如:在 json的任意一个位置,都可能是一个 URL,也可能看着像是 URL,实际上只是一个不存在的 URL字符串。 为了确认其是否为 URL,需要观察其行为表现,这些数据从服务端返回后,客户端实际去访问的 URL字符串才是爬虫真正需要寻找的目标。 存在于第三 方组件里的 URL 在 flash、 silverlight等其他第三方组件里也存在 URL链接,这些链接的生成需要对应的组件来解释。 在 flash应用中,我们点击某些按钮时,会触发一些新的网络请求,这些请求是通过内嵌的 ActionScript来驱动的。 silverlight以及一些其他第三方组件也是类似。 定向爬虫定制 本文以人人网 数据 为具体案例进行分析,因而需要对 人人网特定数据进行抓取。 通过定制人人网定向型爬虫,抓取指定网站 上的数据。 北京交通大学毕业设计(论文) 第 20 页 通过 wireshark 抓包法分析 HTTP 协议 Wireshark(前称 Ethereal)是一个网络封包分析软件。 网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。 本文通过 Wireshark抓取人人网 HTTP协议。 先启动 wireshark程序,在 captureoptions 在弹出界面里选中你的网卡,双击,会弹出如下图所示的设置规则处。 简单地,可使用规则 Host加上人人站点域名。 确定之后开始等操作下来就可开始抓包。 图 34 Wireshark规则设置 北京交通大学毕业设计(论文) 第 21 页 图 35 利用 Wireshark抓包过程 分析网站行为 本文通过火狐浏览器 +firebug来分析 网站行为: Firebug是火狐浏览器下的一款开发类插件,它可以对 HTML、javascript和 CSS等进行查看和编辑。 本文主要通过它对网页页面代码进行分析,如下图所示: 北京交通大学毕业设计(论文) 第 22 页 图 36 通过 firebug对网页代码进行查阅 在观察到网页代码后,可制定对应的定向爬虫实现方案,例如从哪个页面开始,需要从这个页面中获得什么关键信息,哪些信息会在下一个。基于数据挖掘的校园社交网络用户行为分析毕业设计论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。