python資料探勘與分析實戰—1、2、3
一、資料探勘的建模過程:
1.1定義挖掘目標:
1.1.1動態的菜品推薦
1.1.2客戶進行細分,關注最有價值的客戶
1.1.3基於菜品的歷史銷售情況,對菜品銷量進行預測,預備原材料
1.1.4基於大資料,優化選址,菜式調整
1.2資料取樣
隨機抽樣,分類抽樣,等距抽樣
1.3資料探索
1.3.1異常值分析
1.3.2缺失值分析
1.3.3相關性分析
1.3.4週期性分析
1.4資料預處理
1.4.1缺失值處理
1.4.2異常值處理
1.4.3資料降維
1.5挖掘建模
1.5.1關聯規則:智慧推薦
1.5.2聚類演算法:客戶價值分析
1.5.3分類預測:菜品銷量,新店選址
1.6模型評價
SAS
SPSS
SQL SERVER
PYTHON
WEKA
KNIME
RAPIDMINER
TIPDM
#-*-coding:utf-8-*-# import pandas as pd catering_sale = 'catering_sale.xls' data=pd.read_excel(catering_sale,index_col=u'日期') print data.describe() print len(data) ''' count 200.000000 mean 2755.214700 std 751.029772 min 22.000000 25% 2451.975000 50% 2655.85000075% 3026.125000 max 9106.440000 201 ''' import matplotlib.pyplot as plt #匯入影象庫 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() # 'flies'即為異常值的標籤 y = p['fliers'][0].get_ydata() y.sort() #從小到大排序,該方法直接改變原物件 #用annotate添加註釋 #其中有些相近的點,註解會出現重疊,難以看清,需要一些技巧來控制。 #以下引數都是經過除錯的,需要具體問題具體除錯。 for i in range(len(x)): if i>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.show() #展示箱線圖
#-*-coding:utf-8-*-# import pandas as pd ''' catering_sale = 'catering_sale.xls' data = pd.read_excel(catering_sale) data = data[(data[u'銷量']>400)&(data[u'銷量']<5000)] statistics = data.describe() ''' dish_profile='catering_dish_profit.xls' data=pd.read_excel(dish_profile,index_col=u'菜品名') data=data[u'盈利'].copy() data.sort(ascending = False) import matplotlib.pyplot as plt #匯入影象庫 plt.rcParams['font.sans-serif'] = ['SimHei'] #用來正常顯示中文標籤 plt.rcParams['axes.unicode_minus'] = False #用來正常顯示負號 #貢獻率分析--------帕累托法則,百分之八十的李瑞常常來自於百分之二十最暢銷的產品 plt.figure() data.plot(kind='bar') plt.ylabel(u'盈利(元)') 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%處的標記。這裡包括了指定箭頭樣式。 plt.ylabel(u'盈利(比例)') plt.show()
#-*- coding:utf-8 -*- import pandas as pd import numpy as np ''' catering_sale='catering_sale_all.xls' data=pd.read_excel(catering_sale) print data.corr(method='spearman') print data.corr()[u'百合醬蒸鳳爪'] print data[u'百合醬蒸鳳爪'].corr(data[u'翡翠蒸香茜餃']) ''' data=pd.DataFrame(np.random.randn(6,5)) data2=pd.DataFrame([range(0,7),range(1,8)]) print data print data2 s1=data2.loc[0] s2=data2.loc[1] print s1.corr(s2) ''' cumsum rolling_sum ''' data=pd.Series(range(0,10)) print data print data.cumsum() print pd.rolling_sum(data,2) #x=range(0,10) x=np.linspace(0,10) y=np.sin(x) ''' plot ''' import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] #用來正常顯示中文標籤 plt.rcParams['axes.unicode_minus'] = False #用來正常顯示負號 plt.figure(1) plt.plot(x,y,'b*--') plt.show() ''' pie ''' plt.figure(2) labels='Frogs','Hogs','Dogs','Logs'#標籤 sizes=[15,30,45,10]#每塊大小 colors=['yellowgreen','gold','lightskyblue','lightcoral']#每塊顏色 explode=[0,0.1,0,0]#突出顯示 plt.pie(sizes,explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90) plt.axis('equal')#顯示為圓,避免壓縮顯示為橢圓 plt.show() plt.figure(3) x=np.random.randn(1000) plt.hist(x,10)#第二個引數為間隔 plt.show() plt.figure(4) x=np.random.randn(1000) D=pd.DataFrame([x,x+1]).T D.plot(kind='box') plt.show() plt.figure(5) x=pd.Series(np.exp(np.arange(200))) x.plot(label=u'原始資料',legend=True) plt.show() x.plot(logy=True,label=u'對數資料圖',legend=True) plt.show() plt.figure(6) error = np.random.randn(10) y=pd.Series(np.sin(np.arange(10))) print 'error:',error,'y:',y y.plot(yerr = error) plt.show()
相關推薦
python資料探勘與分析實戰—1、2、3
一、資料探勘的建模過程: 1.1定義挖掘目標: 1.1.1動態的菜品推薦 1.1.2客戶進行細分,關注最有價值的客戶 1.1.3基於菜品的歷史銷售情況,對菜品銷量進行預測,預備原材料 1.1.4基於大
帶你入門Python資料探勘與機器學習(附程式碼、例項)
作者:韋瑋來源:Python愛好者社群本文共7800字,建議閱讀10+分鐘。本文結合程式碼例項待
吳裕雄 資料探勘與分析案例實戰(3)——python數值計算工具:Numpy
# 匯入模組,並重命名為npimport numpy as np# 單個列表建立一維陣列arr1 = np.array([3,10,8,7,34,11,28,72])print('一維陣列:\n',arr1)# 一維陣列元素的獲取print(arr1[[2,3,5,7]]) # 巢狀元組建立二維陣列ar
吳裕雄 資料探勘與分析案例實戰(4)——python資料處理工具:Pandas
# 匯入模組import pandas as pdimport numpy as np # 構造序列gdp1 = pd.Series([2.8,3.01,8.99,8.59,5.18])print(gdp1)# 取出gdp1中的第一、第四和第五個元素print('行號風格的序列:\n',gdp1[[0,3,
吳裕雄 資料探勘與分析案例實戰(5)——python資料視覺化
# 餅圖的繪製# 匯入第三方模組import matplotlibimport matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['Simhei']plt.rcParams['axes.unicode_minus']=Falseziti =
吳裕雄 資料探勘與分析案例實戰(6)——線性迴歸預測模型
# 工作年限與收入之間的散點圖# 匯入第三方模組import pandas as pdimport seaborn as snsimport matplotlib.pyplot as plt # 匯入資料集income = pd.read_csv(r'F:\\python_Data_analysis_and
吳裕雄 資料探勘與分析案例實戰(9)——決策樹與隨機深林
# 匯入第三方模組import pandas as pd# 讀入資料Titanic = pd.read_csv(r'F:\\python_Data_analysis_and_mining\\10\\Titanic.csv')print(Titanic.shape)print(Titanic.head())#
吳裕雄 資料探勘與分析案例實戰(12)——SVM模型的應用
import pandas as pd # 匯入第三方模組from sklearn import svmfrom sklearn import model_selectionfrom sklearn import metrics # 讀取外部資料letters = pd.read_csv(r'F:\\py
吳裕雄 資料探勘與分析案例實戰(14)——Kmeans聚類分析
# 匯入第三方包import pandas as pdimport numpy as np import matplotlib.pyplot as pltfrom sklearn.cluster import KMeansfrom sklearn import metrics # 隨機生成三組二元正態分佈隨
機器學習實戰與python資料探勘 與python計算機視覺
兩本書的 pdf都比較好找 點這裡是機器學習實戰的CSDN介紹 這裡是對應原始碼 個人部落格也列出過可執行的pythin資料探勘原始碼 python計算機視覺的官網與原始碼在這裡 因為看了機器學習實戰
Python資料探勘與機器學習_通訊信用風險評估實戰(4)——模型訓練與調優
系列目錄: 訓練資料拆分 把訓練資料拆分為訓練集和交叉驗證集,比例為7:3。x_train和y_train用來訓練模型,x_test和y_test用來交叉驗證。 data_train = data_train.set_index('Us
Python資料探勘與機器學習技術入門實戰
課程主講簡介: 韋瑋,企業家,資深IT領域專家/講師/作家,暢銷書《精通Python網路爬蟲》作者,阿里雲社群技術專家。 以下內容根據主講嘉賓視訊分享以及PPT整理而成。 本次課程包含了五個知識點: 1.資料探勘與機器學習技術簡介 2.Python資料預
Python資料探勘與機器學習_通訊信用風險評估實戰(2)——資料預處理
系列目錄: 資料說明 通過對讀取資料的實踐,下面是資料集檔案對應讀取後的DataFrame說明。 資料檔案 DataFrame DataTech_Credit_Train_Communication1.txt train
python資料探勘與入門實踐(2.1)用sciket-learn估計器分類
書中主要是用sciket-learn的近鄰演算法進行估計器分類。準備工作: 目標 ; -建立分類器,自動判別資料的好壞; 資料集 :來自http://archive.ics.uci.edu/ml/machine-learning-dat
社交網站的資料探勘與分析(高清版)PDF
社交網站的資料探勘與分析(高清版)PDF百度網盤連結:https://pan.baidu.com/s/1ia57ZMxvdTtq7eragsITzg 提取碼:5hth 複製這段內容後開啟百度網盤手機App,操作更方便哦內容簡介 · · · · · · Facebook、Twitter和LinkedIn產生了大
Python資料探勘學習筆記(1)文字挖掘入門
一、準備階段: (1)開啟cmd,pip安裝jieba(pip install jieba) (2)開啟python安裝目錄的Lib->site-packages->jieba,開啟dict.txt,可以看到這是jieba模組的詞典: 每
Python資料探勘——文字分析
一、一、定義:文字挖掘:從大量文字資料中抽取出有價值的知識,並且利用這些知識重新組織資訊的過程。二、語料庫(Corpus)語料庫是我們要分析的所有文件的集合。import os import os.path filePaths = [] #定義一個數組變數 #再用OS.w
資料探勘與分析 概念與演算法
資料圖:圖的節點代表例項,邊代表關係屬性:數值、類別:名義類、次序類第五章 核方法給定一個數據物件或者例項的集合Xi以及對映函式φ,可以轉換為特徵向量φx,從而能使用數值分析方法分析複雜的資料例項。將所有的輸入點都變換到特徵空間代價過高,甚至不可實現,高維數會使我們遇到“維數
python資料探勘與入門實踐(2.2)用sciket-learn估計器分類
接python資料探勘與入門實踐(2.1)用sciket-learn估計器分類 三、執行演算法 交叉驗證一般分為三類:double-fold CV 即經常所說的2折交叉;10-fold交叉和LOO(leave one out)CV 即留一法交叉。2折:將原始資料集Data
Python資料探勘入門與實戰:第一章
程式碼來源於:https://github.com/hLvMxM/Learning_Data_Mining_with_Python/blob/master/Chapter 1/ch1_affinity.ipynb 其中註釋是在自己學習中加上去的, 便於初學者看懂 分析文字為:affinity