數據分析挖掘相關技術選擇

這是一個最好的年代

這是一個最好的年代,是信息爆炸時代。在移動互聯的浪潮下,大家都成了數據的生產者和數據的消費者,給我們帶來了更精彩的生活;企業走在信息智能化的道路上,並在持續在收集,整理,規範著數據,以支持更好的發展。

在這個最好的年代,我們可以更簡便的獲取信息進行學習,娛樂和社交;企業也依靠數據完成更好的發展。數據領域變得熱門,相應的數據分析和挖掘也就變得時尚,而且變得越發的重要。

數據分析的幾個階段

對於以下說明的也是一些企業常規的數據治理的情況。

常規的統計

常規的數據統計分析,求均值,求方差,統計求和等。通過這些統計量直觀的反應數據,但是過於簡單,也只是片面的反應業務運轉情況。這階段最常見的也就是使用Excel等分析軟件進行初步分析。

數據信息化

相關應用系統實現業務信息化(如ERP),在這些系統中的關係數據中,存儲各種的關係數據。這階段主要使用SQL,加上一些展示手段完成分析工作,這時已經可以完成一些複雜的分析工作。

體系化複用化

應用系統越來越多,數據也越來越多,這時複雜到了無法只依靠SQL就可以處理。這時開始數據複用化,構建數據集市,數據倉庫,構造數據總線等。這時數據變得井然有序,且質量較為高,針對構建好的數據,更容易展開專題性的分析,分析複雜度也在增加。

複雜分析

構建商業智能系統,進行對業務數據進行多維分析,提供自動化,靈活的分析,支持即席數據分析,這步在數據已經體系化。在規範化的前提下,構建的時間較長。對於多維分析數據集使用特有的MDX語言進行分析,較難掌握。

挖掘分析並大數據化

深層次的數據分析已經到了挖掘的地步,應用各種的算法,找到數據內部的規律和聯繫,這時完備的分析工具是一方面,更重要一方面是挖掘分析人員。

響應時代的號召要有大數據,但前提你要有大量的數據。但多大的數據可以定義為大數據呢,沒有那個權威機構給出界定,但有專家建議是以5個T的數據為起點。

分析步驟及技術體系

數據分析挖掘相關技術選擇

結合相關體系說明

對SQLServer BI體系和Python體系的和mongodb大數據分析體系分析說明,對於這三者體系分別是各個領域和階段較有代表性的。

  • SQLServer BI體系

其代表了各傳統豪強在數據分析,商業智能領域的發展,諸如:IBM , Oracle,SAP等。特點是集成度較高,易用性可靠性較高,有良好的技術支持,價格死貴,大中型企業偏愛使用。

數據分析挖掘相關技術選擇

  • Python體系

早期統計學,生物學家的熱衷的分析語言之一,所以在分析領域沉澱了較多優秀的分析庫,但要對各個庫結合使用,集成度極差,能發揮多大的作用,主要看使用者能力。免費,但是主要的成本還是在開發人員上。

其代表了開源免費類的工具語言,如R等。但是如果想充分利用,需要有較好的技術基礎,所以受一些互聯網技術公司青睞。

數據分析挖掘相關技術選擇

  • Mongodb大數據體系

新時代挑戰者,MongoDB就可以扮演HDFS的角色來為Spark提供計算的原始數據,以及用來持久化分析計算的結果,但更多的還是大數據體系。

數據分析挖掘相關技術選擇

確定問題或目標: 數據驅動業務,當然是為了解決遇到問題或達到更大的目標。需要業務人員,運營人員,管理人員等進行溝通後確認。

明確數據源:在明確了問題或目標後,在目前現有的數據體系中,選擇可供使用的數據源,目前絕大多數來是存儲在關係數據庫中,部分在以文件信息存放或者需要從互聯網上爬取。

數據質量檢測:主要的分析的點就是: 缺失值 ;異常值 ;數據矛盾性分析

  • 對於SQLServer中可以使用SSIS中的 事件嗅探任務對數據質量進行檢查

數據分析挖掘相關技術選擇

  • 對於分析的結果

    候選鍵配置

    可用於ETL中,用於主鍵的列的參考

    列Null比率

    數據為null的比率,用於數據質量判斷,便於ETL方案制定

    列模式配置

    判斷列數據的變異長度,即可以發現異常數據的可能性

    列統計信息

    用於列信息有大體性認識

    列長度分佈配置


    列值分佈配置

    可以獲取較為詳細的值分類信息

  • 對於Python可以使用相關函數進行分析

分析項

分析函數

對應的庫

基礎描述性分析

describe();對數據均值,方差,最大最小值分析

pandas

四分位距分析

Plot();異常數據(過大,過小)分析

pandas

統計量分析

通過統計量,均值,方差等的進一步分析;求極值,求變異性等

pandas,numpy

  • 其他

從數據庫中獲取數據時,編寫合理的sql語句獲取合適的數據,會更利於分析,或是直接使用sql語句對缺失值 ;異常值 ;數據矛盾性分析。對於mongodb中的數據質量檢測,使用的方法應該是類似python,需要需要相應的函數進行分析。

數據清洗(ETL)

在分析了數據質量後,需要對數據進行清洗,裝換和裝載,是一個相對耗時的工作。

  • 對於Sqlserver 使用SSIS中各功能組件進行分析,構建相應的數據流

數據分析挖掘相關技術選擇

  • 對於python進行數據清洗中,方向性更為明確,當然也是使用相關函數

清洗項

操作

缺失值處理

刪除數據;插補數據;不處理等,具體處理後續介紹

異常值處理

刪除數據;修正數據;不處理等,具體處理後續介紹

數據變換

單位縮放;標準化;離散化等,具體處理後續介紹

  • 其他

必要的SQL語句進行讓清洗事半功倍,對於mongodb的解決方案,通過已有大數據中的相關工具進行清洗。

構建數據模型

  • 對於SQLServer BI SSAS分為兩種解決方案:使用多維分析模型;或使用構建表格分析模型。

  • 對於Python,在數據抽取清洗後,使用相關分析庫進行分析,主要是 scikit-learn,scipy,keras等,這些抽取的數據是要契合相關庫中函數的數據要求的

  • 使用Excel Pivot構建自助表格分析模型,其操作大體和SQLServer BI中的表格分析模型一樣。

報表呈現

  • 對於SQLServer 使用 SSRS報表系統或者使用PowerBI進行構建報表

  • 對於python,使用matplot輸出分析圖表,後續可以將這些圖表在Web上或者是在ppt中呈現。

這也是一個最壞的年代

各種終端產品收集著大家的數據;

信息消費時代,信息生產者需求更多的消費者,難免的生產寫低俗,無聊的信息。

tip:

接下來,將SQL Server BI 和python 處理步驟的詳細說明。


分享到:


相關文章: