py2.7 《集体智慧编程》chapter3:发现群组
来源:互联网 发布:网络答题成绩单系统 编辑:程序博客网 时间:2024/05/17 04:05
数据聚类:目的并不是通过输入和期望输出来调整算法,而是采集数据。且常用方法是定义一组公共的数值型属性,利用这些属性进行比较。
一、对博客用户进行分类:
#-*- coding:utf-8 -*-import feedparserimport re#返回一个rss订阅源的标题和包含单词计数情况的字典def getwordcounts(url): #解析订阅源 d = feedparser.parse(url) wc = {} #循环遍历所有文章条目 for e in d.entries: if 'summary' in e: #对于一篇文章而言:如果概述存在,则概述为文章概述 summary = e.summary else: summary = e.description #否则为文章描述 #提取一个单词列表 words = getwords(e.title+' '+summary) #获取标题+概述的单词总数 for word in words: wc.setdefault(word,0) #判断字典里是否存在word,如果不存在初始化为0 wc[word]+=1 return d.feed.title , wc #标题和单词计数#讲html标记剥离掉,以空格分割单词以列表形式返回def getwords(html): #去除html标记 txt = re.compile(r'<[^>]+>').sub(' ',html)#正则表达式:去除所有带<>以及里面的东西 #利用所有非字母字符拆分单词 words = re.compile(r'[^A-Z^a-z]+').split(txt) #转化为小写形式 return [word.lower() for word in words if word!=' ']#载入数据:feedlist->每行对应一个url,遍历url生成对每个博客的单词统计以及出现这些单词的博客数目apcount = {} #出现这些单词的博客数目wordcounts = {} #每个博客的单词统计feedlist = [line for line in file('feedlist.txt')]for feedurl in feedlist: title , wc = getwordcounts(feedurl) wordcounts[title] = wc #将相关标题的单词计数存入字典里 for word,count in wc.items(): apcount.setdefault(word,0) if count>1: apcount[word]+=1 #如果该单词存在于字典里,单词数+1#建立单词列表:只考察介于某个百分比内的单词 wordlist = [] for w,bc in apcount.items(): #单词和数量,针对于每个博客的单词计数 frac = float(bc)/len(feedlist) if frac>0.1 and frac<0.5: wordlist.append(w)#利用单词列表和博客列表建立针对每个博客的所有单词的统计情况 out = file('blogdata.txt','w') out.write('Blog') for word in wordlist: out.write('\t%s' % word) out.write('\n') for blog , wc in wordcounts.items(): out.write(blog) for word in wordlist: if word in wc : out.write('\t%d' %wc[word]) else: out.write('\t0') out.write('\n') #生成单词计数文件
0 0
- py2.7 《集体智慧编程》chapter3:发现群组
- py2.7 《集体智慧编程》chapter2:提供推荐
- 读书笔记---《集体智慧编程》第3章:发现群组
- 集体智慧编程(二)发现群组
- 【集体智慧编程】第三章、发现群组
- 集体智慧编程第三章之发现群组
- 集体智慧编程 第三章 发现群组
- 【集体智慧编程】第三章 发现群组
- 【集体智慧编程】第三章、发现群组
- 集体智慧编程第三章 发现群组
- 读书笔记:“集体智慧编程”之第三章:“发现群组”的 分级聚类
- 读书笔记:“集体智慧编程”之第三章:“发现群组”的 列聚类
- 读书笔记:“集体智慧编程”之第三章:“发现群组”的 k均值聚类
- 《集体智慧编程》第3章 发现群组 个人笔记
- “集体智慧编程”之第三章:“发现群组”的 分级聚类
- “集体智慧编程”之第三章:“发现群组”的 列聚类
- “集体智慧编程”之第三章:“发现群组”的 k均值聚类
- 集体智慧编程——使用决策树发现潜在客户
- unity常见问题
- 游戏制作一
- IntelliJ IDEA 2017 注册方法
- 【机器学习】基于粒子群算法的非线性函数寻优
- NPN三极管导通数据总结
- py2.7 《集体智慧编程》chapter3:发现群组
- wamp配置局域网服务器
- Json用法三个常见错误2 Javabean Exception in thread "main" net.sf.json.JSONException: java.lang.NoSuchMethod
- sass安装
- MyEclipse异常解决
- JAVA读写EXCEL
- C#文件上传下载
- J2EE系列之Struts2学习笔记(十六)--Struts2标签(数据标签、控制标签)
- 【百度】C++研发工程师实习生面试