『壹』 請問怎麼學習python
這是Python的入門階段,也是幫助零基礎學員打好基礎的重要階段。你需要掌握Python基本語法規則及變數、邏輯控制、內置數據結構、文件操作、高級函數、模塊、常用標准庫模板、函數、異常處理、mysql使用、協程等知識點。
學習目標:掌握Python的基本語法,具備基礎的編程能力;掌握Linux基本操作命令,掌握MySQL進階內容,完成銀行自動提款機系統實戰、英漢詞典、歌詞解析器等項目。
這一部分主要學習web前端相關技術,你需要掌握html、cssJavaScript、JQuery、Bootstrap、web開發基礎、Vue、FIask Views、FIask模板、資料庫操作、FIask配置等知識。
學習目標:掌握web前端技術內容,掌握web後端框架,熟練使用FIask、Tornado、Django,可以完成數據監控後台的項目。
這部分主要是學習爬蟲相關的知識點,你需要掌握數據抓取、數據提取、數據存儲、爬蟲並發、動態網頁抓取、scrapy框架、分布式爬蟲、爬蟲攻防、數據結構、演算法等知識。
學習目標:可以掌握爬蟲、數據採集,數據機構與演算法進階和人工智慧技術。可以完成爬蟲攻防、圖片馬賽克、電影推薦系統、地震預測、人工智慧項目等階段項目。
這是Python高級知識點,你需要學習項目開發流程、部署、高並發、性能調優、Go語言基礎、區塊鏈入門等內容。
學習目標:可以掌握自動化運維與區塊鏈開發技術,可以完成自動化運維項目、區塊鏈等項目。
按照上面的Python學習路線圖學習完後,你基本上就可以成為一名合格的Python開發工程師。當然,想要快速成為企業競聘的精英人才,你需要有好的老師指導,還要有較多的項目積累實戰經驗。
『貳』 深度學習 python怎麼入門 知乎
自學深度學習是一個漫長而艱巨的過程。您需要有很強的線性代數和微積分背景,良好的Python編程技能,並扎實掌握數據科學、機器學習和數據工程。即便如此,在你開始將深度學習應用於現實世界的問題,並有可能找到一份深度學習工程師的工作之前,你可能需要一年多的學習和實踐。然而,知道從哪裡開始,對軟化學習曲線有很大幫助。如果我必須重新學習Python的深度學習,我會從Andrew Trask寫的Grokking deep learning開始。大多數關於深度學習的書籍都要求具備機器學習概念和演算法的基本知識。除了基本的數學和編程技能之外,Trask的書不需要任何先決條件就能教你深度學習的基礎知識。這本書不會讓你成為一個深度學習的向導(它也沒有做這樣的聲明),但它會讓你走上一條道路,讓你更容易從更高級的書和課程中學習。用Python構建人工神經元
大多數深度學習書籍都是基於一些流行的Python庫,如TensorFlow、PyTorch或Keras。相比之下,《運用深度學習》(Grokking Deep Learning)通過從零開始、一行一行地構建內容來教你進行深度學習。
《運用深度學習》
你首先要開發一個人工神經元,這是深度學習的最基本元素。查斯克將帶領您了解線性變換的基本知識,這是由人工神經元完成的主要計算。然後用普通的Python代碼實現人工神經元,無需使用任何特殊的庫。
這不是進行深度學習的最有效方式,因為Python有許多庫,它們利用計算機的圖形卡和CPU的並行處理能力來加速計算。但是用普通的Python編寫一切對於學習深度學習的來龍去是非常好的。
在Grokking深度學習中,你的第一個人工神經元只接受一個輸入,將其乘以一個隨機權重,然後做出預測。然後測量預測誤差,並應用梯度下降法在正確的方向上調整神經元的權重。有了單個神經元、單個輸入和單個輸出,理解和實現這個概念變得非常容易。您將逐漸增加模型的復雜性,使用多個輸入維度、預測多個輸出、應用批處理學習、調整學習速率等等。
您將通過逐步添加和修改前面章節中編寫的Python代碼來實現每個新概念,逐步創建用於進行預測、計算錯誤、應用糾正等的函數列表。當您從標量計算轉移到向量計算時,您將從普通的Python操作轉移到Numpy,這是一個特別擅長並行計算的庫,在機器學習和深度學習社區中非常流行。
Python的深度神經網路
有了這些人造神經元的基本構造塊,你就可以開始創建深層神經網路,這基本上就是你將幾層人造神經元疊放在一起時得到的結果。
當您創建深度神經網路時,您將了解激活函數,並應用它們打破堆疊層的線性並創建分類輸出。同樣,您將在Numpy函數的幫助下自己實現所有功能。您還將學習計算梯度和傳播錯誤通過層傳播校正跨不同的神經元。
隨著您越來越熟悉深度學習的基礎知識,您將學習並實現更高級的概念。這本書的特點是一些流行的正規化技術,如早期停止和退出。您還將獲得自己版本的卷積神經網路(CNN)和循環神經網路(RNN)。
在本書結束時,您將把所有內容打包到一個完整的Python深度學習庫中,創建自己的層次結構類、激活函數和神經網路體系結構(在這一部分,您將需要面向對象的編程技能)。如果您已經使用過Keras和PyTorch等其他Python庫,那麼您會發現最終的體系結構非常熟悉。如果您沒有,您將在將來更容易地適應這些庫。
在整本書中,查斯克提醒你熟能生巧;他鼓勵你用心編寫自己的神經網路,而不是復制粘貼任何東西。
代碼庫有點麻煩
並不是所有關於Grokking深度學習的東西都是完美的。在之前的一篇文章中,我說過定義一本好書的主要內容之一就是代碼庫。在這方面,查斯克本可以做得更好。
在GitHub的Grokking深度學習庫中,每一章都有豐富的jupiter Notebook文件。jupiter Notebook是一個學習Python機器學習和深度學習的優秀工具。然而,jupiter的優勢在於將代碼分解為幾個可以獨立執行和測試的小單元。Grokking深度學習的一些筆記本是由非常大的單元格組成的,其中包含大量未注釋的代碼。
這在後面的章節中會變得尤其困難,因為代碼會變得更長更復雜,在筆記本中尋找自己的方法會變得非常乏味。作為一個原則問題,教育材料的代碼應該被分解成小單元格,並在關鍵區域包含注釋。
此外,Trask在Python 2.7中編寫了這些代碼。雖然他已經確保了代碼在Python 3中也能順暢地工作,但它包含了已經被Python開發人員棄用的舊編碼技術(例如使用「for i in range(len(array))」範式在數組上迭代)。
更廣闊的人工智慧圖景
Trask已經完成了一項偉大的工作,它匯集了一本書,既可以為初學者,也可以為有經驗的Python深度學習開發人員填補他們的知識空白。
但正如泰溫·蘭尼斯特(Tywin Lannister)所說(每個工程師都會同意),「每個任務都有一個工具,每個工具都有一個任務。」深度學習並不是一根可以解決所有人工智慧問題的魔杖。事實上,對於許多問題,更簡單的機器學習演算法,如線性回歸和決策樹,將表現得和深度學習一樣好,而對於其他問題,基於規則的技術,如正則表達式和幾個if-else子句,將優於兩者。
關鍵是,你需要一整套工具和技術來解決AI問題。希望Grokking深度學習能夠幫助你開始獲取這些工具。
你要去哪裡?我當然建議選擇一本關於Python深度學習的深度書籍,比如PyTorch的深度學習或Python的深度學習。你還應該加深你對其他機器學習演算法和技術的了解。我最喜歡的兩本書是《動手機器學習》和《Python機器學習》。
你也可以通過瀏覽機器學習和深度學習論壇,如r/MachineLearning和r/deeplearning subreddits,人工智慧和深度學習Facebook組,或通過在Twitter上關注人工智慧研究人員來獲取大量知識。
AI的世界是巨大的,並且在快速擴張,還有很多東西需要學習。如果這是你關於深度學習的第一本書,那麼這是一個神奇旅程的開始。
『叄』 學python看什麼書比較好
入門:
機器學習是人工智慧研究領域中一個極其重要的研究方向。
在現今的大數據時代背景下,捕獲數據並從中萃取有價值的信息或模式,成為各行業求生存、謀發展的決定性手段,這使得這一過去為分析師和數學家所專屬的研究領域越來越為人們所矚目。
《機器學習實戰》主要介紹機器學習基礎,以及如何利用演算法進行分類,並逐步介紹了多種經典的監督學習演算法,如k近鄰演算法、樸素貝葉斯演算法、Logistic回歸演算法、支持向量機、AdaBoost集成方法、基於樹的回歸演算法和分類回歸樹(CART)演算法等。
第三部分則重點介紹無監督學習及其一些主要演算法:k均值聚類演算法、Apriori演算法、FP-Growth演算法。第四部分介紹了機器學習演算法的一些附屬工具。
《機器學習實戰》通過精心編排的實例,切入日常工作任務,摒棄學術化語言,利用高效的可復用Python代碼來闡釋如何處理統計數據,進行數據分析及可視化。
通過各種實例,讀者可從中學會機器學習的核心演算法,並能將其運用於一些策略性任務中,如分類、預測、推薦。
另外,還可用它們來實現一些更高級的功能,如匯總和簡化等。
結論
大致是這些,總共是十二本。
這些書首先內容錯誤少,久經市場考驗,而且豐富詳實,在各自的領域把該講的都講了。
如果你想報班的話,千鋒Python的課程你可以切試試
『肆』 python都能幹什麼
從web開發到數據科學、機器學習等等,Python在現實世界中的應用是無限的。以下一些項目將會輔助你最終將你的Python技能用到正道上。
#1:將乏味的事情自動化
這是一本「針對全新初學者實用編程」的資源。就像標題所述,這本書教你如何將乏味的任務自動化,比如更新電子表格或者重命名計算機的文件。這是想要掌握Python基礎的任何人的完美起點。
#2:隨時跟蹤比特幣價格
這段時間似乎人人都在講比特幣。自從2017年12月價格達到將近20000美元的高點後,加密數字貨幣已經進入到數百萬人的腦海里。它的價格在不斷波動,但是很多人都認為這是一筆值得的投資。
#3:創建一個計算器
這個簡單的項目是進入GUI編程的一個可靠的辦法。開發後端服務是部署的重要部分之一,但是可能也需要考慮前端的事情。創建用戶可輕松與之交互的應用就顯得無比重要。
#4:挖掘Twitter數據
感謝互聯網以及逐步壯大的物聯網,我們現在能訪問的數據量之大甚至在10年前都是無法想像的。分析是任何跟數據打交道的領域的很大一部分。大家都在討論什麼?我們從他們的行為中能看到什麼模式?
#5:用Flask建立一個微博客
似乎現在人人都有一個博客,但是給自己在網上設立一個中心樞紐不算什麼糟糕想法。隨著Twitter和Instagram的出現,微博客尤其流行起來。在Miguel Grinberg搞的這個項目里,你會學習到如何搭建自己的微博客。
#6:建立一個區塊鏈
盡管區塊鏈起初開發出來是作為金融技術使用的,但現在卻蔓延到了其他的各個行業。區塊鏈幾乎可以用到任何交易上面:從房地產到病歷轉移等等。
#7:Twitter Feed控制
對開發web應用感興趣但是對開始一個大型項目沒有信心?別擔心——我們有東西給你。跟著我們一起學習如何在幾個小時內創建一個簡單的web app。
#8:玩PyGames
這個是給喜歡樂子的人准備的!Python可用於對各種電玩游戲、冒險游戲以及益智游戲進行編碼,你可以在數天之內完成部署。經典的游戲包括猜單詞、一字棋、乒乓球等等,這些都可以用你剛學會的編程技能去做。
#9:選擇你的冒險之旅
如果你更喜歡講故事,用Python仍然可以開發出很酷的東西來。
#10:對機器學習說「Hell World!」
對於對人工智慧感興趣的任何人來說,機器學習是理解的關鍵領域。然而,想要開始學習機器是很嚇人的,而且這個領域發展很快,總是在變。
#11:接受挑戰
『伍』 數據科學家需要掌握的10個基本統計技術
數據科學家需要掌握的10個基本統計技術
無論您在數據的科學性問題上持哪種看法,都無法忽視數據的持續重要性,也不能輕視分析、組織和情境化數據的能力。 根據大量的就業數據和員工反饋信息統計,在「25個最佳美國就業機會」排行榜中,數據科學家排名第一。毫無疑問,數據科學家所做的具體工作內容將會進一步拓展。隨著機器學習等技術變得越來越普遍,深度學習等新興領域對研究人員和工程師的需求得到了巨大的推動,數據科學家們在創新和技術進步的浪潮中再次嶄露頭角。
編碼能力強大是很重要的,但數據科學並不專職於軟體工程(事實上,對Python很熟悉就足夠了)。數據科學家生活在編碼、統計學和批判性思維的交叉點上。正如喬希·威爾斯(JoshWills)所說的那樣:「數據科學家是一個比任何程序員都要好的統計學家,而且比任何統計學家都更擅長編程。」筆者個人知道有太多的軟體工程師希望轉向數據科學家,並盲目利用機器學習框架TensorFlow或Apache Spark,而不透徹理解背後的統計理論。因此出現了「統計學習」,一個與機器學習有關的理論框架,包含統計到功能分析的一系列專業領域。
為什麼學習統計學習?了解各種技術背後的想法是非常重要的,可以讓你知道如何以及何時使用它們。由簡入繁,首先要理解更簡單的方法,才好把握更復雜的方法。准確地評估一種方法的性能,了解它的工作效果多好或者多糟,這一點很重要。此外,這是一個令人興奮的研究領域,在科學,工業和金融領域有著重要的應用。最終,統計學習是培養現代數據科學家的基本要素。統計學習問題的例子有:
確定前列腺癌的危險因素。
根據記錄周期圖對錄制的音素進行分類。
根據人口統計、飲食和臨床測量,預測是否有人會發生心臟病。
自定義垃圾郵件檢測系統。
識別手寫郵政編碼中的數字。
將組織樣本分為幾個癌症類別之一。
建立人口調查數據中工資與人口變數之間的關系。
統計學習和機器學習之間的差異在於:
機器學習是人工智慧的一個子領域。
統計學習是統計學的一個分支。
機器學習更強調大規模應用和預測的准確性。
統計學習強調模型及其可解釋性,精確性和不確定性。
1 - 線性回歸:
在統計學中,線性回歸是一種通過擬合自變數與自變數之間最佳線性關系來預測目標變數的方法。最好的做法是確保每個點的形狀和實際觀測之間的所有距離之和盡可能小。形狀的適合性是「最好的」,因為在形狀的選擇上沒有其他位置會產生較少的誤差。線性回歸的2種主要類型是簡單線性回歸和多元線性回歸。簡單線性回歸使用一個獨立變數來通過擬合最佳線性關系來預測因變數。多重線性回歸使用多個獨立變數來通過擬合最佳線性關系來預測因變數。
選擇你在日常生活中使用的任何兩件相關的東西。如每月支出,月收入和過去三年每月的旅行次數的數據。就需要回答以下問題:
我明年的每月開支是多少?
哪個因素(每月收入或每月旅行次數)在決定我的每月支出時更重要?
月收入和每月旅行如何與每月支出相關聯?
2 - 分類:
分類是一種數據挖掘技術,它將類別分配給數據集合,以助進行更准確的預測和分析。有時也稱為決策樹,分類是用於對非常大的數據集進行分析的幾種方法之一。眼下有2大分類技術脫穎而出:Logistic回歸和判別分析。
Logistic回歸分析是當因變數是二分(二元)時進行的適當的回歸分析。像所有回歸分析一樣,Logistic回歸是預測分析。 Logistic回歸用於描述數據並解釋一個相關二元變數與一個或多個標稱、序數、區間或比例級別的獨立變數之間的關系。邏輯回歸可以檢查的問題類型:
每增加一磅的超重和每天吸一包香煙,肺癌的可能性(是vs否)會發生怎樣的變化?
體重卡路里攝入量,脂肪攝入量和參與者年齡對心臟病發作是否有影響(有vs無)?
在判別分析中,先驗已知2個或更多個組或群或群,並基於所測量的特徵將1個或更多個新觀察分類到1個已知群中。判別分析在每個響應類別中分別對預測因子X的分布進行建模,然後使用貝葉斯定理將它們翻轉為給定X的值的響應類別概率的估計。這樣的模型可以是線性的或二次的。
線性判別分析為每個觀測值計算「判別分數」,以便對它所處的響應變數類別進行分類。這些分數是通過尋找自變數的線性組合得到的。它假設每個類別內的觀察值都來自多變數高斯分布,預測因子的協方差在響應變數Y的所有k水平上是共同的。
二次判別分析提供了一種替代方法。和LDA一樣,QDA假定每個Y類的觀測值都是從高斯分布中得到的。但是,與LDA不同的是,QDA假定每個類都有其自己的協方差矩陣。換句話說,預測因子不被假定在Y中的每個k水平上具有共同的方差。
3 - 重采樣方法:
重采樣是從原始數據樣本中繪制重復樣本的方法。這是統計推斷的非參數方法。換句話說,重采樣方法不涉及使用通用分布表來計算近似p概率值。
重采樣根據實際數據生成唯一的采樣分布。它使用實驗方法而不是分析方法來生成獨特的抽樣分布。它產生無偏估計,因為它是基於研究者所研究數據的所有可能結果的無偏樣本。為了理解重采樣的概念,您應該理解術語Bootstrapping和交叉驗證:
Bootstrapping是一種技術,可以幫助您在很多情況下驗證預測模型的性能、集成方法、估計模型的偏差和方差。它通過對原始數據進行替換來進行采樣,並將「未選擇」的數據點作為測試用例。我們可以做這幾次,並計算平均分作為我們的模型性能的估計。
另一方面,交叉驗證是驗證模型性能的一種技術,它是通過將訓練數據分成k個部分來完成的。我們以k - 1部分作為訓練集,並使用「伸出部分」作為我們的測試集。我們重復k次不同的方式。最後,我們將k分數的平均值作為我們的業績估計。
通常對於線性模型,普通最小二乘法是考慮將它們適合於數據的主要標准。接下來的3種方法是可以為線性模型的擬合提供更好的預測精度和模型可解釋性的替代方法。
4 - 子集選擇:
這種方法確定了我們認為與響應相關的p預測因子的一個子集。然後,我們使用子集特徵的最小二乘擬合模型。
最佳子集選擇:這里我們對每個可能的p預測因子組合進行單獨的OLS回歸,然後查看最終的模型擬合。演算法分為2個階段:(1)擬合所有包含k預測因子的模型,其中k是模型的最大長度;(2)使用交叉驗證的預測誤差選擇單個模型。使用測試或驗證錯誤非常重要,而不是訓練錯誤來評估模型擬合,因為RSS和R 2單調增加更多的變數。最好的方法是在測試誤差估計值上交叉驗證並選擇具有最高R 2和最低RSS的模型。
向前逐步選擇考慮預測因子的一個小得多的子集。它從不含預測因子的模型開始,然後在模型中添加預測因子,直到所有預測因子都在模型中。被添加變數的順序是變數,其給出對擬合的最大的加法改進,直到沒有更多的變數使用交叉驗證的預測誤差來改進模型擬合。
向後逐步選擇開始將模型中的所有預測因子,然後迭代去除最不有用的預測因子。
混合方法遵循向前逐步回歸方法,但是,在添加每個新變數之後,該方法還可以去除對模型擬合沒有貢獻的變數。
5 - 收縮:
這種方法適合一個涉及所有p預測因子的模型,然而,估計系數相對於最小二乘估計向零收縮。這種縮水,又稱正規化,具有減少方差的作用。取決於執行什麼類型的收縮,其中一些系數可能恰好被估計為零。因此這個方法也執行變數選擇。將系數估計收縮為零的兩個最著名的技術是嶺回歸和Lasso。
嶺回歸類似於最小二乘,通過最小化一個稍微不同的數量估計系數。像OLS一樣,嶺回歸尋求降低RSS的系數估計值,但是當系數接近於零時,它們也會有收縮懲罰。這個懲罰的作用是將系數估計收縮到零。不用進入數學計算,知道嶺回歸縮小列空間方差最小的特徵是有用的。像在主成分分析中一樣,嶺回歸將數據投影到雙向空間,然後比高方差分量收縮低方差分量的系數,這相當於最大和最小主分量。
嶺回歸至少有一個缺點:它包括最終模型中的所有p預測值。犯規條款將使它們中的許多接近於零,但不完全為零。這對於預測准確性來說通常不是問題,但它可能使模型更難以解釋結果。 Lasso克服了這個缺點,並且能夠迫使一些系數歸零,只要s足夠小。由於s = 1導致有規律的OLS回歸,當s接近0時,系數收縮為零。因此,Lasso回歸也執行變數選擇。
6 - 維度降低:
維數減少將估計p + 1個系數的問題簡化為M + 1個系數的簡單問題,其中M
可以將主成分回歸描述為從大量變數中導出低維特徵集合的方法。數據的第一個主要組成方向是觀測值變化最大的。換句話說,第一台PC是盡可能接近數據的一條線。人們可以適應不同的主要組成部分。第二個PC是與第一個PC不相關的變數的線性組合,並且受這個約束的變化最大。這個想法是主要的組成部分使用隨後正交方向的數據的線性組合捕獲數據中最大的變化。通過這種方式,我們也可以結合相關變數的效果,從可用數據中獲取更多信息,而在正則最小二乘中,我們將不得不放棄其中一個相關變數。
我們上面描述的PCR方法包括確定最能代表預測因子的X的線性組合。這些組合(方向)以無監督的方式被識別,因為響應Y不用於幫助確定主要組件方向。也就是說,響應Y不監督主成分的識別,因此不能保證最能解釋預測因子的方向對於預測響應(即使經常假設)也是最好的。偏最小二乘法(PLS)是一個監督的替代PCR。與PCR一樣,PLS是一種降維方法,它首先識別一組新的較小的特徵,這些特徵是原始特徵的線性組合,然後通過最小二乘法擬合一個線性模型到新的M特徵。然而,與PCR不同的是,PLS利用響應變數來識別新的特徵。
7 - 非線性模型:
在統計學中,非線性回歸是回歸分析的一種形式,其中觀測數據是由一個函數建模的,該函數是模型參數的非線性組合,並取決於一個或多個自變數。數據通過逐次逼近的方法進行擬合。以下是一些處理非線性模型的重要技巧:
如果實數的函數可以寫成區間指示函數的有限線性組合,則稱實數為函數。非正式地說,一個階梯函數是一個只有很多片段的分段常量函數。
分段函數是由多個子函數定義的函數,每個子函數應用於主函數域的一定間隔。分段實際上是表達函數的一種方式,而不是函數本身的一個特徵,但是具有額外的限定,可以描述函數的性質。例如,分段多項式函數是在其每個子域上是多項式的函數,但是每個子域上可能是不同的。
樣條函數是由多項式分段定義的特殊函數。在計算機圖形學中,樣條是指分段多項式參數曲線。由於其結構簡單,評估方便和准確,以及通過曲線擬合和互動式曲線設計逼近復雜形狀的能力,樣條曲線是流行的曲線。
廣義加性模型是一種線性預測模型,其中線性預測變數線性依賴於某些預測變數的未知光滑函數,興趣集中在對這些光滑函數的推理上。
8 - 基於樹的方法:
基於樹的方法可以用於回歸和分類問題。這些涉及將預測空間分層或分割成若干簡單區域。由於用於分割預測變數空間的分裂規則集合可以在樹中進行概括,所以這些類型的方法被稱為決策樹方法。下面的方法生成多個樹,然後結合在一起產生一個單一的共識預測。
套袋(Bagging)是減少預測方差的方法,通過使用重復組合來生成原始數據集中的訓練數據,從而生成與原始數據相同的多樣性。通過增加你的訓練集的大小,你不能提高模型的預測力,只是減少方差,勉強把預測調整到預期的結果。
提升(Boosting)是一種使用幾種不同的模型計算產出的方法,然後使用加權平均方法對結果進行平均。通過改變你的加權公式,結合這些方法的優點和缺陷,你可以使用不同的狹義調整模型,為更廣泛的輸入數據提供一個很好的預測力。
隨機森林(random forest )演算法實際上非常類似於套袋。你也可以繪制訓練集的隨機bootstrap樣本。但是,除了自舉樣本之外,還可以繪制隨機子集來訓練單個樹;在套袋中,你給每個樹一套完整功能。由於隨機特徵選擇,與常規套袋相比,樹木之間的相互獨立性更高,這通常會帶來更好的預測性能(由於更好的方差偏差權衡),而且速度更快,因為每棵樹只能從功能的一個子集。
9 - 支持向量機:
SVM是機器學習中監督學習模型中的一種分類技術。通俗地說,它涉及於找到超平面(2D中的線,3D中的平面和更高維中的超平面,更正式地說,超平面是n維空間中的n維空間)最大保證金從本質上講,它是一個約束優化問題,其邊界被最大化,受限於它對數據進行了完美的分類(硬邊緣)。
這種「支持」這個超平面的數據點被稱為「支持向量」。對於兩類數據不能線性分離的情況,這些點被投影到可能線性分離的分解(高維)空間。涉及多個類的問題可以分解為多個一對一或者一對二的分類問題。
10 - 無監督學習:
到目前為止,我們只討論了監督學習技術,其中組是已知的,提供給演算法的經驗是實際實體和它們所屬的組之間的關系。當數據的組(類別)未知時,可以使用另一組技術。它們被稱為無監督的,因為它會留在學習演算法中以找出所提供的數據中的模式。聚類是無監督學習的一個例子,其中不同的數據集被聚類為密切相關的項目組。下面是最廣泛使用的無監督學習演算法的列表:
主成分分析通過識別一組具有最大方差和相互不相關的特徵的線性組合來幫助產生數據集的低維表示。這種線性維度技術有助於理解變數在無監督環境下的潛在相互作用。
k-Means聚類:根據到群集質心的距離將數據分為k個不同的集群。
分層集群:通過創建集群樹來構建集群的多級分層結構。
以上是一些基本的統計技術的簡單解釋與說明,可以幫助數據科學項目經理和主管人員更好地理解他們的數據科學小組背後隱藏的內容。實際上,一些數據科學小組純粹通過python和R庫運行演算法。他們中的大多數甚至不必考慮潛在的數學問題。但是,能夠理解統計分析的基礎知識可以為您的團隊提供更好的方法。
『陸』 python去哪裡比較好
Python是一種面向對象的解釋型計算機程序設計語言,具有豐富和強大的庫,所以常被稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕松地聯結在一起,是國內外眾多企業使用的關鍵開發語言之一。python的創始人為Guido van Rossum,python的開發受到Mola-3語言的影響,python具有易讀、可擴展、簡潔等特點,被一些知名大學當做主要編程語言教授給學生。業內人士一般稱python為高級動態編程語言,可以用於大規模軟體開發。
Python的應用領域非常廣泛,諸如後端開發、全棧開發、爬蟲開發、人工智慧、金融量化分析、大數據、物聯網等,Python應用無處不在。Google、YouTube、豆瓣網等這些大型的知名網站都使用了Python完成核心代碼的編寫,可見Python的發展前景是不可估量的。
《互聯網人才趨勢白皮書》顯示,雖然大批IT從業人員轉型Python開發,但人工智慧與大數據高速發展帶來的大基數人才缺口,Python工程師短期內依然難以補缺。
如果你對爬蟲、人工智慧等方向感興趣,就可以考慮學習python。
『柒』 想要自學python,有什麼好的學習方法推薦
人生苦短,我選Python!
在學習之前先給自己定一個目標規劃,培養自己對編程的興趣,在學習過程中一定要碰敲代碼,學會做筆記,但不用刻意去記住這些代碼,理解代碼比記住代碼更重要。學會使用搜索引擎的能力,學會自己解決問題,除了這些要多看大牛的技術專欄,通過對比大牛認清自己的現狀並及時做出調整和改變。
學編程是一個長期的過程。所有各位小夥伴一定要有自己的一個長期計劃,並把長期的計劃分解成段目標,目標完成後給自己一定的激勵,一句話,加油就完事兒了。
『捌』 每個數據科學人都應該知道的7種回歸技術
介紹 線性回歸和邏輯回歸通常是人們在數據科學中學習的第一種演算法。由於它們的受歡迎程度,許多分析師甚至認為它們是唯一的回歸形式。哪兒些稍微有工作經驗的人也會認為它們是所有回歸分析形式的中最重要的。
事實是,有無數種形式的回歸可以使用。每種形式的回歸都有其自身的重要性和最適合應用的特定場景。在本文中,我會以簡單的方式解釋了數據科學中最常用的7種回歸形式。通過這篇文章,我也希望人們能夠對回歸的廣度有一個概念,而不是僅僅對他們遇到的每個問題應都用線性/邏輯回歸,並希望他們能夠使用這么多的回歸技術!
如果您是數據科學的新手,並且正在尋找一個開始學習的地方,那麼「 數據科學 」課程是一個很好的起點!它涵蓋了Python,統計和預測建模的核心主題,它是你進入數據科學的第一步的完美方法。
什麼是回歸分析?
回歸分析是預測建模技術的一種技術,它研究依賴(目標)和自變數(預測變數)之間的關系。該技術用於預測,時間序列建模和查找變數之間的因果關系。例如,通過回歸可以最好地研究魯莽駕駛與駕駛員發生道路交通事故數量之間的關系。
回歸分析是建模和分析數據的重要工具。在這里,我們將曲線/直線線擬合到數據點,使得數據點距曲線或直線的距離之間的差異最小化。我將在接下來的章節中詳細解釋這一點。
為什麼我們使用回歸分析?
如上所述,回歸分析是估計兩個或更多變數之間的關系。讓我們通過一個簡單的例子來理解這一點:
比方說,你想根據當前的經濟狀況估算公司的銷售增長率。您有最近的公司數據表明銷售增長約為經濟增長的2.5倍。利用這種洞察力,我們可以根據當前和過去的信息預測公司的未來銷售情況。
使用回歸分析有許多好處。如下:
它表明因變數和自變數之間的顯著關系。 它表示多個自變數對一個因變數的影響強度。
回歸分析還允許我們比較不同尺度上測量的變數的影響,例如價格變化的影響和促銷活動的數量。這些優勢有助於市場研究人員/數據分析師/數據科學家消除和評估用於構建預測模型的最佳變數集。
我們有多少種回歸技術?
我們有各種各樣的回歸技術可用用於預測。這些技術主要由三個指標(自變數的數量,因變數的類型和回歸線的形狀)驅動。我們將在以下部分詳細討論它們。
對於創造性的,如果您覺得需要使用上述參數的組合,您甚至可以製作新的回歸,以前人們沒有使用過。但在開始之前,讓我們了解最常用的回歸:
1.線性回歸
它是最廣為人知的建模技術之一。線性回歸通常是人們在學習預測建模時最先選擇的幾個方法之一。在該方法中,因變數是連續的,自變數可以是連續的或離散的,並且回歸線的性質是線性的。
線性回歸使用最佳擬合直線(也稱為回歸線)在因變數(Y)和一個或多個自變數(X)之間建立關系。
它由方程Y = a + b * X + e表示,其中a是截距,b是直線的斜率,e是誤差項。該等式可以根據給定的預測變數預測目標變數的值。
簡單線性回歸和多元線性回歸之間的區別在於,多元線性回歸具有(> 1)個獨立變數,而簡單線性回歸只有1個獨立變數。現在的問題是「我們如何獲得最佳擬合線?」。
如何獲得最佳擬合線(a和b的值)?
這項任務可以通過最小二乘法輕松完成。它是用於擬合回歸線的最常用方法。它通過最小化每個數據點到直線的垂直偏差的平方和來計算觀測數據的最佳擬合線。因為偏差首先要平方,所以當相加時,正值和負值之間不會抵消。
我們可以使用度量的R平方來評估模型性能 。
重點: 自變數和因變數之間必須存在線性關系 多元回歸存在多重共線性,自相關,異方差等問題。 線性回歸對異常值非常敏感。它可以極大地影響回歸線並最終影響預測值。 多重共線性可以增加系數估計的方差,並使估計對模型中的微小變化非常敏感。結果是系數估計不穩定 在多個獨立變數的情況下,我們可以選擇正向選擇,逆向淘汰和逐步方法來選擇最重要的自變數。 2. 邏輯回歸
邏輯回歸方法用於查找事件成功的概率和失敗的概率。當因變數本質上是二進制(0/1,真/假,是/否)時,我們應該使用邏輯回歸。這里Y值的范圍從0到1,它可以用下面的等式表示。
odds = p /(1-p)=事件發生概率/非事件發生概率 ln(賠率)= ln(p /(1-p)) logit(p)= ln(p /(1-p))= b0 + b1X1 + b2X2 + b3X3 .... + bkXk
以上,p是存在感興趣特徵的概率。這時候你應該要問一個問題就是「為什麼我們要在等式中使用對數log?」。
由於我們在這里使用的是二項分布(因變數),我們需要選擇最適合此分布的鏈接函數。而且,它是logit函數。在上面的等式中,選擇此參數是為了以最大化觀察樣本值的可能性,而不是最小化平方誤差的總和(如在普通回歸中一樣)。
重點: 它被廣泛用於分類問題 邏輯回歸不需要依賴因變數和自變數之間的線性關系。它可以處理各種類型的關系,因為它將非線性對數變換應用於預測的優勢比 為避免過度擬合和欠擬合,我們應該包括所有重要的變數。確保這種做法的一個好方法是使用逐步方法來估計邏輯回歸 它需要較大樣本量,因為在樣本量較小時,最大似然估計的效率低於普通的最小二乘法 自變數不應相互關聯,即不具有多重共線性。但是,我們可以選擇在分析和模型中包含分類變數的交互作用。 如果因變數的值是序數,那麼它被稱為序數邏輯回歸 如果因變數是多類的,那麼它被稱為多元邏輯回歸。 3.多項式回歸
如果自變數的冪大於1,則回歸方程是多項式回歸方程。下面的等式表示多項式方程:
Y = A + B * X ^ 2
在這種回歸技術中,最佳擬合線不是直線。它是一條與數據點吻合的曲線。
重點: 雖然可能存在擬合更高次多項式以獲得更低誤差的誘惑,但這可能會導致過度擬合。始終繪制關系圖以查看是否匹配,並專注於確保曲線符合問題的本質。以下是繪圖如何幫助的示例: 特別注意的是末端的曲線,看看這些形狀和趨勢是否有意義。較高的多項式最終會產生奇怪的結果。 4.逐步回歸
當我們處理多個自變數時,會使用這種形式的回歸。在這種技術中,自變數的選擇是在自動過程的幫助下完成的,這個過程是不需要人為的去進行干預的。
通過觀察R方、t檢驗和AIC指標等統計值來識別重要變數,可以實現這一壯舉。逐步回歸基本上適合回歸模型,通過基於指定的標准一次一個地添加/刪除協變數。下面列出了一些最常用的逐步回歸方法:
標准逐步回歸做兩件事。它根據每個步驟的需要添加和刪除預測變數。 正向選擇從模型中最重要的預測變數開始,並為每個步驟添加變數。 向後消除從模型中的所有預測變數開始,並刪除每個步驟的最不重要的變數。
該建模技術的目的是以最少的預測變數來最大化預測能力。它是處理數據集更高維度的方法之一。
5.嶺回歸
嶺回歸是一種在數據存在多重共線性(自變數高度相關)時使用的技術。在多重共線性中,即使最小二乘估計(OLS)是無偏的,但它們的方差也很大,這使得觀測值偏離真實值。通過在回歸估計中增加一定程度的偏差,嶺回歸可以減少標准誤差。
上面,我們看到了線性回歸的方程。還記得嘛?它可以表示為:
y = a + b * x
這個方程也有一個誤差項。完整的等式變為:
y = a + b * x + e(誤差項),[誤差項是校正觀測值和預測值之間預測誤差所需的值] 表示多個自變數,=> y = a + y = a + b1x1 + b2x2 + .... + e。
在線性方程中,預測誤差可以分解為兩個子分量。首先是由於偏差,第二是由於方差。由於這兩個或兩個組件中的任何一個,都可能發生預測錯誤。在這里,我們將討論由於方差引起的錯誤。
嶺回歸通過收縮參數 λ(lambda)解決了多重共線性問題 。看下面的方程。
在這個方程中,我們有兩個組成部分。第一個是最小二乘項,另一個是β2 (β平方)總和的λ,其中β是系數。這被添加到最小二乘項,以便縮小參數以具有非常低的方差。
重點: 該回歸的假設與最小二乘回歸相同,但不假設正態性 它會縮小系數的值,但不會達到零,這表明沒有特徵選擇功能 這是一種正則化方法,並使用l2正則化。 6.Lasso回歸
類似於嶺回歸,Lasso(最小絕對收縮和選擇運算元)也會對回歸系數的絕對大小進行限制。此外,它還能夠降低線性回歸模型的可變性並提高其准確性。請看下面的方程:
Lasso回歸與嶺回歸的不同之處在於,它在懲罰函數中使用絕對值而不是平方。這導致懲罰(或等效地約束估計值的絕對值的總和)值,從而導致一些參數估計值恰好為零。應用的懲罰越大,估計值就會縮小到絕對零值。這導致從給定的n個變數中進行變數選擇。
重點: 該回歸的假設與最小二乘回歸相同,但不假設正態性 它將系數縮小到零(恰好為零),這肯定有助於特徵選擇 這是一種正則化方法並使用l1正則化 如果預測變數高度相關,則Lasso僅選取其中一個並將其他預測縮減為零 7.彈性網路回歸
彈性網路回歸是Lasso回歸和嶺回歸技術的混合體。它使用L1和L2先驗作為正則化器進行訓練。當存在多個相關的特徵時,彈性網路是很有用的。Lasso可能隨機選擇其中一種,而彈性網很可能同時選擇兩個。
在Lasso回歸和嶺回歸之間進行權衡的一個實際優勢是,它允許彈性網路在旋轉下繼承嶺回歸的一些穩定性。
重點: 在變數高度相關的情況下,它鼓勵群體效應 所選變數的數量沒有限制 它會受到雙重收縮的影響 如何選擇正確的回歸模型?
當你只知道一兩種技術時,生活通常是很簡單的。我所知道的其中一個培訓機構告訴他們的學生 - 如果結果是連續的 - 那就用線性回歸。如果是二進制的 - 那就用邏輯回歸!但是,我們可以使用的選項數量越多,選擇正確的選項就越困難。回歸模型也會發生類似的情況。
在多種類型的回歸模型中,基於自變數和因變數的類型,數據中的維度以及數據的其他基本特徵來選擇最適合的回歸方法是很重要的。以下是應該選擇正確的回歸模型的關鍵因素:
數據挖掘是構建預測模型的必然部分。在選擇正確的模型之前,應該首先確定變數之間的相關系數和影響 為了比較不同模型的擬合優度,我們可以分析不同的指標,如參數的統計顯著性,R方,調整後的R方,AIC指標,BIC指標和誤差項。另一個是Mallow的Cp標准。這基本上通過將模型與所有可能的子模型(仔細選擇它們)進行比較,來檢查模型中可能存在的偏差。 交叉驗證是評估用於預測的模型的最佳方式。在這里,可以將數據集分為兩組(訓練和驗證)。觀測值和預測值之間的簡單均方差可以衡量預測的准確性。 如果你的數據集有多個混淆變數,則不應選擇自動模型選擇方法,因為你不會希望同時將它們放在模型中。 這也取決於你的目標。與具有高度統計意義的模型相比,功能較弱的模型更容易實現。 回歸正則化方法(Lasso回歸,嶺回歸和彈性網路回歸)在數據集中各變數之間具有高維度和多重共線性的情況下運行良好。 結束語
到現在為止,我希望你已經對回歸有所了解。考慮數據條件來應用這些回歸技術。找出使用哪種技術的最佳技巧之一就是檢查變數族,即離散變數還是連續變數。
在本文中,我討論了7種類型的回歸以及與每種技術相關的一些關鍵事實。作為這個行業的新人,我建議你學習這些技術,然後在你的模型中實現它們。
-以上就是作者推薦的七種數據科學人必知必會的七種回歸模型,如果大家對這七種模型感興趣,那就自己動手去實驗一下吧,只知道理論是不夠的,要多動手實驗,才能真正的掌握這些模型。
7 Types of Regression Techniques you should know!
『玖』 機器學習實戰的作品目錄
目錄第一部分分類第1章機器學習基礎21.1 何謂機器學習31.1.1 感測器和海量數據41.1.2 機器學習非常重要51.2 關鍵術語51.3 機器學習的主要任務71.4 如何選擇合適的演算法81.5 開發機器學習應用程序的步驟91.6 Python語言的優勢101.6.1 可執行偽代碼101.6.2 Python比較流行101.6.3 Python語言的特色111.6.4 Python語言的缺點111.7 NumPy函數庫基礎121.8 本章小結13第2章k-近鄰演算法 152.1 k-近鄰演算法概述152.1.1 准備:使用Python導入數據172.1.2 從文本文件中解析數據192.1.3 如何測試分類器202.2 示例:使用k-近鄰演算法改進約會網站的配對效果202.2.1 准備數據:從文本文件中解析數據212.2.2 分析數據:使用Matplotlib創建散點圖232.2.3 准備數據:歸一化數值252.2.4 測試演算法:作為完整程序驗證分類器262.2.5 使用演算法:構建完整可用系統272.3 示例:手寫識別系統282.3.1 准備數據:將圖像轉換為測試向量292.3.2 測試演算法:使用k-近鄰演算法識別手寫數字302.4 本章小結31第3章決策樹 323.1 決策樹的構造333.1.1 信息增益353.1.2 劃分數據集373.1.3 遞歸構建決策樹393.2 在Python中使用Matplotlib註解繪制樹形圖423.2.1 Matplotlib註解433.2.2 構造註解樹443.3 測試和存儲分類器483.3.1 測試演算法:使用決策樹執行分類493.3.2 使用演算法:決策樹的存儲503.4 示例:使用決策樹預測隱形眼鏡類型503.5 本章小結52第4章基於概率論的分類方法:樸素貝葉斯 534.1 基於貝葉斯決策理論的分類方法534.2 條件概率554.3 使用條件概率來分類564.4 使用樸素貝葉斯進行文檔分類574.5 使用Python進行文本分類584.5.1 准備數據:從文本中構建詞向量584.5.2 訓練演算法:從詞向量計算概率604.5.3 測試演算法:根據現實情況修改分類器624.5.4 准備數據:文檔詞袋模型644.6 示例:使用樸素貝葉斯過濾垃圾郵件644.6.1 准備數據:切分文本654.6.2 測試演算法:使用樸素貝葉斯進行交叉驗證664.7 示例:使用樸素貝葉斯分類器從個人廣告中獲取區域傾向684.7.1 收集數據:導入RSS源684.7.2 分析數據:顯示地域相關的用詞714.8 本章小結72第5章Logistic回歸 735.1 基於Logistic回歸和Sigmoid函數的分類745.2 基於最優化方法的最佳回歸系數確定755.2.1 梯度上升法755.2.2 訓練演算法:使用梯度上升找到最佳參數775.2.3 分析數據:畫出決策邊界795.2.4 訓練演算法:隨機梯度上升805.3 示例:從疝氣病症預測病馬的死亡率855.3.1 准備數據:處理數據中的缺失值855.3.2 測試演算法:用Logistic回歸進行分類865.4 本章小結88第6章支持向量機896.1 基於最大間隔分隔數據896.2 尋找最大間隔916.2.1 分類器求解的優化問題926.2.2 SVM應用的一般框架936.3 SMO高效優化演算法946.3.1 Platt的SMO演算法946.3.2 應用簡化版SMO演算法處理小規模數據集946.4 利用完整Platt SMO演算法加速優化996.5 在復雜數據上應用核函數1056.5.1 利用核函數將數據映射到高維空間1066.5.2 徑向基核函數1066.5.3 在測試中使用核函數1086.6 示例:手寫識別問題回顧1116.7 本章小結113第7章利用AdaBoost元演算法提高分類性能 1157.1 基於數據集多重抽樣的分類器1157.1.1 bagging:基於數據隨機重抽樣的分類器構建方法1167.1.2 boosting1167.2 訓練演算法:基於錯誤提升分類器的性能1177.3 基於單層決策樹構建弱分類器1187.4 完整AdaBoost演算法的實現1227.5 測試演算法:基於AdaBoost的分類1247.6 示例:在一個難數據集上應用AdaBoost1257.7 非均衡分類問題1277.7.1 其他分類性能度量指標:正確率、召回率及ROC曲線1287.7.2 基於代價函數的分類器決策控制1317.7.3 處理非均衡問題的數據抽樣方法1327.8 本章小結132第二部分利用回歸預測數值型數據第8章預測數值型數據:回歸 1368.1 用線性回歸找到最佳擬合直線1368.2 局部加權線性回歸1418.3 示例:預測鮑魚的年齡1458.4 縮減系數來「理解」數據1468.4.1 嶺回歸1468.4.2 lasso1488.4.3 前向逐步回歸1498.5 權衡偏差與方差1528.6 示例:預測樂高玩具套裝的價格1538.6.1 收集數據:使用Google購物的API1538.6.2 訓練演算法:建立模型1558.7 本章小結158第9章樹回歸1599.1 復雜數據的局部性建模1599.2 連續和離散型特徵的樹的構建1609.3 將CART演算法用於回歸1639.3.1 構建樹1639.3.2 運行代碼1659.4 樹剪枝1679.4.1 預剪枝1679.4.2 後剪枝1689.5 模型樹1709.6 示例:樹回歸與標准回歸的比較1739.7 使用Python的Tkinter庫創建GUI1769.7.1 用Tkinter創建GUI1779.7.2 集成Matplotlib和Tkinter1799.8 本章小結182第三部分無監督學習第10章利用K-均值聚類演算法對未標注數據分組18410.1 K-均值聚類演算法18510.2 使用後處理來提高聚類性能18910.3 二分K-均值演算法19010.4 示例:對地圖上的點進行聚類19310.4.1 Yahoo! PlaceFinder API19410.4.2 對地理坐標進行聚類19610.5 本章小結198第11章使用Apriori演算法進行關聯分析20011.1 關聯分析20111.2 Apriori原理20211.3 使用Apriori演算法來發現頻繁集20411.3.1 生成候選項集20411.3.2 組織完整的Apriori演算法20711.4 從頻繁項集中挖掘關聯規則20911.5 示例:發現國會投票中的模式21211.5.1 收集數據:構建美國國會投票記錄的事務數據集21311.5.2 測試演算法:基於美國國會投票記錄挖掘關聯規則21911.6 示例:發現毒蘑菇的相似特徵22011.7 本章小結221第12章使用FP-growth演算法來高效發現頻繁項集22312.1 FP樹:用於編碼數據集的有效方式22412.2 構建FP樹22512.2.1 創建FP樹的數據結構22612.2.2 構建FP樹22712.3 從一棵FP樹中挖掘頻繁項集23112.3.1 抽取條件模式基23112.3.2 創建條件FP樹23212.4 示例:在Twitter源中發現一些共現詞23512.5 示例:從新聞網站點擊流中挖掘23812.6 本章小結239第四部分其他工具第13章利用PCA來簡化數據24213.1 降維技術24213.2 PCA24313.2.1 移動坐標軸24313.2.2 在NumPy中實現PCA24613.3 示例:利用PCA對半導體製造數據降維24813.4 本章小結251第14章利用SVD簡化數據25214.1 SVD的應用25214.1.1 隱性語義索引25314.1.2 推薦系統25314.2 矩陣分解25414.3 利用Python實現SVD25514.4 基於協同過濾的推薦引擎25714.4.1 相似度計算25714.4.2 基於物品的相似度還是基於用戶的相似度?26014.4.3 推薦引擎的評價26014.5 示例:餐館菜餚推薦引擎26014.5.1 推薦未嘗過的菜餚26114.5.2 利用SVD提高推薦的效果26314.5.3 構建推薦引擎面臨的挑戰26514.6 基於SVD的圖像壓縮26614.7 本章小結268第15章大數據與MapRece27015.1 MapRece:分布式計算的框架27115.2 Hadoop流27315.2.1 分布式計算均值和方差的mapper27315.2.2 分布式計算均值和方差的recer27415.3 在Amazon網路服務上運行Hadoop程序27515.3.1 AWS上的可用服務27615.3.2 開啟Amazon網路服務之旅27615.3.3 在EMR上運行Hadoop作業27815.4 MapRece上的機器學習28215.5 在Python中使用mrjob來自動化MapRece28315.5.1 mrjob與EMR的無縫集成28315.5.2 mrjob的一個MapRece腳本剖析28415.6 示例:分布式SVM的Pegasos演算法28615.6.1 Pegasos演算法28715.6.2 訓練演算法:用mrjob實現MapRece版本的SVM28815.7 你真的需要MapRece嗎?29215.8 本章小結292附錄A Python入門294附錄B 線性代數303附錄C 概率論復習309附錄D 資源312索引313版權聲明316
『拾』 有用python做數據挖掘的么,求指導一些
Python常被昵稱為「膠水」語言,其特點是可以輕松的連接各種編程語言,粘在各個應用場景,不管是建站、爬蟲、運維還是數據挖掘,都有它的身影。與其它語言相比,Python的語法簡潔清晰,開發效率十分高效,通過完善的「包」往往一行代碼可以實現其他語言N行代碼的功能(但是某些場景執行效率不如C、Java等)。對於學習成本來講,相對其它編程語言來講,只要找對教程,一個對編程沒有太多概念的初學者也可以輕松入門。
對於數據挖掘來講,Python對數據清洗、數據探索、建立寬表、變數篩選、建模、模型參數優化、模型輸出、模型投產等等一系列環節均有成熟的「包」進行支持。
而在建模環節,除了對傳統時序、Logistic、決策樹等演算法的支持,Python也在不斷涌現和迭代著各種最前沿且實用的演算法包供用戶免費使用,如:微軟開源的回歸/分類包LightGBM、FaceBook開源的時序包Prophet、Google開源的神經網路包TensorFlow,廣泛應用於各大比賽的Xgboost等等等等。上述開源的包中,全部都支持Python。而對於其它語言來講,上述包並不一定全部支持。由此也可以看到Python在數據挖掘領域中舉足輕重的地位。
從實際使用的角度來講,通過對部分包的實際使用,對於分類、Logistics回歸、傳統回歸等問題,上述包對效率和准確率均有十分大的提升。僅從效率角度比較,之前某項目寬表共40餘萬樣本,480個欄位,逐步回歸用時2個小時,而另外一個項目通過使用xgboost的logistic Object,30餘萬樣本,1700個欄位,建模時間用時不到2分鍾。(由於xgboost在各個數據挖掘競賽中已經被廣泛證實效果十分優秀,而且模型比較需要很長篇幅進行描述。所以本文僅從效率角度進行了比較,後續可以就模型比較單獨寫一篇公眾號文,但就經驗而言xgboost等演算法效果通常不會比傳統演算法差)同時,與傳統數據挖掘軟體相比,Python還廣泛應用於圖像識別、語音識別、NLP等更豐富的數據挖掘領域。
可以看到,Python擁有應用場景廣泛、開源免費、前沿演算法支持、學習成本低、開發效率高等優質特點。通過這些特點,Python把遙不可及高高在上的大數據、數據挖掘、機器學習、深度學習等概念轉化為每個人都可以學習、每個企業都可以實際應用的項目和程序。通過低成本的投入,可以滿足更豐富的業務場景的需求、對現有業務場景的優化,幫助企業獲得更高的利潤並降低風險。