成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

數(shù)據(jù)科學(xué)家本地處理大中型數(shù)據(jù)的三種簡單方法

譯文
大數(shù)據(jù)
作為數(shù)據(jù)科學(xué)家,我們通常面臨龐大的數(shù)據(jù)集,少則幾千萬條記錄,多則幾億條記錄,可能有幾十列,甚至幾百列。這些數(shù)據(jù)通常以csv文件來接收,以多種方式來處理,最終目的是運(yùn)行用Python或R編寫的復(fù)雜的機(jī)器學(xué)習(xí)算法。

【51CTO.com快譯】作為數(shù)據(jù)科學(xué)家,我們通常面臨龐大的數(shù)據(jù)集,少則幾千萬條記錄,多則幾億條記錄,可能有幾十列,甚至幾百列。這些數(shù)據(jù)通常以csv文件來接收,以多種方式來處理,最終目的是運(yùn)行用Python或R編寫的復(fù)雜的機(jī)器學(xué)習(xí)算法。然而,這些數(shù)據(jù)不會裝入到RAM內(nèi)存中,因此需要設(shè)計替代工具。

所有這些數(shù)據(jù)可以分配到一個集群中,并在集群中加以處理,但是這需要上傳文件這個繁瑣的過程,花費(fèi)服務(wù)器時間方面的開銷,而且我們在處理敏感數(shù)據(jù)時擔(dān)心安全問題,需要相當(dāng)復(fù)雜的編程方法,還要花時間來下載輸出結(jié)果。當(dāng)然,總是可以創(chuàng)建本地的Spark會話,但學(xué)習(xí)曲線相當(dāng)陡(意味著學(xué)起來困難),安裝對初學(xué)者來說是個難題(如果目標(biāo)是偶爾處理幾個大文件,更是困難重重)。

我們在本文中著重介紹處理這種數(shù)據(jù)集的幾種簡單技術(shù)(包括安裝和運(yùn)行)。

[[215741]]

***種選擇:遍歷文件

你可以使用Python或R來快速遍歷文件。在本文中,我們將遍歷一個非常大的文件。數(shù)據(jù)集如下:5379074個觀測值和8列,有整數(shù)、日期和字符串,光盤上的文件大小是212 MB。

本地處理大中型數(shù)據(jù)的若干簡單方法

圖1

我們將生成一個類,用于處理這個文件。在這個類中,我們將定義兩個簡單的操作,***個操作是計算***值,第二個操作將過濾與特定名稱對應(yīng)的記錄。在***三行中,我們?yōu)檫@個類創(chuàng)建實(shí)例,并使用其方法。

請注意:我們之所以沒使用pandas.read_csv,是因?yàn)檫@個數(shù)據(jù)集通常不會裝入到內(nèi)存中(這取決于你的計算機(jī))。另外請注意,我們排除了***條記錄,因?yàn)樗形募^。

本地處理大中型數(shù)據(jù)的若干簡單方法

圖2

問題是,在大多數(shù)實(shí)際情況下,就在我們偏離簡單的子集設(shè)置(sub-setting)操作的同一時刻,代碼的復(fù)雜性就會以驚人的方式增加。比如說,即使為一個使用文件的簡單的排序過程編寫代碼也非常復(fù)雜,更不用說處理缺失值、多變量類型和日期格式等問題了。更糟糕的是,大多數(shù)數(shù)據(jù)處理操作需要很好地實(shí)現(xiàn)排序過程:合并、置換和匯總不僅本身很困難,還總是要求經(jīng)過排序的數(shù)據(jù)在合理的時間內(nèi)運(yùn)行。

第二種選擇:SAS

幾十年來,SAS一直是***的統(tǒng)計分析軟件。除了其出色的統(tǒng)計方法實(shí)現(xiàn)外,SAS還讓我們可以輕松處理數(shù)億個觀測值。它是通過使用硬盤來存儲數(shù)據(jù)做到這點(diǎn)的,而不是像大多數(shù)軟件那樣使用RAM內(nèi)存來存儲數(shù)據(jù)。除此之外,這些文件可能有數(shù)千列。

SAS編程語言非常簡單而靈活。比如說,只要短短幾行代碼就可以實(shí)現(xiàn)讀取文件并進(jìn)行排序:

  1. Data customer_data;  
  2. infile “./sales.csv” lrecl=32767 missover;  
  3. input User_id: 8. Salesman: $10. Date: mmddyy8. Customername: $10. City:$3. Country: $6.  
  4. Discount: $9. Promo: 8.;  
  5. run;  
  6. proc sort data = customer_data;  
  7. by User_id;  
  8. run; 

日志文件是SAS一個經(jīng)常被忽視的方面,但也是其***大的功能之一。日志文件是一種功能極其強(qiáng)大的工具,可用于識別奇怪的觀測值、缺失值和異常結(jié)果。比如說,將兩個文件與數(shù)百萬個觀測值合并時,你只要查看多少觀測值在兩個文件中被讀取、多少觀測值作為輸出被寫入,立即就能發(fā)現(xiàn)問題。

你通常不會發(fā)現(xiàn)任何種類的限制或局限。不過遇到極其龐大的文件,使用分布式環(huán)境會來得更方便,使用在集群上運(yùn)行的Spark(但這已在本文的討論范圍之外)。遺憾的是,SAS許可證通常相當(dāng)昂貴,而且只能在計算機(jī)上運(yùn)行。

第三種選擇:nitroproc

nitroproc是一款免費(fèi)的跨平臺軟件(目前適用于Windows/MacOS/安卓/iOS),是為處理數(shù)據(jù)(專門面向數(shù)據(jù)科學(xué)家)而設(shè)計的。它可以借助Python或R,通過批處理模式來調(diào)用。與SAS類似,它旨在使用硬盤來存儲數(shù)據(jù),所以對數(shù)據(jù)大小幾乎沒有限制。其腳本可以部署到任何設(shè)備上,不用改變其語法(有待處理的正確的輸入文件路徑顯然除外)。

我們在本文中將演示如何使用Windows版本和安卓版本(iOS版本也可以從App Store下載)。它可處理不同的變量類型、文件格式和缺失值。當(dāng)前版本讓你可以進(jìn)行排序、合并、過濾、子集、計算虛擬變量、聚合及其他許多數(shù)據(jù)處理操作,這些過去是數(shù)據(jù)科學(xué)家所做的任務(wù)。

與SAS相似,nitroproc可以生成功能非常強(qiáng)大的日志,用于識別奇怪的數(shù)據(jù)和錯誤的合并等問題。另外,它還生成名為logtracer的另一個日志文件,用于邏輯分析腳本中的不同指令有怎樣的關(guān)系。

按一個鍵排序540萬個觀測值

在這個例子中,我們將在PC和(舊)安卓手機(jī)中排序一個很大的文件,只是為了顯示nitroproc的功能有多強(qiáng)大。我們將使用圖1中所用的同一個數(shù)據(jù)集,即含有540萬條記錄的數(shù)據(jù)集。請記住,該數(shù)據(jù)集有5379074個觀測值和8列,包含整數(shù)、日期和字符串,光盤上的文件大小是212MB。這里我們將按它的***列(User_id)來排序。

你可以從https://www.nitroproc.com/download.html下載csv文件,復(fù)制我們在此處顯示的相同結(jié)果。我在這里建議進(jìn)行測試時,手機(jī)連接到PC/Mac,沒有其他進(jìn)程在后臺運(yùn)行。

語法很簡單,我們只要寫:

  1. sort(file = sales.csv,by = [User_id],coltypes = [int,string,dd / mm / yyyy,string,string,string,int,int],order = [asc],outname = result.csv, out_first_row = true) 

所有參數(shù)基本上不需要加以說明。order指定我們是否需要升序還是降序,out_first_row用于指定我們想不想要輸出文件頭。你可能注意到,我們沒有指定任何文件頭,因?yàn)閏sv已經(jīng)包括文件頭。如果不包含,我們需要輸入headers=[colum_name1,…,column_namek]。針對PC,我們需要指定適當(dāng)?shù)奈募窂?,但如果是安卓和iOS版本,只需要文件名,因?yàn)槲募窂綍詣踊謴?fù)(如果是安卓,使用/Downloads文件夾;如果是iPhone/iPad,使用App文件夾,它可以通過iTunes來訪問)。

排序在nitroproc中來得特別重要,因?yàn)樗糜诤喜⑽募?、匯總文件及其他操作。

PC版本

在一臺相當(dāng)標(biāo)準(zhǔn)的(2012年)桌面英特爾i5-4430 @3.00 GHz和標(biāo)準(zhǔn)的希捷500GB ST500DM002硬盤上,排序用時1分25秒(請查看圖3:nitroproc生成的日志文件,PC版本)完成。在***的英特爾設(shè)備上,比如i7-4970k,并使用固態(tài)硬盤,腳本的運(yùn)行速度至少快3倍(通過超頻,可以達(dá)到更快的速度)。

本地處理大中型數(shù)據(jù)的若干簡單方法

圖3

安卓版本

在裝有安卓7.0 Nougat的Nexus上運(yùn)行相同的腳本要慢得多(圖4是nitroproc生成的日志文件,安卓版本,但仍可以順暢無阻地運(yùn)行)。這款手機(jī)是2015年發(fā)布的,采用1.8Ghz處理器(記住這不是一款高端手機(jī))。如圖1所示,用時15分鐘。在***的(2017年)高端安卓手機(jī)上,運(yùn)行該腳本預(yù)計只要一半的時間(7分鐘)。由于基本上沒有使用RAM,nitroproc在RAM不足的系統(tǒng)中可以非常順暢地運(yùn)行。

本地處理大中型數(shù)據(jù)的若干簡單方法

圖4

iOS版本

***,看一下在iPhone 8 Plus(A11仿生芯片)上運(yùn)行的iOS版本的結(jié)果。這些結(jié)果讓我覺得驚訝。蘋果聲稱,iPhone 8和X是有史以來最快的手機(jī),但這可能是低調(diào)的說法。你可以看到,它在2分42秒內(nèi)排序完文件,比我們的桌面英特爾CPU只慢了近一倍(記住PC的耗電量超過250瓦,而iPhone 8s在6.96瓦左右),但比普通的安卓手機(jī)幾乎快5.5倍。對于iPhone 8 Plus(和使用相同芯片的iPhone X)來說一種更準(zhǔn)確的說法是,它堪稱工程奇跡,提供了與耗電量高出35倍的桌面游戲CPU相當(dāng)?shù)男阅堋R溃簄itroproc涉及非常密集的輸入/輸出操作,本文測試中涉及數(shù)億次的寫入和讀取,因?yàn)橛写罅康闹虚g操作。A11及其操作系統(tǒng)能夠以如此快的速度從硬盤讀取如此多的數(shù)據(jù),這幾乎是超現(xiàn)實(shí)的。

本地處理大中型數(shù)據(jù)的若干簡單方法

圖5

原文標(biāo)題:Simple Ways Of Working With Medium To Big Data Locally,作者:Francisco Juretig

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責(zé)任編輯:未麗燕 來源: 51CTO.com
相關(guān)推薦

2017-08-04 15:53:10

大數(shù)據(jù)真?zhèn)螖?shù)據(jù)科學(xué)家

2016-05-11 10:36:16

數(shù)據(jù)科學(xué)家數(shù)據(jù)科學(xué)大數(shù)據(jù)

2017-01-23 16:00:25

數(shù)據(jù)科學(xué)家大數(shù)據(jù)數(shù)學(xué)家

2019-06-05 15:17:45

2019-07-30 12:05:20

數(shù)據(jù)科學(xué)采樣算法

2010-09-27 11:16:35

數(shù)據(jù)防泄露

2010-01-31 10:47:11

企業(yè)數(shù)據(jù)安全數(shù)據(jù)安全數(shù)據(jù)泄漏

2016-09-22 14:28:33

數(shù)據(jù)科學(xué)家算法

2012-12-26 10:51:20

數(shù)據(jù)科學(xué)家

2018-12-24 08:37:44

數(shù)據(jù)科學(xué)家數(shù)據(jù)模型

2020-09-04 16:17:15

數(shù)據(jù)科學(xué)離群點(diǎn)檢測

2018-02-28 15:03:03

數(shù)據(jù)科學(xué)家數(shù)據(jù)分析職業(yè)

2010-09-17 19:52:57

數(shù)據(jù)泄露

2018-03-27 11:02:55

2021-08-31 10:51:34

UPS電源環(huán)境

2021-09-14 09:13:38

UPS電源安裝供電系統(tǒng)

2015-08-25 13:20:29

數(shù)據(jù)科學(xué)

2016-04-11 14:15:06

數(shù)據(jù)科學(xué)數(shù)據(jù)挖掘工具

2020-03-20 14:40:48

數(shù)據(jù)科學(xué)Python學(xué)習(xí)

2009-09-08 10:37:57

C#遍歷CheckBo
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 天天操天天摸天天干 | 色综合视频 | 日韩一区二区三区在线观看 | 午夜免费网 | 日本a视频 | 亚洲精品1区| 国产精品久久久免费 | 国产精品免费一区二区三区四区 | 91精品国产综合久久国产大片 | 一级欧美日韩 | 国产成人精品一区二区三区视频 | 中文字幕在线第二页 | 成人国产精品久久久 | 亚洲精品福利视频 | 国产高清在线精品 | 欧美成人一区二区三区 | 亚洲视频一区 | 亚洲乱码一区二区三区在线观看 | 中文字幕成人在线 | 91se在线 | 99爱国产 | 欧美国产精品一区二区三区 | 欧美中文字幕一区二区三区亚洲 | 99免费在线观看视频 | 欧美亚洲在线 | 天天色图| 羞羞的视频在线观看 | 日韩成人中文字幕 | 久久久久久久电影 | 国产欧美精品一区二区色综合朱莉 | 一区二区视屏 | 91一区二区三区 | 国产精品毛片一区二区三区 | 国产精品一区二区三 | 97中文视频| 亚洲精品久久久久久久久久吃药 | 亚洲系列第一页 | 欧美成视频| 麻豆视频国产在线观看 | 亚洲国产精品久久久久久 | 日韩av一区二区在线观看 |