Example #1
0
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()