資料不足往往是大多數資料科學專案的主要挫折之一。然而,作為一名資料科學家,知道如何為任何你想從事的專案收集資料是你需要掌握的一項重要技能。
資料科學家和機器學習工程師現在使用現代資料收集技術來獲取更多的資料用於訓練演算法。如果你打算開始你的第一個資料科學或機器學習專案,你需要能夠獲得資料以及。
你怎樣才能讓這個過程對你自己來說容易些呢?讓我們來看看可以用來收集資料的一些現代技術。
機器學習演算法依賴於資料變得更精確、更精確和更具預測性。這些演算法使用資料集進行訓練。這個訓練過程有點像是第一次教一個蹣跚學步的孩子一個物體的名字,然後讓他們在下一次看到它時單獨識別它。
人類認識一個新物體只需要幾個例子。對於一臺機器來說情況並非如此,因為它需要成百上千個類似的例子來熟悉一個物件。
這些例子或訓練物件需要以資料的形式出現。然後,一個專用的機器學習演算法透過稱為訓練集的資料集執行,並對其進行更多的學習,從而變得更精確。
這意味著如果你不能提供足夠的資料來訓練你的演算法,你可能無法在專案結束時得到正確的結果,因為機器沒有足夠的資料來學習。
因此,有必要獲得足夠的資料來提高結果的準確性。下面我們來看看一些可以用來實現這一目標的現代策略。
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格式提供。權威資料來源的一些例子有世界銀行、聯發援署和其他一些。
某些資料來源可能會將當前資料設為私有資料,以防止公眾訪問這些資料。然而,他們的檔案經常可以下載。
這個列表應該為您在專案中獲取不同型別的資料提供一個良好的起點。
有更多的來源比這個,仔細搜尋將獎勵你與資料科學專案完美的資料。
當可用於任務的工具有限或難以理解時,資料收集可能會很乏味。雖然舊的和傳統的方法仍然有效,在某些情況下是不可避免的,但現代方法更快更可靠。
然而,這些收集資料的現代方法的結合有可能產生更好的結果,而不是依賴於單一的方法。
認知計算和機器學習的關鍵區別在於,認知計算是一種技術,而機器學習是指解決問題的演算法。認知計算使用機器學習演算法。 認知計算使計算機能夠模擬和補充人類的認知能力來做出決策。機器學習允許開發自學習演算...
關鍵區別——機器學習與人工智慧 人工智慧是一個寬泛的概念。自動駕駛汽車、智慧家居就是人工智慧的一些例子。一些國家在醫藥、**業、軍事、農業和家庭等領域擁有智慧機器人。機器學習是一種人工智慧。機器學習和...
... 從欣賞資料視覺化到理解機器學習,有很多方面需要研究。下面的五門課程不會給你所有的技能。但它們會讓你輕鬆進入資料科學的複雜世界。 ...
科技領域的下一件大事是機器學習。還是深入學習?也許是人工智慧。如果你發現自己糾結於三者之間的差異,你並不孤單。 ...
人工智慧和機器學習產生了我們今天在技術工業中看到的許多進步。但是機器是如何被賦予學習能力的呢?此外,我們這樣做的方式是如何導致意想不到的後果的? ...
... 檢視我們的Tensorflow示例列表以獲取更多資訊。 ...
...組共同完成的。在將樣式應用於原始影象之前,該專案將獲取一個輸入影象和一個樣式影象,並獲得驚人的結果。 ...
...要人類參與的網路。一個裝置監測天氣。智慧恆溫器可以獲取這些資訊,並對家中的溫度進行調整。 ...
... 在遠端控制裝置和機器人中使用Pi的好處是顯而易見的。它的小尺寸、處理能力和GPIO引腳使它成為裝置的完美“大腦”。許多USB裝置也與Raspberry Pi本機工作,包括許多網路攝像頭,這是這個...