(python)云模型判别函数

云模型是一种比较新颖的学科,主要用于定性和定量之间的转换。

体现了一组数据的随机性,

云模型主要用三种数据来表示其特征:

期望Ex,熵En,超熵He

import numpy as np                                                       
import math                                                              
import matplotlib.pyplot as plt                                          
                                                                         
def cloud_transform(ys,n):                                               
    Ex=np.mean(ys)                                                       
    En=np.mean(abs(ys-Ex))*np.sqrt(np.pi/2)                              
    He=np.sqrt(abs(np.var(ys)-En*En))                                    
    c=np.var(ys)                                                         
    for q in range(n):                                                   
        Enn=np.random.rand(1)*He+En                                      
        xq=np.random.rand(1)*Enn+Ex                                      
        yq=np.exp(-(xq-Ex)**2/(2*Enn**2))                                
        c=np.array([[xq,yq]])                                            
        print(xq,yq)                                                     
        plt.plot(xq,yq,'o')                                              
                                                                         
Y=np.array([[5,6,7,6.5,5,5.6],                                           
           [7,7.1,7.2,7.3,7.4,7.5],                                      
            [8.1,8.5,8.6,8.7,8.2,8.5],                                   
            [4,7,8,1,2,3]])                                              
fig=plt.figure()                                                         
                                                                         
for i in range(4):                                                       
    y=Y[i,:]                                                             
    plt.subplot(221+i)                                                   
    cloud_transform(y,200)                                               
                                                                         
plt.show()                                                               

利用四组数据来建立云模型,试图判别其大小特点

依次为

解析图像,纵坐标为1处的点代表着它的期望,最右端为其最大值,疏密程度表示其概率分布,如图可发现第三张图综合比较后是最大的一组数据,第四张则最小,在某些情况,云图会比较方便的识别数据情况。

发布了30 篇原创文章 · 获赞 21 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/cywtiancai/article/details/80637675