七十年代初,IBM公司率先提出了面向比特的同步數(shù)據(jù)鏈路控制規(guī)程SDLC(Synchronous Data Link Control)。隨后,ANSI和ISO均采納并發(fā)展了SDLC,并分別提出了自己的標(biāo)準(zhǔn):ANSI的高級(jí)通信控制過(guò)程ADCCP(Advanced Data Control Procedure),ISO的高級(jí)數(shù)據(jù)鏈路控制規(guī)程HDLC(High-level Data Link Contl)。
鏈路控制協(xié)議著重于對(duì)分段成物理塊或包的數(shù)據(jù)的邏輯傳輸,塊或包由起始標(biāo)志引導(dǎo)并由終止標(biāo)志結(jié)束,也稱為幀。幀是每個(gè)控制、每個(gè)響應(yīng)以及用協(xié)議傳輸?shù)乃行畔⒌拿襟w的工具。所有面向比特的數(shù)據(jù)鏈路控制協(xié)議均采用統(tǒng)一的幀格式,不論是數(shù)據(jù)還是單獨(dú)的控制信息均以幀為單位傳送。
每個(gè)幀前、后均有一標(biāo)志碼01111110,用作幀的起始、終止指示及幀的同步。標(biāo)志碼不允許在幀的內(nèi)部出現(xiàn),以免引起畸意。為保證標(biāo)志碼的唯一性但又兼顧幀內(nèi)數(shù)據(jù)的透明性,可以采用“0比特插入法”來(lái)解決。該法在發(fā)送端監(jiān)視除標(biāo)志碼以外的所有字段,當(dāng)發(fā)現(xiàn)有連續(xù)5個(gè)“1”出現(xiàn)時(shí),便在其后添插一個(gè)“0”,然后繼續(xù)發(fā)后繼的比特流。在接收端,同樣監(jiān)除起始標(biāo)志碼以外的所有字段。當(dāng)連續(xù)發(fā)現(xiàn)5個(gè)“1”出現(xiàn)后,若其后一個(gè)比特“0”則自動(dòng)刪除它,以恢復(fù)原來(lái)的比特流;若發(fā)現(xiàn)連續(xù)6個(gè)“1”,則可能是插入的“0”發(fā)生差錯(cuò)變成的“1”,也可能是收到了幀的終止標(biāo)志碼。后兩種情況,可以進(jìn)一步通過(guò)幀中的幀檢驗(yàn)序列來(lái)加以區(qū)分?!?比特插入法”原理簡(jiǎn)單,很適合于硬件實(shí)現(xiàn)。
在面向比特的協(xié)議的幀格式中,有一個(gè)8比特的控制字段,可以用它以編碼方式定義豐富的控制命令和應(yīng)答,相當(dāng)于起到了BSC協(xié)議中眾多傳輸控制 字符和轉(zhuǎn)義序列的功能。
作為面向比特的數(shù)據(jù)鏈路控制協(xié)議的典型,HDLC具有如下特點(diǎn):協(xié)議不依賴于任何一種字符編碼集;數(shù)據(jù)報(bào)文可透明輿傳輸,用于實(shí)現(xiàn)透明傳輸?shù)摹?比特插入法”易于硬件實(shí)現(xiàn);全雙工通信,不必等待確認(rèn)便可連續(xù)發(fā)送數(shù)據(jù),有較高的數(shù)據(jù)鏈路傳輸效率;所有幀均采用CRC校驗(yàn),對(duì)信息幀進(jìn)行編號(hào),可紡止漏收或重份,傳輸可靠性高;傳輸控制功能與處理功能分離,具有較大靈活性和較完善的控制功能。由于以上特點(diǎn),目前網(wǎng)絡(luò)設(shè)計(jì)普遍使用HDLC作為數(shù)據(jù)鏈路管制協(xié)議。
1.HDLC的操作方式
HCLC是通用的數(shù)據(jù)鏈路控制協(xié)議,當(dāng)開(kāi)始建立數(shù)據(jù)鏈路時(shí),允許選用特定的操作方式。所謂鏈路操作方式,通俗地講就是某站點(diǎn)以主站方式操作,還是以從站方式操作,或者是二者兼?zhèn)洹?
在鏈路上用于控制目的站稱為主站,其它的受主站控制的站稱為從站。主站負(fù)責(zé)對(duì)數(shù)據(jù)流進(jìn)行組織,半且對(duì)鏈路上的差錯(cuò)實(shí)施恢復(fù)。由主站發(fā)往從站的幀稱為命令幀,而由由站返回主站的幀稱響應(yīng)幀。
連有多個(gè)站點(diǎn)的鏈路通常使用輪詢技術(shù),輪詢其它站的站稱為主站,而在點(diǎn)到點(diǎn)燃鏈路中每個(gè)站均可為主站。主站需要比從站有更多的邏輯功能,所以當(dāng)終端與主機(jī)相連時(shí),主機(jī)一般總是主站。
在一個(gè)站連接多條鏈中的情況下,該站對(duì)于一些鏈路而言可能是主站,而對(duì)另外一些鏈路而言又可能是從站。
有些可兼?zhèn)渲髡竞蛷恼镜墓δ?,這站稱為組合站,用于組合站之間信息傳輸?shù)膮f(xié)議是對(duì)稱的,即在鏈路上主、從站具有同樣的傳輸控制功能,這又稱作平衡操作,在計(jì)算機(jī)網(wǎng)絡(luò)中這是一個(gè)非常重要的概念。相對(duì)的,那種操作時(shí)有主站、從站之分的,且各自功能不同的操作,稱非平衡操作。
HDCL中常用的操作方式有以下三種:
(1)正常響應(yīng)方式NRM(Normal Responses Mode)是一種非平衡數(shù)據(jù)鏈路操作方式,有時(shí)也稱非平衡正常響應(yīng)方式。該操作方式適用于面向終端的點(diǎn)到點(diǎn)或一點(diǎn)與多點(diǎn)的鏈路。在這種操作方式,傳輸過(guò)程由主站啟動(dòng),從站只有收到主站某個(gè)命令幀后,才能作為響應(yīng)向主站傳輸信息。響應(yīng)信息可以由一個(gè)或多個(gè)幀組成,若信息 由多個(gè)幀組成,則應(yīng)指出哪一個(gè)是最后一幀。主站負(fù)責(zé)管理整個(gè)鏈路,且具有輪詢、選擇從站及向從站發(fā)送命令的權(quán)利,同時(shí)也負(fù)責(zé)對(duì)超時(shí)、重發(fā)及各類恢復(fù) 操作的控制。NRM操作方式見(jiàn)圖3.7(a)。
(2)異步響應(yīng)方式ARM
異步響應(yīng)方式ARM(Asynchronous Responses Mode)也是一種非平衡數(shù)據(jù)鏈路操作方式,與NRM不同的是,ARM下的傳輸過(guò)程由從站啟動(dòng)。從站主動(dòng)發(fā)送給主站的一個(gè)或一組幀中可包含有信息,也可以是僅以控制為目的而發(fā)的幀。在這種操作方式下,由從站來(lái)控制超時(shí)和重發(fā)。該方式對(duì)采用輪詢方式的多站蓮路來(lái)說(shuō)是必不可少的。ARM操作方式見(jiàn)圖3.7(b)。
(3)異步平衡方式ABM
異步平衡方式ABM(Asynchronous Balanced Mode)是一種允許任何節(jié)點(diǎn)來(lái)啟動(dòng)傳輸?shù)牟僮鞣绞?。為了提高鏈路傳輸效率,?jié)點(diǎn)之間在兩個(gè)方向上都需要的較高的信息傳輸量。在這種操作方式下任何時(shí)候任何站都能啟動(dòng)傳輸操作,每個(gè)站既可作為主站又可作為從站,每個(gè)站都是組合站。各站都有相同的一組協(xié)議,任何站都可以發(fā)送或接收命令,也可以給出應(yīng)答,并且各站對(duì)差錯(cuò)恢復(fù)過(guò)程都負(fù)有相同的責(zé)任。
HDLC規(guī)程要素 規(guī)定了數(shù)據(jù)鏈路的信道狀態(tài)、操作與非操作方式、控制字段中的格式和參數(shù)、鏈路級(jí)的命令響應(yīng)及相應(yīng)的編碼以及異常狀態(tài)的報(bào)告與恢復(fù)等。
操作方式規(guī)定了數(shù)據(jù)站與數(shù)據(jù)站之間傳送數(shù)據(jù)時(shí)的相互關(guān)系。HDLC規(guī)程中有正常響應(yīng)方式(NRM)、異步響應(yīng)方式(ARM)和異步平衡方式(ABM)三種操作方式。NRM是一種不平衡數(shù)據(jù)鏈路操作方式,適用于點(diǎn)對(duì)點(diǎn)與點(diǎn)對(duì)多點(diǎn)通信的場(chǎng)合。在這種場(chǎng)合下,次站只有收到主站的明確允許后才能傳送一幀或多幀|ARM也是一種不平衡數(shù)據(jù)鏈路操作方式,適用于點(diǎn)對(duì)點(diǎn)通信的場(chǎng)合,在這種場(chǎng)合下,次站不必收到來(lái)自主站的明確允許就可開(kāi)始傳送一個(gè)或多個(gè)響應(yīng)幀;如圖是一種平衡數(shù)據(jù)鏈路操作方式,適用于點(diǎn)對(duì)點(diǎn)的通信,在這種場(chǎng)合下,任何一個(gè)組合站在任何時(shí)刻都可以發(fā)送命令幀,并無(wú)須收到來(lái)自其他組合站的明確允許就可以開(kāi)始傳送響應(yīng)幀。
HDLC規(guī)程規(guī)定有三種控制字段格式。對(duì)于基本操作(模8)。,其控制字段格式如表所示。
基本操作(模8)的控制字段格式如圖1所示。
表中N(S)為發(fā)送端發(fā)送幀順序編號(hào),N(R)為發(fā)送端接收的接收幀順序編號(hào),S為監(jiān)控功能位,M為修改功能位,P/F為探詢/終結(jié)位,即發(fā)送命令幀時(shí)的探詢位,或發(fā)送響應(yīng)幀時(shí)的終結(jié)位。
I格式用來(lái)實(shí)現(xiàn)信息傳送;S格式用來(lái)實(shí)現(xiàn)數(shù)據(jù)鏈路監(jiān)控功能格式用來(lái)提供附加的數(shù)據(jù)鏈路控制功能和無(wú)編號(hào)信息傳送。S格式與U格式(UI幀除外)的信息字段(I)為零。
廣聯(lián)達(dá)軟件打不開(kāi),提示數(shù)據(jù)鏈接出錯(cuò)o
將文件發(fā)給廣聯(lián)達(dá),讓他們做個(gè)修復(fù)。 注意不要再做其他任何操作了,復(fù)制時(shí)只復(fù)制保存的源文件,帶后綴的文件全部刪除。
1 DENON天龍 ( 始于1910年日本,全球知名品牌,數(shù)碼錄音的始祖,日本本土老字號(hào)品牌,上海電音馬蘭士電子有限公司 ) 2 Yamaha雅馬哈 (...
走走停停,市內(nèi)平均18000元沒(méi)平,推高房?jī)r(jià)的主要原因: ?? &nb...
HDLC規(guī)程有不平衡操作的正常響應(yīng)方式類(UNC)、不平衡操作的異步響應(yīng)方式類(UAC)和平衡操作的異步響應(yīng)方式類(BAO三種基本的規(guī)程類別。
不平衡類的特征是數(shù)據(jù)鏈路的一端只有一個(gè)主站,而另一端有一個(gè)或多個(gè)次站,數(shù)據(jù)鏈路的管理由主站單獨(dú)負(fù)責(zé)>平衡類的特征是在一條數(shù)據(jù)鏈路兩端各有一個(gè)組合站,它們對(duì)數(shù)據(jù)鏈路的管理負(fù)有同等責(zé)任。
在HDLC中,數(shù)據(jù)和控制報(bào)文均以幀的標(biāo)準(zhǔn)格式傳送。HDLC中的幀類似于BSC的字符塊,但BSC協(xié)議中的數(shù)據(jù)報(bào)文和控制報(bào)文是獨(dú)立傳輸?shù)?,而HDLC中的命令應(yīng)以統(tǒng)一的格式按幀傳輸。HDLC的完整的幀由標(biāo)志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、幀校驗(yàn)序列字段(FCS)等組成,如圖2所示。.
圖2 HDLC幀結(jié)構(gòu)
(1)標(biāo)志字段(F)
標(biāo)志字段為01111110的比特模式,用以標(biāo)志幀的起始和前一幀的終止。標(biāo)志字段也可以作為幀與幀之間的填充字符。通常,在不進(jìn)行幀傳送的時(shí)刻,信道仍處于激活狀態(tài),在這種狀態(tài)下,發(fā)方不斷地發(fā)送標(biāo)志字段,便可認(rèn)為一個(gè)新的幀傳送已經(jīng)開(kāi)始。采用“0比特插入法”可以實(shí)現(xiàn)0數(shù)據(jù)的透明傳輸。
(2)地址字段(A)
地址字段的內(nèi)容取決于所彩了的操作方式。在操作方式中,有主站、從站、組合站之分。每一個(gè)從站和組合站都被分配一個(gè)唯一的地址。命令幀中的地址字段攜帶的是對(duì)方站的地址,而響應(yīng)幀中的地址字段所攜帶的地址是本站的地址。某一地址也可分配給不止一個(gè)站,這種地址稱為組地址,利用一個(gè)組地址傳輸?shù)膸鼙唤M內(nèi)所有擁有該組一焉的站接收。但當(dāng)一個(gè)站或組合站發(fā)送響應(yīng)時(shí),它仍應(yīng)當(dāng)用它唯一的地址。還可用全“1”地址來(lái)表示包含所有站的地址,稱為廣播地址,含有廣播地址的幀傳送給鏈路上所有的站。另外,還規(guī)定全“0”地址為無(wú)站地址,這種地址不分配給任何站,僅作作測(cè)試。
(3)控制字段(C)
控制字段用于構(gòu)成各種命令和響應(yīng),以便對(duì)鏈路進(jìn)行監(jiān)視和控制。發(fā)送方主站或組合站利用控制字段來(lái)通知被尋址的從站或組合站執(zhí)行約定的操作;相反,從站用該字段作對(duì)命令的響應(yīng),報(bào)告已完成的操作或狀態(tài)的變化。該字段是HDLC的關(guān)鍵??刂谱侄沃械牡谝晃换虻谝?、第二位表示傳送幀的類型,HDLC中有信息幀(I幀)、監(jiān)控幀(S幀)和無(wú)編號(hào)幀(U幀)三種不同類型的幀??刂谱侄蔚牡谖逦皇荘/F位,即輪詢/終止(Poll/Final)位。
(4)信息字段(I)
信息字段可以是任意的二進(jìn)制比特串。比特串長(zhǎng)度未作限定,其上限由FCS字段或通信站的緩沖器容量來(lái)決定,目前國(guó)際上用得較多的是1000~2000比特;而下限可以為0,即無(wú)信息字段。但是,監(jiān)控幀(S幀)中規(guī)定不可有信息字段。
(5)幀校驗(yàn)序列字段(FCS)
幀校驗(yàn)序列字段可以使用16位CRC,對(duì)兩個(gè)標(biāo)志字段之間的整個(gè)幀的內(nèi)容進(jìn)行校驗(yàn)。FCS的生成多項(xiàng)式CCITT V4.1建議規(guī)定的X16 X12 X5 1。
(1)信息幀(I幀)
信息幀用于傳送有效信息或數(shù)據(jù),通常簡(jiǎn)稱I幀。I幀以控制字第一位為“0”來(lái)標(biāo)志。
信息幀的控制字段中的N(S)用于存放發(fā)送幀序號(hào),以使發(fā)送方不必等待確認(rèn)而連續(xù)發(fā)送多幀。N(R)用于存放接收方下一個(gè)預(yù)期要接收的幀的序號(hào),N(R)=5,即表示接收方下一幀要接收5號(hào)幀,換言之,5號(hào)幀前的各幀接收到。N(S)和N(R)均為3位二進(jìn)制編碼,可取值0~7。
(2)監(jiān)控幀(S幀)
監(jiān)控幀用于差錯(cuò)控制和流量控制,通常簡(jiǎn)稱S幀。S幀以控制字段第一、二位為“10”來(lái)標(biāo)志。S幀帶信息字段,只有6個(gè)字節(jié)即48個(gè)比特。S幀的控制字段的第三、四位為S幀類型編碼,共有四種不同編碼,分別表示:
00——接收就緒(RR),由主站或從站發(fā)送。主站可以使用RR型S幀來(lái)輪詢從站,即希望從站傳輸編號(hào)為N(R)的I幀,若存在這樣的幀,便進(jìn)行傳輸;從站也可用RR型S幀來(lái)作響應(yīng),表示從站希望從主站那里接收的下一個(gè)I幀的編號(hào)是N(R)。
01——拒絕(REJ),由主站或從站發(fā)送,用以要求發(fā)送方對(duì)從編號(hào)為N(R)開(kāi)始的幀及其以后所有的幀進(jìn)行重發(fā),這也暗示N(R)以前的I幀已被正確接收。
10——接收未就緒(RNR),表示編號(hào)小于N(R)的I幀已被收到,但目前正處于忙狀態(tài),尚未準(zhǔn)備好接收編號(hào)為N(R)的I幀,這可用來(lái)對(duì)鏈路流量進(jìn)行控制。
11——選擇拒絕(SREJ),它要求發(fā)送方發(fā)送編號(hào)為N(R)單個(gè)I幀,并暗示它編號(hào)的I幀已全部確認(rèn)。
可以看出,接收就緒RR型S幀和接收未就緒RNR型S幀有兩個(gè)主要功能:首先,這兩種類型的S幀用來(lái)表示從站已準(zhǔn)備好或未準(zhǔn)備好接收信息;其次,確認(rèn)編號(hào)小于N(R)的所有接收到的I幀。拒絕REJ和選擇拒絕SREJ型S幀,用于向?qū)Ψ秸局赋霭l(fā)生了差錯(cuò)。REJ幀用于GO-back-N策略,用以請(qǐng)求重發(fā)N(R)以前的幀已被確認(rèn),當(dāng)收到一個(gè)N(S)等于REJ型S幀的N(R)的I幀后,REJ狀態(tài)即可清除。SREJ幀用于選擇重發(fā)策略,當(dāng)收到一個(gè)N(S)等SREJ幀的N(R)的I幀時(shí),SREJ狀態(tài)即應(yīng)消除。
(3)無(wú)編號(hào)幀(U幀)
無(wú)編號(hào)幀因其控制字段中不包含編號(hào)N(S)和N(R)而得名,簡(jiǎn)稱U幀。U幀用于提供對(duì)鏈路的建立、拆除以及多種控制功能,這些控制功能5個(gè)M位(M1、M2、M3、M4、M5,也稱修正位)來(lái)定義。5個(gè)M位可以定義32種附加的命令功能或32種應(yīng)答功能,但目前許多是空缺的。
格式:pdf
大?。?span id="4466oty" class="single-tag-height">241KB
頁(yè)數(shù): 14頁(yè)
評(píng)分: 4.7
高級(jí)數(shù)據(jù)鏈路控制規(guī)程 HDLC 中興通訊南京研究所用服部 ATM 科 第 2 頁(yè) 共 14 頁(yè) 目 錄 1.?dāng)?shù)據(jù)鏈路控制規(guī)程 .............................................................................................................3 1. 1 數(shù)據(jù)鏈路結(jié)構(gòu) .........................................................................................................3 1. 2 數(shù)據(jù)鏈路控制規(guī)程功能 .....................................................................................
格式:pdf
大?。?span id="mdqru4o" class="single-tag-height">241KB
頁(yè)數(shù): 47頁(yè)
評(píng)分: 4.7
CH3-5ed數(shù)據(jù)鏈路層3-問(wèn)題與控制-3ed
《哈佛商業(yè)評(píng)論》曾宣稱“數(shù)據(jù)科學(xué)家”是二十一世紀(jì)最性感的職業(yè)。所謂性感,既代表著難以名狀的誘惑,又說(shuō)明了大家對(duì)它又不甚了解。
如何做好數(shù)據(jù)科學(xué)呢?
微軟高級(jí)數(shù)據(jù)科學(xué)家 Brandon Rohrer 概括了做數(shù)據(jù)科學(xué)的七大步驟,手把手教你做數(shù)據(jù)科學(xué)。
1. 獲取更多的數(shù)據(jù)
數(shù)據(jù)科學(xué)的原材料是數(shù)字和名稱的集合,測(cè)量、價(jià)格、日期、時(shí)間、產(chǎn)品、標(biāo)題、行動(dòng)等,數(shù)據(jù)科學(xué)無(wú)所不包。你也可以使用圖像、文字、音頻、視頻等復(fù)雜數(shù)據(jù),只要你能將它們簡(jiǎn)化為數(shù)字和名稱。
獲取數(shù)據(jù)的機(jī)制可能非常復(fù)雜,事實(shí)上,數(shù)據(jù)工程師就像忍者一樣。不過(guò),本篇文章將主要聚焦于數(shù)據(jù)科學(xué)。
2. 問(wèn)一個(gè)尖銳的問(wèn)題
數(shù)據(jù)科學(xué)是通過(guò)數(shù)字和名稱組成的數(shù)據(jù)集合來(lái)回答問(wèn)題的過(guò)程。你問(wèn)的問(wèn)題越精確,越容易找到令你滿意的答案。
在選擇問(wèn)題的時(shí)候,想象你的面前是一個(gè)可以用數(shù)字或字段來(lái)告訴你宇宙中一切奧秘的圣人,他的回答總是模糊不清、令人困惑,而你希望問(wèn)一個(gè)精準(zhǔn)而無(wú)懈可擊的問(wèn)題,讓他忍不住告訴你問(wèn)題的答案。
模糊的問(wèn)題如“我的數(shù)據(jù)能告訴我什么?”、“我應(yīng)該做什么?”我怎樣提高利潤(rùn)?”會(huì)帶來(lái)無(wú)用的回答,而清晰的問(wèn)題如“第三季度我能在蒙特利爾賣出多少產(chǎn)品?”、“我車隊(duì)中的哪一輛車會(huì)先壞?”會(huì)帶來(lái)清晰的答案。
在有了問(wèn)題后,要看你的數(shù)據(jù)是否能夠回答這些問(wèn)題。如果你的問(wèn)題是“我的下周的價(jià)格是多少?”,那就要確保你的數(shù)據(jù)中有的歷史價(jià)格;如果你的問(wèn)題是“88型航空發(fā)動(dòng)機(jī)能夠工作多少小時(shí)?”,那就要確保你有多臺(tái)88型發(fā)動(dòng)機(jī)故障次數(shù)的數(shù)據(jù)。
這些就是你的目標(biāo)數(shù)據(jù) (target),即你希望在未來(lái)預(yù)測(cè)或布置的量或種類。如果你沒(méi)有任何目標(biāo)數(shù)據(jù),需要回到步驟1,獲取更多的數(shù)據(jù),因?yàn)闆](méi)有目標(biāo)數(shù)據(jù)則無(wú)法回答問(wèn)題。
3. 將數(shù)據(jù)置于表格中
大部分機(jī)器學(xué)習(xí)算法假設(shè)數(shù)據(jù)以表格的形式呈現(xiàn),每行是一個(gè)事件、項(xiàng)目或?qū)嵗?,每列是行?shù)據(jù)的一個(gè)特征或?qū)傩浴?/span>
在一個(gè)描述美國(guó)足球比賽的數(shù)據(jù)集中,每行可能代表一場(chǎng)比賽,列可能包括主場(chǎng)隊(duì)、客場(chǎng)隊(duì)、主場(chǎng)得分、客場(chǎng)得分、日期、開(kāi)始時(shí)間、出場(chǎng)情況等等。表格中的列可以非常細(xì)致,有多少都可以。
選擇所需數(shù)據(jù)行
將數(shù)據(jù)集分割成行有許多方法,但只有一種方法能幫助你回答問(wèn)題:每行有且只能有一個(gè)目標(biāo)實(shí)例。以零售店數(shù)據(jù)為例,一行可以是一次交易、一天營(yíng)業(yè)額、一個(gè)零售店、一個(gè)顧客等等。
如果你的問(wèn)題是“剛進(jìn)過(guò)店的顧客會(huì)回訪嗎?”,那應(yīng)當(dāng)以一個(gè)顧客作為一行,你的目標(biāo)“顧客是否回訪”將呈現(xiàn)在每行,而如果以一個(gè)零售店或者一天營(yíng)業(yè)額作為每行的數(shù)據(jù)則不能回答目標(biāo)問(wèn)題。
有時(shí)你必須通過(guò)累積數(shù)據(jù)來(lái)獲得需要的數(shù)據(jù)。如果你的問(wèn)題是“我每天賣出多少拿鐵咖啡?”,那你需要的數(shù)據(jù)是以天數(shù)作為行、賣出的拿鐵數(shù)作為列,但是你手頭的數(shù)據(jù)可能是帶有日期和時(shí)間的交易記錄。
為了將這些數(shù)據(jù)變?yōu)槊刻斓臄?shù)據(jù),需要對(duì)目前的數(shù)據(jù)進(jìn)行累積,將每一天賣出的拿鐵數(shù)進(jìn)行合計(jì)。在這個(gè)過(guò)程中,有些信息會(huì)丟失,例如每杯拿鐵賣出的時(shí)間,但沒(méi)有關(guān)系,因?yàn)樗粫?huì)幫助你回答問(wèn)題。
4. 檢查數(shù)據(jù)質(zhì)量
檢視
下一步是認(rèn)真地排查數(shù)據(jù)。檢查數(shù)據(jù)有兩個(gè)目的:第一,發(fā)現(xiàn)錯(cuò)誤數(shù)據(jù),修復(fù)或去除;第二,充分了解每一行每一列。這一步不能跳過(guò),否則無(wú)法讓數(shù)據(jù)發(fā)揮最大功效。只有你對(duì)你的數(shù)據(jù)表示出愛(ài),它才會(huì)愛(ài)你哦。
以一列數(shù)據(jù)為例,它的標(biāo)簽是什么?數(shù)值與標(biāo)簽匹配嗎?標(biāo)簽對(duì)你來(lái)說(shuō)有意義嗎?這一列數(shù)據(jù)有記錄嗎?是怎樣測(cè)量的?誰(shuí)來(lái)測(cè)量的?如果你幸運(yùn)地認(rèn)識(shí)錄入數(shù)據(jù)的人,不妨約他們出來(lái)吃甜甜圈,問(wèn)問(wèn)他們是怎樣測(cè)量的,問(wèn)問(wèn)他們錄入中有沒(méi)有有趣的故事,這一頓點(diǎn)心會(huì)給你帶來(lái)回報(bào)的。
現(xiàn)在,讓我們把用這一列畫(huà)一個(gè)柱狀圖。整體分布符合你的預(yù)期嗎?是否有異常數(shù)據(jù)點(diǎn)?異常點(diǎn)是否有意義?例如,如果這一列代表的是農(nóng)業(yè)分布的經(jīng)度,有沒(méi)有一個(gè)數(shù)據(jù)點(diǎn)落在太平洋中?如果這一列是關(guān)于考試分?jǐn)?shù),是否有人的分?jǐn)?shù)是1%或者10000% ?用你所知的一切對(duì)數(shù)據(jù)做一個(gè)監(jiān)測(cè),如果有的數(shù)據(jù)看起來(lái)有些奇怪,找出為什么。
校正
在排查數(shù)據(jù)中,你可能發(fā)現(xiàn)一些標(biāo)簽和記錄的錯(cuò)誤,記錄并分享你的發(fā)現(xiàn)。
你也可能發(fā)現(xiàn)一些值是錯(cuò)誤的。一些值可能超過(guò)了正常范圍,比如一個(gè)人竟然72米高,或者有些值是不可能出現(xiàn)的,例如一個(gè)寫(xiě)成“中心路 7777777777 號(hào)”的地址。
這種情況下,你有三個(gè)選擇:如果這個(gè)值很容易更改,那就改為正確的值,例如把高72米改成72英寸;如果錯(cuò)誤的值不明顯,你可以刪掉這個(gè)值、注明缺失;如果這個(gè)值是關(guān)鍵信息,你可以刪除整行或者整列。這樣可以讓你訓(xùn)練的模型遠(yuǎn)離錯(cuò)誤數(shù)據(jù)。錯(cuò)誤數(shù)據(jù)可比缺失數(shù)據(jù)危害更大。
你可能很想移除看起來(lái)不理想的數(shù)據(jù),例如異常數(shù)據(jù)或者不支持你的理論的數(shù)據(jù)——但千萬(wàn)別這樣做,否則不僅違背學(xué)術(shù)倫理,更可怕的是可能會(huì)導(dǎo)致錯(cuò)誤結(jié)果。
替換缺失值
幾乎每一個(gè)數(shù)據(jù)集都存在缺失值,可能是由于數(shù)值錯(cuò)誤被刪除了,也可能是你在實(shí)驗(yàn)途中去測(cè)量了一個(gè)新的變量,還可能是這些數(shù)據(jù)來(lái)自不同的數(shù)據(jù)源。但不管什么情況,大部分機(jī)器學(xué)習(xí)算法要么要求數(shù)據(jù)無(wú)缺失,要么會(huì)用默認(rèn)值填充。而你可以比機(jī)器做得更好,因?yàn)槟懔私饽愕臄?shù)據(jù)。
替換缺失值有很多方法,《處理缺失值的方法》一文提供了一個(gè)辦法,而最佳的處理辦法取決于每一列的意義和數(shù)值缺失帶來(lái)的影響,每一個(gè)數(shù)據(jù)集的情況可能都有所不同。
替換完所有的缺失值后,你的數(shù)據(jù)們現(xiàn)在已經(jīng)“連上”了,每一個(gè)數(shù)據(jù)點(diǎn)對(duì)每一個(gè)特征都有意義。現(xiàn)在,這些數(shù)據(jù)是干凈的、可以拿來(lái)用了。
有時(shí)候你可能發(fā)現(xiàn),在數(shù)據(jù)清理后,幾乎沒(méi)有剩余的數(shù)據(jù)了……這是件好事情,因?yàn)槟銊倓偙苊饬俗呱嫌缅e(cuò)誤的數(shù)據(jù)建立模型、得到錯(cuò)誤的結(jié)論、被客戶嘲笑、激怒老板的不歸路 …… 如果是這樣,那就回到第一步,從頭獲取更多的數(shù)據(jù)吧!
5. 變換特征
在進(jìn)入機(jī)器學(xué)習(xí)之前還有一步:特征工程 (feature engineering) ,即對(duì)現(xiàn)有特征數(shù)據(jù)進(jìn)行創(chuàng)意組合,以更好地預(yù)測(cè)你的目標(biāo)。舉個(gè)例子,如果我們把火車到達(dá)和出發(fā)的時(shí)間相減,可以得到火車的運(yùn)輸時(shí)間,這個(gè)特征對(duì)完成目標(biāo)即預(yù)測(cè)火車的最大速度更加有用。
嚴(yán)格來(lái)講,特征工程并不會(huì)增加任何數(shù)據(jù)信息,只是使用各種方法對(duì)原有數(shù)據(jù)進(jìn)行組合。然而,僅僅對(duì)兩欄的數(shù)據(jù)進(jìn)行組合就有無(wú)限種方式,而大部分組合方式對(duì)解決目標(biāo)并沒(méi)有什么幫助。通常情況下,只有在對(duì)數(shù)據(jù)有充分了解的情況下才可能選出一個(gè)好的方式。你需要充分調(diào)用你所有的相關(guān)知識(shí),讓數(shù)據(jù)為你所用。
特征工程是數(shù)據(jù)科學(xué)中最微妙的一步,沒(méi)有一成不變的辦法,而是要不斷試錯(cuò)、依靠直覺(jué)和經(jīng)驗(yàn)。深度學(xué)習(xí)試圖讓這個(gè)過(guò)程自動(dòng)完成,但大多以失敗告終,也許這就是人類智能的特別之處吧。
不過(guò),即使你還不是特征工程的黑帶高手,也有一個(gè)可以使用的小技巧。你可以根據(jù)你的目標(biāo),用不同的顏色標(biāo)識(shí)變量,這可以幫你發(fā)現(xiàn)變量之間的關(guān)系。這可能工作量較大,不過(guò)你一定要花些時(shí)間過(guò)一遍。每當(dāng)你發(fā)現(xiàn)有兩個(gè)變量與目標(biāo)相關(guān),那可能就是一個(gè)特征工程,意味著這兩個(gè)變量結(jié)合在一起可能比孤立來(lái)看更有幫助。
有時(shí)候,你會(huì)發(fā)現(xiàn)你的數(shù)據(jù)中沒(méi)有任何變量或變量的組合能夠幫你預(yù)測(cè)目標(biāo),這可能意味著你需要測(cè)量一些其他變量。那么,重回第一步,獲取更多的數(shù)據(jù)吧 !
6. 回答問(wèn)題
終于到了數(shù)據(jù)科學(xué)家最愛(ài)的部分了 —— 機(jī)器學(xué)習(xí)!簡(jiǎn)單地說(shuō),你需要確定你的問(wèn)題屬于哪種算法 ,然后使用傳統(tǒng)的機(jī)器學(xué)習(xí)技巧來(lái)分割數(shù)據(jù)進(jìn)行訓(xùn)練、調(diào)整、測(cè)試數(shù)據(jù)集、根據(jù)選擇的模型優(yōu)化參數(shù)。
如果你的模型無(wú)法很好地解決問(wèn)題,或者你不想用機(jī)器學(xué)習(xí),還有兩種非傳統(tǒng)的方法:
第一種,簡(jiǎn)單地看一下你的數(shù)據(jù)圖像,很多情況下,只要對(duì)數(shù)據(jù)進(jìn)行可視化就能找到答案。例如,如果你的問(wèn)題是“波士頓明年7月4號(hào)的最高氣溫是多少?”,那么只要看一下過(guò)去100年間波士頓每年7月4日最高氣溫的直方圖就基本可以解決問(wèn)題了。
第二種方法技術(shù)含量更高一些。如果你是因?yàn)閿?shù)據(jù)集太小而得不到結(jié)果,你可以考慮進(jìn)行優(yōu)化。機(jī)器學(xué)習(xí)基于弱先驗(yàn)假設(shè),也就是說(shuō),機(jī)器學(xué)習(xí)對(duì)數(shù)據(jù)結(jié)構(gòu)做一些較弱的假設(shè)。
這種方法的優(yōu)點(diǎn)在于使用算法之前不需要對(duì)數(shù)據(jù)有太多了解,它能夠訓(xùn)練出一些大致的模型,而缺點(diǎn)在于需要大量數(shù)據(jù)才能獲得一個(gè)可信的答案。一個(gè)替代方法是根據(jù)你對(duì)數(shù)據(jù)的了解,對(duì)數(shù)據(jù)做更多的假設(shè)。例如,如果你想預(yù)測(cè)一個(gè)物體的飛行軌跡,你可以收集大量物體自由落體的數(shù)據(jù),用它們訓(xùn)練機(jī)器學(xué)習(xí)算法。你其實(shí)還可以用你了解的牛頓力學(xué)知識(shí)來(lái)制作一個(gè)更豐富的模型。這樣,只需要一個(gè)包括位置和速度的數(shù)據(jù)點(diǎn)就可以預(yù)計(jì)這個(gè)物體在未來(lái)任何一點(diǎn)的位置和速度。這種方法的風(fēng)險(xiǎn)在于你的假設(shè)可能不完全正確,但優(yōu)點(diǎn)是你不需要大量的數(shù)據(jù)就能完成任務(wù)。
如果這些辦法對(duì)你都不適用,也許意味著你需要收集更多的數(shù)據(jù),或者重新思考一下你測(cè)量的數(shù)據(jù)?;氐降谝徊剑@取更多數(shù)據(jù)吧 ~
7 .應(yīng)用答案
不管你如何優(yōu)雅地用數(shù)據(jù)回答提出的問(wèn)題,你的工作直到有用戶使用才算完成。將你的結(jié)果以某種形式呈現(xiàn)給用戶,用戶可以用它做決策、完成任務(wù)或進(jìn)行學(xué)習(xí)。
展示的方式有很多:你可以將結(jié)果放在 web 頁(yè)面上,把你發(fā)現(xiàn)的最有用的信息呈現(xiàn)在 PDF上,可以在 GitHub 上分享你的代碼,可以把結(jié)論做成視頻分享給你的商業(yè)客戶,可以制作美觀的數(shù)據(jù)可視化成果發(fā)在 Twitter 上,等等。不管采用哪種方式,要讓其他人使用你的成果。
森林中的一棵樹(shù)倒下,即使附近沒(méi)有人聽(tīng)見(jiàn),仍然會(huì)有響聲,但如果你建造了一個(gè)精良的模型卻沒(méi)人用,你肯定不會(huì)得到贊譽(yù)。
那么就從頭開(kāi)始吧,回到第一步,獲取更多的數(shù)據(jù)!
第1章 哈希表
1.1 哈希表的基本原理
1.2 哈希表的基本概念
1.3 哈希函數(shù)的構(gòu)造
1.4 哈希表的基本操作
1.5 沖突的處理
1.6 哈希表的性能分析
1.7 哈希表的應(yīng)用舉例
1.8 本章習(xí)題
第2章 樹(shù)與二叉樹(shù)
2.1 樹(shù)
2.1.1 樹(shù)的存儲(chǔ)結(jié)構(gòu)
2.1.2 樹(shù)的遍歷
2.2 二叉樹(shù)
2.2.1 普通樹(shù)轉(zhuǎn)換成二叉樹(shù)
第1章 哈希表 1.1 哈希表的基本原理 1.2 哈希表的基本概念 1.3 哈希函數(shù)的構(gòu)造 1.4 哈希表的基本操作 1.5 沖突的處理 1.6 哈希表的性能分析 1.7 哈希表的應(yīng)用舉例 1.8 本章習(xí)題
第2章 樹(shù)與二叉樹(shù) 2.1 樹(shù) 2.1.1 樹(shù)的存儲(chǔ)結(jié)構(gòu) 2.1.2 樹(shù)的遍歷 2.2 二叉樹(shù) 2.2.1 普通樹(shù)轉(zhuǎn)換成二叉樹(shù) 2.2.2 二叉樹(shù)的遍歷 2.2.3 二叉樹(shù)的其他操作 2.2.4 二叉樹(shù)的形態(tài) 2.3 二叉排序樹(shù) 2.4 哈夫曼二叉樹(shù) 2.5 字典樹(shù) 2.6 本章習(xí)題
第3章 優(yōu)先隊(duì)列與二叉堆 3.1 優(yōu)先隊(duì)列 3.2 二叉堆 3.2.1 Put操作 3.2.2 Get操作 3.3 可并堆 3.3.1 左偏樹(shù)的定義 3.3.2 左偏樹(shù)的基本操作 3.4 本章習(xí)題
第4章 并查集 4.1 并查集的主要操作 4.2 并查集的實(shí)現(xiàn) 4.2.1 并查集的數(shù)組實(shí)現(xiàn) 4.2.2 并查集的鏈表實(shí)現(xiàn) 4.2.3 并查集的樹(shù)實(shí)現(xiàn) 4.3 并查集的應(yīng)用舉例 4.4 本章習(xí)題
第5章 線段樹(shù) 5.1 線段樹(shù)的應(yīng)用背景 5.2 線段樹(shù)的初步實(shí)現(xiàn) 5.2.1 線段樹(shù)的結(jié)構(gòu) 5.2.2 線段樹(shù)的性質(zhì) 5.2.3 線段樹(shù)的存儲(chǔ) 5.2.4 線段樹(shù)的常用操作 5.2.4.1 線段樹(shù)的構(gòu)造 5.2.4.2 線段樹(shù)的查詢 5.2.4.3 線段樹(shù)的修改 5.2.4.4 線段樹(shù)的延遲修改 5.3 線段樹(shù)在一些經(jīng)典問(wèn)題中的應(yīng)用 5.3.1 逆序?qū)?wèn)題 5.3.2 矩形覆蓋問(wèn)題 5.4 線段樹(shù)的擴(kuò)展 5.4.1 用線段樹(shù)優(yōu)化動(dòng)態(tài)規(guī)劃 5.4.2 將線段樹(shù)擴(kuò)展到高維 5.4.3 線段樹(shù)與平衡樹(shù)的結(jié)合 5.5 線段樹(shù)與其他數(shù)據(jù)結(jié)構(gòu)的比較 5.6 線段樹(shù)的應(yīng)用舉例 5.7 本章習(xí)題
第6章 樹(shù)狀數(shù)組 6.1 樹(shù)狀數(shù)組的問(wèn)題模型 6.2 樹(shù)狀數(shù)組的基本思想 6.3 樹(shù)狀數(shù)組的實(shí)現(xiàn) 6.3.1 子集的劃分方法 6.3.2 查詢前綴和 6.3.3 修改子集和 6.4 樹(shù)狀數(shù)組的常用技巧 6.4.1 查詢?nèi)我鈪^(qū)間和 6.4.2 利用SHill數(shù)組求出原數(shù)組a的某個(gè)元素值 6.4.3 找到某個(gè)前綴和對(duì)應(yīng)的前綴下標(biāo)index 6.4.4 成倍擴(kuò)張/縮減 6.4.5 初始化樹(shù)狀數(shù)組 6.5 樹(shù)狀數(shù)組與線段樹(shù)的比較 6.6 樹(shù)狀數(shù)組擴(kuò)展到高維的情形 6.7 樹(shù)狀數(shù)組的應(yīng)用舉例 6.8 本章習(xí)題
第7章 伸展樹(shù) 7.1 伸展樹(shù)的主要操作 7.1.1 伸展操作 7.1.2 伸展樹(shù)的基本操作 7.2 伸展樹(shù)的算法實(shí)現(xiàn) 7.3 伸展樹(shù)的效率分析 7.4 伸展樹(shù)的應(yīng)用舉例 7.5 本章習(xí)題
第8章 Treap 8.1 Treap的基本操作 8.2 Treap的算法實(shí)現(xiàn) 8.3 Treap的應(yīng)用舉例 8.4 本章習(xí)題
第9章 平衡樹(shù) 9.1 AVL樹(shù) 9.2 紅-黑樹(shù) 9.3 SBT 9.3.1 SBT的基本操作 9.3.2 SBT的效率分析 9.3.3 SBT的算法實(shí)現(xiàn) 9.4 本章習(xí)題
第10章 塊狀鏈表與塊狀樹(shù) 10.1 塊狀鏈表的基本思想 10.2 塊狀鏈表的基本操作 10.3 塊狀鏈表的擴(kuò)張 10.3.1 維護(hù)區(qū)間和以及區(qū)間最值 10.3.2 維護(hù)局部數(shù)據(jù)有序化 10.3.3 維護(hù)區(qū)間翻轉(zhuǎn) 10.4 塊狀鏈表與其他數(shù)據(jù)結(jié)構(gòu)的比較 10.5 分塊思想在樹(shù)上的應(yīng)用--塊狀樹(shù) 10.6 塊狀鏈表的應(yīng)用舉例 10.7 本章習(xí)題
第11章 后綴樹(shù)與后綴數(shù)組 11.1 后綴樹(shù)的簡(jiǎn)介 11.2 后綴樹(shù)的定義 11.3 后綴樹(shù)的構(gòu)建 11.3.1 后綴樹(shù)的樸素構(gòu)建算法 11.3.2 后綴樹(shù)的線性時(shí)間構(gòu)建算法 11.3.2.1 隱式樹(shù)的樸素構(gòu)建 11.3.2.2 擴(kuò)展規(guī)則約定 11.3.2.3 后綴鏈加速 11.3.2.4 進(jìn)一步加速 11.3.2.5 后綴樹(shù)拓展到多串的形式 11.3.2.6 代碼實(shí)現(xiàn) 11.3.2.7 相關(guān)證明 11.4 后綴樹(shù)的應(yīng)用 11.4.1 字符串(集合)的精確匹配 11.4.1.1 情形一 11.4.1.2 情形二 11.4.1.3 情形三 11.4.1.4 情形四 11.4.2 公共子串問(wèn)題 11.4.2.1 情形五 11.4.2.2 情形六 11.4.2.3 情形七 11.4.2.4 情形八 11.4.2.5 情形九 11.4.3 重復(fù)子串問(wèn)題 11.4.3.1 情形十 11.4.3.2 情形十一 11.4.3.3 情形十二 11.5 后綴數(shù)組的簡(jiǎn)介 11.6 后綴數(shù)組的定義 11.7 后綴數(shù)組的構(gòu)建 11.7.1 一種直接的構(gòu)建算法 11.7.2 倍增算法 11.7.2.1 倍增算法描述 11.7.2.2 倍增算法代碼 11.7.3 由后綴樹(shù)得到后綴數(shù)組 11.7.4 DC3算法和DC算法 11.7.4.1 DC3算法 11.7.4.2 DC算法 11.8 LCP的引入 11.9 后綴數(shù)組的應(yīng)用 11.9.1 后綴排序的直接應(yīng)用 11.9.1.1 Burrows-Wheeler變換 11.9.1.2 多模式串的匹配 11.9.2 通過(guò)引入LCP優(yōu)化 11.9.2.1 多模式串的匹配 11.9.2.2 重復(fù)子串問(wèn)題 11.9.2.3 最長(zhǎng)回文子串 11.9.2.4 最長(zhǎng)公共子串 11.9.3 后綴數(shù)組的應(yīng)用舉例 11.10 本章習(xí)題
第12章 樹(shù)鏈剖分與動(dòng)態(tài)樹(shù) 12.1 樹(shù)鏈剖分的思想和性質(zhì) 12.2 樹(shù)鏈剖分的實(shí)現(xiàn)及應(yīng)用 12.3 動(dòng)態(tài)樹(shù)的初探 12.3.1 動(dòng)態(tài)樹(shù)的常用功能 12.3.2 動(dòng)態(tài)樹(shù)的簡(jiǎn)單情形 12.4 動(dòng)態(tài)樹(shù)的實(shí)現(xiàn) 12.4.1 動(dòng)態(tài)樹(shù)的基本操作及其實(shí)現(xiàn) 12.4.1.1 動(dòng)態(tài)樹(shù)的問(wèn)題模型 12.4.1.2 用Splay維護(hù)實(shí)路徑 12.4.2 動(dòng)態(tài)樹(shù)操作的時(shí)間復(fù)雜度分析 12.4.2.1 動(dòng)態(tài)樹(shù)操作的次數(shù) 12.4.2.2 Splay操作的平攤時(shí)間 12.5 動(dòng)態(tài)樹(shù)的經(jīng)典應(yīng)用 12.5.1 求最近公共祖先 12.5.2 并查集操作 12.5.3 求最大流 12.5.4 求生成樹(shù) 12.6 動(dòng)態(tài)樹(shù)的應(yīng)用舉例 12.7 本章習(xí)題
國(guó)家統(tǒng)計(jì)局5月18日發(fā)布了4月份70個(gè)大中城市住宅銷售價(jià)格統(tǒng)計(jì)數(shù)據(jù)。對(duì)此,國(guó)家統(tǒng)計(jì)局城市司高級(jí)統(tǒng)計(jì)師劉建偉進(jìn)行了解讀。
一、房?jī)r(jià)環(huán)比略有上漲,城市間仍呈分化局面。在3月底樓市新政出臺(tái)和傳統(tǒng)銷售旺季等多重因素疊加影響下,4月份70個(gè)大中城市新建商品住宅成交繼續(xù)回升,部分城市房?jī)r(jià)環(huán)比略有上漲。發(fā)布的數(shù)據(jù)顯示,4月份70個(gè)大中城市新建商品住宅和二手住宅價(jià)格環(huán)比上漲的城市分別有18個(gè)和28個(gè),分別比上月增加了6個(gè)和16個(gè);持平和下降的城市個(gè)數(shù)均有所減少。初步測(cè)算,4月份70個(gè)大中城市新建商品住宅價(jià)格環(huán)比綜合平均上漲0.3%。
分城市看,分化仍然較為明顯,房?jī)r(jià)上漲主要集中在一線城市和少數(shù)二線城市。4月份北京、上海、廣州、深圳4個(gè)一線城市新建商品住宅和二手住宅價(jià)格環(huán)比均出現(xiàn)上漲,最高漲幅分別為1.8%和2.4%,少數(shù)二線城市房?jī)r(jià)出現(xiàn)上漲,絕大部分三線城市房?jī)r(jià)仍然下降。據(jù)測(cè)算,4月份一線城市新建商品住宅價(jià)格環(huán)比平均上漲1%,二、三線城市新建商品住宅價(jià)格環(huán)比平均分別下降0.1%和0.3%。
二、房?jī)r(jià)同比降幅收窄。絕大部分城市房?jī)r(jià)同比仍然下降,但隨著部分城市房?jī)r(jià)環(huán)比上漲,4月份房?jī)r(jià)同比降幅總體略有收窄。其中,新建商品住宅價(jià)格降幅比上月收窄的城市有15個(gè),比上月增加12個(gè);二手住宅價(jià)格降幅比上月收窄的城市有22個(gè),比上月增加11個(gè)。