python网络爬虫-数据标准化处理

      在前面的n-gram代码示例中,有一个很明显的问题,就是包含太多重复的2-gram序列。程序把每个2-gram序列都加入了列表,没有统计序列的频率。掌握2-gram序列的频率,而不是知道某个序列是否已经存在,这不仅有助于对比不同的数据清洗和数据标准化算法的效果。如果数据标准化成功了,那么唯一的n-gram序列数量就会减少,而n-gram序列的总数(任何一个n-gram序列和与之重复的序列被看成一个n-gram序列)不变。也就是说,同样数量的n-gram序列,经过去重之后“容量”(bucket)会减少。这样就可以在前面的代码中增加标准化特征。

       不过Python字典是无序的,不能像数组一样直接对n-gram序列频率进行排序。字典内部元素的位置不是固定的,排序之后再次使用时还是会变化,除非你把排序过的字段的值复制到其他类型中进行排序。在Python的collections库里面有一个OrderedDict可以解决这个问题:

       改进后的程序代码如下:

from urllib.request import urlopen
from bs4 import BeautifulSoup
from collections import OrderedDict
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值