第四章 数据抓取与机器学习算法

http://inthecloud.readthedocs.org/zh_CN/latest/posts/ch04.html#scrapy-redis

在开始这一章之前,你可能需要补习一下数学知识;还有熟悉下常见工具(语言),不必多年开发经验,会处理常见数据结构、能格式化文件即可。

建议先通读一下 Scrapy 中文文档 ,这样你会省去好多Google的时间;在 知乎 上有许多关于 大数据、 数据挖掘 的讨论,你可以去看看了解一些业内的动态。

另外,可以使用 Nutch 来爬取,并用 Solr 来构建一个简单的搜索引擎,它们可以跟下一章节的Hadoop集成。

在收集数据的时候,有时我想不出来要这些数据能统计出什么,直到我背后中了一箭,哦不,直到对象说租房要挑个性价比高地理位置又好的地方后,我才明白大量数据的重要性。当然,这跟大数据半毛钱关系没有。

还有一个比较重要的知识点,“Model Thinking”,你需要有一些建模的知识。

4.1 数据收集

为了省去一些学习的麻烦,我给一些真正的“大数据”先。

http://www.quora.com/Where-can-I-find-large-datasets-open-to-the-public

有些上百TB的数据对非行业内的人来说可能毫无意义,但是,先来些数据吧。

简单抓取

动手写一个最简单的爬虫
实际使用时遇到的问题

分布式抓取

scrapyd
scrapy-redis

使用Nutch + Solr

4.2 爬虫示例

58同城

我简单写了一个 收集58同城中上海出租房信息的爬虫 ,包括的条目有: 描述 、 位置 、 价格 、 房间数 、 URL 。

由于这些信息都可以在地图上表示出来,那我除了画统计图以外还会画它们在地图上的表示。

4.3 numpy 快查

import numpy as np
a = np.arange(1,5)
data_type = [('name','S10'), ('height', 'float'), ('age', int)]
values = [('Arthur', 1.8, 41), ('Lancelot', 1.9, 38),
            ('Galahad', 1.7, 38)]
b = np.array(values, dtype=data_type)

# 符号
np.sign(a)

# 数组最大值
a.max()

# 数组最小值
a.max()

# 区间峰峰值
a.ptp()

# 乘积
a.prod()

# 累积
a.cumprod()

# 平均值
a.mean()

# 中值
a.median()

# 差分
np.diff(a)

# 方差
np.var(a)

# 元素条件查找,返回index的array
np.where(a>2)

# 返回第2,3,5个元素的array
np.take(a, np.array(1,2,4))

# 排序
np.msort(a)
np.sort(b, kind='mergesort', order='height')

# 均分,奇数个元素的array不可分割为偶数。
np.split(b,2)

4.4 机器学习常用分类算法及Python实现

K邻近算法

决策树

朴素贝叶斯

Logistic和Sigmoid回归

SVM

AdaBoost

4.5 无监督学习

4.6 数据可视化

数据统计

Gephi

GraphViz

python-matplotlib

Microsoft Excel 2013 PowerView

地理位置表示

百度地图API

MaxMind GeoIP

Microsoft Excel 2013 PowerView

4.7 机器学习工具

Weka


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值