Esempio n. 1
0
def features2():
    trainingSet, trainingComposers, numTrainingComposers, numTrainingPieces = loadDataSingleClass.loadTrainingFiles()
    trainingData, trainingComposerNames = extractFeatures.initFeatureVectors(trainingSet, numTrainingComposers, numTrainingPieces)

    #permute data
    trainingSet, testingSet, trainingComposerNames, testingComposerNames = train_test_split(data, trainingComposerNames, test_size=0.20)

    #testingSet, testingComposers, numTestingComposers, numTestingPieces = loadDataSingleClass.loadTestingFiles()
    #testingFeatureVectors, testingComposerNames = extractFeatures.initFeatureVectors(testingSet, numTestingComposers, numTestingPieces)

    #trainingComposerNames = [0, 1, 2, 3, 4]
    #testingComposerNames = [0, 1, 2, 3, 4]
    predictions = bench_svm(trainingData, testingFeatureVectors, trainingComposerNames)

    printStatistics(predictions, testingComposerNames, numTrainingComposers)
Esempio n. 2
0
   
def printStatistics(results, totalCorrect, numTestingPieces, numTrainingPieces, numTestingComposers, composersIndexed, K, numIterations):
    print ''
    print 'TESTING RESULTS'
    print ''
    for i in range(numTestingComposers):
        correct, total = results[i]
        print "Accuracy on " + composersIndexed[i] + " pieces: " + str(float(correct)/total)
        print str(correct) + " correct, " + str(total) + " total."
        print ''
    print "Number of pieces in training set: " + str(numTrainingPieces)
    print "Number of pieces in testing set: " + str(numTestingPieces)
    print "Overall accuracy on testing set: " + str(float(totalCorrect)/numTestingPieces)
    print "Number of iterations: " + str(numIterations)
    print "Range of sequence lengths: "
    print K 
    print ''
#end printStatistics
   
#Main body of code         
trainingSet, trainingComposers, numTrainingComposers, numTrainingPieces = loadDataSingleClass.loadTrainingFiles()
testingSet, testingComposers, numTestingComposers, numTestingPieces = loadDataSingleClass.loadTestingFiles()
trainingFeatureVectors = classifierFeatures.initFeatureVectors(K, trainingSet, numTrainingComposers)
weights = train(numIterations, K, numTrainingComposers, numTrainingPieces, trainingFeatureVectors)
#trimmedWeights = trimWeights(weights, numTrainingComposers)
trimmedWeights = weights
#normalizeWeights(trimmedWeights, numTrainingComposers)
testingFeatureVectors = classifierFeatures.initFeatureVectors(K, testingSet, numTestingComposers)
results, totalCorrect = testSongs(K, trimmedWeights, testingFeatureVectors, numTestingComposers)
printStatistics(results, totalCorrect, numTestingPieces, numTrainingPieces, numTestingComposers, composersIndexed, K, numIterations)