Exemplo n.º 1
0
#showprogress

#A problem's progress

import sys
import problem
import pylab
import numpy
import copy

sid = sys.argv[1]

DB = "CAT3"

pre = problem.Problems(DB, sid, exp="pre_clean")
post = problem.Problems(DB, sid, exp="post_clean")

mdict = {}
mdict['calc'] = 'o'
mdict['mem'] = 's'
cdict = {}
cdict['calc'] = [0, .2, .8]
cdict['mem'] = [.8, .2, 0]
cdict['calc|mem'] = [.8, .2, .8]
cdict['mem|calc'] = [.8, .2, .8]
pylab.figure(figsize=[14, 8])

plotnum = 1

for kind in ['verified', 'erratic']:
    for trained in ['novel', 'trained']:
Exemplo n.º 2
0
#clean_data.py

import sys
import problem
import pylab

sid = sys.argv[1]

DB = "CAT3"

pre = problem.Problems(DB, sid)
pre_clean = problem.Problems(DB, sid, "pre_clean", clear=True)

for pid in pre.distinct('id'):
    for row in pre.query({'id': pid}):
        l = len(row['history'])
        print pid, l, row['kind']
        if l > 2:
            newHist = []
            trials = []
            for h in row['history']:
                if h['trial'] in trials:
                    pass
                else:
                    newHist.append(h)
                    trials.append(h['trial'])
            row['history'] = newHist

            pre.save(row)

for pid in pre.distinct('id'):
Exemplo n.º 3
0
#comparor.py

#single subject training effects

import sys
import problem
import pylab
import numpy
import copy

sid = sys.argv[1]

DB = "CAT3"

pre = problem.Problems(DB, sid)
post = problem.Problems(DB, sid, exp="post")

pre.name = "pre"
post.name = "post"

training = ['novel', 'trained']

pylab.figure()

strategies = ['mem', 'calc']

plotnum = 1

for strat in strategies:
    RTs = []
    solns = []
Exemplo n.º 4
0
#clean_data.py

import sys
import problem
import pylab

sid = sys.argv[1]

DB = "CAT3"

post = problem.Problems(DB, sid, exp="post")

post_clean = problem.Problems(DB, sid, "post_clean", clear=True)

for pid in post.distinct('id'):
    for row in post.query({'id': pid}):
        l = len(row['history'])
        ns = [row['n1'], row['n2']]
        ns.sort()
        prob = problem.Problem(ns)
        for h in row['history']:
            prob.addResponse(h)

        post_clean.append(prob)

print "#####"

for pid in post_clean.distinct('id'):
    for row in post_clean.query({'id': pid}):
        l = len(row['history'])
        print pid, l, row['kind']
Exemplo n.º 5
0
#show_conversion.py

import sys
import problem
import pylab
import copy

sid = sys.argv[1]

DB="CAT3"

pre = problem.Problems(DB, sid, exp="pre_clean")
post = problem.Problems(DB, sid, exp="post_clean")

pre_post = problem.Problems(DB, sid, exp="pre_post", clear=True)

for pid in post.distinct('id'):
	PRE = pre.query({'kind':'verified', 'id':pid})
	POST = post.query({'kind':'verified', 'id':pid})

	#find calc-mems
	if PRE.count() and POST.count():
		pre_strat = PRE[0]['strat']
		post_strat = POST[0]['strat']

		if pre_strat == post_strat:
			conversion = pre_strat
		else:
			conversion = pre_strat + "|" + post_strat

		pre.update({'id':pid}, {'$set': {'conversion': conversion}})
Exemplo n.º 6
0
    def build(self, strat):
        rows = self.problems.query({'strat': strat, 'kind': 'verified'})

        rows = rows.sort('solution')

        trainingProbs = []

        #want to come up with a roughly balanced set of solution sizes (trained vs untrained)
        count = 1
        for row in rows:
            #every other problem should be added to the list
            if count % 2:
                trainingProbs.append(row)
                row['trained'] = 'trained'
            else:
                row['trained'] = 'novel'

            self.problems.posts.save(row)

            count += 1

        for p in trainingProbs[:self.setSize]:
            line = "%s, %s, %s, %s, %s\n" % (problems.sid, p['n1'], p['n2'],
                                             p['strat'], p['solution'])
            self.f.write(line)


problems = problem.Problems("CAT3", sys.argv[1])

b = TrainingBuilder(problems)
Exemplo n.º 7
0
import problem
import pylab
import scipy.stats
import matplotlib.mlab as mlab
import sys, os

sys.path.append(os.path.split(os.getcwd())[0])

import mongoTools

DB = "CAT3" 

sid = sys.argv[1]


pre_post = problem.Problems(DB, sid=sid, exp="pre_post")

strats = ['strat', ['calc', 'mem']]

kinds = ['kind', ['verified', 'erratic']]

days = ['day', ['pre', 'post']]

trained = ['trained', ['novel', 'trained']]

#IVs and their levels
IVs = [strats, kinds, days, trained]

#DVs
DVs = ['RT']