def getPybrainDataSet(source='Rachelle'): first = False#True qualities, combinations = cp.getCombinations() moods = combinations.keys() ds = None l=0 for mood in moods: if mood=='neutral': continue for typeNum in range(1,21): for take in range(1,10): fileName = 'recordings/'+source+'/'+mood+'/'+\ str(typeNum)+'_'+str(take)+'.skl' try: data, featuresNames = ge.getFeatureVec(fileName, first) first = False except IOError: continue if ds is None:#initialization ds = ClassificationDataSet( len(data), len(qualities) ) output = np.zeros((len(qualities))) for q in combinations[mood][typeNum]: output[qualities.index(q)] = 1 ds.appendLinked(data , output) l+=sum(output) return ds, featuresNames
from matplotlib.mlab import PCA import mlpy #coupels = [['anger', 'happy']] coupels = [['anger', 'fear'], ['anger', 'happy'], ['anger', 'sad'], ['happy', 'fear'], ['sad', 'fear'], ['sad', 'happy']] #moods = ['anger', 'fear']#, 'happy', 'sad', 'neutral'] #data2 = [[],[]] for couple in coupels: i=0 data = [] for mood in couple: for typeNum in range(1,21): for take in range(1,10): fileName = '../inputs/Rachelle/v2/recordingsByMood/'+mood+'/'+\ str(typeNum)+'_'+str(take)+'.skl' try: vec = ge.getFeatureVec(fileName, ['WristRight_X', 'WristLeft_X']) except IOError: continue data.append(vec) #data2[couple.index(mood)].append(vec) i+=couple.index(mood) a= np.array(data) print a.shape results = PCA(a) print results.fracs x = [] y = [] for item in results.Y[:-i]: x.append(item[0]) y.append(item[1]) plt.figure()