灰關聯演算法
⑴ 關聯演算法
關聯, 指的是關聯分析, 這里引用網路的定義.
通過關聯分析, 可以挖掘出"由於某些事件的發生而引起另外一些事件的發生"之類的規則, 比如說"麵包=>牛奶", 其中麵包被稱為規則的前項, 而牛奶則被稱為規則的後項.
常用於關聯分析的演算法有Apriori演算法, FP-growth演算法, Eclat演算法, 灰色關聯法等, 下面將著重介紹Apriori演算法.
在介紹Apriori演算法之前, 我們先來了解幾個概念:
1.事務: 一條交易記錄稱為一個事務
2.項: 交易中的每一個物品稱為一個項
3.項集: 包含0個或多個項的集合
4.支持度計數: 項集在所有事務中出現的次數.
5.支持度: 支持度計數除於總的事務數.
6.頻繁項集: 支持度大於等於某個閥值的項集.
關聯規則的挖掘通常分為兩步: 第一步, 找出所有的頻繁項集; 第二步, 由頻繁項集產沒判答生強關聯規則. 而Apriori演算法則是挖掘頻繁項集的基本演算法.
可以看到以上每個過程均需要掃描一次數據, 為了提高頻繁項集逐層迭代產生的效率, 需要利用一條重要性質, 其稱為先驗性質:
當然, 非頻繁項集的所有超集也一定是非頻繁的.
將先驗性質應用到Apriori演算法中就是將之枯慧前的過程分為兩大部分, 連接步和剪枝步.
連接步: 連接步的目的是產生候選項集.
剪枝步: 應用先驗性質對候選項集進行篩選, 將不滿足先驗性質的候選項集剔除, 再進而根據最小支持度找出頻繁項集, 這樣可以有效縮短計算量.
關聯分析的目標是找出強關聯規則, 因此這里的關聯規則是指強關聯規則, 我們把滿足最小支持度和最小置信度的規則稱為強關聯規則.
對於規則A=>沖敏B, 置信度的計算公式就是項集{A, B}的支持度計數除於項集{A}的支持度計數.
優點: 簡單, 易理解, 對數據要求低
缺點: 容易產生過多的候選項集, I/O負載大.
⑵ 三七灰土白灰用量演算法
回答白灰(生石灰粉)的用量(自重)一般按12KN/m3計算,粘土的自重一般按16KN/m3計算。每立方米三七灰土中一般含有0.3立方生石灰以及0.7立方粘土,同時比較適宜的生石灰和粘土的體積比一般為3:7,因此該灰土被稱為「三七灰土」。
一、三七灰土白灰用量演算法
1、白灰(生石灰粉)的用量(自重)一般按12KN/m3計算,粘土的自重一般按16KN/m3計算。三七灰土是一種以石灰、粘土按一定比例配製而成具有較高強度的建築材料,每立方米三七灰土中一般含有0.3立方生石灰以及0.7立方粘土,同時比較適宜的生石灰和粘土的體積比一般為3:7,所以該灰土被稱為「三七灰土」。三七灰土在中國有悠久歷史,南北朝公元6世紀時,南京西善橋的南朝大墓封門前地面即是灰土夯成的。
2、灰土的物理力學性能中,土壤和石灰是組成灰土的兩種基本成分,粘性土壤活性大,顆粒細,強度比砂性土壤高,通常以粘性土配製的灰土強度比砂性土配製的強度高1-2倍,在北京,房渣土作為灰土的土料也是可用的,但必須過篩。灰粒不得大於5毫米,土的粒徑不得大於15毫米,須拌合均勻,並控制最佳含水量作為灰土的含水標准。
二、灰土的過篩比例
1、施工中一般採用體積比,用鏟子或小車量,在《2004江蘇土建裝飾工程計價表》中,1.061立方米三七灰土含粘土1.15立方米、生石灰0.242噸,摺合成每立方米三七灰土含粘土1.0839立方米、生石灰0.228噸。
2、從山東省建築定額消耗量來看,每立方米3:7灰土含石灰0.243噸,黏土1.15立方米,摺合成重量為石灰0.243噸、黏土1.61噸、0.243/1.61=0.1509≈3/20。從這個角度看實際應該是體積比。
3、96定額3:7灰土墊層子目工程內容中包括篩土、篩灰等內容,現消耗量定額中則以「灰土」復合材料進入子目,過篩內容不另行計算,定額綜合工日中已包括過篩用工。
⑶ python怎麼寫灰度共生演算法
一、理論部分
二、代碼(摸索著寫的,網路沒有python的最後自己寫的,獻丑了)
A=pd.DataFrame(A,columns=[1,2,3,4,5])#書號,所有數據在一個標簽頁里
T=[]
for Y in range(2001,2006):
M = []#最終變數的矩陣
N = []#預測變數的矩陣
B=pd.read_excel('9門總滿意度.xlsx',sheetname=str(Y))#滿意度
K = np.arange(len(A)*(len(B.columns)+1),dtype='float32').reshape(len(A), len(B.columns)+1)#創建相關變數與目標變數的共同矩陣,相關變數元素加1
M=list(A.ix[:,Y-2000])#獲取當年的平均書號
K[:,0]=M#將最終變數送入判斷矩陣第一列
for x in range(0,len(A)):#將判斷變數送入判斷矩陣
N=list(B.ix[x])
K[x,1:]=N
K=K.T #轉置,下面是灰色關聯演算法的具體步驟
for i in range(0,len(N)+1):
K[i,:]=K[i,:]/K[i][0]
K=K.T
S=np.arange(len(N)*len(M),dtype='float32').reshape(len(M),len(N))
for i in range(0,len(N)):
S[:,i]=abs(K[:,i+1]-K[:,0])
Q=[]
for i in range(0,len(N)):
Q.append(S[:,i].max())
R = S
maxone=max(Q)
R[:,:]=maxone*0.5/(S[:,:]+maxone*0.5)
R=R.T
for i in range(0,len(N)):
T.append(R[i].mean())
print(T)
T=pd.DataFrame(T)
#T.to_excel(str(Y)+'.xls')