Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)-基礎(chǔ)篇總結(jié)(一)1、數(shù)據(jù)挖掘基礎(chǔ)2、python數(shù)據(jù)分析簡_第1頁
Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)-基礎(chǔ)篇總結(jié)(一)1、數(shù)據(jù)挖掘基礎(chǔ)2、python數(shù)據(jù)分析簡_第2頁
Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)-基礎(chǔ)篇總結(jié)(一)1、數(shù)據(jù)挖掘基礎(chǔ)2、python數(shù)據(jù)分析簡_第3頁
Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)-基礎(chǔ)篇總結(jié)(一)1、數(shù)據(jù)挖掘基礎(chǔ)2、python數(shù)據(jù)分析簡_第4頁
Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)-基礎(chǔ)篇總結(jié)(一)1、數(shù)據(jù)挖掘基礎(chǔ)2、python數(shù)據(jù)分析簡_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)-基礎(chǔ)篇總結(jié)(?)1、數(shù)據(jù)挖掘基礎(chǔ)2、python數(shù)據(jù)分析簡。。。?錄1、數(shù)據(jù)挖掘基礎(chǔ)1.1數(shù)據(jù)挖掘的基本任務(wù):1.2數(shù)據(jù)挖掘建模過程:1.3常?的數(shù)據(jù)挖掘建模?具2、python數(shù)據(jù)分析簡介2.1python環(huán)境搭建2.2python數(shù)據(jù)分析第三?庫2.2.1Numpy基本操作2.2.2Pandas簡單例?3、數(shù)據(jù)探索3.1數(shù)據(jù)質(zhì)量分析3.1.1缺失值分析3.1.2異常值分析3.1.3?致性分析3.2數(shù)據(jù)特征分析3.2.1分布分析3.2.2對?分析3.2.3統(tǒng)計量分析3.2.4周期性分析3.2.5貢獻度分析3.2.6相關(guān)性分析3.3Python主要數(shù)據(jù)探索函數(shù)3.3.1基本統(tǒng)計特征函數(shù)3.3.2拓展統(tǒng)計特征函數(shù)3.3.3統(tǒng)計作圖函數(shù)1、數(shù)據(jù)挖掘基礎(chǔ)1.1數(shù)據(jù)挖掘的基本任務(wù):數(shù)據(jù)挖掘的基本任務(wù)包括利?分類與預(yù)測、聚類分析、關(guān)聯(lián)規(guī)則、時序模式、偏差檢測、智能推薦等?法,幫助企業(yè)提取數(shù)據(jù)中蘊含的商業(yè)價值,提?企業(yè)競爭?。1.2數(shù)據(jù)挖掘建模過程:1、?標(biāo)定義任務(wù)理解指標(biāo)確定2、數(shù)據(jù)采集建模抽樣質(zhì)量把控實時采集3、數(shù)據(jù)整理數(shù)據(jù)探索數(shù)據(jù)清洗數(shù)據(jù)變換-預(yù)處理4、構(gòu)建模型模式發(fā)現(xiàn)構(gòu)建模型驗證模型5、模型評價設(shè)定模型評價標(biāo)準(zhǔn)多模型對?模型優(yōu)化6、模型發(fā)布模型部署模型重構(gòu)1.3常?的數(shù)據(jù)挖掘建模?具SASEnterpriseMinerIBMSPSSModelerSQLServerPythonWEKAKNIMERapidMinerTipDM2、python數(shù)據(jù)分析簡介2.1python環(huán)境搭建略·········2.2python數(shù)據(jù)分析第三?庫庫|簡介—|---Numpy|提供數(shù)組?持,以及相應(yīng)的?效的處理函數(shù)Pandas|強?,靈活的數(shù)據(jù)分析和探索?具Matplotlib|強?的數(shù)據(jù)可視化?具、作圖庫Scipy|提供矩陣?持,以及矩陣相關(guān)的數(shù)值計算模塊StatsModels|統(tǒng)計建模和計量經(jīng)濟學(xué),包括描述統(tǒng)計、統(tǒng)計建模估計和推斷Scikit-Learn|?持回歸、分類、聚類等強?的機器學(xué)習(xí)庫Keras|深度學(xué)習(xí)庫,?于建?神經(jīng)?絡(luò)以及深度學(xué)習(xí)模型Gensim|?來做?本主題模型的庫,?本挖掘可能?到涉及圖?處理可以?Pillow,涉及視頻處理可以?OpenCV,設(shè)計?精度運算可以?GMPY2等,使?pipinstall安裝即可2.2.1Numpy基本操作

#-*-coding:utf-8-*-importnumpyasnp#創(chuàng)建數(shù)組a=np.array([2,0,1,5])print(a)print(a[:3])#取前三個,切?print(a.min())#最?值a.sort()#升序排列print(a)b=np.array([[1,2,3],[4,5,6]])#創(chuàng)建?維數(shù)組print(b)print(b*b)#輸出數(shù)組的平?[/code]###2.2.2Pandas簡單例?```code#-*-coding:utf-8-*-importpandasaspds=pd.Series([1,2,3],index=['a','b','c'])#創(chuàng)建?個序列sd=pd.DataFrame([[1,2,3],[4,5,6]],columns=['a','b','c'])#創(chuàng)建?個表d2=pd.DataFrame(s)#也可以?已有的序列來創(chuàng)建表格print(d.head())#預(yù)覽前5?數(shù)據(jù)print('=='*10)print(d.describe())#數(shù)據(jù)基本統(tǒng)計量#讀取?件,注意?件的存儲路徑不能帶有中?,否則讀取可能出錯。pd.read_excel('data.xls')#讀取Excel?件,創(chuàng)建DataFrame。pd.read_csv('data.csv',encoding='utf-8')#讀取?本格式的數(shù)據(jù),?般?encoding指定編碼。另外,pandas會頻繁讀取和寫?Excel,所以需要安裝xlrd(讀?。┖蛒lwt(寫?)庫,只需要pipinstall安裝即可。如果沒有安裝讀取Excel會報錯,安裝命令:pipinstallxlrd和pipinstallxlwt2.2.3Matplotlib作圖的基本代碼#-*-coding:utf-8-*-importnumpyasnpimportmatplotlib.pyplotaspltdeftest1():x=np.linspace(0,10,1000)#作圖的變量?變量y=np.sin(x)+1#因變量yz=np.cos(x**2)+1#因變量zplt.figure(figsize=(8,4))#設(shè)置圖像??plt.plot(x,y,label='$\sinx+1$',color='red',linewidth=2)#作圖,設(shè)置標(biāo)簽、線條顏?、線條??plt.plot(x,z,'b--',label='$\cosx^2+1$')#作圖,設(shè)置標(biāo)簽、線條類型plt.xlabel('Time(s)')#x軸名稱plt.ylabel('Volt')#y軸名稱plt.title('ASimpleExample')#標(biāo)題plt.ylim(0,2.2)#顯?的y軸范圍plt.legend()#顯?圖例plt.show()#顯?作圖結(jié)果deftest2():plt.rcParams['font.sans-serif']=['SimHei']#正常顯?中?標(biāo)簽plt.rcParams['axes.unicode_minus']=False#保存圖像是負號x=['1?','2?','3?','4?','5?','6?']y=[20,10,30,25,15,18]'-'顯?為?塊的問題y=[20,10,30,25,15,18]plt.bar(x,y,width=0.5,fc='r',tick_label=x)plt.title('某公司前半年銷售額(百萬)')plt.show()if__name__=='__main__':test1()test2()[/code]test1:![](/20200816221450686.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JuZXZlcg==,size_16,color_FFFFFF,t_70)test2:![](/20200816221530957.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JuZXZlcg==,size_16,color_FFFFFF,t_70)正常顯?中?參考:[/qq_42506411/article/details/107414955](/qq_42506411/article/details/107414955)#3、數(shù)據(jù)探索##3.1數(shù)據(jù)質(zhì)量分析數(shù)據(jù)質(zhì)量分析時數(shù)據(jù)預(yù)處理的前提,也是數(shù)據(jù)挖掘分析結(jié)論有效性和準(zhǔn)確性的基礎(chǔ)。臟數(shù)據(jù)指不符合要求、以及不能直接進?相應(yīng)分析的數(shù)據(jù),包括如下內(nèi)容:缺失值、異常值、不?致的值、重復(fù)數(shù)據(jù)及含有特殊符號(如#、¥、*)的數(shù)據(jù)。###3.1.1缺失值分析數(shù)據(jù)的缺失主要包括記錄的缺失和某個字段信息的缺失。**1、缺失值產(chǎn)?的原因***信息?法獲取*有些信息被遺漏*屬性值不存在**2、缺失值的影響***數(shù)據(jù)挖掘建模將丟失?量有?信息*模型不確定性更顯著*導(dǎo)致不可靠的輸出**3、缺失值的分析**使?統(tǒng)計分析,得到含有缺失值的屬性的個數(shù),以及每個屬性的未缺失值數(shù)、缺失數(shù)與缺失率。###3.1.2異常值分析異常值值樣本中的個別值,其數(shù)值明顯偏離其余的觀測值。異常值也稱為離群點,異常值的分析也稱為離群點分析。*簡單統(tǒng)計量分析*3σ原則*箱型圖分析**pandas庫使?describe()查看數(shù)據(jù)基本情況**```code#-*-coding:utf-8-*-#-*-coding:utf-8-*-importpandasaspdfile_path=r'data/catering_sale.xls'data=pd.read_excel(file_path,index_col=u'?期')#讀取數(shù)據(jù),指定?期為索引列print(len(data))#數(shù)據(jù)總數(shù)print('='*20)print(data.describe())[/code]運?結(jié)果如下:201====================銷量count200.000000mean2755.214700std751.029772min22.00000025%2451.97500050%2655.85000075%3026.125000max9106.440000其中,count為?空值總數(shù),因此缺失值記錄為1條,mean平均值,std標(biāo)準(zhǔn)差,min最?值,max最?值,25%、50%、75%分別為1/4、1/2、3/4分位數(shù)**數(shù)據(jù)異常值檢測代碼:**```code#-*-coding:utf-8-*-importpandasaspdimportmatplotlib.pyplotaspltfile_path=r'data/catering_sale.xls'data=pd.read_excel(file_path,index_col=u'?期')#讀取數(shù)據(jù),指定?期為索引列#print(len(data))#print('='*20)#print(data.describe())plt.rcParams['font.sans-serif']=['SimHei']#正常顯?中?plt.rcParams['axes.unicode_minus']=False#正常顯?負號'-'plt.figure()#建?圖像p=data.boxplot(return_type='dict')#畫箱線圖,直接使?DataFrame的?法x=p['fliers'][0].get_xdata()#fliers為異常值標(biāo)簽y=p['fliers'][0].get_ydata()y.sort()#升序排序#?annotate添加注釋#其中有些相近的點,注釋會出現(xiàn)重疊,難以看清,需要?些技巧來控制#以下參數(shù)都是經(jīng)過調(diào)試的,需要具體問題具體調(diào)試foriinrange(len(x)):ifi>0:plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.05-0.8/(y[i]-y[i-1]),y[i]))else:plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.08,y[i]))plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.08,y[i]))plt.show()[/code]其中,p=data.boxplot(return_type='dict')須指定return_type,否則報如下錯誤:TypeError:'AxesSubplot'objectisnotsubscriptable效果如下(異常值檢測箱型圖):![](/20200816222135443.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JuZXZlcg==,size_16,color_FFFFFF,t_70)###3.1.3?致性分析數(shù)據(jù)的不?致性是指數(shù)據(jù)的?盾性、不相容性。不?致數(shù)據(jù)的產(chǎn)?主要發(fā)?在數(shù)據(jù)集成過程中。##3.2數(shù)據(jù)特征分析對數(shù)據(jù)進?質(zhì)量分析以后,接下來可繪制圖表、計算某些特征量等?段對數(shù)據(jù)進?特征分析。###3.2.1分布分析分布分析能揭?數(shù)據(jù)的分布特征和分布類型。**1.定量數(shù)據(jù)的分布分析**步驟:1.求極差2.決定組距與組數(shù)3.決定分點4.列出頻率分布表5.繪制頻率分布直?圖遵循的原則:1.各組之間必須相互排斥2.各組必須將所有的數(shù)據(jù)包含在內(nèi)3.各組的組寬最好相等**2.定型數(shù)據(jù)的分布分析**對于定性變量,常常根據(jù)變量的分類類型來分組,可以采?餅圖和條形圖來描述定性變量的分布。###3.2.2對?分析對?分析是指把兩個相互聯(lián)系的指標(biāo)進??較主要有以下兩種形式:**1.絕對數(shù)?較**絕對數(shù)?較是利?絕對數(shù)進?對?,從?尋找差異的?種?法。**2.相對數(shù)?較**相對數(shù)?較是由兩個有聯(lián)系的指標(biāo)對?計算的,?以反映客觀現(xiàn)象之間數(shù)量聯(lián)系程度的綜合指標(biāo),其數(shù)值表現(xiàn)為相對數(shù)。分為以下?種:結(jié)構(gòu)相對數(shù)、?例相對數(shù)、?較相對數(shù)、強度相對數(shù)、計劃完成程度相對數(shù)、動態(tài)相對數(shù)###3.2.3統(tǒng)計量分析餐飲銷量數(shù)據(jù)統(tǒng)計量分析代碼:```code#-*-coding:utf-8-*-"""餐飲銷量數(shù)據(jù)統(tǒng)計量分析"""from__future__importprint_functionimportpandasaspdcatering_sale='data/catering_sale.xls'data=pd.read_excel(catering_sale,index_col='?期')#讀取數(shù)據(jù),指定?期為索引列data=data[(data['銷量']>400)&(data['銷量']<5000)]#過濾異常數(shù)據(jù)sta=data.describe()#保存基本統(tǒng)計量sta.loc['range']=sta.loc['max']-sta.loc['min']#極差sta.loc['var']=sta.loc['std']/sta.loc['mean']#變異系數(shù)sta.loc['dis']=sta.loc['75%']-sta.loc['25%']#四分位數(shù)間距print(sta)[/code]運?結(jié)果如下:![](/20200816222413312.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JuZXZlcg==,size_16,color_FFFFFF,t_70)###3.2.4周期性分析周期性分析是探索某個變量是否隨著時間變化?呈現(xiàn)出某種周期變化趨勢。###3.2.5貢獻度分析貢獻度分析?稱帕累托分析,原理是帕累托法則,?稱2/8定律。菜品盈利帕累托圖代碼:```code#-*-coding:utf-8-*-"""菜品盈利數(shù)據(jù)帕累托圖"""from__future__importprint_functionimportpandasaspdimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei']#正常顯?中?plt.rcParams['axes.unicode_minus']=False#正常顯?負號'-'dish_profit='data/catering_dish_profit.xls'data=pd.read_excel(dish_profit,index_col='菜品名')data=data['盈利'].copy()#data.sort(ascending=False)#data.sort_values(ascending=False)data.sort_index(ascending=False)plt.figure()data.plot(kind='bar')plt.ylabel('盈利(元)')p=1.0*data.cumsum()/data.sum()p.plot(color='r',secondary_y=True,style='-o',linewidth=2)plt.annotate(format(p[6],'.4%'),xy=(6,p[6]),xytext=(6*0.9,p[6]*0.9),arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))#添加注釋,即85%處的標(biāo)記,這?包括了指定箭頭樣式plt.ylabel('盈利(?例)')plt.show()[/code][/code]注意第14?代碼,書中代碼data.sort(ascending=False)會報錯:AttributeError:'Series'objecthasnoattribute'sort'寫成第15?data.sort_values(ascending=False)或第16?data.sort_index(ascending=False)均可正常顯?,效果如下:###3.2.6相關(guān)性分析分析連續(xù)變量之間線性相關(guān)程度的強弱,并?適當(dāng)?shù)慕y(tǒng)計指標(biāo)表?出來的過程稱為相關(guān)分析。1.繪制散點圖2.繪制散點圖矩陣3.計算相關(guān)系數(shù)1.Pearson相關(guān)系數(shù)2.Spearman秩相關(guān)系數(shù)3.判定系數(shù)餐飲銷量數(shù)據(jù)相關(guān)性分析代碼:```code#-*-coding:utf-8-*-"""餐飲銷量數(shù)據(jù)相關(guān)性分析"""from__future__importprint_functionimportpandasaspdcatering_sale='data/catering_sale_all.xls'data=pd.read_excel(catering_sale,index_col='?期')print(data.corr())#相關(guān)系數(shù)矩陣,即給出了任意兩款菜式之間的相關(guān)系數(shù)"""百合醬蒸鳳?翡翠蒸?茜餃?銀蒜汁蒸排?...?煎?菜餃?煎羅?糕原汁原味菜?百合醬蒸鳳?1.0000000.0092060.016799...0.127448-0.0902760.428316翡翠蒸?茜餃0.0092061.0000000.304434...0.0623440.2702760.020462?銀蒜汁蒸排?0.0167990.3044341.000000...0.1215430.0778080.029074樂膳真味雞蜜汁焗餐包?炒菜?0.455638-0.0122790.035135...-0.068866-0.0302220.4218780.0980850.0587450.096218...0.1554280.1710050.5278440.308496-0.180446-0.184290...0.0382330.0498980.122988鐵板酸菜?腐0.204898-0.0269080.187272...0.0955430.1579580.567332?煎?菜餃0.1274480.0623440.121543...1.0000000.1783360.049689?煎羅?糕-0.0902760.2702760.077808...0.1783361.0000000.088980原汁原味菜?0.4283160.0204620.029074...0.0496890.0889801.000000"""print(data.corr()['百合醬蒸鳳?'])#只顯?百合醬蒸鳳?與其他菜式的相關(guān)系數(shù)"""百合醬蒸鳳?翡翠蒸?茜餃?銀蒜汁蒸排?1.0000000.0092060.016799樂膳真味雞蜜汁焗餐包?炒菜?0.4556380.0980850.3084960.2048980.127448-0.0902760.428316鐵板酸菜?腐?煎?菜餃?煎羅?糕原汁原味菜?"""print(data['百合醬蒸鳳?'].corr(data['翡翠蒸?茜餃']))#計算百合醬蒸鳳?與翡翠蒸?茜餃的相關(guān)系數(shù)"""0.009205803051836475"""[/code]##3.3Python主要數(shù)據(jù)探索函數(shù)###3.3.1基本統(tǒng)計特征函數(shù)主要作為Pandas的對象DataFrame或Series的?法:sum()求和、mean()平均數(shù)、var()?差、std()標(biāo)準(zhǔn)差、corr()計算相關(guān)系數(shù)矩陣、cov()協(xié)?差矩陣、skew()/kurt()偏度(三階矩)/峰度(四階矩)、describe()直接給出數(shù)據(jù)的基本統(tǒng)計量,包括均值、標(biāo)準(zhǔn)差、最?值、最?值等###3.3.2拓展統(tǒng)計特征函數(shù)主要有累積計算(cum)和滾動計算(pd.rolling_)###3.3.3統(tǒng)計作圖函數(shù)統(tǒng)計作圖函數(shù)?例代碼:```code#-*-coding:utf-8-*-importmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspdplt.rcParams['font.sans-serif']=['SimHei']#正常顯?中?plt.rcParams['axes.unicode_minus']=False#正常顯?負號'-'plt.figure(figsize=(7,5))#建?圖像,figsize指定?例defplot_func():"""正弦曲線圖"""x=np.linspace(0,2*np.pi,50)#x坐標(biāo)輸?y=np.sin(x)#計算對應(yīng)x的正弦值plt.plot(x,

溫馨提示

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

評論

0/150

提交評論