Example #1
0
    def test_liner_training_data(self):
        x_range = [0, 15]
        y_range = [0, 15]
        liner_training_data = get_training_data.liner_training_data(x_range, y_range)

        self.assertEquals(liner_training_data[(3, 0)], 0)
        self.assertEquals(liner_training_data[(3, 6)], 1)
        self.assertEquals(liner_training_data[(6, 10)], 0)
        self.assertEquals(liner_training_data[(6, 15)], 1)
Example #2
0
def simple_perceptron():
    # simple perceptron
    sp = SimplePerceptron(  input_neuron_num     = 2,
                            output_neuron_num    = 1,
                            threshold            = 1.0,
                            learning_coefficient = 0.5,
                            output_function_type = 1)

    # train data
    x_range = [0,30]
    y_range = [0,30]
    liner_data = TrainingData.liner_training_data(x_range, y_range)
    train_data = TrainingData.change_format(liner_data)


    # 教師データのプロット
    fig = plt.figure()
    scat(fig, [key for key, value in liner_data.items() if value == 0], color='g' )
    scat(fig, [key for key, value in liner_data.items() if value == 1], color='b' )


    # 学習前分離線
    data = get_predict_list(x_range,y_range, sp)
    plot(fig, data)

    # 学習
    sample_border = len(train_data) / 3
    random.shuffle(train_data)

    for i in range(100):
        sp.train(train_data[:sample_border])

    # 学習後分離線
    data = get_predict_list(x_range,y_range, sp)
    plot(fig, data)

    plt.show()
Example #3
0
 def test_change_format(self):
     x_range = [0, 1]
     y_range = [0, 1]
     liner_data = get_training_data.liner_training_data(x_range,y_range)
     train_data = get_training_data.change_format(liner_data)
     self.assertEquals(train_data, [[[0,1],[1]], [[1,0],[1]], [[0,0],[1]], [[1,1],[1]]])