本書使用高級Python語言首次介紹科學應用的計算機編程。該闡述以實例和問題為導向,其中應用程序取自數學、數值微積分、統計學、物理學、生物學和金融。這本書教授“matlab風格”和過程編程以及面向對象編程。高中數學是一個必要的背景,它有利于學習經典和數字一元微積分并行閱讀這本書。除了學習如何編寫計算機程序,讀者還將學習如何利用數值方法和程序設計來解決科學和工程的各個分支中出現的數學問題。通過混合編程,數學和科學應用,這本書為實踐計算科學奠定了堅實的基礎。
這本書的目的是使用從數學和自然科學的例子來教授計算機編程。我們選擇使用Python編程語言,因為它結合了非凡的表達能力和非常干凈、簡單和緊湊的語法。Python很容易學習,非常適合作為計算機編程的入門。Python也非常類似于MATLAB,是一種很好的數學計算語言。將Python與編譯語言(如Fortran、C和c++)相結合很容易,這些語言被廣泛用于科學計算。
本書中的例子將編程與數學、物理、生物和金融的應用程序相結合。讀者需要具備基本的一元微積分知識,在高中數學強化課程中教授。這當然是一個優勢,以并行的大學微積分課程,最好包含經典和數值方面的微積分。雖然不是嚴格要求,高中物理背景使許多例子更有意義。
許多入門編程書籍都很緊湊,重點是列出編程語言的功能。然而,學習編程就是學習如何像程序員一樣思考。這本書主要關注的是思考過程,或者等價地說: 編程是一種解決問題的技術。這就是為什么大多數頁面都致力于編程中的案例研究,在這里我們定義一個問題并解釋如何創建相應的程序。新的結構和編程風格(我們可以稱之為理論)通常也通過示例介紹。
機器學習是關于基于數據的學習、推理和行動。這是通過構建計算機程序來完成的,這些程序可以處理數據,提取有用的信息,對未知屬性做出預測,并建議采取的行動或做出的決定。將數據分析變成機器學習的原因是,這個過程是自動化的,計算機程序是從數據中學習的。這意味著使用通用計算機程序,這些程序根據觀察到的所謂訓練數據自動調整程序的設置,以適應特定的應用程序環境。因此可以說,機器學習是一種通過實例編程的方式。機器學習的美妙之處在于,數據所代表的內容是非常隨意的,我們可以設計出適用于不同領域的廣泛實際應用的通用方法。我們通過下面的一系列例子來說明這一點。上述“通用計算機程序”是指數據的數學模型。也就是說,當我們開發和描述不同的機器學習方法時,我們使用的是數學語言。數學模型描述了與觀測數據對應的相關數量或變量與感興趣的屬性(如預測、動作等)之間的關系。因此,模型是數據的緊湊表示,以精確的數學形式捕捉我們正在研究的現象的關鍵屬性。使用哪個模型通常由機器學習工程師在查看可用數據時產生的見解和從業者對問題的總體理解來指導。在實踐中實現該方法時,將該數學模型轉換為可在計算機上執行的代碼。然而,要理解計算機程序的實際作用,了解其基礎數學也很重要。
這本書的目的是介紹監督機器學習,而不需要在該領域的任何經驗。我們既關注基礎的數學,也關注實踐方面。本書是教科書,不是參考書,也不是編程手冊。因此,它只包含一個仔細(但全面)的監督機器學習方法的選擇,而沒有編程代碼。現在有許多精彩和證據確鑿的代碼包可用,我們深信,在很好地理解數學和內部運行的方法。在這本書中,我們從統計學的角度來討論方法的統計特性。因此,它需要一些統計和概率論的知識,以及微積分和線性代數。我們希望,從頭到尾閱讀這本書將給讀者一個良好的起點,作為一個機器學習工程師工作和/或繼續在該學科的進一步研究。下圖說明了章節之間的主要依賴關系。特別是在第二、三、四章中討論了最基本的主題,我們建議讀者先閱讀這些章節,然后再閱讀后面包含更高級的主題的章節(第5-9章)。第10章超越了機器學習的監督設置,第11章關注于設計一個成功的機器學習解決方案的一些更實際的方面,比前幾章的技術性更少。最后,第十二章(由David Sumpter撰寫)討論了現代機器學習的某些倫理方面。
本書使用Python向人們介紹編程和算法思維。它非常關注經典算法,但它也提供了一個堅實的理解基本算法解決問題的技術。
本書以高度可讀的方式處理了編程和計算機科學中一些最重要和最具挑戰性的領域。它涵蓋了算法理論和編程實踐,演示了如何在實際的Python程序中反映理論。
介紹了Python語言中內置的知名算法和數據結構,并向用戶展示了如何實現和評估其他算法。
如果你是一個Python愛好者,并希望學習關于算法設計和分析的Python方法所需的一切,這本書正是你所需要的。
這本書的目的是介紹計算機科學家所需要的一些基本數學知識。讀者并不期望自己是數學家,我們希望下面的內容對你有用。
自然語言處理(Natural Language Processing,NLP)是計算機科學領域與人工智能領域中的一個重要方向。它研究能夠實現人與電腦之間用自然語言進行有效通信的各種理論和方法,涉及所有用計算機對自然語言進行的操作。
//www.datascienceassn.org/sites/default/files/Natural%20Language%20Processing%20with%20Python.pdf
伯德、克萊恩、洛佩爾編著的這本《Python自然語言處理》是自然語言處理領域的一本實用入門指南,旨在幫助讀者學習如何編寫程序來分析書面語言。《Python自然語言處理》基于Python編程語言以及一個名為NLTK的自然語言工具包的開源庫,但并不要求讀者有Python編程的經驗。全書共11章,按照難易程度順序編排。第1章到第3章介紹了語言處理的基礎,講述如何使用小的Python程序分析感興趣的文本信息。第4章討論結構化程序設計,以鞏固前面幾章中介紹的編程要點。第5章到第7章介紹語言處理的基本原理,包括標注、分類和信息提取等。第8章到第10章介紹了句子解析、句法結構識別和句意表達方法。第11章介紹了如何有效管理語言數據。后記部分簡要討論了NLP領域的過去和未來。
《Python自然語言處理》的實踐性很強,包括上百個實際可用的例子和分級練習。《Python自然語言處理》可供讀者用于自學,也可以作為自然語言處理或計算語言學課程的教科書,還可以作為人工智能、文本挖掘、語料庫語言學等課程的補充讀物。
這本書的目的是教你像計算機科學家一樣思考。這種思維方式結合了數學、工程和自然科學的一些最好的特點。像數學家一樣,計算機科學家使用形式語言來表示思想(特別是計算)。就像工程師一樣,他們設計東西,將組件組裝成系統,并在備選方案中進行權衡。像科學家一樣,他們觀察復雜系統的行為,形成假設,并測試預測。
計算機科學家最重要的技能是解決問題。解決問題的能力是指組織問題,創造性地思考解決方案,并清晰準確地表達解決方案的能力。事實證明,學習編程的過程是練習解決問題技巧的絕佳機會。這就是為什么這一章叫做,程序之道。
在某種程度上,你將學習編程,這本身就是一項有用的技能。在另一個層面上,您將把編程作為達到目的的一種手段。隨著時間的推移,這個目標會越來越清晰。
《如何像計算機科學家一樣思考》(How to Think Like a Computer Scientist)已經是目前最好的Python入門書籍了,但我們將其重新出版:
使用在線IDE Replit,而不是向學生展示如何在Windows上設置Python(許多有抱負的程序員都放棄了這一點)。
使展示現代化,并將源代碼轉換為Markdown,這樣讀者可以更容易地作出貢獻。
使用在線應用程序PythonTutor.com逐步可視化和逐步執行代碼。
利用Python及其標準庫中的數值和數學模塊,以及流行的開源數值Python包,如NumPy、SciPy、FiPy、matplotlib等。這個完全修訂的版本,更新了每個包的最新細節和更改Jupyter項目,演示了如何在大數據,云計算,金融工程,商業管理和更多的數字計算解決方案和數學模型應用。
Numerical Python,第二版,提供了許多使用Python在數據科學和統計中應用的全新案例研究示例,以及對以前的許多示例的擴展。由于Python的語法簡單而高級,以及數據分析的多種選項,因此它們都展示了Python在快速開發和探索性計算方面的強大功能。
閱讀本書后,讀者將熟悉許多計算技術,包括基于數組和符號計算,可視化和數字文件I/O,方程求解,優化,插值和積分,以及領域特定的計算問題,如微分方程求解,數據分析,統計建模和機器學習。
科學和數值計算是研究、工程和分析領域的一個蓬勃發展的領域。在過去的幾十年里,計算機行業的革命為計算機從業者提供了新的和強大的工具。這使得前所未有的規模和復雜性的計算工作成為可能。結果,整個領域和行業如雨后春筍般涌現出來。這種發展仍在繼續,隨著硬件、軟件和算法的不斷改進,它正在創造新的機會。最終,實現這一運動的技術是近幾十年來發展起來的強大的計算硬件。然而,對于計算從業者來說,用于計算工作的軟件環境與執行計算的硬件同等重要(如果不是更重要的話)。這本書是關于一個流行的快速增長的數值計算環境:Python編程語言及其用于計算工作的庫和擴展的充滿活力的生態系統。
計算是一項跨學科的活動,需要理論和實踐學科的經驗和專業知識:對數學和科學思維的牢固理解是有效計算工作的基本要求。同樣重要的是在計算機編程和計算機科學方面的扎實訓練。這本書的作用是通過介紹如何使用Python編程語言和圍繞該語言出現的計算環境來完成科學計算,從而將這兩個主題連接起來。在這本書中,假定讀者先前有一些數學和數值方法的訓練,以及Python編程的基本知識。這本書的重點是介紹用Python解決計算問題的實用方法。簡要介紹的理論涵蓋的主題給出在每一章,以介紹符號和提醒讀者的基本方法和算法。然而,這本書并不是對數值方法的自洽處理。為了幫助讀者以前不熟悉這本書的一些主題,進一步閱讀的參考文獻在每一章的結尾。同樣,沒有Python編程經驗的讀者可能會發現,將這本書和一本專注于Python編程語言本身的書一起閱讀會很有用
//www.programmer-books.com/wp-content/uploads/2019/02/Numerical-Python-2nd-Edition.pdf
學習使用Python分析數據和預測結果的更簡單和更有效的方法
Python機器學習教程展示了通過關注兩個核心機器學習算法家族來成功分析數據,本書能夠提供工作機制的完整描述,以及使用特定的、可破解的代碼來說明機制的示例。算法用簡單的術語解釋,沒有復雜的數學,并使用Python應用,指導算法選擇,數據準備,并在實踐中使用訓練過的模型。您將學習一套核心的Python編程技術,各種構建預測模型的方法,以及如何測量每個模型的性能,以確保使用正確的模型。關于線性回歸和集成方法的章節深入研究了每種算法,你可以使用書中的示例代碼來開發你自己的數據分析解決方案。
機器學習算法是數據分析和可視化的核心。在過去,這些方法需要深厚的數學和統計學背景,通常需要結合專門的R編程語言。這本書演示了機器學習可以如何實現使用更廣泛的使用和可訪問的Python編程語言。
使用線性和集成算法族預測結果
建立可以解決一系列簡單和復雜問題的預測模型
使用Python應用核心機器學習算法
直接使用示例代碼構建自定義解決方案
機器學習不需要復雜和高度專業化。Python使用了更簡單、有效和經過良好測試的方法,使這項技術更容易為更廣泛的受眾所接受。Python中的機器學習將向您展示如何做到這一點,而不需要廣泛的數學或統計背景。
如果您是用Python編程的新手,并且正在尋找可靠的介紹,那么這本書就是為您準備的。由計算機科學教師開發,在“為絕對初學者”系列叢書通過簡單的游戲創造教授編程的原則。您將獲得實際的Python編程應用程序所需的技能,并將了解如何在真實場景中使用這些技能。在整個章節中,你會發現一些代碼示例來說明所提出的概念。在每一章的結尾,你會發現一個完整的游戲,展示了這一章的關鍵思想,一章的總結,以及一系列的挑戰來測試你的新知識。當你讀完這本書的時候,你將非常精通Python,并且能夠將你所學到的基本編程原理應用到你要處理的下一種編程語言。
有興趣的數據科學專業人士可以通過本書學習Scikit-Learn圖書館以及機器學習的基本知識。本書結合了Anaconda Python發行版和流行的Scikit-Learn庫,演示了廣泛的有監督和無監督機器學習算法。通過用Python編寫的清晰示例,您可以在家里自己的機器上試用和試驗機器學習的原理。
所有的應用數學和編程技能需要掌握的內容,在這本書中涵蓋。不需要深入的面向對象編程知識,因為工作和完整的例子被提供和解釋。必要時,編碼示例是深入和復雜的。它們也簡潔、準確、完整,補充了介紹的機器學習概念。使用示例有助于建立必要的技能,以理解和應用復雜的機器學習算法。
對于那些在機器學習方面追求職業生涯的人來說,Scikit-Learn機器學習應用手冊是一個很好的起點。學習這本書的學生將學習基本知識,這是勝任工作的先決條件。讀者將接觸到專門為數據科學專業人員設計的蟒蛇分布,并將在流行的Scikit-Learn庫中構建技能,該庫是Python世界中許多機器學習應用程序的基礎。
你將學習
這本書是給誰的
簡單易懂,讀起來很有趣,介紹Python對于初學者和語言新手都是理想的。作者Bill Lubanovic帶您從基礎知識到更復雜和更多樣的主題,混合教程和烹飪書風格的代碼配方來解釋Python 3中的概念。章節結尾的練習可以幫助你練習所學的內容。
您將獲得該語言的堅實基礎,包括測試、調試、代碼重用和其他開發技巧的最佳實踐。本書還向您展示了如何使用各種Python工具和開放源碼包將Python用于商業、科學和藝術領域的應用程序。