Kaggle,對于很多學(xué)習(xí)并從事數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)的同學(xué)們來說應(yīng)該一點(diǎn)也不陌生。除了每年舉辦一次的 Kaggle 競賽被大家廣泛關(guān)注著,相信老司機(jī)們更是經(jīng)常使用 Kaggle 的數(shù)據(jù)集并在上面進(jìn)行實(shí)踐練習(xí)。李飛飛也對 Kaggle 評論道:“Kaggle 是搜尋、分析公共數(shù)據(jù)集,開發(fā)機(jī)器學(xué)習(xí)模型,和提高數(shù)據(jù)科學(xué)專業(yè)水平的最佳場所。” 去年 Google 收購 Kaggle ,并提出 “推動 AI 技術(shù)的分享和推廣” 的使命。
在研究和工業(yè)界中,除了提升模型能力外,高質(zhì)量的結(jié)構(gòu)化數(shù)據(jù)對結(jié)果也會產(chǎn)生不可忽視的影響。因此,人工智能頭條今天特別給大家分享一篇在 Kaggle 上發(fā)表的關(guān)于共享數(shù)據(jù)集收集工作的困難和重要性的文章,希望今后可以有更多的數(shù)據(jù)集被收集與共享。文章的最后還為大家分享了關(guān)于 Kaggle 搜索的Tips,希望對大家的學(xué)習(xí)和使用數(shù)據(jù)集有所幫助。
▌前言
本文由斯坦福大學(xué)研究計(jì)算和斯坦福醫(yī)學(xué)院的研究軟件工程師Vanessa Sochat 撰寫。
我們都知道,數(shù)據(jù)共享是一件很難的事,但在發(fā)現(xiàn)與獎勵方面具有很大的潛力。一個典型的 “共享操作” 可能看起來像是在移動硬盤上傳遞信息,將壓縮檔案放在某個大學(xué)或云服務(wù)器上,或批量存儲在一個安全的大學(xué)集群中。這是最佳方法嗎?這是容易的事嗎?要回答這些問題,首先考慮一下數(shù)據(jù)采集的可能經(jīng)歷的旅程。它看起來像下面這樣:
因?yàn)閿?shù)據(jù)的生成更像是一個流,這一過程流經(jīng)常是周期性的,數(shù)據(jù)從步驟 1 到 步驟 6 的過程中停止的唯一原因就是我們決定停止收集。在最理想的情況下,我們希望將這些步驟完全自動化。第 1 步 我們可能是在 MRI 掃描儀上生成圖像,第 2 步可能是用自動化腳本將初始文件格式轉(zhuǎn)化為研究人員所需的格式,第 3 步移動到專用集群存儲,第 4 步用于研究組進(jìn)行使用,第 5 步和第 6 步 (如果兩步全部發(fā)生)是額外的工作,進(jìn)行再次處理并將數(shù)據(jù)傳輸?shù)焦蚕砦恢谩?/p>
通常我們在第 4 步時就停止了,因?yàn)檫M(jìn)行到此處已經(jīng)可以滿足實(shí)驗(yàn)室的需求,分析完成并寫入文件。有點(diǎn)諷刺的是,在第 5 和 6 步有可能會開啟潛在的發(fā)現(xiàn)之門。但不言而喻的是,如果我分享了我的數(shù)據(jù)集,但你先發(fā)布,那么我就輸了。數(shù)據(jù)就像橙子一樣,在把它的所有汁液榨干之前,我當(dāng)然不想分享出去。但是,如果共享數(shù)據(jù)集本身可以生成一篇論文(或者類似的東西),并且,如果步驟4和步驟5很容易,我們就將會有更多的數(shù)據(jù)共享。這也是我今天要討論的主題,雖然沒有可用的生產(chǎn)解決方案,但我將展示如何很容易地將數(shù)據(jù)共享為 Kaggle 數(shù)據(jù)集。
▌動態(tài)數(shù)據(jù)
之前我談到了關(guān)于living data的想法,概括的講因?yàn)樾聰?shù)據(jù)的出現(xiàn),我們可以更新我們對世界的理解,關(guān)于有趣問題的答案。知識表示為靜態(tài)PDF還不夠好,因?yàn)樗槐硎玖艘粋€時間點(diǎn)。相反,動態(tài)數(shù)據(jù)證實(shí)了我們積累的用來證實(shí)或否認(rèn)假設(shè)的,知識是一種有生命的、不斷變化的東西。為了使這個充滿生機(jī)和變化的東西成為現(xiàn)實(shí),要求提供時需要很容易。
現(xiàn)在,共享數(shù)據(jù)是在發(fā)布過程之后的手工操作。許多期刊已經(jīng)鼓勵或要求進(jìn)行數(shù)據(jù)共享,研究人員可以把某個時間點(diǎn)的數(shù)據(jù)集上傳至不同的平臺。我不認(rèn)為這是了解世界的最佳方式,但是這種做法總比什么都不做好。我們不應(yīng)該使用靜態(tài)文章,而應(yīng)該使用數(shù)據(jù)提要,這些數(shù)據(jù)代入算法中并得到新的答案。我們希望數(shù)據(jù)共享在數(shù)據(jù)生成時可以自動進(jìn)行,并且對所有想要研究它的研究人員開放。就目前而言,這可能是一個過于崇高的目標(biāo),但我們可以想象在兩個極端之間有可能會發(fā)生什么。
一個自動生成和共享數(shù)據(jù)集的簡單管道又是怎么樣的? 可能像下面這樣:
第 4 步到第 6 步仍然會發(fā)生(研究人員正在做分析),但不是有一組人渴望得到這些數(shù)據(jù),而是為了有成千上萬的人可以使用它們。不同的是我們在步驟 3 中添加了一個助手,即持續(xù)集成,用以簡化處理和共享數(shù)據(jù)的過程。我們通常認(rèn)為持續(xù)集成(CI)用于測試或部署,但它也可能是數(shù)據(jù)共享的有用工具。因此我們把這個概念叫做"連續(xù)數(shù)據(jù)"。一旦數(shù)據(jù)被處理并傳輸?shù)窖芯拷M的存儲中,它也可能具有這個連續(xù)的數(shù)據(jù)步驟,將其打包以便共享。
▌Kaggle API
雖然一個更大的、機(jī)構(gòu)層面的努力是理想的,但與此同時,我們也可以利用開源,免費(fèi)使用Kaggle 這樣的資源。我認(rèn)為 Kaggle 有可能做 Github 在早期科學(xué)重現(xiàn)性方面所做的事情。如果共享數(shù)據(jù)集既簡單又有趣,有潛在的回報,Kaggle 將會對規(guī)模化的發(fā)現(xiàn)和協(xié)作產(chǎn)生影響。但我們需要一個開始!我決定從顯示我可以使用的 Kaggle API 來上傳數(shù)據(jù)集開始。它在 Web 界面中很容易實(shí)現(xiàn),利用命令行也很容易實(shí)現(xiàn)。簡單來說,我們需要的只是一個包含數(shù)據(jù)文件和元數(shù)據(jù)(json文件)的目錄,我們可以將API客戶端指向該目錄。例如,這是我上傳的一個數(shù)據(jù)集:
datapackage.json 描述正在上傳的內(nèi)容
那么,分享你的數(shù)據(jù)集供給他人使用和發(fā)現(xiàn)有多難呢?你可以下載一個文件證書來認(rèn)證服務(wù)。然后把文件(.tar.gz or .csv)放入文件夾中,創(chuàng)建一個 json 文件,并將工具指向它。這些操作很簡單,你幾乎可以不用任何額外的幫助就完成所有這些事情。將這樣的腳本插入到一些連續(xù)集成中,以便在將數(shù)據(jù)集添加到存儲時更新數(shù)據(jù)集。
▌Tools
在這里我創(chuàng)建了一個 Docker 容器,提供了一個之前與 Kaggle API 交互并生成一些數(shù)據(jù)集的簡短的示例。我在這里介紹一下腳本的基本邏輯。Kaggle 命令行客戶端在很多任務(wù)上都做得很好,但是作為一名開發(fā)人員,我希望更多地控制元數(shù)據(jù)規(guī)范和文件的創(chuàng)建。我還希望對它進(jìn)行 Dockerized,這樣我就可以執(zhí)行一個與主機(jī)隔離的創(chuàng)建操作。
▌創(chuàng)建容器
此映像提供在 Docker Hub 上,你也可以自己構(gòu)建:
我沒有將創(chuàng)建腳本公開為入口點(diǎn),因?yàn)槲蚁M@是一個“shell到容器中,并了解發(fā)生了什么”的交互,你可以這樣做:
▌創(chuàng)建數(shù)據(jù)集
create_dataset.py 腳本位于工作目錄中,此方法接收您希望生成數(shù)據(jù)集的參數(shù)。你可以不帶參數(shù)運(yùn)行該腳本來查看細(xì)節(jié):
對于這篇文章,更容易看到一個例子,在 /tmp/data/ARCHIVE,我有我的數(shù)據(jù)集文件(.tar.gz files),所以我首先準(zhǔn)備了一份空白的完整路徑列表:
然后我想把它們上傳到一個叫做 vanessa/code-images.命令行如下:
上述涉及的參數(shù)說明如下:
關(guān)鍵字:以逗號分隔的關(guān)鍵字列表(無空格?。?/p>
文件:要上傳的數(shù)據(jù)文件的完整路徑
標(biāo)題:數(shù)據(jù)集標(biāo)題(有空格需要加上引號)
命名:數(shù)據(jù)集本身的名稱(不能包含空格或特殊字符以及引號)
用戶名:你的 kaggle 用戶名,或數(shù)據(jù)集所屬組織的名稱
接下來將會生成一個包含數(shù)據(jù)包的臨時目錄:
然后將文件添加到其中,例如,這是我的臨時文件夾的結(jié)果:
回顧上述過程,我不需要在此復(fù)制文件,因?yàn)橐话阄也幌矚g對原始數(shù)據(jù)執(zhí)行任何類型的操作(以防出錯)。然后,該工具將顯示元數(shù)據(jù)文件(上面已經(jīng)顯示過的文件),然后啟動上載。此過程需要一些時間,完成后會顯示一個 URL!
重點(diǎn)提示!有一些后期處理發(fā)生,這可能需要很多額外的時間(考慮到上傳的大小,這對我來說確實(shí)如此)。我的數(shù)據(jù)集實(shí)際上直到第二天早上才存在于給定的 URL 中,所以這個過程應(yīng)該需要耐心。在完成之前,你會得到一個 404。你可以去跑步,或者今天就到此為止。
機(jī)構(gòu)需要優(yōu)先考慮數(shù)據(jù),并幫助研究人員管理自己的數(shù)據(jù)。研究者應(yīng)該能夠得到支持來管理他們的數(shù)據(jù),然后讓它以編程的方式訪問。這必須超越傳統(tǒng)庫提供的 “歸檔”,深入研究api、通知、部署或分析觸發(fā)器。雖然我們沒有這些生產(chǎn)系統(tǒng),但一切都是從簡單的解決方案開始的,以便輕松創(chuàng)建和共享數(shù)據(jù)集。我的設(shè)想是,在進(jìn)行計(jì)算的地方 (我們的研究計(jì)算集群)和數(shù)據(jù)存儲的地方(以及通過上載或API自動共享的地方)之間建立牢固的關(guān)系。類似這樣:
通知的范圍可以從任何地方發(fā)出:
(1)進(jìn)入一個提要以告訴另一研究人員新數(shù)據(jù);
(2)觸發(fā) CI 作業(yè)從存儲重新上載到共享位置;
(3)觸發(fā)某個容器的新版本的構(gòu)建和部署,該容器將數(shù)據(jù)作為依賴項(xiàng)
▌What We Need:數(shù)據(jù)工程師 & 協(xié)作平臺
一個機(jī)構(gòu)需要分配資源和人員來幫助研究人員提供數(shù)據(jù)。我相信,在未來,研究人員可以通過協(xié)作平臺,通過其他研究人員提供的數(shù)據(jù)源,共同合作進(jìn)行研究。
更多內(nèi)容可訪問原文鏈接
http://blog.kaggle.com/2018/06/21/open-source-datasets-with-kaggle/
通過上面的介紹,大家肯定已經(jīng)感受到收集數(shù)據(jù)集這項(xiàng)工作的艱難和重要意義。而作為學(xué)習(xí)者,Kaggle,一個神一般的資源,面對成千上萬并每天都會更新添加的數(shù)據(jù),我們又該如何找到數(shù)據(jù)集呢?接下來大為家介紹一些技巧和竅門,希望可以幫助大家更好的學(xué)習(xí)并利用 Kaggle,找到對自己有用處,感興趣的數(shù)據(jù)集。
原文鏈接:
http://blog.kaggle.com/2017/09/11/how-can-i-find-a-dataset-on-kaggle/
▌從數(shù)據(jù)集頁面搜索
點(diǎn)擊 Kaggle 頁面頂部顯示的 “數(shù)據(jù)集” 標(biāo)簽,即可進(jìn)入數(shù)據(jù)集頁面
▌數(shù)據(jù)集搜索
當(dāng)您在數(shù)據(jù)集頁面中使用搜索欄時,與使用頁面頂部的搜索欄不同,您將獲得包含所有搜索結(jié)果的新頁面
▌搜索提示
Kaggle 的搜索支持一些額外的搜索語法。這意味著您可以使用以下修改來更準(zhǔn)確地進(jìn)行搜索。
“”:將搜索文本放在雙引號(“”)中將搜索引號中的確切短語?!扒煽肆Φ案狻?將返回關(guān)于巧克力蛋糕的結(jié)果,但不包括巧克力棒或紅色天鵝絨蛋糕。
+:在兩個單詞之間加上一個(+),中間沒有空格,將返回具有第一個詞和第二個詞的搜索結(jié)果。“巧克力 + 蛋糕” 將返回巧克力和蛋糕的結(jié)果,但它們不必一起同時出現(xiàn)。
|:在兩個單詞之間放置一個(|)將返回結(jié)果中包含第一項(xiàng)或第二項(xiàng)?!暗案?|巧 克力” 將返回關(guān)于蛋糕或巧克力的結(jié)果。
*:如果您要查找多種拼寫的內(nèi)容,可以使用星號(*)表示 “此處有任何字符”?!癱hoc *” 將返回以 “choc” 開頭的結(jié)果,如 “choclate”,“chocked” 或 “chockablock”。
-:將減號(-)放在單詞前面會返回不包含該單詞的結(jié)果?!暗案?- 巧克力” 將返回不包含 “巧克力” 一詞的蛋糕的結(jié)果。
▌在搜索結(jié)果中找到特定內(nèi)容
如果您的搜索有很多結(jié)果,在搜索結(jié)果頁面中使用瀏覽器的 “在頁面查找” 功能返回有時會有所幫助。
▌排序結(jié)果
還可以用不同的方式對搜索結(jié)果進(jìn)行排序:
熱度:這是結(jié)果排序的默認(rèn)方式。熱度由許多因素決定,包括整體受歡迎程度以及某段時間內(nèi)活動增加。
投票數(shù)最多:根據(jù)他們收到的最高票數(shù)排序。
最近更新[我的推薦]:根據(jù)最近更新的結(jié)果(創(chuàng)建或添加新版本)對結(jié)果進(jìn)行排序。這是我個人最喜歡的排序搜索結(jié)果的方式:其他人更可能提出流行的,較舊的數(shù)據(jù)集。我更喜歡看到較新的數(shù)據(jù)集。除其他優(yōu)點(diǎn)之外,我發(fā)現(xiàn)最近更新數(shù)據(jù)集的數(shù)據(jù)集上傳者更可能對問題做出回應(yīng)并對內(nèi)核發(fā)表評論。
最近活動:根據(jù)最近任何人與數(shù)據(jù)集進(jìn)行交互的情況對結(jié)果進(jìn)行排序,包括評論,啟動或運(yùn)行內(nèi)核。
相關(guān)性:根據(jù)它們對查詢的相關(guān)程度對結(jié)果進(jìn)行排序。
▌特色 VS. 所有 數(shù)據(jù)集
默認(rèn)情況下,只在數(shù)據(jù)集頁面上顯示 “Featured” 數(shù)據(jù)集。該數(shù)據(jù)集是由 Kaggle團(tuán)隊(duì)成員精選的。特色數(shù)據(jù)集應(yīng)該記錄完整,進(jìn)行過數(shù)據(jù)清洗并且可以隨時使用。但是,并非所有數(shù)據(jù)集都具有特征,并且還有幾個高質(zhì)量數(shù)據(jù)集可能尚未提供。如果您希望看到所有數(shù)據(jù)集,而不僅僅是那些已被選為特色的數(shù)據(jù)集,您可以通過單擊 “All” 一 詞從 “Featured” 選項(xiàng)卡切換到 “All” 選項(xiàng)卡來執(zhí)行此操作。您還將看到精選數(shù)據(jù)集,這些數(shù)據(jù)集將通過標(biāo)題旁灰色 “Featured” 標(biāo)記進(jìn)行區(qū)分。
▌數(shù)據(jù)集標(biāo)簽
另一種查找數(shù)據(jù)集的方法是使用標(biāo)簽(一個相對較新的功能)。您可以通過兩種方式搜索特定標(biāo)簽。首先是通過點(diǎn)擊數(shù)據(jù)集列表中的標(biāo)簽或數(shù)據(jù)集頁面上的標(biāo)簽。這將返回具有匹配標(biāo)簽的數(shù)據(jù)集列表。第二個是在搜索框中搜索標(biāo)簽。您可以通過添加 “tag” 來完成此操作,然后在單引號中添加標(biāo)簽的名稱。如果標(biāo)簽中有空格,請包含它們。
標(biāo)簽:'食物和飲料':搜索標(biāo)簽為“食物和飲料”的數(shù)據(jù)集
標(biāo)簽:'internet':搜索標(biāo)簽為“internet”的數(shù)據(jù)集
數(shù)量眾多的標(biāo)簽涵蓋了數(shù)據(jù)發(fā)布者用于使數(shù)據(jù)更容易被發(fā)現(xiàn)的各種主題。目前,用戶無法添加自己的單獨(dú)標(biāo)簽。建議點(diǎn)擊標(biāo)簽以了解更多有關(guān)標(biāo)簽的信息,而不是使用文本搜索并試圖猜測某個標(biāo)簽是否存在。
▌頁面頂部搜索欄進(jìn)行搜索
當(dāng)知道某些數(shù)據(jù)集已經(jīng)存在,可以在 Kaggle 網(wǎng)頁頂部的搜索欄進(jìn)行搜索,這是一個方便的捷徑,但對于深入搜索,個人偏好還是喜歡在數(shù)據(jù)集頁面內(nèi)進(jìn)行搜索
在右側(cè),可以看到當(dāng)搜索 “巧克力“ 時,在數(shù)據(jù)集的最佳結(jié)果都是數(shù)據(jù)集。
在左邊,可以看到,當(dāng)搜索 “巧克力” 時,顯示結(jié)果依次是:數(shù)據(jù)集,內(nèi)核和用戶。
以上是關(guān)于 Kaggle 數(shù)據(jù)集的搜索 Tips,如果此時您需要使用特定類型的數(shù)據(jù),可以上傳您的數(shù)據(jù),也為這項(xiàng)艱難偉大的工程貢獻(xiàn)一份力量。
-
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1208瀏覽量
24748 -
ai技術(shù)
+關(guān)注
關(guān)注
1文章
1285瀏覽量
24371
原文標(biāo)題:如何在Kaggle上受到萬人敬仰?
文章出處:【微信號:AI_Thinker,微信公眾號:人工智能頭條】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論