作者:Shreyas Raghavan
翻译:老齐
与本文相关的图书推荐:《数据准备和特征工程》
本书已经由电子工业出版社出版发行,购买地址: 电子工业出版社天猫旗舰店
不是很久以前,商人们往往找占星家来预测下明年是否能挣钱,虽然这毫无根据,并且结果也不确定,但如果听专家的建议来为自己的商业行为作出决定,与此有什么本质却别?现在不同了,我们正在变化,目前已经可以基于事实和数字进行预测。
我们生活在一个大数据的世界中,去Domino商店订购披萨,他们首先要问你的手机号,通过该手机号,他们能够提取出你的住址、购买记录等信息,但是是否仅限于列出这些数据? 还是我们可以根据这些数据做些什么?这就是数据科学家的职责了。
现在,我们就来探讨一些分析数据的工具。
-
SAS,是“ Statistical Analysis System”的简称,可以用于高级分析、数据管理、商业智能,它是NCSU(北卡罗来纳州立大学)从1966年到1976年研发的许可软件,现在仍然被广泛应用,特别是财富500强的公司都在应用。
-
R语言,是一种开源高级语言,提供了很多分析和统计的模块,包含了很多开源库,主要操作在命令行界面实现。
-
Python语言,我个人最喜欢了。Python是门革命性的语言,本文就要使用此语言。它是由吉多·范罗索姆(Guido Van Rossum)发明的一种高级编程语言,开源,每天都会有很多库产生。如果你打算在机器学习、人工智能领域从业,Python是一门理想的编程语言。
现在,我们就要来看看Python在数据科学中的应用。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
复制代码
此处,我们引入了三个基本的库,你的项目大概有90%都会用到这三个库,它们都有什么作用呢?
- Numpy:这个库实现众多数学函数运算,比如矩阵乘法、转置等。
- Pandas:很重要的库,比如加载数据集、创建DataFrame对象,Pandas在分析和预测方面能够实现你想做的任何事情。
- %matplotlib inline:写上这句话,就可以将制作的可视化图像插入到Jupyter中。
train = pd.read_csv('train.csv')
复制代码
以上,我们载入了数据集,
pd
是对
pandas
的重命名(
import pandas as pd
),
read_csv
是pandas里的一个函数,
train.csv
是一个已经存在的文件。用上面的命令成功地在当前Python环境中加载了文件,从而创建了一个DataFrame对象。
train.head()
复制代码
什么是head?不是人体的顶部的吗?Pandas用
head
函数,是要给我们呈现DataFrame对象中前面的若干条记录,默认显示前5条。
如果
head(20)
就会返回前20条记录,是不是很有意思?
我们也可以用
tail()
查看最后5条记录(默认值是5)。
下面是
head()
的输出结果:
到现在,已经从DataFrame数据集中得到了前5条记录了。
接下来,重要的事情是你要了解所处理的数据集,比如大小、形状和描述性统计,这些信息对我们进一步处理数据都非常有用,也就是说,我们必须了解数据集( 注: 《数据准备和特征工程》一书中对此内容做了更详细的阐述,请参考。)因为有少数数据集很大,处理它们才是真正的痛苦工作,我们需要从中找到有用的信息,并剔除不需要的内容,这听起来似乎很容易,但真正做起来,非常困难。
从输出结果中可以看到,我们现在操作的数据有891行,12列,总共有10692个数据。
让我们再来看看基本的统计:
这里呈现的统计数据,比如计数、平均值、百分位、标准差等,在我们处理金融数据或者研究数据间关系是,都是非常重要的。
继续,我们要实施数据可视化,这是数据科学中最重要的技能,必须会。前面已经导入了matplotlib,这是数据可视化中应用非常广泛的库,如果你去搜索,还会发现别的库,但matplotlib是广受欢迎的。