网页序列分析系统课程设计(论文)(编辑修改稿)内容摘要:

8 第四章 数据模型构建 数据流的构建 打开 Clementine 软件,在源选项卡中选择“可变文件”节点,单击编辑,进行如下设置:在文件设置中,导入处理好的数据,勾选“读取文件中的字段名”, 在定“界符中”选项框中勾选“逗号”,“新行”;在类型设置中,将 ID字段设为无类型, CONTENT 设为集, TIME 设为范围。 设置过程截图如下: 图 1 导入数据 9 图 2 数据类型设置 再点击选取表节点,连接可变文件,执行,观察数据是否正确导入了。 然后在数学建模选项卡中选择“序列”节点,连接可变文件,点击编辑,进行如下设置: 在字段设置中,将 ID字段设置为 ID,勾选“设置时间字段”,选择 TIME,内容字段中选择 CONTENT。 在模型设置中,设置合适的最小规则支持度,最小规则置信度,最大序列大小,要添加到流 的预测。 设置过程截图如下: 10 图 3 序列分析字段设置 11 图 4 序列分析模型参数设置 以上过程设置好后,对“序列”字段点击执行 ,产生结果。 数据流的构建过程截图如下: 图 5 数据流构建 12 第五章 模型结果分析 结果的分析处理 首先在“序列”节点的模型设置中设置好合适的最小支持度,最小置信度。 现在将最小支持度设置为 3%,最小置信度设置为 60%,取其结果进行相应的分析。 结果如下: 13 图 6 测试模型结果 将最小支持度设置为 3%,最小置信度设置为 60%是为了剔除最小支持度小于3%,最小置信度 小于 60%的结果。 以第一条结果为例进行说明:前项为 4, 7,后项为 4,表示点击了 4号网页,再点 7 号网页,可推送出 4 号网页。 因为记录一共有 989818,此条结果支持度为 %,故先点击 4号网页,再点击 7 号网页的记录一共有约 40000 多条,点击了 4 号和 7 号网页后,在点击 4 号的可能性为%,即为其置信度。 其他条记录可依此类推。 结果合理性分析 以上选取的 最小支持度设置为 3%,最小置信度设置为 60%,那么根据这个设置可以看出,只有重复出现 30000 次左右的结果才会被保留下来,这样会 导致很多条结果被剔除,所得出的结论很少,不利于分析推送。 所以最小支持度应该设置的更小一定,使结果更加有合理性。 重新设置相关参数,最小支持度设置为 %,最小置信度设置为 60%,则前项必须出现的次数达到 5000 次左右结果才会被保留。 结果如下: 14 图 7 修正模型结果 15 图 8 模型结果汇总 从结果汇总中可以看出,将最小支持度设置为 %,最小置信度设置为 60%时,规则数一共有 161 条,有效的事务数有 383534 条。 其中最小的支持度为%,最大支持度为 %。 最小置信度为 %,最大 置信度为 %。 从有效事务数,规则条数上看,这个结果还是很合理的。 置信度也在 60%以上 ,有一定可信度。 故可以选择这个分析结果。 最后将此结果导出,保留给推荐系统备用。 16 第六章 应用系统设计 模型接口 经讨论分析我们决定,运用 软件实现对本系统的应用设计。 具体分析实现步骤如下:。 定义全局数组 msn,用于记录用户所进入网页的的编号 ,代码如下: unit Uall。 interface var msn:array[0..1000] of integer。 //定义数组,保存访问数据 var i:integer。 implementation uses Ulocal, Umain, Unews, Utech。 initialization i:=0。 end. 17个窗口作为网页,并新建一个主窗口 Fmain,在 Fmain中拉入 label,当用户点击相应的 label 时,进入相应的网页,并将网页的编号记录到数据 数组中,并将数组下标 i 自加 1。 具体 label 中代码如下: procedure (Sender: TObject)。 begin。 []:=2。 :=+1。 end。 在 Fmain 中拉入一个 button,当用户点击此 button 时,系统进行推荐,在此中写入代码,具体分析步骤如下: 1)取分析后文本数据中一行,并将一行数据进行分割, 取最后一个编号为推荐编号 转换为 Int 型,赋值给整型变量 SE。 将数据逐个转换为 int 型,赋值给 msnint 数组 ,数据最后一个编号不写如数组。 2)将 msnint 数组中数据从结尾开始逐个与用户操作序列数组结尾开始进行比较。 用户操作序列数组 与 msnint 中匹配时,将 SE 值转换为 string型赋值给 SEE,并将 temp 值赋值为 1。 3)对 temp 进行判断, temp 为 1时则说明可进行推荐。 则将推荐的数据 SEE赋值给。 即可显示。 17 具体代码如下: procedure (Sender: TObject)。 var F: TextFile。 S: string。 //保存一行 字符 SE:integer。 //保存推荐网页编号 SEE:string。 //保存临时推荐网页编号 SS:string。 //保存所有推荐 Slist:Tstringlist。 //定义字符截取 i:integer。 //ii:integer。 alli:integer。 temp:integer。 // inn:integer。 scount:integer。 msnint:array[0..1000] of integer。 //定义数组,保存 int 型数据 begin temp:=0。 SEE:=39。 39。 SS:=39。 39。 AssignFile(F,39。 39。 )。 //绑定文件到文件类型变量 Reset(F)。 //打开一个存在的文件 ,另 Rewrite 创建文件并打开 while not eof(F) do begin Readln(F,S)。 //读取一行字符 ////字符串的截取 Slist:=。 :=39。 39。 //设置分隔符 :=S。 //设置待分割的字符串 scount:=。 for i:=0 to do //列举所有值,保存进数组 begin msnint[i]:=Strtoint(Slist[i])。 end。 SE:=Strtoint(Slist[scount])。 //取最后一个编号为推荐编号 // i:=scount1。 alli:=。 //取最大值 while msnint[i]=[alli] do begin 18。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。