专栏首页AI研习社数据预处理和挖掘究竟该怎么做?硅谷网红告诉你

数据预处理和挖掘究竟该怎么做?硅谷网红告诉你

Siraj Raval 作为深度学习领域的自媒体人在欧美可以说是无人不知、无人不晓。

凭借在 Youtube 上的指导视频,Siraj Raval 在全世界吸粉无数,堪称是机器学习界的网红。说他是全球范围内影响力最大的 ML 自媒体人,怕也无异议。

因此,AI 研习社联系到了 Siraj 本人,并获得授权将他最精华的 Youtube 视频进行字幕汉化,免费推送给大家。我们将不定期更新,敬请关注!

雷锋字幕组为大家最新译制了 Siraj 深度学习系列,从机器学习和神经网络架构类型到数据可视化、小样本学习等从基础到应用的技巧,争取带领希望掌握神经网络的神奇魔力和想成为深度学习工程师的大家伙早日入坑!哦不,走向巅峰!!

今天主要讲的内容是数据预处理(文末点击阅读原文可抵达 GitHub 获取代码)。

(建议在 Wi-Fi 环境下观看视频,土豪随意~)

为了方便流量不足的小伙伴们在路上看,我们特意整理出了图文版:

在这个充斥着怀疑和谎言的网络世界中,数据即真相。海量的原始数据正以惊人的速度增长,其中大部分都是非结构化的,但是通过运用分析我们可以发现其中重要的规律和线索以及隐藏在数字背后的含义。今天我们将学习如何预处理数据,这是重要也最容易忽视的步骤之一,关键点如下:

  • 预处理数据集有三步:清洗、转换和简化
  • 深度学习可以自己从数据集中找到相关特征
  • PCA是常用的降维方法之一,可以通过Scikit-learn中模块操作

数据预处理的三个核心步骤是:清洗,转换,简化。

例子中的第一个数据集与音乐相关,是通过一款名为“Tag A Tune”的小游戏搜集的(玩法请自行百度)。数据集里有25,000首歌以及正确的标签。我们想以此数据集作为一个训练样本来建立一个可以区分歌曲所属标签种类的模型。

先导入Pandas来分析这个数据,通过读取CSV函数来导入数据,它将在pandas中创建一个数据框。这个数据框很容易修改,我们将它命名为newdata。将head函数中参数设置为5,可以显示数据的头5条记录。每一行都被排了序,每首歌都有一个id,每个标签的值为0或者1,代表这首歌是否有这个标签。

通过info()函数来获取关于数据的更多信息,数据大小只有38MB。每个标签都有一个简单的二元取值,幸运的是每个字段也没有空值,可以直奔第二步:数据转换。

很多标签听上去很类似,例如女歌手,女声,可以将它们统一归为一个特征"女“。我们可以为数据中的同义词创建一个二维列表,然后将它们合并到只剩第一列。对于列表中的每一组同义词,将每一特征的最大值保留下来。对于数据中的同义词,可以有效地把一组同义词合并为一列,然后删掉其他类似的词,这样可以得到更规范的特征。在数据简化过程中,我们可以删除那些不需要的信息。接下来我们可以准备模型用到的训练集和测试集。

有一点需要注意,在整个过程中我们并没有考虑哪些特征要用,哪些不用。在没有深度学习的时候,我们需要先选择合适的特征来喂一个模型。但是深度学习不需要我们再自行筛选特征了,它会根据我们放入模型的数据集,决定哪些与问题相关。在深度学习中,常说架构工程是新的特征工程。

第二个例子中的数据集是关于网络连接,网络连接要么正常,要么异常。异常连接是由于有入侵导致。我们想通过一系列特征判定网络连接正常或异常。当我们检查该数据的时候,数据中没有空值,也没有异常值。因此,可以直接跳过清理数据一步,直接进行数据转换。

数据集中数值型变量的范围差异较大,需要先将这些变量进行标准化,可以直接用Scikit-learn里面的Standard Scaler模块对数据进行标准化。标准化完毕后,接下来对数据进行简化。数据中包含很多字段,其中有相当一部分还是高度相关的。我们可以通过“降维”的方法将特征的总数减少,这样也有利于将数据在2D或3D的空间中展示,但这并不保证模型的结果将更精准,只是让我们的数据更容易理解。

一种降维的方法是PCA(Principal Component Analysis)。数据有诸多特征,缩减它们只需要三步:首先是将数据标准化,然后计算相关系数矩阵,算出特征值和特征向量后进行主成分排名。例如我们有四个特征,想通过PCA的方法将其减少至两个,一共5个步骤:

  1. 将数据标准化
  2. 计算协方差矩阵
  3. 特征分解(Eigen decomposition)
  4. 构成新投影矩阵(Projection Matrix)
  5. 通过这个矩阵来对原来数据进行转换

许多入门教程在导入数据时只教如何导入预处理过的数据,例如手写体数字或者电影评分数据,用一行代码就能搞定,但实际操作没那么简单。遇到实际问题,都需要先找到正确的数据集,最终预测的结论依赖于最初导入的数据。所谓:种瓜得瓜,种豆得豆。

完整代码和数据集请参考 Github 链接(点击文末阅读原文进入)。

本文分享自微信公众号 - AI研习社(okweiwu),作者:雷锋字幕组

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-06-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用小数据集进行原型设计结果的小技巧

    本文作者是 Kanda 的机器学习工程师 Daniel Rothmann,他对一切具有变革性的事物都感兴趣,这里是他在和客户合作的过程中总结出的小数据处理方法。...

    AI研习社
  • 亚马逊数据专家十年经验总结:成为数据科学家的关键四步

    编者按:本文作者 Karolis Urbonas,文章选自他个人博客。AI 研习社编译。 对于数据科学家这一职业,你了解多少? ——这是个被大公司追捧的职位,供...

    AI研习社
  • AI Challenger 2018 即将进入决赛,八大数据集抢先看

    雷锋网(公众号:雷锋网) AI 研习社消息,由创新工场、搜狗、美团点评、美图联合主办的 AI Challenger 2018 即将进入第二阶段比赛。今年的大赛主...

    AI研习社
  • 后端技术杂谈12:捋一捋大数据研发的基本概念

    本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看

    Java技术江湖
  • 你了解你的数据吗(开篇):总览

    木东居士
  • 35页PPT丨制造业大数据的思考与实践

    2015年11月18日,“工业4.0智能制造主题活动”上,上海交通大学智能制造与信息工程研究所副所长张洁教授分享了制造业大数据的思考与实践,令在座与会人员大开眼...

    小莹莹
  • 光大银行推出风险大数据产品“滤镜”,36kr与ASO100合作推动创投服务体系升级 | 大数据24小时

    数据猿导读 利用大数据推动创投服务体系升级,36kr与ASO100达成战略合作;数据驱动型公司“外居乐”获数千万元融资,将大数据接入海外置业领域;光大银行推出风...

    数据猿
  • 【数据分析】Intel研究院院长吴甘沙:大数据分析师的卓越之道

    吴甘沙 Intel中国研究院第一位“首席工程师” Intel中国研究院院长 ? 亲爱的各位同仁,各位同学,早上好。讲到大数据,就要问数据分析师应该做什么?所以我...

    陆勤_数据人网
  • 你了解你的数据吗

    0x00 前言 你了解你的数据吗? 前几天突然来了点灵感,想梳理一下自己对数据的理解,因此便有了这篇博客或者说这系列博客来聊聊数据。 数据从业者有很多,比如说数...

    企鹅号小编
  • 大数据十年,十年爬坑之路

    近年来,大数据技术的发展,不论是技术迭代,还是生态圈的繁荣,都远超我们的想象。从 Spark 成为 Hadoop 生态的一部分,到 Flink 横空出世挑战 S...

    挖数

扫码关注云+社区

领取腾讯云代金券