几年前,在我对当时的咨询公司的一组大学应聘者进行数据分析(DA)的演讲之后的问答环节中,要求我说出我认为最重要的分析技术。尽管让观众感到惊讶,但我的回答,数量和频率对我来说都不是一件容易的事。
这些年来,我一直靠做数据分析为生。我的DA变体是探索性数据分析(EDA)运动的直接后代,EDA运动 是50年前在学术界出现的一种对统计科学的超数学化的反应。作为平衡的EDA方法试图使用简单易懂的工具来领先和集中基础数据检查,但要以复杂的模型为代价,这些模型的假设通常令人怀疑。
尽管没有EDA的精确定义,但我喜欢的一个特征是:“ EDA是一种数据分析方法,它推迟了关于数据遵循哪种模型的通常假设,而采用了更直接的方法来允许数据本身揭示其底层结构。和模型。” 换句话说,EDA会深入研究数据,仅简单地并排检查变量。
在我的工作中,DA首先广泛研究感兴趣的属性之内和之间的数据分布。集中趋势,顺序统计量/分位数,密度函数,离群值/异常检测,缺失值,相关性等的度量至关重要,支持这些技术的可视化也很关键,例如点图,条形图,直方图,带状图,盒图,小提琴图,密度图,散点图,热图和二进制图。添加网格或小的倍数功能以“按”附加属性的值查看分布和关系。
尽管如此,对我而言,最重要的DA技术是频率和计数的分布(单维和多维)。这适用于所有数据类型,包括字符,类别和数字。
我花了大量时间和精力在R,Python-Pandas和Julia中构建频率制表工具。以下是我目前在R中的一些插图。下面的代码片段具有freqsdt和allfreqs函数,它们基于出色的R data.table软件包的超大功能,该软件包通常支持我在笔记本上使用25 GB以上数据的工作。data.table有关数据分析的功能,速度和大小。的确,data.table的出现以及互补的tidyverse生态系统彻底改变了R中的分析。尽管我喜欢Python-Pandas,但如果Python.data.table版本很快成为一个强大的工具,我也不会感到惊讶。竞争者。
主力的freqsdt函数可驱动以下大多数插图。在构建data.table的查询和分组隐喻的基础上,freqsdt接受两个字符串参数-第一个是有效的data.table名称,可以包含过滤器;第二个是属性名称的逗号分隔字符串,可以包含动态创建的变量。R的eval-parse组合执行最后一个字符串。下面详细介绍的这种组合提供了一个全面的多维频率生成接口。
为了说明freqsdt和allfreqs,我使用了值得信赖的2001年至今的芝加哥犯罪数据集,该数据集“反映了2001年至今在芝加哥市发生的犯罪记录(每个受害者都有数据的谋杀案除外),减去最近的7天。” 每天的数据可通过单独的过程获得,该过程从下载的CSV写入可移植的“羽毛”文件,随后可用于R,Python-Pandas和Julia。las,关于20年来芝加哥犯罪的地点,时间和时间的记录超过700万条(超过1 GB RAM)。使用此数据进行的大多数分析都涉及一维或多维属性轴中的计数-频率。
支持平台是具有128 GB RAM的Wintel 10笔记本电脑,以及软件JupyterLab 1.2.4和R 3.6.2。带有R data.table,tidyverse,pryr,plyr,feather和knitr软件包。

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!


雷达卡



京公网安备 11010802022788号







