数据不足往往是大多数数据科学项目的主要挫折之一。然而,作为一名数据科学家,知道如何为任何你想从事的项目收集数据是你需要掌握的一项重要技能。
数据科学家和机器学习工程师现在使用现代数据收集技术来获取更多的数据用于训练算法。如果你打算开始你的第一个数据科学或机器学习项目,你需要能够获得数据以及。
你怎样才能让这个过程对你自己来说容易些呢?让我们来看看可以用来收集数据的一些现代技术。
机器学习算法依赖于数据变得更精确、更精确和更具预测性。这些算法使用数据集进行训练。这个训练过程有点像是第一次教一个蹒跚学步的孩子一个物体的名字,然后让他们在下一次看到它时单独识别它。
人类认识一个新物体只需要几个例子。对于一台机器来说情况并非如此,因为它需要成百上千个类似的例子来熟悉一个对象。
这些例子或训练对象需要以数据的形式出现。然后,一个专用的机器学习算法通过称为训练集的数据集运行,并对其进行更多的学习,从而变得更精确。
这意味着如果你不能提供足够的数据来训练你的算法,你可能无法在项目结束时得到正确的结果,因为机器没有足够的数据来学习。
因此,有必要获得足够的数据来提高结果的准确性。下面我们来看看一些可以用来实现这一目标的现代策略。
Web抓取是一种从Web获取数据的自动化方法。在其最基本的形式中,web抓取可能涉及将网站上的元素复制并粘贴到本地文件中。
然而,web抓取还涉及到编写特殊脚本或使用专用工具直接从网页中抓取数据。它还可能涉及使用应用程序编程接口(api)如Serpstack进行更深入的数据收集。
尽管有些人认为网络盗版可能会导致知识产权的损失,但这种情况只有在人们恶意的时候才会发生。网络抓取是合法的,通过收集客户和竞争对手的***息,帮助企业做出更好的决策。
相关:什么是网络剪贴?如何从网站收集数据
例如,您可以编写一个脚本来从在线商店收集数据,以比较价格和可用性。虽然这可能是一个更技术,你可以收集原始媒体,如音频文件和图像在网上以及。
请看下面的示例代码,一窥Python的beautifulsoup4html解析器库的web抓取。
from bs4 import BeautifulSoupfrom urllib.request import urlopenurl = "Enter the full URL of the target webpage here"targetPage = urlopen(url)htmlReader = targetPage.read().decode("utf-8")webData = BeautifulSoup(htmlReader, "html.parser")print(webData.get_text())在运行示例代码之前,您需要安装库。从命令行创建虚拟环境,并通过运行pip install beautifulsoup4安装库。
您还可以利用在线表单进行数据收集。当您有一个目标人群要从中收集数据时,这是最有用的。
发送web表单的一个缺点是,您可能无法收集所需的数据。对于小型的数据科学项目或教程来说,它非常方便,但是在尝试接触大量匿名用户时,可能会遇到限制。
虽然有付费的在线数据收集服务,但不推荐个人使用,因为它们大多太贵了,除非你不介意在项目上花点钱。
从人们那里收集数据有各种各样的web表单。其中之一是Google表单,你可以通过表单.google.com. 您可以使用Google表单来收集联系信息、人口统计数据和其他个人详细信息。
一旦你创建了一个表单,你所需要做的就是通过邮件、短信或任何可用的方式将链接发送给你的目标受众。
然而,googleforms只是流行web表单的一个例子。有很多替代品也可以做出色的数据收集工作。
你也可以通过Facebook、LinkedIn、Instagram和Twitter等社交媒体收集数据。从社交媒体获取数据比其他任何方法都要技术化一些。它是完全自动化的,涉及到使用不同的API工具。
社交媒体很难从中提取数据,因为它相对没有组织,而且有大量的数据。如果组织得当,这种数据集可以在涉及在线情感分析、市场趋势分析和在线品牌化的数据科学项目中有用。
例如,Twitter就是一个社交媒体数据源的例子,您可以使用它的tweepythonapi包收集大量数据集,您可以使用pip install tweepy命令安装它。
作为一个基本示例,提取Twitter主页Tweets的代码块如下所示:
import tweepyimport remyAuth = tweepy.OAuthHandler(paste c***umer_key here, paste c***umer_secret key here)auth.set_access_token(paste access_token here, paste access_token_secret here)authenticate = tweepy.API(myAuth)target_tweet = api.home_timeline()for targets in target_tweet: print(targets.text)你可以参观docs.tweepy.org文件网站访问tweepy文档了解更多关于如何使用它的详细信息。要使用Twitter的API,您需要通过指向开发者:twitter.com网站。
Facebook是另一个收集数据的强大社交媒体平台。它使用一个称为Facebook图形API的特殊API端点。这个API允许开发者在Facebook平台上收集特定用户行为的数据。您可以访问Facebook Graph API文档开发者.facebook.com了解更多。
关于使用API收集社交媒体数据的详细说明超出了本文的范围。如果您有兴趣了解更多信息,可以查看每个平台的文档,以获得关于它们的深入知识。
除了编写连接到API端点的脚本外,还可以使用社交媒体数据收集第三方工具,如Scraping Expert和其他许多工具。然而,大多数这些网络工具都是有代价的。
您还可以从权威来源收集预先存在的数据集。这种方法包括访问官方数据库并从中下载经过验证的数据集。与web抓取和其他选项不同,此选项速度更快,几乎不需要技术知识。
这些类型的源上的数据集通常以CSV、JSON、HTML或Excel格式提供。权威数据来源的一些例子有世界银行、联发援署和其他一些。
某些数据源可能会将当前数据设为私有数据,以防止公众访问这些数据。然而,他们的档案经常可以下载。
这个列表应该为您在项目中获取不同类型的数据提供一个良好的起点。
有更多的来源比这个,仔细搜索将奖励你与数据科学项目完美的数据。
当可用于任务的工具有限或难以理解时,数据收集可能会很乏味。虽然旧的和传统的方法仍然有效,在某些情况下是不可避免的,但现代方法更快更可靠。
然而,这些收集数据的现代方法的结合有可能产生更好的结果,而不是依赖于单一的方法。
...计算任务,而深度学习是一种特殊的机器学习,模仿人类获取知识的学习方法。 神经网络有助于建立预测模型来解决复杂问题。另一方面,深度学习是机器学习的一部分。它有助于发展语音识别、图像识别、自然语言处理、推...
...掘。一个关键的区别在于,数据挖掘是用来从现有数据中获取规则,而机器学习则教会计算机学习和理解给定的规则。 什么是数据挖掘(data mining)? 数据挖掘是从数据中提取隐含的、先前未知的、潜在有用的信息的过程。尽管数...
...放到“原始文件”面板中。在“新名称”面板下,单击“获取数据”按钮。 ...
... 从欣赏数据可视化到理解机器学习,有很多方面需要研究。下面的五门课程不会给你所有的技能。但它们会让你轻松进入数据科学的复杂世界。 ...
...组共同完成的。在将样式应用于原始图像之前,该项目将获取一个输入图像和一个样式图像,并获得惊人的结果。 ...
...要人类参与的网络。一个设备监测天气。智能恒温器可以获取这些信息,并对家中的温度进行调整。 ...
... 在远程控制设备和机器人中使用Pi的好处是显而易见的。它的小尺寸、处理能力和GPIO引脚使它成为设备的完美“大脑”。许多USB设备也与Raspberry Pi本机工作,包括许多网络摄像头,这是这个...