1. 【數(shù)據(jù)分析】Python數(shù)據(jù)分析學(xué)習(xí)路線個人總結(jié)

        共 4681字,需瀏覽 10分鐘

         ·

        2022-01-19 16:22

        數(shù)據(jù)分析人人都有必要掌握一點,哪怕只是思維也行。下面探討Python數(shù)據(jù)分析需要學(xué)習(xí)的知識范疇,結(jié)合自己的經(jīng)歷和理解,總結(jié)的學(xué)習(xí)大綱,有些章節(jié)帶有解釋,有些沒有。當(dāng)然,關(guān)于學(xué)習(xí)范疇,可能每個人的理解都不太一樣,以下僅供參考。


        1 數(shù)據(jù)分析思維


        數(shù)據(jù)分析屬于分析思維的一個子類,有專門的數(shù)據(jù)方法論。只有先養(yǎng)成正確的分析思維,才能使用好數(shù)據(jù)。

        大多數(shù)人的思維方式都依賴于生活和經(jīng)驗做出直覺性的判斷,最直觀的體現(xiàn)是,在數(shù)據(jù)和業(yè)務(wù)分析中有時無從下手。

        什么是好的分析思維?

        用兩張在網(wǎng)絡(luò)上流傳甚廣的圖片說明

        思維模式(圖片來源網(wǎng)絡(luò))

        對應(yīng)以下兩種思維:

        我們12月的銷售額度下降,我想是因為年終的影響,我問了幾個銷售員,他們都說年終生意不太好做,各家都收緊了財務(wù)預(yù)算,談下的幾家費用也比以前有縮水。我對他們進行了電話拜訪,廠家都說經(jīng)濟不景氣,希望我們價格方面再放寬點。

        我們12月的銷售額度下降,低于去年同期和今年平均值,可以排除掉大環(huán)境的因素。其中A地區(qū)下降幅度最大,間接影響了整體銷售額。通過調(diào)查發(fā)現(xiàn),A地區(qū)的市場因為競爭對手涌入,進行了低價銷售策略。除此之外,B地區(qū)的經(jīng)濟發(fā)展低于預(yù)期發(fā)展,企業(yè)縮減投入。

        第一個分析思維是依賴經(jīng)驗和直覺的線性思維,第二個分析思維則注重邏輯推導(dǎo),屬于結(jié)構(gòu)化的思維。兩種思維往往會導(dǎo)致不同的結(jié)果。

        1.1 金子塔原理

        麥肯錫思維中很重要的一條原理叫做金字塔原理,它的核心是層次化思考、邏輯化思考、結(jié)構(gòu)化思考。

        1.1.1 什么是金字塔?

        任何一件事情都有一個中心論點,中心論點可以劃分成3~7個分論點,分論點又可以由3~7個論據(jù)支撐。層層拓展,這個結(jié)構(gòu)由上至下呈金字塔狀。

        1.1.2 結(jié)構(gòu)化思維

        金字塔(圖片來源網(wǎng)絡(luò))

        1.1.3 核心法則:MECE

        金字塔原理有一個核心法則MECE,全稱 Mutually Exclusive Collectively Exhaustive,論點相互獨立,盡可能多的列舉。

        1.1.4 假設(shè)先行

        首先得有一個思考作為開始。這是什么意思?因為金字塔是從上而下,需要有一個中心論點,也就是塔尖。我們可以先提出一個問題,比如此產(chǎn)品的核心功能是某某功能嗎?

        1.2 二八法則

        1.2.1 20%的分析過程決定80%的分析結(jié)果

        1.2.2 抓住關(guān)鍵因素

        以上節(jié)選的兩個分析思維,都能在麥肯錫問題分析與解決技巧中找到原型,感興趣的可查看下面這本書。




        2 數(shù)據(jù)獲取


        2.1 大數(shù)據(jù)平臺提取

        各個公司都可能有自己專屬的大數(shù)據(jù)平臺,進入公司要首先掌握如何從這上面拿去我們需要的業(yè)務(wù)數(shù)據(jù)

        2.2 第三方服務(wù)接口

        合作企業(yè)或公司購買的服務(wù)接口,我們可以直接調(diào)用拿到數(shù)據(jù)。

        2.3 開源公開數(shù)據(jù)集

        推薦一些數(shù)據(jù)集

        2.4 爬蟲爬取網(wǎng)站數(shù)據(jù)

        python的常用包:

        • requests

        • json

        • BeautifulSoup

        requests庫就是用來進行網(wǎng)絡(luò)請求的,說白了就是模擬瀏覽器來獲取資源。

        由于我們采集的是api接口,它的格式為json,所以要用到j(luò)son庫來解析。

        BeautifulSoup是用來解析html文檔的,可以很方便的幫我們獲取指定div的內(nèi)容。


        3 數(shù)據(jù)存儲


        3.1 SQL分組,聚合,多表join操作

        groupby, aggregate,join操作

        join操作可參考 Python與算法社區(qū) 公眾號

        3.2 大數(shù)據(jù)平臺Hadoop

        大數(shù)據(jù)架構(gòu),分布式存儲,詳細自行查閱

        3.3 Mysql

        這個大家應(yīng)該都不陌生

        3.4 hive 拉鏈表

        拉鏈表的知識大家需要好好理解體會,dp 的狀態(tài) active 和 history



        4 數(shù)據(jù)清理知識


        4.1 理解數(shù)據(jù)背后的業(yè)務(wù),千萬不要忽視!

        我們在拿到需要分析的數(shù)據(jù)后,千萬不要急于立刻開始做回歸、分類、聚類分析。

        第一步應(yīng)該是認真理解業(yè)務(wù)數(shù)據(jù),可以試著理解去每個特征,觀察每個特征,理解它們對結(jié)果的影響程度。

        然后,慢慢研究多個特征組合后,它們對結(jié)果的影響。

        4.2 明確各個特征的類型

        如果這些數(shù)據(jù)類型不是算法部分期望的數(shù)據(jù)類型,你還得想辦法編碼成想要的。比如常見的數(shù)據(jù)自增列 id 這類數(shù)據(jù),是否有必要放到你的算法模型中,因為這類數(shù)字很可能被當(dāng)作數(shù)字讀入。

        某些列的取值類型,雖然已經(jīng)是數(shù)字了,它們的取值大小表示什么含義你也要仔細捉摸。因為,數(shù)字的相近相鄰,并不一定代表另一種層面的相鄰。

        4.3 找出異常數(shù)據(jù)

        統(tǒng)計中國家庭人均收入時,如果源數(shù)據(jù)里面,有王建林,馬云等這種富豪,那么,人均收入的均值就會受到極大的影響,這個時候最好,繪制箱形圖,看一看百分位數(shù)。

        4.4 處理缺失值

        現(xiàn)實生產(chǎn)環(huán)境中,拿到的數(shù)據(jù)恰好完整無損、沒有任何缺失數(shù)據(jù)的概率,和買彩票中將的概率差不多。

        數(shù)據(jù)缺失的原因太多了,業(yè)務(wù)系統(tǒng)版本迭代, 之前的某些字段不再使用了,自然它們的取值就變?yōu)?null 了;再或者,壓根某些數(shù)據(jù)字段在抽樣周期里,就是沒有寫入數(shù)據(jù)……

        4.5 頭疼的數(shù)據(jù)不均衡問題

        理論和實際總是有差距的,理論上很多算法都存在一個基本假設(shè),即數(shù)據(jù)分布總是均勻的。這個美好的假設(shè),在實際中,真的存在嗎?很可能不是!

        算法基于不均衡的數(shù)據(jù)學(xué)習(xí)出來的模型,在實際的預(yù)測集上,效果往往差于訓(xùn)練集上的效果,這是因為實際數(shù)據(jù)往往分布得很不均勻,這時候就要考慮怎么解決這些問題。下面是一本數(shù)據(jù)清洗不錯的書籍:



        5 Python核心知識


        5.1 理解Python的解釋性

        Python 是解釋型語言,對于 Python 剛剛?cè)腴T的小伙伴,可能對解釋性有些疑惑。不過,沒關(guān)系,我們可以通過大家已經(jīng)熟悉的編譯型語言,來幫助我們理解 Python 的解釋性。

        編譯型語言,如 C++、Java,它們會在編譯階段做類型匹配檢查等,因此,數(shù)據(jù)類型不匹配導(dǎo)致的編譯錯誤,在編譯階段就會被檢查出來,例如:

        1. Intger a = 0;

        2. Double b = 0.0;

        3. a = b; // Double類型的變量 b 試圖賦值給 Integer 型的變量 a, 編譯報錯

        4. // 因為 Integer 類型 和 Double 類型 不存在繼承關(guān)系,

        5. // 類型不能互轉(zhuǎn)

        但是,Python 就不會在編譯階段做類型匹配檢查,比如,Python 實現(xiàn)上面的幾行語句,會這樣寫:

        1. a = 0 # 不做任何類型聲明

        2. b = 0.

        3. a = b # 這種賦值,Python 會有問題嗎?

        答案是不會的。此處就體現(xiàn)了 Python 的解釋特性,當(dāng)我們把 0 賦值給 a 時,Python 解釋器會把它 a 解釋為 int 型,可以使用內(nèi)置函數(shù) type(variable) 顯示地檢查 variable 的類型:

        1. In [70]: type(a)

        2. Out[70]: int


        3. In [69]: type(b)

        4. Out[69]: float


        5. In [71]: a = b # 在把 float 型 b 賦值給 a 后, # a 就被解釋為float


        6. In [72]: type(a)

        7. Out[72]: float

        在把 float 型 b 賦值給 a 后, a 就被解釋為 float.

        5.2 list,dict,tuple,set

        深拷貝和淺拷貝的區(qū)別

        5.3 Python列表生成式

        如何靈活使用

        5.4 Python函數(shù)式編程

        閉包問題

        5.5 位置參數(shù)和關(guān)鍵字參數(shù)

        如果介紹 Python 入門,不介紹函數(shù)的位置參數(shù) ( positional argument ) 和關(guān)鍵字參數(shù)( keyword argument ) ,總是感覺缺少點什么,它們在 Python 函數(shù)中到處可見,理解和使用它們,為我們?nèi)蘸笊钊?Python 打下堅實的根基。


        6 Excel數(shù)據(jù)分析


        6.1 Excel處理10萬條以內(nèi)數(shù)據(jù)

        6.2 以SUM函數(shù)為首的求和家族

        6.3 以VLOOKUP函數(shù)為首的查找家族

        6.4 以IF函數(shù)為首的邏輯函數(shù)家族

        大家自行查閱學(xué)習(xí)


        7 Pandas數(shù)據(jù)預(yù)處理


        7.1 基于Python的向量化增強

        7.2 必須掌握的傳播機制

        廣播發(fā)生的條件

        7.3 一維Series和二維DataFrame

        7.4 Pandas中的20個統(tǒng)計學(xué)函數(shù)

        20個統(tǒng)計學(xué)函數(shù)

        7.5 Pandas三個函數(shù)搞定缺失值

        7.6 1個函數(shù)搞定數(shù)據(jù)透視



        8 數(shù)據(jù)建模分析


        8.1 統(tǒng)計學(xué)基礎(chǔ)知識

        首先,入門數(shù)據(jù)分析需要必備一些統(tǒng)計學(xué)的基本知識,在這里我們簡單列舉幾個入門級的重要概念。概率,平均值,中位數(shù),眾數(shù),四分位數(shù),期望,標(biāo)準(zhǔn)差,方差。在這些基本概念上,又衍生出的很多重要概念,比如協(xié)方差,相關(guān)系數(shù)等。

        這一些列常用的統(tǒng)計指標(biāo),都在強大的數(shù)據(jù)分析包 Pandas 中實現(xiàn)了,非常方便。

        8.2 統(tǒng)計量描述

        說統(tǒng)計學(xué)是一種基于事實的演繹學(xué)問,它是嚴謹?shù)?,可以給出確切解釋的。

        不過,機器學(xué)習(xí)就不一樣了,它是一門歸納思想的學(xué)問,比如深度學(xué)習(xí)得出的模型,你就很難解釋其中的具體參數(shù)為什么取值為某某某。它的應(yīng)用在于可以提供一種預(yù)測,給我們未來提供一種建設(shè)性的指導(dǎo)。

        數(shù)據(jù)分析師需要了解機器學(xué)習(xí)的基本理論、常見的那十幾種算法,這樣對于我們做回歸、分類、聚類分析,都是不可缺少的。

        8.3 機器學(xué)習(xí)回歸分析

        三 個假定是?
        如何建立線性回歸模型?
        最大似然估計求參數(shù)?
        梯度下降求解優(yōu)化問題?
        手寫不調(diào)包實現(xiàn)的 5 個算子
        手寫不調(diào)包實現(xiàn)的整體算法框架

        8.4 基本的分類、聚類算法

        高斯混合模型:聚類原理分析

        高斯混合模型:聚類求解

        高斯混合模型:求解完整代碼

        高斯混合模型:不調(diào)包多維數(shù)據(jù)聚類分析

        K-Means算法



        8.5 特征工程提高分析精度

        一般來說,特征工程大體上可以分為三個方面,一是特征構(gòu)造,二是特征選擇,三是特征生成。


        9 數(shù)據(jù)可視化


        9.1 必備的繪圖原理知識

        拿使用較多的 matplotlib 為列,整個圖像為一個Figure?對象,在?Figure?對象中可以包含一個或多個?Axes對象,每個Axes對象都是一個擁有自己坐標(biāo)系統(tǒng)的繪圖區(qū)域。

        Axes?由?xaxis,?yaxis,?title,?data?構(gòu)成,xaxis?由坐標(biāo)軸的線 ,tick以及label構(gòu)成。

        9.2 matplotlib繪圖

        9.3 繪圖必備100行代碼

        參考:關(guān)于數(shù)據(jù)分析的學(xué)習(xí)路線,我準(zhǔn)備寫一篇 2 萬+的 chat



        10 數(shù)據(jù)挖掘分析


        10.1 正則表達式

        學(xué)習(xí)正則表達式語法,主要就是學(xué)習(xí)元字符以及它們在正則表達式上下文中的行為。常見的元字符比如普通字符、標(biāo)準(zhǔn)字符、特殊字符、限定字符(又叫量詞)、定位字符(也叫邊界字符)。

        10.2 決策樹

        決策樹

        對決策樹剪枝

        sklearn分類和回歸

        提煉出分類器算法

        10.3 貝葉斯方法

        樸素貝葉斯分類器:例子解釋

        樸素貝葉斯分類:拉普拉斯修正

        單詞拼寫糾正器python實現(xiàn)

        半樸素貝葉斯分類器

        10.4 集成學(xué)習(xí)方法

        XGBoost思想

        XGBoost模型構(gòu)造

        XGBoost 安裝及實戰(zhàn)應(yīng)用? ?

        10.5 NLP

        一文了解自然語言處理的每個范疇用到的核心技術(shù),難點和熱點(1)
        NLP入門:CNN,RNN應(yīng)用文本分類,個性化搜索,蘋果和喬布斯關(guān)系抽取(2)


        往期精彩回顧




        瀏覽 42
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 亚洲天堂第一页 | 黄色成人免费视频 | 一区二区三区四区五区在线 | 久久久91人妻无码精品蜜桃ID | 在线黄色毛片 |