import numpy as np from sys import path path.append('..') from feature_extraction.batch_feature_extractor import batchExtract from preprocessing.data_preprocessing import createSingleFeaturesArray, standardization from classification_model_training.model_training import simpleTrain batchExtract('../../dataset/music_wav/', '../feature_extraction/music_features/', 22050) batchExtract('../../dataset/speech_wav/', '../feature_extraction/speech_features/', 22050) dataset, target, featureKeys = createSingleFeaturesArray( '../feature_extraction/music_features/', '../feature_extraction/speech_features/') dataset = standardization(dataset) wholeAccuracy = simpleTrain(dataset, target, 'svm') print('Accuracy using whole dataset = ' + str(wholeAccuracy)) damages = np.zeros(featureKeys.size) for index, key in enumerate(featureKeys): acc = simpleTrain(np.delete(dataset, index, axis=1), target, 'svm') damages[index] = 100*(wholeAccuracy-acc) print('Accuracy without ' + key + '\t= ' + str(acc) + ',\tdamage\t= ' + "%.2f" % damages[index] + '%') # Accuracy using whole dataset = 0.951902893127681 # Accuracy without 4HzMod = 0.9456968148215752, damage = 0.62% # Accuracy without Flat = 0.9523592224148946, damage = -0.05% # Accuracy without HFC = 0.9526330199872228, damage = -0.07% # Accuracy without LAtt = 0.9524504882723374, damage = -0.05% # Accuracy without SC = 0.9520854248425664, damage = -0.02% # Accuracy without SComp = 0.948160992972529, damage = 0.37% # Accuracy without SDec = 0.9520854248425664, damage = -0.02% # Accuracy without SEFlat = 0.9513552979830245, damage = 0.05% # Accuracy without SF = 0.9492561832618417, damage = 0.26% # Accuracy without SFlat = 0.9496212466916126, damage = 0.23% # Accuracy without SLAtt = 0.9498950442639409, damage = 0.20% # Accuracy without SR = 0.9523592224148946, damage = -0.05% # Accuracy without SSDec = 0.9519941589851236, damage = -0.01% # Accuracy without ZCR = 0.9500775759788264, damage = 0.18% # Accuracy without mfcc0 = 0.9502601076937118, damage = 0.16% # Accuracy without mfcc1 = 0.9510815004106964, damage = 0.08% # Accuracy without mfcc10 = 0.9503513735511545, damage = 0.16% # Accuracy without mfcc11 = 0.9492561832618417, damage = 0.26% # Accuracy without mfcc12 = 0.9482522588299717, damage = 0.37% # Accuracy without mfcc2 = 0.9446928903897052, damage = 0.72% # Accuracy without mfcc3 = 0.9465182075385599, damage = 0.54% # Accuracy without mfcc4 = 0.9470658026832162, damage = 0.48% # Accuracy without mfcc5 = 0.9463356758236744, damage = 0.56% # Accuracy without mfcc6 = 0.9452404855343616, damage = 0.67% # Accuracy without mfcc7 = 0.9462444099662316, damage = 0.57% # Accuracy without mfcc8 = 0.9490736515469563, damage = 0.28% # Accuracy without mfcc9 = 0.9472483343981016, damage = 0.47%