很多同学都听说过数据集 (dataset)。实际上,熟练使用爬虫技术获取和整理数据集是机器学习的第一步。而下载下来的数据如何处理则是一门功课,几乎就是机器学习这门课的核心要义之一。今天我们来讨论一下,从网上获取数据后,如何对这些数据进行高级数据分析,可视化,最终你将学会如何建立你的第一个机器学习数据集。但在这之前,需要对数据进行预处理,作为入门计算机视觉的第二步,话不多说,我们开始吧。
通过本文的学习,你将学会如何使用Python的Matplotlib、Pandas、DataFrame工具来进行高级数据处理以及数据可视化。
你将在支持PaddlePaddle和TensorFlow的项目中无缝地使用他们。
本文使用Python 3实现,笔者于Python 3.6,Python 3.7平台调试可运行。
建议使用Anaconda 3+Python 3.5-3.7使用。更高的版本目前支持还不完善。如果你做机器学习,3.6再适合你不过了。如果你好奇其中的奥义,可以参考我之前的文章:
本文约 3520 字,全文阅读约需 10 分钟,对照练习仅需 20 分钟。
阅读之前,可以先看看我之前的帖子。作为铺垫。如果你是来找轮子的,请直接继续看。
realkris:从爬虫到机器学习-Python网络数据分析zhuanlan.zhihu.com一 聚类分析
今天是小张进入Department of Computer Science的第一天,午饭过后,他兴奋地在系楼里转来转去。前几天是数学建模与数据分析竞赛的决赛。优胜团队的作品在系楼里排列展示。小张从没了解过数据分析,虽然像看天书一样,但还是津津乐道其中。他注意到“聚类”这个词出现的频率很高。什么是聚类呢?
聚类分析,用人话说,就是以相似性为基础把相似的对象通过分类的方法分成不同的组别和子集。
比如,从中学起,你注意到班里的女孩子们总是一群一群的凑在一起。具有相同爱好和兴趣的女孩子会凑在一起。每一个团体独立于操场的某一隅。你拿出相机,把整个操场拍下来。用指头圈出每一组女孩子的位置。你就完成了聚类。
对于一张散点图,它可能由任何数据产生,而聚类通常有这样的特性:
- 基于相似性。
- 有多个聚类中心。
这里就要提一下大名鼎鼎的K-MEANS算法。也称K-均值算法。
看起来名字很高大上,其实K-均值算法只不过表示以空间中k个点为中心进行聚类,对最靠近他们的对象归类。(fig. 1)
这里有一个例子,以更快的了解K-MEANS,寻找学霸:
import numpy as np
from scipy.cluster.vq import vq, kmeans, whiten
list1 = [88.0, 74.0, 96.0, 85.0]
list2 = [92.0, 99.0, 95.0, 94.0]
list3 = [91.0, 87.0, 99.0, 95.0]
list4 = [78.0, 99.0, 97.0, 81.0]
list5 = [88.0, 78.0, 98.0, 84.0]
list6 = [100.0, 95.0, 100.0, 92.0]
data = np.array([list1,list2,list3,list4,list5,list6])
whiten = whiten(data)
centroids,_ = kmeans(whiten, 2)
result,_= vq(whiten, centroids)
print(result)