灰关联算法
⑴ 关联算法
关联, 指的是关联分析, 这里引用网络的定义.
通过关联分析, 可以挖掘出"由于某些事件的发生而引起另外一些事件的发生"之类的规则, 比如说"面包=>牛奶", 其中面包被称为规则的前项, 而牛奶则被称为规则的后项.
常用于关联分析的算法有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')