예제 #1
0
                else:
                    if float(output[j]) < float(target[j]):
                        if float(output[j]) < x_min:
                            x_min = float(output[j])
                    else:
                        if float(target[j]) < x_min:
                            x_min = float(target[j])
            sum_error += error
        mse = sum_error / test.size()
        rms = numpy.sqrt(mse)
        return rms/(x_max-x_min)

if __name__ == "__main__":

    data_set = InputSet()
    data_set.load("../data/servo.data")

    #<<ID: 487; SCORE: 0.20303 [{q:0.937668}{h:17}{c:144,54,41,81,85,52,140,67,48,138,95,110,6,32,5,86,22}{gamma:0.996954,2.48103,0.602891,3,1.42868,0.0979053,3,1.21504,0.922433,0.357251,0.131358,1.23423,0,0,0.299883,0.263622,1.9044}{lambda:0.0446531}]>>
    #centers = [144,54,41,81,85,52,140,68,48,138,95,110,6,32,5,86,22]
    #gammas = [0.996954,2.48103,1.602891,3,1.42868,0.0979053,3,1.21504,0.922433,0.357251,0.131358,1.23423,0,0,0.299883,0.263622,1.9044]
    #q = 0.937668
    #l = 0.0446531
    #hnn3 = HNN3(data_set, centers, gammas, q, l, "cls")
    #print str(hnn3.get_accuracy()*100) + "%"

    #<<ID: 28724; SCORE: 0.180124 [{q:0.254867}{h:41}{c:33,104,136,22,30,83,0,138,12,63,130,17,10,147,18,42,139,152,71,31,45,140,124,109,59,13,20,27,102,1,68,97,132,129,149,34,85,123,87,116,134}{gamma:0.963652,1.22752,0.502414,2.06288,0.957675,0.527096,2.29231,2.58408,0.419801,1.09144,0.742667,0.613447,0.301913,1.21125,0.695696,2.16505,0.0783844,0.550067,1.94488,0.679182,1.83098,0.42336,2.02004,0.700278,0.938683,1.02612,2.87757,0.962745,1.6509,0.88908,2.14539,0.078447,0.064547,1.38313,0.0152284,1.5391,0.87585,0.50174,2.01498,0.384209,1.39222}{lambda:0.140671}]>>
    #centers2 = [33,104,136,22,30,83,0,138,12,63,130,17,10,147,18,42,139,152,71,31,45,140,124,109,59,13,20,27,102,1,68,97,132,129,149,34,85,123,87,116,134]
    #gammas2 = [0.963652,1.22752,0.502414,2.06288,0.957675,0.527096,2.29231,2.58408,0.419801,1.09144,0.742667,0.613447,0.301913,1.21125,0.695696,2.16505,0.0783844,0.550067,1.94488,0.679182,1.83098,0.42336,2.02004,0.700278,0.938683,1.02612,2.87757,0.962745,1.6509,0.88908,2.14539,0.078447,0.064547,1.38313,0.0152284,1.5391,0.87585,0.50174,2.01498,0.384209,1.39222]
    #q2 = 0.254867
    #hnn3_2 = HNN3(data_set, centers2, gammas2, q2, "cls")
    #print str(hnn3_2.get_accuracy()*100) + "%"
예제 #2
0
                    if float(output[j]) < float(target[j]):
                        if float(output[j]) < x_min:
                            x_min = float(output[j])
                    else:
                        if float(target[j]) < x_min:
                            x_min = float(target[j])
            sum_error += error
        mse = sum_error / test.size()
        rms = numpy.sqrt(mse)
        return rms / (x_max - x_min)


if __name__ == "__main__":

    data_set = InputSet()
    data_set.load("../data/servo.data")

    #<<ID: 487; SCORE: 0.20303 [{q:0.937668}{h:17}{c:144,54,41,81,85,52,140,67,48,138,95,110,6,32,5,86,22}{gamma:0.996954,2.48103,0.602891,3,1.42868,0.0979053,3,1.21504,0.922433,0.357251,0.131358,1.23423,0,0,0.299883,0.263622,1.9044}{lambda:0.0446531}]>>
    #centers = [144,54,41,81,85,52,140,68,48,138,95,110,6,32,5,86,22]
    #gammas = [0.996954,2.48103,1.602891,3,1.42868,0.0979053,3,1.21504,0.922433,0.357251,0.131358,1.23423,0,0,0.299883,0.263622,1.9044]
    #q = 0.937668
    #l = 0.0446531
    #hnn3 = HNN3(data_set, centers, gammas, q, l, "cls")
    #print str(hnn3.get_accuracy()*100) + "%"

    #<<ID: 28724; SCORE: 0.180124 [{q:0.254867}{h:41}{c:33,104,136,22,30,83,0,138,12,63,130,17,10,147,18,42,139,152,71,31,45,140,124,109,59,13,20,27,102,1,68,97,132,129,149,34,85,123,87,116,134}{gamma:0.963652,1.22752,0.502414,2.06288,0.957675,0.527096,2.29231,2.58408,0.419801,1.09144,0.742667,0.613447,0.301913,1.21125,0.695696,2.16505,0.0783844,0.550067,1.94488,0.679182,1.83098,0.42336,2.02004,0.700278,0.938683,1.02612,2.87757,0.962745,1.6509,0.88908,2.14539,0.078447,0.064547,1.38313,0.0152284,1.5391,0.87585,0.50174,2.01498,0.384209,1.39222}{lambda:0.140671}]>>
    #centers2 = [33,104,136,22,30,83,0,138,12,63,130,17,10,147,18,42,139,152,71,31,45,140,124,109,59,13,20,27,102,1,68,97,132,129,149,34,85,123,87,116,134]
    #gammas2 = [0.963652,1.22752,0.502414,2.06288,0.957675,0.527096,2.29231,2.58408,0.419801,1.09144,0.742667,0.613447,0.301913,1.21125,0.695696,2.16505,0.0783844,0.550067,1.94488,0.679182,1.83098,0.42336,2.02004,0.700278,0.938683,1.02612,2.87757,0.962745,1.6509,0.88908,2.14539,0.078447,0.064547,1.38313,0.0152284,1.5391,0.87585,0.50174,2.01498,0.384209,1.39222]
    #q2 = 0.254867
    #hnn3_2 = HNN3(data_set, centers2, gammas2, q2, "cls")
    #print str(hnn3_2.get_accuracy()*100) + "%"
예제 #3
0
        l = self.genoma[1].genes[0]
        centers = self.genoma[3].genes
        gammas = self.genoma[4].genes
        hnn3 = HNN3(self.data_set, centers, gammas, q, l)
        return hnn3

    def update_score(self):
        if self.data_set.mode == "cls":
            self.score = self.__fitness_function_classification()
        else:
            self.score = self.__fitness_function_regression()

    def __str__(self):
        s = "<< ID: " + str(self.id) + ", SCORE: " + str(self.score)
        for i, v in enumerate(self.genoma):
            s = s + " { " + str(v) + " } "
        s += ">>"
        return s


if __name__ == "__main__":
    data_set = InputSet()
    data_set.load("hepatitis.data")
    ind = IndividualHNN3(data_set)
    ind.update_score()
    print ind
    for i in range(20):
        o = ind.mutate()
        print o
        o.update_score()
예제 #4
0
        q = self.genoma[0].genes[0]
        l = self.genoma[1].genes[0]
        centers = self.genoma[3].genes
        gammas = self.genoma[4].genes
        hnn3 = HNN3(self.data_set, centers, gammas, q, l)
        return hnn3
    
    def update_score(self):
        if self.data_set.mode == "cls":
            self.score = self.__fitness_function_classification()
        else:
            self.score = self.__fitness_function_regression()

    def __str__(self):
        s = "<< ID: " + str(self.id) + ", SCORE: " + str(self.score)
        for i,v in enumerate(self.genoma):
            s = s + " { " + str(v) + " } "
        s += ">>"
        return s

if __name__ == "__main__":
    data_set = InputSet()
    data_set.load("hepatitis.data")
    ind = IndividualHNN3(data_set)
    ind.update_score()
    print ind
    for i in range(20):
        o = ind.mutate()
        print o
        o.update_score()