示例#1
0
def main():
    #generator = ArtificialDataGenerator([0.33,       0.33,       0.34],
    #                                   ["params1", "params2", "params3"])
    generator = ArtificialDataGenerator([0.15,       0.25,       0.6],
                                        [["params1", "params2", "params3"],["params2","params1","params3"],["params3","params2","params1"]])
    
    data = generator.generate(300)
    EM = PCCAEMalgorithmn(data, 3)

    #result=EM.calcSomeStep(100)
    result=EM.calcUntilNoChangeClustering()
    
    correct_cluster_labels = generator.get_z()



    

	
    return result , generator.z , data
from ArtificialDataGenerator import ArtificialDataGenerator
import numpy as np


if __name__ == '__main__':
    generator = ArtificialDataGenerator([0.33,       0.33,       0.34],
                                        ["params1", "params2", "params3"])
    generator.generate(1000)
    kmeans_results = generator.clusteringDataWithKmeans(3)
    correct_cluster_labels = generator.get_z()

    from Plotter import matchClusterLabelsForKmeans
    correct_cluster_labels,kmeans_results = matchClusterLabelsForKmeans(correct_cluster_labels, kmeans_results,3)
    num_error = np.count_nonzero(kmeans_results - correct_cluster_labels)
    print num_error
    f = open("/data1/keisuke.kawano/results/generate_model_kmeans.txt", "a")
    f.write("%s\n"%num_error)
    f.close()

                return serial_results

    def getParamsDictionary(self):
        params_dic = {
            "gamma": self.gamma,
            "pi": self.pi,
            "mu": self.mu,
            "Wx": self.Wx,
            "C": self.C,
            "Psi": self.Psi
        }

        return params_dic

if __name__ == '__main__':
    generator = ArtificialDataGenerator([0.3, 0.5, 0.2],
                                        ["params1", "params2", "params3"])
    EM = PCCAEMalgorithmn(generator.generate(1000), 3)

    kmeans_results = generator.clusteringDataWithKmeans(3)

    ######### 過去の方法でやるやつ そんなにいらない
    #    from CausalPatternExtractor import CausalPatternExtractor
    #    from random import randint
    #    data = np.array(generator.get_data())
    #    print data.shape
    #    y1 = data[:,0:2]
    #    y2 = data[:,2:5]
    #    x  = data[:,5:9]
    #    frames_clusterLabels = [randint(0,2) for i,_ in enumerate(x)]
    #    clusterLabel_frames = []
    #    for label_i in range(max(frames_clusterLabels)+1):
            if(np.array_equal(serial_gamma[-2], serial_gamma[-1])):
                return serial_results

    def getParamsDictionary(self):
        params_dic = {
            "gamma":self.gamma,
            "pi":self.pi,
            "mu":self.mu,
            "Wx":self.Wx,
            "C":self.C,
            "Psi":self.Psi }
        return params_dic

if __name__ == '__main__':
    generator = ArtificialDataGenerator([0.3,       0.5,       0.2],
                                        ["params1", "params2", "params3"])
    data =  generator.generate(1000)
    EM = PCCAEMalgorithmn(data, 3 )

#    kmeans_results = generator.clusteringDataWithKmeans(3)

    ######### 過去の方法でやるやつ そんなにいらない
#    from CausalPatternExtractor import CausalPatternExtractor
#    from random import randint
#    data = np.array(generator.get_data())
#    print data.shape
#    y1 = data[:,0:2]
#    y2 = data[:,2:5]
#    x  = data[:,5:9]
#    frames_clusterLabels = [randint(0,2) for i,_ in enumerate(x)]
#    clusterLabel_frames = []