版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數據挖掘基礎數據挖掘發展史數據隱私安全數據挖掘的常用方法數據挖掘的通用流程常用數據挖掘工具Python數據挖掘環境配置數據挖掘概念KDD(KnowledgeDiscoveryfromData):從數據中發現知識。數據挖掘(DataMining):是KDD的核心部分,它是指從數據集合中自動抽取隱藏在數據中的有用信息的非平凡過程,這些信息的表現形式有規則、概念、規律和模式等。數據挖掘發展史1995年:起源1997年:快速發展時期21世紀:成熟時期近年來:各領域深度融合的趨勢未來:持續發展數據挖掘的發展歷程數據挖掘發展史數據隱私安全數據挖掘的常用方法數據挖掘的通用流程常用數據挖掘工具Python數據挖掘環境配置倫理困境與法律規制1.核心倫理困境知情同意算法歧視與公平性缺失數據挖掘的倫理沖突集中體現在數據處理全流程中的價值失衡,主要表現為兩大核心困境。倫理困境與法律規制2.主要法律框架為應對隱私風險,全球已形成以歐盟GDPR為標桿、各國特色化補充的法律體系。我國對數據挖掘的相關法律如下。《中華人民共和國數據安全法》《互聯網信息服務算法推薦管理規定》《中華人民共和國個人信息保護法》數據隱私與合規性為應對數據隱私挑戰,相關企業需建立系統的數據治理體系,將隱私保護融入數據挖掘全流程。合規性實踐包括數據分類分級、訪問控制、匿名化處理以及定期安全審計等。技術手段上,差分隱私、聯邦學習、同態加密等隱私計算技術正逐漸應用于數據挖掘中,使得在不出域的前提下完成模型訓練與推理成為可能,有效降低了數據泄露風險。相關企業應加強企業員工的數據倫理與法律意識培訓,確保數據挖掘活動不僅在技術上可行,更需要在倫理與法律上站得住腳。只有在技術、管理與法規三者協同的基礎上,數據挖掘才能在釋放數據價值的同時,切實保障個人隱私與社會公平。數據挖掘發展史數據隱私安全數據挖掘的常用方法數據挖掘的通用流程常用數據挖掘工具Python數據挖掘環境配置數據挖掘的常用方法分類與回歸聚類關聯規則智能推薦時間序列大語言模型數據挖掘發展史數據隱私安全數據挖掘的常用方法數據挖掘的通用流程常用數據挖掘工具Python數據挖掘環境配置數據挖掘的通用流程目標分析數據抽取數據探索數據預處理分析與建模模型評價數據挖掘的通用流程的順序并不是嚴格不變的,可根據實際項目的情況進行不同程度的調整。目標分析針對具體的數據挖掘應用需求,先要明確本次的挖掘目標是什么,以及系統完成數據挖掘后能達到什么樣的效果。必須分析應用領域,包括應用領域中的各種知識和應用目標,了解相關領域的有關情況,熟悉背景知識,弄清用戶需求。要想充分發揮數據挖掘的價值,必須對目標有一個清晰明確的定義,即確定到底想干什么。數據抽取在明確了數據挖掘的目標后,接下來就需要從業務系統中抽取出一個與挖掘目標相關的樣本數據子集。衡量取樣數據質量的標準包括:資料完整無缺,各類指標項齊全;數據準確無誤,反映的都是正常狀態下的水平。隨機抽樣等距抽樣分層抽樣按起始順序抽樣分類抽樣數據探索當拿到一個樣本數據集后,它是否達到設想的要求,其中有沒有什么明顯的規律和趨勢,有沒有出現從未設想過的數據狀態,屬性之間有什么相關性,它可分成哪些類別等,這些都是需要先進行探索的內容。對所抽取的樣本數據進行探索、審核和必要的加工處理,是保證最終挖掘模型的質量所必需的操作。挖掘模型的質量不會優于抽取的樣本的質量。數據探索和預處理的目的是保證樣本數據的質量,從而為保證模型質量打下基礎。數據探索主要包括數據校驗、描述性統計分析、分布分析、對比分析、周期性分析、貢獻度分析、相關性分析等。數據預處理當采樣數據的表達形式不一致時,如何進行數據變換、數據合并等都是數據預處理要解決的問題。由于采樣數據中常常包含許多含有噪聲、不完整甚至不一致的數據,因此需要對數據進行預處理以改善數據質量,并最終達到完善數據挖掘結果的目的。數據預處理主要包括重復值處理、缺失值處理、異常值處理、簡單函數變換、數據標準化、數據離散化、獨熱編碼、數據合并等。分析與建模樣本抽取和預處理都完成后,需要考慮本次建模屬于數據挖掘應用中的哪類問題,還需考慮選用哪種算法進行模型構建更為合適。分類與回歸算法線性模型決策樹最近鄰分類支持向量機神經網絡集成算法……聚類算法K-Means聚類密度聚類層次聚類……關聯規則AprioriFP-Growth……智能推薦基于內容推薦協同過濾推薦算法……時間序列模型AR模型MA模型ARMA模型ARIMA模型……模型評價在建模過程中會得出一系列的分析結果,模型評價的目的之一就是依據這些分析結果,從訓練好的模型中尋找出一個表現最佳的模型,并結合業務場景對模型進行解釋和應用。適用于分類與回歸模型、聚類分析模型、智能推薦模型的評價方法是不同的。數據挖掘發展史數據隱私安全數據挖掘的常用方法數據挖掘的通用流程常用數據挖掘工具Python數據挖掘環境配置常用數據挖掘工具數據挖掘是一個反復探索的過程,只有將數據挖掘工具提供的技術和實施經驗與企業的業務邏輯和需求緊密結合,并在實施過程中不斷地磨合,才能取得好的效果。常用的幾種數據挖掘建模工具如下。PythonIBMSPSSModelerKNIMERapidMinerTipDM開源數據挖掘建模平臺阿里云數加數據挖掘發展史數據隱私安全數據挖掘的常用方法數據挖掘的通用流程常用數據挖掘工具Python數據挖掘環境配置Python數據挖掘環境配置Python是一門結合了解釋性、編譯性、互動性的面向對象的高層次計算機程序語言,也是一門功能強大而完善的通用型語言,已具有30多年的發展歷史,成熟且穩定。Anaconda是Python的一個集成開發環境,可以便捷地獲取庫,并且提供對庫的管理功能,可以對環境進行統一管理。進入Anaconda發行版官方網站,下載Windows系統的Anaconda安裝包,選擇Python3.12.7版本。安裝Anaconda1.雙擊打開安裝包,再單擊【Next】按鈕進入下一步。安裝Anaconda2.單擊【IAgree】按鈕,表示同意上述協議并進入下一步。安裝Anaconda3.選擇【AllUsers(requiresadminprivileges)】單選按鈕,然后單擊【Next】按鈕,進入下一步。安裝Anaconda4.單擊【Browse…】按鈕,指定安裝Anaconda的路徑,然后單擊【Next】按鈕,進入下一步。。安裝Anaconda5.兩個復選框分別代表允許創建快捷方式、允許將Anaconda3注冊為系統Python3.12。勾選這兩個復選框,然后單擊【Install】按鈕,等待安裝結束。安裝Anaconda6.當安裝進度條滿格后,依次單擊【Next】按鈕。安裝Anaconda7.勾選界面中的【LaunchAnacondaNavigator】(啟動AnacondaNavigator)、【GettingStartedwithAnacondaDistribution】(開始使用Anaconda發行版)兩個復選框,單擊【Finish】按鈕,即可完成Anaconda的安裝。小結本章主要介紹了數據挖掘的基礎知識,包括數據挖掘的發展史、常用方法、通用流程和常用工具,Python數據挖掘環境的配置,以及數據隱私安全。數據挖掘的通用流程包括目標分析、數據抽取、數據探索、數據預處理、分析與建模、模型評價。常用的數據挖掘工具包括Python、IBMSPSSModeler、KNIME、RapidMiner、TipDM開源數據挖掘建模平臺和阿里云數加。Python數據挖掘編程基礎Python使用入門Python數據挖掘建模的常用庫基本命令1.基本運算初識Python,可以將其當作一個方便的計算器。Python支持對字符串的靈活操作。基本命令2.數據結構Python有4個內置的數據結構——列表、元組、字典和集合它們統稱為容器。4個內置的數據結構實際上是由一些元素組合而成的結構,這些元素可以是數字、字符或列表,也可以是幾種元素的組合。容器里的數據結構可以是任意的;且容器內部的元素類型不要求相同。數據結構1.列表和元組列表和元組都是序列結構,兩者很相似,但又有一些不同的地方。列表與元組的區別是列表使用方括號進行標記,如m=[0,2,4]。元組使用圓括號進行標記,如n=(6,8,10)。訪問列表和元組中的元素的方式都是一樣的,如m[0]等于0,n[2]等于10等。外形上列表與元組的區別是列表可以被修改,而元組不可以。如果已經有了一個列表m,需要將列表m復制為列表n,那么使用語句n=m是無效的,因為這時n僅僅是m的別名(或引用),修改n的同時也會修改m。正確的復制語句應該是n=m[:]。功能上列表和元組與列表有關的函數是list,與元組有關的函數是tuple,其用法和功能幾乎一樣,都是將某個對象轉換為列表或元組。例如,list('cd')的結果是['c','d'],tuple([0,1,2])的結果是(0,1,2)。函數功能函數功能cmp(m,n)比較兩個列表或元組的元素min(m)返回列表或元組中元素的最小值len(m)返回列表或元組中元素的個數sum(m)對列表或元組中的元素求和max(m)返回列表或元組中元素的最大值sorted(m)對列表或元組中的元素進行升序排序列表和元組列表作為對象,自帶了很多實用的方法。列表還有“列表解析”這一功能。列表解析功能能夠簡化操作列表內元素的代碼。方法功能m.append(1)將1添加到列表m的末尾m.count(1)統計列表m中元素1出現的次數m.extend([1,2])將列表[1,2]中的內容追加到列表m的末尾數據結構2.字典在數學意義上,字典實際上是一個映射。字典也相當于一個列表,但是其下標不是以0開頭的數字,而是自己定義的鍵(Key)。創建字典訪問字典中的元素通過dict函數或dict.fromkeys創建字典數據結構3.集合Python內置了集合這一數據結構,它與數學中的集合的概念基本一致。集合中的元素是不重復的,而且是無序的。集合不支持索引。通過花括號或set函數來創建集合集合的運算循環與判斷判斷和循環是編程語言中的基本命令,Python判斷語句的格式如下。if條件1:
語句1elif條件2:
語句2else:
語句3注意:代碼縮進循環與判斷Python的循環包括for循環和while循環,在絕大多數情況下,for循環和while循環可等價使用。for循環適合已知循環次數的操作,while循環適合循環次數是未知的操作。兩種循環操作都可以用任意表達式表示條件;都需要在滿足條件的前提下,才會進入循環體中執行語句。函數1.自定義函數Python使用關鍵字def定義自定義函數,函數返回值可以是各種形式。Python支持使用lambda定義“行內函數”。函數2.函數式編程函數式編程(FunctionalProgramming)或函數程序設計,又稱泛函編程,是一種編程范型。函數式編程將計算機運算視為數學中的函數計算,并且避免了程序狀態及易變對象對函數的影響。filterlambdamap…reduce庫的導入與添加1.庫的導入Python本身內置了很多強大的庫,如可以完成更加豐富、復雜的數學運算的math庫。使用“import庫名”命令導入庫為庫起一個別名特別指定要導入的函數的名字直接導入庫中的所有函數庫的導入與添加2.安裝第三方庫常見的安裝第三方庫的方法如下。方法特點下載源代碼自行安裝安裝靈活,但需要自行解決上級依賴問題用pip命令安裝比較方便,可以自動解決上級依賴問題用easy_install命令安裝比較方便,可以自動解決上級依賴問題下載編譯好的可執行文件包一般只有Windows系統才提供現成的可執行文件包系統自帶的安裝方式Linux或Mac系統的軟件管理器自帶了某些庫的安裝方式Python使用入門Python數據挖掘建模的常用庫Python數據挖掘建模的常用庫Python擁有豐富的第三方庫,在許多領域都有著廣泛的應用。隨著各種模塊的逐步完善,Python在科學領域的地位越來越重要。Python部分庫的作用如下表。類別核心庫名稱核心作用描述數據獲取requests發送HTTP請求,獲取網頁/API數據,支持各種請求方法和參數配置。Scrapy專業爬蟲框架,支持分布式爬取、數據解析、反爬處理,適合大規模數據采集。BeautifulSoup解析HTML/XML文檔,提取標簽內容、屬性等,常與requests配合使用。數據預處理pandas處理結構化數據,提供缺失值填充、格式轉換、數據過濾、合并等功能。NumPy提供高效數組操作,支持數值計算、維度轉換,是多數數據處理庫的基礎。scikit-learn包含標準化、歸一化、編碼(One-Hot/Label)、特征選擇等預處理工具。Python數據挖掘建模的常用庫Python部分庫的作用如下表(續)。類別核心庫名稱核心作用描述數據可視化Matplotlib基礎繪圖庫,支持折線圖、柱狀圖、直方圖等,可高度自定義圖表樣式。Seaborn基于Matplotlib,專注統計可視化,簡化熱圖、箱線圖、分類散點圖等繪制。Plotly交互式可視化庫,生成可交互圖表(縮放、懸停查看詳情),支持Web展示。機器學習scikit-learn經典機器學習庫,包含分類、回歸、聚類、降維等算法,支持模型訓練與評估。深度學習TensorFlow谷歌深度學習框架,支持構建復雜神經網絡(CNN/RNN/Transformer),適合生產部署。PyTorch動態計算圖深度學習框架,調試便捷,受科研領域青睞,支持快速原型開發。NumPyNumPy的前身為Numeric,最早由吉姆·弗賈寧(JimHugunin)與其他協作者共同開發。2005年,特拉維斯·奧利芬特(TravisOliphant)在Numeric中結合了另一個同性質的程序庫Numarray的特色,并進行了其他擴展而開發出了NumPy。NumPy是用Python進行科學計算的基礎軟件包,同時也是一個Python庫。NumPyNumPy提供多維數組對象和各種派生對象,以及用于數組快速操作的各種API,因而能夠快速地處理數據量大且煩瑣的數據運算。NumPy是很多更高級的擴展庫的依賴庫。NumPy內置函數處理數據的速度是C語言級別的,因此在編寫程序的時候,應當盡量使用NumPy中的內置函數,從而避免效率瓶頸。pandaspandas的名稱源自面板數據(PanelData)和Python數據分析(DataAnalysis),其最初被作為金融數據分析工具而開發出來,由AQRCapitalManagement于2008年4月開發,并于2009年底開源。pandas是Python的核心數據分析支持庫,提供了快速、靈活、明確的數據結構,旨在簡單、直觀地處理關系型、標記型數據。pandas能夠與其他第三方科學計算支持庫完美地集成。pandas還包含了高級的數據結構和精巧的工具,使得在Python中處理數據非常快速和簡單。pandaspandas中的常用數據結構為Series(一維數據)與DataFrame(二維數據)。可提供高性能的矩陣運算可用于數據挖掘和數據分析提供數據清洗功能支持類似SQL的數據增、刪、查、改操作有豐富的數據處理函數有時間序列分析功能可靈活地處理缺失數據pandas功能MatplotlibMatplotlib是由約翰·亨特(JohnHunter)等人研究發明出來的,最初只是為了可視化癩痢病人的一些健康指標。慢慢地,Matplotlib變成了Python中使用最廣泛的可視化工具包。Matplotlib是Python的繪圖庫,主要用于二維繪圖,也可以進行簡單的三維繪。Matplotlib提供了一整套和MATLAB相似但更為豐富的命令,可以非常快捷地使用Python可視化數據,而且可以輸出達到出版質量的多種圖像格式,還十分適合交互式地制圖。Matplotlib也可作為繪圖控件,嵌入GUI應用程序或CGI、Flask、Django中。MatplotlibMatplotlib繪圖庫的特點如下。不僅支持交互式繪圖,而且支持非交互式繪圖支持繪制曲線(折線)圖、條形圖、柱狀圖、餅圖可對繪制的圖形進行配置支持Linux、Windows、macOSX與Solaris的跨平臺繪圖遷移學習的成本比較低支持LaTeX的公式插入scikit-learnscikit-learn(簡稱sklearn)項目最早由數據科學家大衛·庫爾納佩(DavidCournapeau)在2007年發起,其需要NumPy和SciPy等庫的支持。scikit-learn是一個強大的Python機器學習庫,提供了完善的機器學習工具,能完成數據預處理、分類、回歸、聚類、預測、模型分析等操作。scikit-learn還是一種簡單高效的數據挖掘和數據分析工具,并且可以在各種環境中重復使用。scikit-learn的內部實現了各種各樣成熟的算法,容易安裝和使用,樣例也十分豐富。scikit-learn使用scikit-learn創建機器學習模型。所有模型提供的接口為model.fit(),用于訓練模型。用于分類與回歸算法的訓練模型的語句為fit(X,y)。用于非分類與回歸算法的訓練模型需要的語句為fit(X)。分類與回歸模型提供如下接口。model.predict(X_new):用于預測新樣本。model.predict_proba(X_new):用于預測概率,僅對某些模型有用。model.score():得分越高,模型擬合效果越好。scikit-learn非分類與回歸模型提供如下接口。model.transform():在fit函數的基礎上,進行標準化、降維、歸一化等數據處理操作。model.fit_transform():fit函數和transform函數的組合,既包含了訓練又包含了數據處理操作。scikit-learn本身還提供了一些實例數據用于練習,常見的有安德森鳶尾花卉數據集、手寫圖像數據集等。深度學習框架1.TensorFlow2015年11月10日,Google推出了全新的開源工具TensorFlow。它是基于Google2011年開發的深度學習基礎框架DistBelief構建而成的,主要應用于深度神經網絡。TensorFlow即Tensor和Flow,Tensor意味著數據,Flow意味著流動、計算、映射,TensorFlow即數據的流動、數據的計算、數據的映射,同時也體現出數據是有向地流動、計算和映射的。深度學習框架1.TensorFlow具有高度靈活性具有可移植性可以自動計算梯度和函數導數可以將硬件的性能最優化可以將不同的計算任務分配到不同的單元之中支持多種編程語言TensorFlow深度學習框架2.KerasKeras由Python編寫而成,它是使用TensorFlow、Theano和CNTK作為后端的一個深度學習框架。Keras的預測函數與scikit-learn有所差別Keras用model.predict()方法給出概率,scikit-learn用model.predict_classes()方法給出分類結果。Keras功能特點如下。Keras具有高度模塊化、用戶友好性和易擴展的特性支持卷積神經網絡和循環神經網絡,以及兩者的組合可無縫銜接CPU和GPU的切換深度學習框架3.PyTorch2017年1月,Facebook人工智能研究院在GitHub上開源了PyTorch,PyTorch迅速成為GitHub熱度榜的榜首。PyTorch是一個基于Torch的Python開源機器學習庫,同時還是一個深度學習框架,可用于自然語言處理等應用程序。PyTorch不僅能夠實現強大的GPU加速,同時還支持動態神經網絡。PyTorch可以幫助用戶構建深度學習項目。PyTorch可以提供命令式體驗,直接使用nn.module封裝便可使網絡搭建更快速和方便。PyTorch調試起來很簡單。深度學習框架3.PyTorchPyTorch中有較為完備的應用領域所對應的庫。應用領域對應的PyTorch庫計算機視覺TorchVision自然語言處理PyTorchNLP圖卷積PyTorchGeometric工業部署Fastai深度學習框架4.PaddlePaddlePaddlePaddle(即飛槳)是一個易用、高效、靈活、可擴展的深度學習框架,于2016年正式向專業社區開源。PaddlePaddle支持超大規模深度學習模型的訓練、多端多平臺部署的高性能推理引擎等。提供命令式編程模式功能、性能和體驗。原生推理庫性能顯著優化,輕量級推理引擎實現了對硬件支持的極大覆蓋。CUDA下多線程多流支持、TRI子圖對動態shape輸入的支持,強化了量化推理,性能顯著優化。全面提升了對支持芯片的覆蓋度,以及對應的模型數量和性能。深度學習框架5.CaffeCaffe是一個深度學習框架,是由伯克利人工智能研究所和社區貢獻者共同開發的。Caffe主要應用于視頻、圖像處理等領域,其核心語言是C++。Caffe支持命令行、Python和MATLAB接口,還支持在CPU、GPU上運行,其通用性好,且非常穩定。Caffe具有上手快的特點,其模型與相應優化都是以文本形式而非代碼形式給出的。Caffe的運行速度快,能夠運行較復雜的模型與海量的數據,用戶可以使用Caffe提供的各層類型來定義自己的模型。深度學習框架6.其他PyMySQLPyMySQL是用于連接MySQL服務器的一個庫。SciPySciPy是數學、科學和工程的開源軟件。StatsmodelsStatsmodels提供對許多不同統計模型估計的類和函數,可以進行統計測試,以及數據的探索、可視化。XGBoostXGBoost是一個經過優化的分布式梯度提升庫,具有設計高效、靈活且可移植的特點。小結本章主要講解了Python數據挖掘編程基礎。重點介紹了Python使用入門、Python數據分析預處理的常用庫及Python數據挖掘建模的常用庫和框架。本章結合實際操作,對Python基本命令和數據結構進行了介紹,并結合實際意義與作用,對常用庫進行了簡單的介紹。數據探索數據校驗數據特征分析數據校驗數據校驗可檢查出原始數據中是否存在噪聲數據,從而針對所出現的噪聲數據類型采取相應的解決措施。常見的數據校驗類型分為一致性校驗、缺失值校驗、異常值校驗和數據漂移校驗4種。一致性校驗1.時間校驗時間不一致是指數據在合并或聯立后,時間字段出現時間范圍、時間粒度、時間格式或時區不一致等情況。時間范圍不一致通常是指不同表的時間字段中所包含的時間的取值范圍不一致。時間粒度不一致通常是指在數據采集時沒有設置統一的采集頻率。時間格式不一致通常是指不同系統之間設置時間字段時采用的格式不一致。時區不一致通常是指數據傳輸時的設置不合理,導致時間字段出現不一致的情況。時間校驗時間范圍不一致兩列時間字段的取值范圍分別為2025年1月1日-2025年1月31日和2025年1月17日-2025年2月20日,此時如果需要聯立兩列時間字段,那么需要對時間字段進行補全,否則將會產生大量空值或報錯。time_1time_22025-01-0108:35:002025-01-1710:31:002025-01-0209:16:002025-01-1811:36:002025-01-0310:33:002025-01-199:45:00…………2025-01-3015:20:002025-02-1919:27:002025-01-3121:18:002025-02-2023:55:00時間校驗時間粒度不一致某地部分設備的系統尚未升級,采集頻率為每分鐘采集一次;另一部分設備已經升級,升級后采集頻率提高至每30秒采集一次。如果此時將這兩部分數據合并,那么將會導致數據時間粒度不一致。unupgraded_time_1upgrade_time_22025/03/1610:35:002025/6/814:12:302025/03/1610:36:002025/6/814:13:002025/03/1610:37:002025/6/814:13:302025/03/1610:38:002025/6/814:14:002025/03/1610:39:002025/6/814:14:30時間校驗時間格式不一致訂單系統的時間字段order_time1與結算系統的時間字段end_time2采用了不同的格式,從而導致時間格式不一致。order_time1end_time22025-08-1515:16:00202511051430002025-08-1515:25:00202511051435002025-08-1515:33:00202511051442002025-08-1515:40:00202511051448002025-08-1515:47:0020251105145100時間校驗時區不一致海外服務器時間字段Overseas_sever_time與本地服務器時間字段Local_sever_time因時區差異造成固定相差5個小時。Overseas_sever_timeLocal_sever_time2025/05/1009:10:302025/05/1014:10:302025/05/1009:11:002025/05/1014:11:002025/05/1009:11:302025/05/1014:11:302025/05/1009:12:002025/05/1014:12:002025/05/1009:12:302025/05/1014:12:30一致性校驗2.字段信息校驗在數據收集工作中,往往會出現重復收集數據或在數據庫中重復寫入數據的情況,從而導致數據冗余。字段信息校驗主要是檢驗數據中是否存在重復值,從而避免重復數據對分析結果造成的影響。字段信息校驗產生重復值的主要原因在收集數據時沒有進行查重或查重不認真而產生較為明顯的重復值。雖然已經進行查重,但是由于數據中已存在的記錄不夠詳細,所以又重新收集了一次數據,導致產生重復值。集中收集或分散收集時,數據主體不一致造成數據重復。因為數據采集、存儲設備發生故障等非人為原因而造成數據重復。字段信息校驗重復值會產生的影響重復值可能會影響分析結果的正確性。重復值的存在會占用存儲空間。重復值中不規范,甚至是錯誤的數據會影響分析結果的準確性。重復值會影響數據的分布,同時會造成預測結果偏移。字段信息校驗由于存在重復值,所以當合并不同來源的數據時,字段可能存在以下3種不一致的問題。同名異義異名同義單位不統一字段信息校驗同名異義兩個名稱相同的字段所代表的實際意義不一致。數據源A中的Number字段和數據源B中的Number字段分別描述貨物編號和訂單編號,即描述不同的實體Number(A)Number(B)1004538109101600016210045383061016000175100453842542380003391004538333423800034810045380074238000256字段信息校驗異名同義兩個名稱不同的字段所代表的實際意義是一致的。數據源A中的Sold_dt字段和數據源B中的Sales_dt字段都描述銷售日期,即Sold_dt=Sales_dt。Sold_dtSales_dt2025/7/012025/7/012025/7/032025/7/032025/7/102025/7/102025/7/152025/7/152025/7/242025/7/24字段信息校驗單位不統一兩個名稱相同的字段所代表的實際意義一致,但是使用的單位不一致。數據源A中Gold_coins字段的單位為人民幣,而數據源B中Gold_coins字段的單位為歐元。Gold_coins(A)Gold_coins(B)49.56.343456.97.291743.05.510480.610.328867.28.6116缺失值校驗缺失值是指數據中由于缺少信息而造成的數據集中某個或某些特征的值不完全。根據缺失值的分布模式,可以分為完全隨機缺失、隨機缺失和完全非隨機缺失3種情況。對數據進行缺失值校驗是為了找出數據中的缺失值,從而針對缺失值進行相關處理。缺失值校驗1.缺失值產生的原因有些數據暫時無法獲取,或獲取數據的代價太大。有些數據被遺漏。可能是由于未輸入、忘記填寫或對數據理解錯誤等一些人為因素而遺漏,也可能是由于數據采集設備的故障、存儲介質的故障、傳輸媒體的故障等非人為因素而遺漏。屬性值不存在。在某些情況下,缺失值并不意味著數據有錯誤。對一些對象來說某些屬性值是不存在的,如一個未婚者的配偶姓名、一個兒童的固定收入等。缺失值校驗2.缺失值的影響數據分析建模時將丟失大量有用信息。數據分析模型所表現出的不確定性將更加顯著,模型中蘊含的規律將更難把握。包含空值的數據會使建模過程陷入混亂,導致不可靠的輸出。缺失值校驗3.缺失值的校驗在Python中,可以利用缺失值校驗函數或方法檢測數據中是否存在缺失值。函數或方法名函數或方法功能使用格式isnull用于判斷是否為缺失值pandas.DataFrame.isnull()或pandas.isnull(obj)notnull用于判斷是否為非缺失值pandas.DataFrame.notnull()或pandas.notnull(obj)count用于計算非缺失值pandas.DataFrame.count(axis=0,level=None,numeric_only=False)缺失值的校驗Python缺失值校驗函數或方法的常用參數及其說明。函數或方法名參數名參數說明isnullobj接收標量或類似數組。表示檢查對象是否為缺失值。無默認值notnullobj接收數組或對象值。表示檢查對象是否為非缺失值。無默認值countaxis接收int。表示所要應用的功能的軸,可選0和1。默認值為0level接收int類型的值或索引名。表示標簽所在級別。默認值為Nonenumeric_only接收bool類型的值。表示計數對象僅包含float、int或bool類型的數據。默認值為False缺失值的檢驗對下表的數據(表中空白處表示缺失值)進行缺失值、非缺失值的識別,并進行缺失率統計。編號x1x2x32006914615.3176620158639
3582208943
56.7486120547323
2589
1546/p>
33.81975異常值校驗異常值是指樣本中的個別數值明顯偏離所屬樣本的其余觀測值。在實際測量中,異常值的產生一般是由疏忽、失誤或突然發生的意外造成的,如讀錯、記錯、儀器示值突然跳動、突然震動、操作失誤等。異常值校驗是檢驗數據是否有錄入錯誤,以及是否有不合常理的數據。異常值校驗1.簡單統計量分析可以先對變量做一個描述性統計,進而查看哪些數據是不合理的。最常用的統計量是最大值和最小值,用來判斷這個變量的取值是否超出了合理的范圍。如客戶年齡的最大值為199歲,則該變量的取值存在異常。簡單統計量分析Python異常值檢測函數或方法。函數或方法名函數或方法功能使用格式percentile用于計算百分位數numpy.percentile(a,q,axis=None,out=None,overwrite_input=False,interpolation='linear',keepdims=False)mean用于計算平均值pandas.DataFrame.mean(axis=None,skipna=None,level=None,numeric_only=None,**kwargs)std用于計算標準差pandas.DataFrame.std(axis=None,skipna=None,level=None,ddof=1,numeric_only=None,**kwargs)簡單統計量分析Python異常值檢測函數或方法的常用參數及其說明。函數或方法名參數名參數說明percentilea接收array_like(類數組)。表示輸入數組或可以轉換為數組的對象。無默認值q接收浮點類型的array_like。表示要計算的百分位數或百分位數的序列,必須在0~100之間(含0和100)。無默認值axis接收int類型的值、int元組、None。表示計算百分位數的一個或多個的軸。默認值為Nonemeanaxis接收int類型的值。表示所要應用的功能的軸,可選0和1。默認值為Noneskipna接收bool類型的值。表示排除缺失值。默認值為Nonelevel接收int類型的值或級別名稱。表示標簽所在級別。默認值為Nonestdaxis接收int類型的值。表示所要應用的功能的軸,可選0和1。默認值為Noneskipna接收bool類型的值。表示排除缺失值。默認值為Nonelevel接收int類型的值或級別名稱。表示標簽所在級別。默認值為Noneddof接收int類型的值。表示Delta的自由度。默認值為1異常值校驗2.3σ原則和IQR準則如果數據服從正態分布,那么在3σ原則下,異常值被定義為一組測定值中與平均值的偏差超過3倍標準差的值。在正態分布的假設下,出現距離平均值3σ之外的值的概率為,屬于極個別的小概率事件。如果數據不服從正態分布,那么在四分位距準則(IQR)下,異常值被定義為小于QL-1.5IQR或大于QU+1.5IQR的值。其中,QL為下四分位數,QU為上四分位數,IQR為是上四分位數QU與下四分位數QL之差。3σ原則和IQR準則使用IQR準則和原則可以檢測ary中的異常值,返回為異常值的元素,并計算元組ary中異常值所占的比例,計算結果如下表。ary=(9999,57,68,52,79,43,55,94,376,4581,3648,70,51,38)檢測方法檢測的異常值異常值比例IQR準則[9999,4581,3648]0.21428571428571427原則[9999]0.07142857142857142異常值校驗3.箱形圖分析箱線圖依據實際數據繪制,真實、直觀地表現出了數據分布的本來面貌,且沒有對數據做任何限制性要求,其判斷異常值的標準以四分位距準則為基礎。異常值通常不能對四分位距準則施加影響,所以箱線圖識別異常值的結果比較客觀,因此在識別異常值方面具有一定的優越性。箱形圖分析在便利店的銷售額數據中可能會出現缺失值和異常值如下表。通過pandas庫的describe()方法可以查看數據的基本情況。時間2025/05/012025/05/022025/05/032025/05/042025/05/05銷售額(元)732135716501980
統計指標統計指標的值統計指標統計指標的值count9125%859mean1557.95604450%1440std835.07556475%2016.5min155max5390箱形圖分析箱形圖可以更直觀地展示便利店銷售額數據,并且可以檢測異常值。箱形圖中超過上界的兩個銷售額數據4450.0和5390.0為異常值。數據漂移校驗1.數據漂移的核心類型數據漂移的本質是“數據關系和數據本身的非預期變化”。根據變化的對象不同,可分為目標漂移、特征漂移和概念漂移三大類,三者的影響范圍與應對策略存在顯著差異。漂移類型定義典型實例目標漂移模型要預測的目標變量自身分布發生非預期變化,與輸入特征的分布及映射關系無關電商平臺“用戶購買轉化率”(目標變量):因節日大促結束,轉化率驟降特征漂移特征與特征的關系未變,僅單特征分布偏移外賣平臺“訂單配送距離”特征:因城市區域擴張,中位數從3公里升至5公里概念漂移特征與標簽之間的映射關系發生變化(特征分布可能不變,但“特征→標簽”的邏輯失效)短視頻平臺“視頻播放量”與“用戶留存率”:原“播放量高→留存率高”,因低質爆款視頻增多,變為“播放量高→留存率低”數據漂移校驗2.數據漂移的主要成因數據漂移并非偶然發生,通常與數據源、業務邏輯的變化直接相關。數據源變化:數據源接口調整導致字段缺失、格式變更,或數據采集工具故障引入異常值。業務邏輯變化:業務規則更新、用戶群體變遷,市場趨勢轉移,都會改變數據分布。數據漂移校驗3.數據漂移的常用檢測方法數據校驗中需通過主動檢測及時發現數據漂移問題,常用的數據漂移檢測方法分為三類。統計檢驗法通過統計指標量化“新數據”與“基準數據”的分布偏移程度,適用于特征漂移的直接校驗。關鍵指標監控按周對特征的核心統計指標進行實時跟蹤,當指標超出預設閾值時觸發告警。模型性能關聯分析將模型性能指標下降與數據特征漂移進行關聯排查,通過反向追溯定位問題根源。數據校驗數據特征分析數據特征分析當對數據進行校驗后,可以通過繪制圖表、計算某些特征量等手段進行數據特征分析,從而從數據中挖掘出所需的信息。描述性統計分析分布分析對比分析周期性分析貢獻度分析相關性分析描述性統計分析1.集中趨勢度量集中趨勢是指總體中各單位的數量分布從兩邊向中間集中的趨勢,用于對比同類現象在不同的時間、地點和條件下的一般水平,反映同一總體的某類現象在不同時間下變化的規律性,分析現象之間的依存關系。其中,平均水平的指標是對個體集中趨勢的度量。均值均值為所有數據的平均值中位數將一組觀測值從小到大進行排列,位于中間的數據就是中位數眾數眾數是指數據集中出現最頻繁的值,是可以表示集中程度的統計特征數描述性統計分析2.離中趨勢度量離中趨勢是指總體中各單位標志值背離分布中心的規模或程度,用于衡量和比較均值的代表性、反映社會經濟活動過程的均衡性和節奏性、衡量風險程度。其中,變異程度的指標是對個體離開平均水平的度量。離中趨勢度量
極差可度量數據的離散程度,對數據集的極端值非常敏感,并且忽略了位于最大值與最小值之間的數據是如何進行分布的。標準差可度量數據偏離均值的程度。變異系數可度量標準差相對于均值的離中趨勢,主要用于比較兩個或多個具有不同單位或不同波動幅度的數據集的離中趨勢。
離中趨勢度量四分位數包括上四分位數和下四分位數。將所有數值由小到大排列并分成四等份處于第一個分割點位置的數值是下四分位數處于第二個分割點位置(中間位置)的數值是中位數處于第三個分割點位置的數值是上四分位數四分位數間距是上四分位數QU與下四分位數QL之差,這個區間包含了全部觀測值的二分之一。其值越大,說明數據的變異程度越大;反之,說明變異程度越小。離中趨勢度量pandas庫的describe()方法可以給出一些基本的統計量,包括均值、標準差、最大值、最小值、四分位數等。pandas.DataFrame.describe(percentiles=None,include=None,exclude=None,datetime_is_numeric=False)參數名稱參數說明percentiles接收int類型的值。表示要包含在輸出中的百分比,取值范圍為0~1。默認值為Noneinclude接收類似dtype的列表。表示包含在結果中的數據類型的白名單。默認值為Noneexclude接收類似dtype的列表。表示從結果中忽略的數據類型的黑名單。默認值為Nonedatetime_is_numeric接收bool類型的值。表示是否將datetimedtypes視為數字。默認值為False離中趨勢度量以某服裝店的服裝銷量數據為例,部分數據如下。描述性統計分析結果如下。日期服裝類型銷量(件)日期服裝類型銷量(件)2025/9/01短褲1232025/9/06襯衫232025/9/02半身裙2312025/9/07馬甲62025/9/03T恤1252025/9/08背心1352025/9/04牛仔褲982025/9/09衛衣72025/9/05風衣5………………統計量名稱值統計量名稱值統計量名稱值count1525%14.5range340mean123.66666750%123var0.947737std117.20352775%197dis182.5min5max345
描述性統計分析3.YData-profilingYData-profiling是一款專為數據探索性分析(EDA)與數據質量評估設計的Python庫。它能通過一行代碼自動生成交互式HTML報告,涵蓋數據統計、分布特征、質量問題、相關性分析等核心信息,可幫助使用者快速理解數據集并定位問題。YData-profiling主要特點類型推斷警告變量分析時間序列文件和圖像分析比較數據集靈活的輸出格式YData-profilingYData-profiling的語法YData-profiling的基本使用格式可分為“創建報告對象”和“輸出/展示報告”兩個核心步驟。YData-profiling可以使用ProfileReport類語法創建報告對象。ProfileReport(df,title,minimal=False,samples=None,config=None,explorative=False)YData-profilingYData-profiling的語法ProfileReport類常用的部分參數及其說明。參數名稱說明df接收DataFrame類型的值。表示待分析的數據集,為必選參數,無默認值title接收str類型的值,表示設置報告的標題,顯示在HTML報告頂部。無默認值minimal接收bool類型的值,表示是否啟用精簡模式。若為True,生成簡化版報告(減少計算量,適合百萬行以上大數據集),僅保留核心統計和質量檢測。默認值為Falsesamples接收dict類型的值或None,表示配置數據采樣,可避免全量計算,提升性能。通過字典指定采樣規則,如head:保留前N行;tail:保留后N行;random:隨機采樣N行。默認值為Noneconfig接收dict、Config對象或None,表示高級配置,通過字典或配置文件自定義分析邏輯,支持禁用特定分析模塊,如相關性、缺失值;調整可視化樣式,如直方圖bins數量;設置質量檢測閾值,如缺失值比例告警閾值。默認值為Noneexplorative接收bool類型的值,表示是否啟用探索模式,若為True,啟用探索性模式(增加深度分析,如多變量交互、更詳細的分布檢驗),適合復雜數據集。默認值為FalseYData-profilingYData-profiling的語法生成ProfileReport對象后,用戶可對其進行輸出或展示報告,ProfileReport對象的常用方法及說明。方法名稱說明to_file(filepath)將報告保存為文件,支持HTML、JSON格式,默認HTMLto_widgets()在JupyterNotebook/Lab中直接顯示交互式報告,無需保存文件to_json(filepath)將報告數據導出為JSON格式,供自動化系統解析,如提取統計指標compare(other)對比當前報告與另一個ProfileReport對象,如訓練集vs測試集,生成差異報告分布分析1.定量數據的分布分析對于定量數據,選擇組數和組距是做頻率分布分析時最主要的問題。對定量數據做分布分析時,一般按照以下步驟進行。求極差。決定組距與組數。決定分布區間。列出頻率分布表。繪制頻率分布直方圖。定量數據的分布分析決定組距與組數時需遵循以下主要原則。各組之間必須是相互排斥的。所有的數據必須包含在內。各組之間的組距最好相等。定量數據的分布分析某品牌沐浴露在2025年1月份銷售數量的部分數據,需要根據該數據繪制銷售數量的頻率分布表、頻率分布直方圖,并對該定量數據做出相應的分析。日期銷售數量(瓶)日期銷售數量(瓶)2025/1/12542025/1/61252025/1/25462025/1/71982025/1/36422025/1/86572025/1/43512025/1/910682025/1/52352025/1/10254定量數據的分布分析某品牌沐浴露銷售數量分析實現步驟求極差決定組距與組數決定分布區間分布區間分布區間分布區間分布區間[0,170)[170,340)[340,510)[510,680)[680,850)[850,1020)[1020,1190)[1190,1360)定量數據的分布分析繪制頻率分布直方圖某品牌沐浴露銷售數量分析實現步驟(續)列出頻率分布表組段組中值x頻數頻率f累計頻率[0,170)8546.67%6.67%[170,340)2551016.67%23.33%[340,510)4251016.67%40%[510,680)5951321.67%61.67%[680,850)7651525%86.67%[850,1020)93535%91.67%[1020,1190)110523.33%95%[1190,1360)127535%100%分布分析2.定性數據的分布分析對于定性數據,常根據數據的分類類型進行分組,可以采用餅圖和柱形圖對定性數據進行分布分析。以某餐館的各菜系在某段時間內的銷售額為例,采用定性數據的分布分析方法進行分析。該餐館各菜系銷售額的部分數據如下。日期菜系銷售額(元)2025/1/1川菜23562025/1/1蘇菜56252025/1/1粵菜16872025/1/1閩菜46232025/1/1魯菜3574定性數據的分布分析各菜系銷售額分布(條形圖)各菜系銷售額分布(餅圖)對比分析對比分析是指將兩個相互聯系的指標進行比較。適用于指標間的橫縱向比較分析、時間序列的比較分析。在對比分析過程中,選擇合適的對比標準是十分關鍵的步驟。若選擇合適,則可以做出客觀的評價若選擇不合適,則評價時可能會得出錯誤的結論對比分析對比分析的主要形式絕對數比較:絕對數比較是利用絕對數進行對比,從而尋找差異的一種方法。相對數比較:相對數比較是將兩個相互聯系的指標進行對比計算的一種對比方法,用于反映客觀現象之間的數量聯系程度,其數值表現為相對數。相對數比較結構相對數比例相對數比較相對數強度相對數計劃完成程度相對數動態相對數對比分析以某公司各部門銷售額為例進行對比分析,部分數據如下表。月份銷售部事業部月份銷售部事業部1月1.62.16月6.35.12月3.84.57月3.23.83月4.95.78月5.76.24月2.73.69月7.57.95月5.44.310月4.63.7對比分析繪制不同部門各月份和銷售部各年份各月份的銷售額對比情況折線圖。周期性分析周期性分析是探索某個變量是否隨著時間變化而呈現出某種周期性變化趨勢。時間跨度相對較長的周期性趨勢有年度周期性趨勢、季節性周期趨勢,相對較短的有月度周期性趨勢、周度周期性趨勢,甚至更短的有天周期性趨勢、小時周期性趨勢。周期性分析以某景區2025年3月份的人流量數據為例,部分人流量數據。日期人流量日期人流量2025/3/174852025/3/687542025/3/2102432025/3/791452025/3/3142112025/3/894512025/3/485412025/3/9144422025/3/594522025/3/1013471周期性分析根據人流量數據繪制時序圖,并分析景區人流量的變化趨勢。該景區在2025年3月份內,日人流量呈現出周期性的趨勢,以周為周期。在周末(即非工作日),景區的人流量比工作日的人流量大。貢獻度分析貢獻度分析又稱帕累托分析,貢獻度分析的原理是帕累托法則(又稱二八定律),即同樣的投入放在不同的地方會產生不同的效益。例如,對于一個公司,其80%的利潤常來自于20%最暢銷的產品,而其他80%的產品只產生了20%的利潤。貢獻度分析以服裝企業為例,貢獻度分析可分析出占盈利額80%的服裝類型,然后重點發展相關的部門,而分析出的結果還可通過帕累托圖直觀地呈現出來。某服裝企業的秋裝盈利數據如下。服裝編號服裝類型盈利額(元)服裝編號服裝類型盈利額(元)20095開衫874220096西裝386120097襯衫768520092半身裙301620093毛衣681220094長袖衫235820091牛仔褲597220099衛衣194220098連衣裙483220090連體褲1324貢獻度分析從開衫到半身裙,這7個服裝類型占服裝總類數的70%,其盈利額占總盈利額的87.9168%。根據帕累托法則,應該增加從開衫到半身裙這7個服裝類型的成本投入,減少從長袖衫到連體褲這3個服裝類型的成本投入,以實現更高的盈利額。相關性分析1.直接繪制散點圖判斷兩個變量是否具有線性相關關系最直接的方法是繪制散點圖。相關性分析2.繪制散點圖矩陣當需要同時考察多個變量間的相關關系時,逐一繪制變量間的散點圖將會十分麻煩。此時可利用散點圖矩陣同時繪制各變量間的散點圖,從而快速發現多個變量間的主要相關性,這在進行多元線性回歸時顯得尤為重要。相關性分析3.計算關系系數為了更加準確地描述變量之間的線性相關關系,可以通過計算相關系數來進行相關性分析。在二元變量的相關性分析過程中比較常用的相關系數如下。Pearson相關系數Spearman相關系數判定系數計算關系系數Pearson相關系數Pearson相關系數一般可用于分析兩個連續性變量之間的關系。相關系數的取值范圍為,其中:表示存在不同程度的線性相關關系,其中:計算關系系數Spearman相關系數Pearson相關系數要求連續變量的取值服從正態分布。不服從正態分布的變量、分類或等級變量之間的關聯性可采用Spearman相關系數(也稱等級相關系數)來描述。對兩個變量成對地取值并分別按照從小到大(或從大到小)的順序編秩,Ri代表xi的秩次,Qi代表yi的秩次,為xi、yi的秩次之差。計算關系系數Spearman相關系數一個變量的秩次的計算過程如下。xi從小到大排序從小到大排序時的位置秩次Ri0.5110.8221.0331.24(4+5)/2=4.51.25(4+5)/2=4.52.3662.877計算關系系數Spearman相關系數因為一個變量相同的取值必須有相同的秩次,所以在計算中采用的秩次是變量所在位置的平均值。而如果兩個變量具有嚴格單調的函數關系,那么這兩個變量就是完全Spearman相關的。與Pearson相關不同,Pearson相關只有在變量具有線性關系時才是完全相關的。Spearman和Pearson這兩種相關系數在實際應用計算中都要進行假設檢驗,使用t檢驗方法可檢驗其顯著性水平以確定其相關程度。研究表明,在正態分布的假設下,Spearman相關系數與Pearson相關系數在效率上是等價的,而對于連續測量的數據,用Pearson相關系數來進行分析更合適。計算關系系數判定系數判定系數是相關系數的平方,可用表示,用于衡量回歸方程對y的解釋程度。判定系數的取值范圍為。越接近于1,表明兩個變量之間的相關性越強;越接近于0,表明兩個變量之間越沒有直線相關關系。計算關系系數判定系數pandas庫的corr()方法可計算出列與列、變量與變量之間的成對相關系數,但不包括空值。corr()方法的基本使用格式如下。pandas.DataFrame.corr(method='pearson',min_periods=1)corr()方法常用的參數及其說明如下。參數名稱參數說明method接收方法的名稱。表示計算相關系數要使用的方法,可選pearson、kendall、spearman。默認值為pearsonmin_periods接收int類型的值。表示每對列必須具有有效結果的最小觀測數。默認值為1計算關系系數判定系數餐飲系統中含有不同菜品的日銷量數據,分析這些菜品銷量之間的相關性可以得到不同菜品之間的關系,如是替補菜品、互補菜品或沒有關系,為采購原材料提供參考。示例數據如下表。日期粉蒸排骨玻璃菜心翡翠香餃醬香鳳爪鐵板燒
豆腐原味
菜心蜜汁
鹽焗雞香煎年糕生煎晶餃佛跳墻2025/6/12610935261513810262025/6/218141740291614612192025/6/312912291994913242025/6/481453227691515152025/6/514121924211411121122計算關系系數判定系數計算菜品“鐵板燒豆腐”與其他菜品是否存在關系。菜品“鐵板燒豆腐”與“粉蒸排骨”“翡翠香餃”“原味菜心”“香煎年糕”“生煎晶餃”“佛跳墻”等菜品的相關性比較低,與“玻璃菜心”“醬香鳳爪”“蜜汁鹽焗雞”等菜品的相關性較高。菜品名稱相關系數菜品名稱相關系數粉蒸排骨0.284106原味菜心0.234203玻璃菜心0.711998蜜汁鹽焗雞0.741757翡翠香餃-0.246246香煎年糕-0.167600醬香鳳爪0.833686生煎晶餃0.080094鐵板燒豆腐1.000000佛跳墻-0.498782小結本章從數據校驗和數據特征分析兩個方面對數據進行探索。介紹了數據校驗中的一致性校驗、缺失值校驗、異常值校驗和數據漂移校驗。介紹了數據特征分析中的描述性統計分析、分布分析、對比分析、周期性分析、貢獻度分析和相關性分析,并結合了相應小案例進行演示。數據預處理數據清洗數據變換數據合并自動化預處理數據清洗數據清洗主要是刪除原始數據集中的重復數據,平滑噪聲數據,篩選掉與分析主題無關的數據,處理重復值、缺失值和異常值等。重復值處理缺失值處理異常值處理重復值處理1.記錄重復記錄重復是指數據中某條記錄的一個或多個屬性的值完全相同。在某企業的母嬰用品發貨記錄表中,包括母嬰用品名稱、品牌名稱兩個屬性。為查看所有品牌名稱,可利用列表(list)去重可以利用集合(set)的特性(元素唯一)去重得到的結果是:去重前的品牌總數為697,去重后的品牌總數為14。代碼冗長數據的排列順序發生改變?記錄重復pandas庫提供了一個名為drop_duplicates()的去重方法,此方法只對DataFrame或Series類型的數據有效。drop_duplicates()方法的基本使用格式如下。pandas.DataFrame.drop_duplicates(subset=None,*,keep=‘first’,inplace=False,ignore_index=False)參數名稱參數說明subset接收字符串或序列。表示進行去重的列。默認值為Nonekeep接收特定字符串。表示存在重復值時保留第幾個數據。first:保留第一個。last:保留最后一個。false:只要重復都不保留。默認值為firstinplace接收bool類型的值。表示是否在原表上進行操作。默認值為False記錄重復利用drop_duplicates()方法對母嬰用品發貨記錄表中的品牌名稱進行去重操作。利用drop_duplicates()方法去重利用drop_duplicates()方法對多列去重創建數組對象2.屬性內容重復屬性內容重復是指數據中存在兩個或多個屬性,它們的名稱不同,但數據完全相同。當需要去除連續型重復屬性時,可以利用屬性間的相似度,去除兩個相似度為1的屬性的其中一個。在pandas庫中計算相似度的方法有corr()方法,該方法支持pearson、spearman和kendall這3種計算相似度的方法,可以通過method參數調節,默認值為pearson。屬性內容重復利用kendall法求出母嬰用品發貨記錄表中“倉庫標簽”屬性和“品牌標簽”屬性的相似度矩陣,得到的相似度矩陣如下。通過相似度矩陣去重存在一個弊端,該方法只能對數值型重復屬性去重,類別型屬性之間無法通過計算相關系數來衡量相似度,因此無法根據相似度矩陣對其進行去重處理。
倉庫標簽品牌標簽倉庫標簽1.000000-0.003389品牌標簽-0.0033891.000000屬性內容重復使用pandas庫的DataFrame.equals()方法進行屬性去重。DataFrame.equals()方法的基本使用格式如下。pandas.DataFrame.equals(other)DataFrame.equals()方法常用的參數及其說明如下。參數名稱參數說明other接收Series或DataFrame。表示要與第一個內容進行比較的另一個Series或DataFrame。無默認值屬性內容重復使用DataFrame.equals()方法進行屬性去重,得到的前兩行兩列的屬性矩陣如下。再通過遍歷的方式篩選出完全重復的屬性。得到的結果是:需要刪除的列是[],刪除多余列后data的屬性數目為5。
母嬰用品名稱品牌名稱母嬰用品名稱TrueFalse品牌名稱FalseTrue缺失值處理1.拉格朗日插值法拉格朗日插值法的基本實現步驟如下。確定原始數據中的因變量和自變量。取缺失值前后各k個數據,將剔除缺失值后的2k個數據組成一組,再將剩下的數據依次排序,并基于拉格朗日插值多項式,對全部缺失值依次進行插補。缺失值處理2.牛頓插值法牛頓插值法的基本實現步驟如下。計算差商。計算牛頓插值多項式。利用所得多項式計算所需插入缺失部分的值。牛頓插值法也是多項式插值,但采用了另一種構造插值多項式的方法,與拉格朗日插值法相比,牛頓插值法具有承襲性和易于變動節點的特點。從本質上來說,兩者給出的結果是一樣的,只不過表示的形式不同。因此,在Python的SciPy庫中,只提供了拉格朗日插值法的函數,而如果要使用牛頓插值法,則需要自行編寫函數。牛頓插值法以某便利店一段時間的銷售額數據為例,數據示例如下表。根據拉格朗日插值法,使用缺失值前后各5個未缺失的數據對2025年5月5日的數據進行插補。插值后的結果如下。時間2025/05/012025/05/022025/05/032025/05/042025/05/052025/05/06銷售額(元)732135716501980
1170時間2025/05/072025/05/082025/05/092025/05/102025/05/112025/05/12銷售額(元)6006871570165021191383時間原始值插值2025/05/05
1806.928571異常值處理異常
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 某食品集團員工行為制度
- 公共空間設計 課件全套 項目1-7 公共空間設計初識 - -公共空間配套設施設計
- 專項四 寓言故事類(解析版)2026中考語文:文言文閱讀專項突破
- 2026年教師招聘考試師德與教育法規模塊100題及答案(含解析)
- 幸福創業試題及參考答案
- 英語1試卷題目與答案
- 汽車廠實習報告
- 2026年秋季班主任工作計劃范文
- 2025屆麗水市縉云縣數學四下期末學業水平測試試題(含答案)
- 末日考驗試題及答案
- 康養中心可行性研究報告
- 《加盟模式之ADIDAS》課件
- 天然氣計量培訓課件
- 仁愛科普版(2024)七年級上冊英語Unit 3單元測試卷(含答案)
- DZ∕T 0334-2020 石油天然氣探明儲量報告編寫規范(正式版)
- 倉儲物流部安全培訓
- YS-T 3042-2021 氰化液化學分析方法 金量的測定
- JTG C10-2007 公路勘測規范
- ISO22301-2019業務連續性內審及管理評審全套資料
- 《中外管理思想史》課件
- 干部職工調動登記表
評論
0/150
提交評論