Python數據分析與挖掘 課件 第 1 章 數據挖掘與機器學習概論_第1頁
Python數據分析與挖掘 課件 第 1 章 數據挖掘與機器學習概論_第2頁
Python數據分析與挖掘 課件 第 1 章 數據挖掘與機器學習概論_第3頁
Python數據分析與挖掘 課件 第 1 章 數據挖掘與機器學習概論_第4頁
Python數據分析與挖掘 課件 第 1 章 數據挖掘與機器學習概論_第5頁
已閱讀5頁,還剩45頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Python數據分析與挖掘

第1章

緒論

從文明之初的“結繩計數”到文字發明后的“文以載道”,再到近代科學的“數據建模”,數據一直伴隨著人類社會的成長變遷。然而,直到已電子計算機為代表的現代信息技術出現后,才使人類掌握數據、處理數據的能力得到空前高速的發展。信息技術及其在社會經濟生活方方面面的應用(即信息化)推動數據(信息)稱為繼物質、能源之后的第三大戰略資源。數據挖掘與機器學習概述14六月20253數據挖掘與機器學習概述主要的數據來源與領域:Web,e-commerce,transactions,stocks,…Science:Remotesensing,bioinformatics,scientificsimulation,…Societyandeveryone:news,YouTube“數據豐富,信息貧乏”數據挖掘機器學習目錄數據分析與數據挖掘數據挖掘的主要任務數據挖掘的數據源數據挖掘的技術數據挖掘的主要工具

數據分析數據分析(DataAnalysis,DA)是數學與計算機科學相結合的產物,是指用適當的統計分析方法對收集來的大量數據進行分析,提取有用信息和形成結論,并對數據加以詳細研究和概括總結的過程。數據分析和數據挖掘都是基于搜集來的數據,應用數學、統計和計算機等技術抽取出數據中的有用信息,進而為決策提供依據和指導方向。14六月20255

數據挖掘簡介面對大量的數據,迫使人們不斷尋找新的工具,對規律進行探索,為決策提供有價值的信息。數據挖掘有助于發現趨勢,揭示已知的事實,預測未知的結果。人們迫切希望能夠對海量數據進行分析挖掘,發現并提取隱含在數據中的有價值信息。14六月20256

數據挖掘簡介數據挖掘(DataMining)是人工智能和數據庫領域研究的熱點問題,是指從大量有噪聲的、不完全的、模糊和隨機的數據中,提取出隱含在其中的、事先不知道但具有潛在利用價值的信息的過程。這個定義包括幾層含義:數據必須是真實的、大量的并且含有噪聲的;發現的是用戶感興趣的可以接受、理解和運用的知識;僅支持特定的問題,并不要求放之四海而皆準的知識。與數據挖掘的含義類似的還有一些術語如:從數據中心挖掘知識、知識提取、數據/模式分析等。7

數據挖掘的主要任務數據挖掘是通過分析每個數據,從大量數據中尋找其規律的技術。8DataCleaningDataIntegrationDataWarehouseKnowledgeTask-relevantDataSelectionDataMiningPatternEvaluation

數據分析與數據挖掘的聯系

數據分析與數據挖掘的聯系2.數據挖掘的主要任務數據挖掘是通過分析每個數據,從大量數據中尋找其規律的技術。數據挖掘的主要任務有關聯分析、聚類分析、分類分析、異常分析、特異群組分析和演變分析等。(1)關聯規則挖掘由RakeshApwal等人首先提出。兩個或兩個以上變量的取值之間存在的規律稱為關聯。(2)預測建模是指根據已知的數據構建出一個數據模型,然后應用這個模型對未知數據的所屬分類進行預測,主要包括分類和回歸兩類問題。112.數據挖掘的主要任務

分類分類一般用于預測離散的目標變量,建立一個從輸入數據到分類標簽的映射。分類分析常見的算法有決策樹、最近鄰分類器、樸素貝葉斯分類器、人工神經網絡和支持向量機SVM等。回歸回歸是確定兩種或兩種以上變量間相互依賴的定量關系的一種統計分析方法,常用于預測連續的目標變量。雖然分類和回歸針對的預測目標不同,但兩者都是通過訓練一個模型,使目標變量預測值與實際值之間的誤差達到最小。常見的回歸分析方法有線性回歸、邏輯回歸、多項式回歸等。2.數據挖掘的主要任務(3)聚類是把數據按照相似性歸納成若干類別,使得同一類中的數據彼此相似,不同類中的數據盡量相異。基本的聚類分析方法主要有劃分方法、層次方法、基于密度的方法和基于網格的方法。(4)離群點指全局或局部范圍內偏離一般水平的觀測對象。離群點等異常值會對數據分析與挖掘產生不良影響。13ThisisaviewfromtypicalmachinelearningandstatisticscommunitiesInputDataPatternInformationKnowledgeDataMiningDataPre-ProcessingPost-ProcessingDataintegrationNormalizationFeatureselectionDimensionreductionPatterndiscoveryAssociation&correlationClassificationClusteringOutlieranalysis…………PatternevaluationPatternselectionPatterninterpretationPatternvisualization2.數據挖掘的主要任務3.數據挖掘的數據源作為一門通用的技術,只要數據對目標應用是有用的,數據挖掘就可以用于任何類型的數據。對于挖掘的應用,數據的基本形式主要有數據庫數據、數據倉庫、事務數據庫和其他數據源。(1)數據庫系統是由一組內部相關的數據和用于管理這些數據的程序組成,通過軟件程序對數據進行高效的存儲和管理,并發、共享或分布式訪問,并保證數據的完整性和安全性。

數據挖掘的數據源(2)數據倉庫是依照分析需求、分析維度和分析指標進行設計的,它是數據庫的一種概念上的升級。(3)事務數據庫的每個記錄代表一個事務,例如一個航班的訂票、顧客的一個交易等。(4)其它類型數據時間相關的數據和序列數據,數據流,空間數據,Web數據(HTML等)等164.數據挖掘使用的技術作為一個應用驅動的領域,數據挖掘吸納了諸如統計學、機器學習、數據庫和數據倉庫、數據可視化、算法、高性能計算和許多應用領域的先進技術。17

4.數據挖掘使用的技術18從數據分析的角度來看,數據挖掘與機器學習有很多相似之處,但不同之處也十分明顯,例如:數據挖掘并沒有機器學習探索人的學習機制這一科學發現任務,數據挖掘中的數據分析是針對海量數據的,等。從某種意義上說,機器學習的科學成分更重一些,二數據挖掘的技術成分更中一些。機器學習(MachineLeaning)是一門多領域交叉學科,涉及概論論、統計學、逼近論、凸分析和算法復雜度等多門學科。其專門研究計算機是怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有知識結構,使之不斷改善自身性能。數據挖掘(DataMining)是從海量數據中獲取有效的、新穎的、潛在有用的、最終可理解的模式的過程。數據挖掘中用到了大量的機器學習界提供的數據分析和數據庫領域提供的數據管理技術。

數據挖掘與機器學習學習能力是智能行為的一個非常重要的特征,不具備學習能力的系統很難稱之為一個真正的智能系統,而機器學習則希望系統能夠利用經驗來改善自身的性能。經驗通常以數據的形式存在,因此機器學習不僅涉及對人的認知學習過程的探索,還涉及對數據的分析處理。由于幾乎所有的科學都要面對數據分析任務,因此機器學習已經影響到計算機科學的眾多領域,甚至計算機科學之外的很多學科。

數據挖掘與機器學習機器學習是數據挖掘中的一個重要工具,然而數據挖掘不僅要研究拓展、應用一些機器學習的方法,還要通過許多非機器學習技術解決數據倉儲、大規模數據、數據噪聲等實踐問題。機器學習在數據挖掘上的方法通常只是“從數據學習”,而機器學習不僅用在數據挖掘上,一些機器學習的子領域甚至與數據挖掘關系不大,如增強學習與自動控制等。數據挖掘從目的而言,機器學習是從方法而言,兩個領域有較大交集,但不能等同。

數據挖掘與機器學習典型的數據挖掘與機器學習過程:一個典型的推薦類應用,需要找到“符合條件”的潛在人員。首先需要挖掘客戶特征,然后選擇一個合適的模型來進行預測,最后從用戶數據中得出結果。Datamining(knowledgediscoveryfromdata)

數據庫系統與數據倉庫數據庫管理系統(DatabaseManagementSystem,DBMS)是一種操縱和管理數據庫的大型軟件,主要關注數據庫的創建、維護和使用。數據倉庫(Datawarehouse)是面向主題的、集成的與時間相關且不可修改的數據集合。數據庫主要用于事務處理,數據倉庫主要用于數據分析,用途上的差異決定了兩種架構的特點不同。22

數據庫系統與數據倉庫23幫助企業構建經營分析系統多維數據分析外部數據OLTP系統文檔數據倉庫建設、運行和維護工具元數據數據倉庫數據集市抽取轉換加載(ETL)數據源數據存儲和管理OLAP服務器數據挖掘服務數據挖掘系統報表分析工具查詢工具其他應用……前端應用分析和挖掘引擎應用5.數據挖掘存在的主要問題1.數據類型多樣化

數據挖掘通常會涉及各種不同的數據類型,即使相同類型的數據也可能具有不同的數據結構。2.噪聲數據

數據獲取、存儲與加工過程中,經常會出現數據中包含噪聲、數據缺失甚至數據錯誤的情況。數據缺失會影響數據挖掘的性能,而噪聲和錯誤可能會導致錯誤的結果。3.高維度數據

數據挖掘常常會涉及高維度數據。傳統算法在數據量小、數據維度低的情況下有較好的表現,但是隨著數據量和數據維度激增的情況,必須要采用其他策略解決。4.數據挖掘的可視化

數據挖掘通常會得到隱藏在數據中的規律或模式,但這些規律和模式不容易理解和解釋。因此,往往要對分析挖掘的規律進行可視化。1商用工具商用工具主要由商用的開發商提供,通過市場銷售,提供相關的服務。與開源軟件相比,商用軟件更強大、軟件性能更加成熟穩定。主要的商用數據挖掘工具有SASEnterpriseMiner、SPSSClementine和IBMIntelligentMiner等。2開源工具開源軟件的最大優勢在于免費,而且讓任何有能力的人參與并完善軟件。相對于商用工具,開源軟件工具更容易學習和掌握。常用的開源工具有R語言、Python、Weka和RapidMiner等。256.數據挖掘常用工具1商用工具SASEnterpriseMinerIBMSPSSModelerIBMIntelligentMiner266.數據挖掘常用工具RWekaMahoutRapidMinerPythonSparkMLlib2開源工具

數據挖掘常用工具RR是用于統計分析和圖形化的計算機語言及分析工具,提供了豐富的統計分析和數據挖掘功能,其核心模塊是用C、C++和Fortran編寫的。2開源工具

數據挖掘常用工具2開源工具

數據挖掘常用工具WEKAWEKA是一個基于JAVA環境下免費開源的數據挖掘工作平臺,集合了大量能承擔數據挖掘任務的機器學習算法,包括對數據進行預處理,分類,回歸、聚類、關聯規則以及在新的交互式界面上的可視化。2開源工具

數據挖掘常用工具PythonPython是一種功能強大的、開源的、解釋性、面向對象計算機編程語言,內建有各種高級數據結構,支持模塊和包,支持多種平臺并可擴展。Python語言簡潔、易學習、易閱讀,并在數據統計、機器學習方面得到廣泛應用,是人工智能研究領域中一個非常重要的工具。利用Python進行數據挖掘的優勢

為何選用Python進行數據挖掘1.爬取數據需要Python2.數據分析需要Python3.Python語言簡單高效Python的第三方模塊很豐富,而且語法非常簡練,自由度很高。32

為何選用Python進行數據挖掘8.Python數據挖掘常用類庫Scikit-learnScikit-learn簡稱sklearn,是一組簡單有效的工具集。sklearn依賴于Python的NumPy,SciPy和matplotlib庫,它封裝了大量經典以及最新的機器學習模型。作為一款用于機器學習和實踐的Python第三方開源數據庫,具備了出色的接口設計和高效的學習能力。內容應用算法回歸(regression)價格預測、趨勢預測等線性回歸,SVR等降維(DimensionReduction)可視化PCA,NMF等分類(Classification)異常檢測、圖像識別等KNN、SVM等聚類(Clustering)圖像分割、群體劃分等K-means,譜聚類等8.Python數據挖掘常用類庫Scikit-learn中的數據集在機器學習過程中,需要使用各種各樣的數據集,Scikit-learn內置有一些小型標準數據集,不需要從某個外部網站下載任何文件,一些常用的數據集見表數據集名稱調用方式數據描述鳶尾花數據集load_iris()用于多分類任務的數據集波士頓房價數據集load_boston()用于回歸任務的經典數據集乳腺癌數據集load_breast_cancer()用于二分類任務的數據集體能訓練數據集load_linnerud()用于多變量回歸的數據集酒的數據集load_wine用于分類9.數據科學計算平臺——Anaconda35Anaconda是一個集成的Python數據科學環境,簡單的說,Anaconda除了有Python外,還安裝了180多個用于數據分析的第三方庫,而且可以使用conda命令安裝第三方庫和創建多個環境。相對于只安裝Python而言,避免了安裝第三方庫的麻煩。網站:/help/anaconda/

數據科學計算平臺——AnacondaJupyterNotebook(Julia+Python+R=Jupyter)基于Web技術的交互式計算文檔格式,支持Markdown和Latex語法,支持代碼運行、文本輸入、數學公式編輯、內嵌式畫圖和其他如圖片文件的插入,是一個對代碼友好的交互式筆記本。36確認勾選將Python添加到系統環境變量

數據科學計算平臺——Anaconda

數據科學計算平臺——AnacondaAnacondaNavigator

數據科學計算平臺——Anaconda

conda:一個工具,用于包管理和環境管理,其中:

包管理與pip類似,管理python第三方;

環境管理能夠允許用戶使用不同版本的Python,并能靈活切換

數據科學計算平臺——AnacondaWin+R:運行CMD命令;conda–V:顯示python版本,說明環境變量設置成功;condaupgrade-all

:先把所有工具包進行升級

包的安裝和卸載:condainstallxxx#xxx為包名condaremovexxxpipinstallxxxpipuninstallxxxJupyterNotebook的使用JupyterNotebook(Julia+Python+R=Jupyter)基于Web技術的交互式計算文檔格式,支持Markdown和Latex語法,支持代碼運行、文本輸入、數學公式編輯、內嵌式畫圖和其他如圖片文件的插入,是一個對代碼友好的交互式筆記本。41

數據科學計算平臺—Anaconda1.JupyterNotebook中的代碼輸入與編輯42Files基本上列出了所有的文件,Running顯示了當前已經打開的終端和Notebooks,Clusters由IPythonparallel包提供,用于并行計算。若要創建新的Notebook,只需單擊頁面右上角的New按鈕,在下拉選項中選擇python3,即可得到一個空的notebook界面如圖1-3所示

數據科學計算平臺—Anaconda主要由以下部分組成:notebook標題、主工具欄、快捷鍵、notebook編輯區。若要重新命名notebook標題,可選擇File|Rename,輸入新的名稱,更改后的名字就會出現在Jupyter圖標的右側。43

數據科學計算平臺—Anaconda44

數據科學計算平臺—Anaconda在編輯區可以看到一個個單元(cell)。如圖1-4所示,每個cell以“In[]”開頭,可以輸入正確的Python代碼并執行。例如,輸入"python"+"program",然后按“Shift+Enter”,代碼將被運行后,編輯狀態切換到新的cell。45

數據科學計算平臺—Anaconda選擇Insert|Insertcellabove,則在當前cell上面會添加一個新的默認是code類型的單元。通過選擇cell|celltype菜單選擇Mar

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論