热门搜索 :
考研考公
您的当前位置:首页正文

基于python的Web数据挖掘技术

来源:东饰资讯网
基于python的Web数据挖掘技术

发表时间:2020-06-18T08:11:26.296Z 来源:《中国科技人才》2020年第4期 作者: 赵伟 杨松 孟祥翀

[导读] 本文对python数据挖掘简要说明,并对其对Web数据挖掘环节的框架结构以及python库的进行介绍,明确其数据挖掘流程。广西桂林电子科技大学信息科技学院

摘要:本文对python数据挖掘简要说明,并对其对Web数据挖掘环节的框架结构以及python库的进行介绍,明确其数据挖掘流程。 关键词:python;数据挖掘;Web数据 引言:

python为当前程序设计过程运用的脚本语言,因其具有良好的交互性、面向对象以及解释性,因此使用此语言完成代码编写可读性良好,程序的开发方面更加高效,维护便利,可以用其展开数据挖掘。 一、python数据挖掘概述

python性价比较高,初学者易于学习,因其使用环境活跃,据统计,python逐渐超过Java和c语言,成为排名第一的热门设计语言。随着投入增加,python代码库以及社区等功能日益完善。当前,数据挖掘成为计算机行业热议话题,数据挖掘环节可与python语言紧密结合,借助其代码库,为用户提供强大计算能力,利用python功能完成Web数据的挖掘。 二、python的Web数据挖掘技术 (一)爬虫框架

spider称为网络爬虫,即设定规则,通过网络抽取信息的程序。网络之中信息种类丰富,为获取精准数据,爬虫逐渐成为各行业必修课程,加速搜索引擎的发展。在Web网页当中含有大量数据源,爬虫程序的设计,可为数据挖掘奠定基础。网络爬虫的设计环节,运用python语言优势独特,scrapy框架即为其中之一,利用Python社区库中的功能,简化scrapy框架,在其中加入定制爬虫规则,即可运行,获取对应网页数据。

(二)python库介绍

数据采集结束之后,需要进入分析、建模等,python在整合、开发过程,工具库较为完善,常用的python库有如下几种:第一,

pymongo库,借助其可连接本地服务器以及远程服务器的mongoDB数据库,数据获取之后,将价值信息通过文档形式存储于其中,利于使用者灵活增加或者删改数据。使用pymongo对数据库展开操作前,仅需若干代码,即可实现。可展现出python语言运用便利的特点。第二,numpy工具库,基于python语言而开发出的数据运算库,能够对矩阵数据展开大规模运算,同时提供各类计算工具,实现线性代数类运算功能。第三,pandas库,属于数据分析的工具包,将数据分析各项功能汇集一起,通过pandas库,能够汇总二维数据表,进而获取平均数最值以及正态分布信息。第四,matplotlib库,可处理简单代码,并对折线图、散点图或者直方图等展开数据分析,以简单操作完成可视化分析。第五,sklearn库,其中封装各类算法,包括回归、分类、降维等算法,同时还具备预处理和模型选择各项功能。 (三)实现流程

结合上文介绍,利用python展开数据挖掘,主要通过对信息的采集、处理、建模和评估等流程实现,下文以招聘数据的挖掘为例,详细介绍实现流程。 1.数据采集

先介绍爬取动作,按照爬虫逻辑展开判断,选取初始页面,在“招聘”属性当中将页面URL值添加其中,之后定位爬取页数,通过init添加爬取页数,循环爬虫环节仅需在当前页码完成p值修改,即可展开后续爬取操作。利用parse完成指定URL请求数据的获取,并和详情页之间进行连接,发送请求数据,此请求可指定callback返回数据,利用fetch data回调函数完成数据解析。返回的数据,可按照xpath路径,通过response提取信息,经简单处理之后和item属性共同绑定,并返回pipelines组件当中,步入下一处理流程。待所有页面总链接信息被获取结束之后,通过pipelines完成格式重组。利用spider模块,将请求数据传输给pipelinenes,整合数据,并和数据库相连,将数据处理请求添加至items属性当中,建立数据库结构。之后展开连接操作。利用pypongo库,和mongodb库相连,使用简单代码完成远程数据库增减。并利用pipelines当中process item方法,存储格式化数据,完成爬虫设置,利用scrapy指令操作数据采集。 2.数据预处理

处理过程,主要检查采集数据准确性,检验其和初始设计属性是否一致,利用mongodb将数据导出,利用mango shell语句实现,之后通过pandas当中read_csv将数据变量data载入其中,分别对数据总数和列数展开校验,并输出结果,采集和校验属性一致则代表校验成功。对

于离散点的检测需要按照下列流程进行:第一,先获取职位类别数据,通过data position describe能够查询对应列数据分布,由于职位分析环节过程相似,因此,此次抽取仅对“软件工程师”这一出现频率最高的职位展开描述;第二,获取“软件工程师”所有招聘数据,通过pandas当中data Frame以及value counts能够统计出此职位薪资分布的数据情况,在所有招聘信息中,频数出现为1的信息占据比例0.09%,因此呈现出单列特性,难以将数据分布规律呈现出来,这类离群特性数据应进行删除。 3.数据建模

使用决策树完成建模,准备训练集和测试集,利用训练集生成数据模型,使用从测试集中分离出来的数据,展开决策树测试。数据处理之后,从剩余数据当中分离出训练集与测试集,将test size值设置为0.2,按照数据比例4:1划分训练集、测试集数据,并使用knn算法,完成决策树模型建立。此算法同样需要抽取数据集。 4.评估模型

针对决策树的模型评估,利用sklearn当中,decision tree classifier决策树建模,通过xtest和ytest展开测试与操作,运行流程为:#预测pre=neigh.predict(x-test)。上述运行流程,pre代表测试集当中预测结果,利用混合矩阵展开结果分析。在sklearn当中封装了此方法,因此可用该代码完成混淆矩阵生成,针对模型分类展开结果评估。在混淆矩阵下,能够获取模型识别率以及误分类率,准确率高达96.94%,错误率为3.06%。和决策树模型评估方式相同,使用knn分析模型,同样通过预测结果获取混淆矩阵,结果表明模型识别准确率为89.05%,失误率为10.95%。 结束语:

数据挖掘为热门应用,借助python计算能力和技术库作为工具,展开数据挖掘,并分析建模,可获得信息的分类模型。在python开发环境下,实现对数据采集、分析、处理和建模等,准确率较高,可为相关行业信息获取提供巨大支持。 参考文献:

[1]杨迎.基于Python语言的Web数据挖掘与分析研究[J].现代信息科技,2019,3(23):63-65.

[2]韦建国,王建勇.基于Python的Web数据挖掘应用[J].浙江水利水电学院学报,2019,31(04):79-82. [3]王志俊.试论数据挖掘技术在Web预取中的应用[J].科技资讯,2019,17(21):19-20. 作者简介:赵伟,男,汉族,陕西凤县,本科,广西桂林,研究方向:计算机科学与技术。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top