第287章 衣裙
分佈式消息訂閱分發也是一種常見的數據採集方式Y其中YKaa就是一種具有代
表性的產品Kaa是由LinkedIn公司開發的一種高吞吐量的分佈式發佈訂閱消息
系統Y用戶通過Kaa系統可以發佈大量的消息Y同時也能實時訂閱消費消息
Kaa的架構包括以下組件X話題生產者服務代理消費者。
ETL是英文Extract-Transform-Load的縮寫Y常用於數據倉庫中的數據采
集和預處理環節顧名思義YETL從原系統中抽取數據Y並根據實際商務
需求對數據進行轉換Y並把轉換結果加載到目標數據存儲中可以看出Y
ETL既包含了數據採集環節Y也包含了數據預處理環節
Kettle是一款國外開源的ETL工具Y使用Java語言編寫Y可以在
WindowsLinuxUnix上運行Y數據抽取高效穩定。
網絡數據採集是指通過網絡爬蟲或網站公開應用程式編程接口等方式從
網站上獲取數據信息該方法可以將非結構化數據從網頁中抽取出來Y
將其存儲為統一的本地數據文件Y並以結構化的方式存儲它支持圖片
音頻視頻等文件的採集Y文件與正文可以自動關聯網絡數據採集的
應用領域十分廣泛Y包括搜尋引擎與垂直搜索平台搭建與運營Y綜合門
戶與行業門戶地方門戶專業門戶網站數據支撐與流量運營Y電子政
務與電子商務平台的運營Y知識管理與知識共享Y企業競爭情報系統的
運營YBI商業智能系統Y信息諮詢與信息增值Y信息安全和信息監控等。
數據清洗的主要應用領域包括數據倉庫與數據挖掘數據質量管理
?
1?數據倉庫與數據挖掘數據清洗對於數據倉庫與數據挖掘應用來
說Y是核心和基礎Y它是獲取可靠有效數據的一個基本步驟數據倉
庫是為了支持決策分析的數據集合Y在數據倉庫領域Y數據清洗一般是
應用在幾個數據庫合併時或者多個數據源進行集成時例如Y消除數據
庫中的重複記錄數據挖掘是建立在數據倉庫基礎上的增值技術Y在數
據挖掘領域Y經常會遇到挖掘出來的特徵數據存在各種異常情況Y如數
據缺失數據值異常等對於這些情況Y如果不加以處理Y就會直接影
響到最終挖掘模型的使用效果Y甚至會使得創建模型任務失敗因此Y
在數據挖掘過程中Y數據清洗是第一步。
數據質量管理數據質量管理貫穿數據生命周期的全過程在
數據生命周期中Y可以通過數據質量管理的方法和手段Y在數據生成
使用消亡的過程里Y及時發現有缺陷的數據Y然後藉助數據管理手
段Y將數據正確化和規範化Y從而達到符合要求的數據質量標準總
體而言Y數據質量管理覆蓋質量評估數據去噪數據監控數據探
查數據清洗數據診斷等方面Y而在這個過程中Y數據清洗是決定
數據質量好壞的重要因素。
數據清洗按照實現方式Y可以分為手工清洗和自動清洗
?
1?手工清洗X手工清洗是通過人工方式對數據進行檢查Y發現數據中
的錯誤這種方式比較簡單Y只要投入足夠的人力物力財力Y也能
發現所有錯誤Y但效率低下在大數據量的情況下Y手工清洗數據幾乎
是不可能的
?
2?自動清洗X自動清洗是通過專門編寫的計算機應用程式來進行數據
清洗這種方法能解決某個特定的問題Y但不夠靈活Y特別是在清理過
程需要反覆進行時?一般來說,數據清理一遍就達到要求的很少?Y程序
複雜Y清理過程變化時工作量大而且Y這種方法也沒有充分利用目前
數據庫提供的強大的數據處理能力。
數據清洗主要是對缺失值重複值異常值和數據類型有誤的數據
進行處理Y數據清洗的內容主要包括四點
?
1?缺失值處理由於調查編碼和錄入誤差Y數據中可能存在
一些缺失值Y需要給予適當的處理常用的處理方法有X估算
整例刪除變量刪除和成對刪除
?
2?異常值處理根據每個變量的合理取值範圍和相互關係Y檢
查數據是否合乎要求Y發現超出正常範圍邏輯上不合理或者相
互矛盾的數據。
數據清洗主要是對缺失值重複值異常值和數據類型有誤的數據
進行處理Y數據清洗的內容主要包括四點
?
3?數據類型轉換數據類型往往會影響到後續的數據處理分析
環節Y因此Y需要明確每個字段的數據類型Y比如Y來自A表的
學號是字符型Y而來自B表的字段是日期型Y在數據清洗的時候
就需要對二者的數據類型進行統一處理
?
4?重複值處理重複值的存在會影響數據分析和挖掘結果的准
確性Y所以Y在數據分析和建模之前需要進行數據重複性檢驗Y
如果存在重複值Y還需要進行重複值的刪除。
在進行數據清洗時Y需要注意如下事項X
?
1?數據清洗時優先進行缺失值異常值和數據類型轉換的操作Y最後進
行重複值的處理
?
2?在對缺失值異常值進行處理時Y要根據業務的需求進行處理Y這些
處理並不是一成不變的Y常見的填充包括X統計值填充?常用的統計值有
均值中位數眾數?前/后值填充?一般使用在前後數據存在關聯的情
況下Y比如數據是按照時間進行記錄的?零值填充。
在進行數據清洗時Y需要注意如下事項X
?
3?在數據清洗之前Y最為重要的對數據表的查看Y要了解表的結構和發
現需要處理的值Y這樣才能將數據清洗徹底
?
4?數據量的大小也關繫着數據的處理方式
?
5?在導入數據表后Y一般需要將所有列一個個地進行清洗Y來保證數據
處理的徹底性Y有些數據可能看起來是可以正常使用的Y實際上在進行處
理時可能會出現問題?比如某列數據在查看時看起來是數值類型Y但是其
實這列數據的類型卻是字符串Y這就會導致在進行數值操作時無法使用?。
數據處理常常涉及數據集成操作Y即將來自多個數據源的數
據Y結合在一起形成一個統一的數據集合Y以便為數據處理
工作的順利完成提供完整的數據基礎
在數據集成過程中Y需要考慮解決以下幾個問題X
?
1?模式集成問題
?
2?冗餘問題
?
3?數據值衝突檢測與消除問題。
常見的數據轉換策略包括X
?
1?平滑處理幫助除去數據中的噪聲Y常用的方法包括分箱回歸
和聚類等
?
2?聚集處理對數據進行匯總操作例如Y每天的數據經過匯總操
作可以獲得每月或每年的總額這一操作常用於構造數據立方體或對數
據進行多粒度的分析
?
3?數據泛化處理用更抽象的概念來取代低層次的數據對象例如Y
街道屬性可以泛化到更高層次的概念Y如城市國家Y再比如年齡屬性
可以映射到更高層次的概念Y如青年中年和老年。
規範化處理將屬性值按比例縮放Y使之落入一個特定的區間Y
比如0~1常用的數據規範化方法包括Min-Max規範化Z-Score規範化
和小數定標規範化等
?
5?屬性構造處理根據已有屬性集構造新的屬性Y後續數據處理直
接使用新增的屬性例如Y根據已知的質量和體積屬性Y計算出新的屬
性密度。
我怎麼又困了。