Ejemplo n.º 1
0
def main():
    iris = datasets.load_iris()

    x = iris.data[50:150]
    t = iris.target[50:150]
    for i in range(100):
        if t[i] == 2:
            t[i] = -1

    skf = model_selection.StratifiedKFold(n_splits=10)

    avg_accuracy = 0
    for train, test in skf.split(x, t):
        classifier = PerceptronClassifier(4, 0.1)
        classifier.learn(t[train], x[train])

        accuracy = 0.0
        for test_x, test_t in zip(x[test], t[test]):
            test_y = classifier.classify(test_x)
            if test_y == test_t:
                accuracy += 1
        accuracy /= len(test)
        avg_accuracy += accuracy
    avg_accuracy /= 10

    print 'average accuracy:', avg_accuracy * 100, '%'
Ejemplo n.º 2
0
def testing(num):
    trainData = samples.loadImagesFile("data/facedata/facedatatrain", num, 60, 70)
    trainLabels = samples.loadLabelsFile("data/facedata/facedatatrainlabels", num)
    testData = samples.loadImagesFile("data/facedata/facedatatest", 150, 60, 70)
    testLabels = samples.loadLabelsFile("data/facedata/facedatatestlabels", 151)
    validData = samples.loadImagesFile("data/facedata/facedatavalidation", 301, 60, 70)
    validLabels = samples.loadLabelsFile("data/facedata/facedatavalidationlabels", 301)

    perceptron=PerceptronClassifier(trainData, trainLabels,0)
    perceptron.train(trainData, trainLabels,10)
    print "==================================="
    print "Test Data"
    guess=perceptron.classify(testData)
    samples.verify(perceptron, guess, testLabels)
    print "==================================="
    print "Validation Data"
    guess=perceptron.classify(validData)
    samples.verify(perceptron,guess,validLabels)
def testing(num):
    trainData = samples.loadImagesFile("data/digitdata/trainingimages", num, 28, 28)
    trainLabels = samples.loadLabelsFile("data/digitdata/traininglabels", num)
    testData = samples.loadImagesFile("data/digitdata/testimages", 1000, 28, 28)
    testLabels = samples.loadLabelsFile("data/digitdata/testlabels", 1000)
    validData = samples.loadImagesFile("data/digitdata/validationimages", 1000, 28, 28)
    validLabels = samples.loadLabelsFile("data/digitdata/validationlabels", 1000)

    perceptron=PerceptronClassifier(trainData, trainLabels,0)
    perceptron.train(trainData, trainLabels,10)
    print "***********************************"
    print "*************Test Data*************"
    guess=perceptron.classify(testData)
    samples.verify(perceptron, guess, testLabels)
    print "***********************************"
    print "************Valid Data*************"
    guess=perceptron.classify(validData)
    samples.verify(perceptron,guess,validLabels)
Ejemplo n.º 4
0
def testing(num):
    trainData = samples.loadImagesFile("data/digitdata/trainingimages", num, 28, 28)
    trainLabels = samples.loadLabelsFile("data/digitdata/traininglabels", num)
    testData = samples.loadImagesFile("data/digitdata/testimages", 1000, 28, 28)
    testLabels = samples.loadLabelsFile("data/digitdata/testlabels", 1000)
    validData = samples.loadImagesFile("data/digitdata/validationimages", 1000, 28, 28)
    validLabels = samples.loadLabelsFile("data/digitdata/validationlabels", 1000)

    perceptron=PerceptronClassifier(trainData, trainLabels,0)
    perceptron.train(trainData, trainLabels,10)
    print "==================================="
    print "Test Data"
    guess=perceptron.classify(testData)
    samples.verify(perceptron, guess, testLabels)
    print "==================================="
    print "Validation Data"
    guess=perceptron.classify(validData)
    samples.verify(perceptron,guess,validLabels)
Ejemplo n.º 5
0
def testing(num):
    trainData = samples.loadImagesFile("data/facedata/facedatatrain", num, 60,
                                       70)
    trainLabels = samples.loadLabelsFile("data/facedata/facedatatrainlabels",
                                         num)
    testData = samples.loadImagesFile("data/facedata/facedatatest", 150, 60,
                                      70)
    testLabels = samples.loadLabelsFile("data/facedata/facedatatestlabels",
                                        151)
    validData = samples.loadImagesFile("data/facedata/facedatavalidation", 301,
                                       60, 70)
    validLabels = samples.loadLabelsFile(
        "data/facedata/facedatavalidationlabels", 301)

    perceptron = PerceptronClassifier(trainData, trainLabels, 0)
    perceptron.train(trainData, trainLabels, 10)
    print "==================================="
    print "Test Data"
    guess = perceptron.classify(testData)
    samples.verify(perceptron, guess, testLabels)
    print "==================================="
    print "Validation Data"
    guess = perceptron.classify(validData)
    samples.verify(perceptron, guess, validLabels)
Ejemplo n.º 6
0
class Perceptron:
    def __init__(self):
        iris = datasets.load_iris()

        x = iris.data[0:150]
        t = iris.target[0:150]
        for i in range(150):
            if t[i] == 0:
                t[i] = -1
            if t[i] == 2:
                t[i] = 1

        self.classifier = PerceptronClassifier(4, 0.1)
        self.classifier.learn(t, x)

    def predict(self, x):
        y = self.classifier.classify(x)
        if y == -1:
            return 'setosa'
        else:
            return None
Ejemplo n.º 7
0
                           FaceData.FACE_DATUM_HEIGHT)
    # Conduct training and testing

    percentages, runtimes = ([], [])
    for n, n_samples in enumerate(
            range(n_train // 10, n_train + 1, n_train // 10)):
        start_time = time.time()
        print('Training with {}% of data'.format((n + 1) * 10))
        idx = np.random.choice(n_train, n_samples, replace=False)
        train_img_sample = np.array(trainingDataList)[idx].tolist()
        train_labels_sample = np.array(
            face_data.face_train_labels)[idx].tolist()
        errors = classifier.train(train_img_sample, train_labels_sample)
        print('errors over 3 iterations', errors)
        print('Validating...')
        validation_guesses = classifier.classify(validationDataList)
        correct = [
            validation_guesses[i] == face_data.face_validation_labels[i]
            for i in range(len(face_data.face_validation_labels))
        ].count(True)
        print(str(correct), 'correct out of ',
              str(len(face_data.face_validation_labels)))
        print('Testing...')
        test_guesses = classifier.classify(testDataList)
        correct = [
            test_guesses[i] == face_data.face_test_labels[i]
            for i in range(len(face_data.face_test_labels))
        ].count(True)
        percentage = (100.0 * correct / len(face_data.face_test_labels))
        print(str(correct), 'correct out of ',
              str(len(face_data.face_test_labels)), 'percentage ', percentage)