1. 程式人生 > >python資料探勘與分析實戰—1、2、3

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.850000
75% 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資料分析實戰123

一、資料探勘的建模過程: 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