This commit is contained in:
ltcptgeneral 2019-03-21 16:50:32 -05:00
parent 7f80339fb4
commit 12f5536026
20 changed files with 168 additions and 25 deletions

View File

@ -0,0 +1,3 @@
0.0
0.0,1.0
0.0
1 0.0
2 0.0,1.0
3 0.0

View File

@ -0,0 +1,3 @@
1.0
0.0,0.0
0.0
1 1.0
2 0.0,0.0
3 0.0

View File

@ -0,0 +1,3 @@
0.0
0.0,0.0
0.0
1 0.0
2 0.0,0.0
3 0.0

View File

@ -0,0 +1,3 @@
1.0
0.0,0.0
0.0
1 1.0
2 0.0,0.0
3 0.0

View File

@ -0,0 +1,3 @@
0.0
0.0,0.0
0.0
1 0.0
2 0.0,0.0
3 0.0

View File

@ -0,0 +1,3 @@
0.0
0.0,0.0
0.0
1 0.0
2 0.0,0.0
3 0.0

View File

@ -0,0 +1,3 @@
0.0
0.0,5.0
0.0
1 0.0
2 0.0,5.0
3 0.0

View File

@ -0,0 +1,3 @@
0.0
0.0,1.0
1.0
1 0.0
2 0.0,1.0
3 1.0

View File

@ -0,0 +1,3 @@
0.0
0.0,4.0
0.0
1 0.0
2 0.0,4.0
3 0.0

View File

@ -0,0 +1,3 @@
0.0
0.0,0.0
0.0
1 0.0
2 0.0,0.0
3 0.0

View File

@ -0,0 +1,3 @@
0.0
0.0,0.0
0.0
1 0.0
2 0.0,0.0
3 0.0

View File

@ -0,0 +1,3 @@
13.0
0.0,0.0
0.0
1 13.0
2 0.0,0.0
3 0.0

View File

@ -0,0 +1,3 @@
10.0
0.0,7.0
7.0
1 10.0
2 0.0,7.0
3 7.0

View File

@ -0,0 +1,3 @@
1.0
0.0,7.0
0.0
1 1.0
2 0.0,7.0
3 0.0

View File

@ -0,0 +1,3 @@
match-23
match-18,match-3
match-18
1 match-23
2 match-18,match-3
3 match-18

View File

@ -0,0 +1,3 @@
yeeee
,si papa
nine
1 yeeee
2 ,si papa
3 nine

View File

@ -0,0 +1,3 @@
Quantitative
Quantitative,Quantitative
Quantitative
1 Quantitative
2 Quantitative,Quantitative
3 Quantitative

View File

@ -1,3 +1,3 @@
29,63,35,37,26,51,35,58,30,61,45 29,63,35,37,26,51,35,58,30,61,45
35 26,62,45,37,42,29,59,44,40
63,61,45 35,63,62,18,56,65,42,77,82,63,76,50,47,69,57,65,85,70,38,67,89,74,71,67,70,71,95,77,45

1 29,63,35,37,26,51,35,58,30,61,45
2 35 26,62,45,37,42,29,59,44,40
3 63,61,45 35,63,62,18,56,65,42,77,82,63,76,50,47,69,57,65,85,70,38,67,89,74,71,67,70,71,95,77,45

View File

@ -0,0 +1,3 @@
team-2022
team-16,team-16
team-2451
1 team-2022
2 team-16,team-16
3 team-2451

View File

@ -67,7 +67,7 @@ def titanservice():
file_list = glob.glob(source_dir + '/*.csv') #supposedly sorts by alphabetical order, skips reading teams.csv because of redundancy file_list = glob.glob(source_dir + '/*.csv') #supposedly sorts by alphabetical order, skips reading teams.csv because of redundancy
data = [] data = []
files = [fn for fn in glob.glob('data/*.csv') files = [fn for fn in glob.glob('data/*.csv')
if not (os.path.basename(fn).startswith('teams'))] #scores will be handled sperately if not (os.path.basename(fn).startswith('teams') or os.path.basename(fn).startswith('match') or os.path.basename(fn).startswith('notes') or os.path.basename(fn).startswith('observationType') or os.path.basename(fn).startswith('teamDBRef'))] #scores will be handled sperately
for i in files: for i in files:
data.append(analysis.load_csv(i)) data.append(analysis.load_csv(i))
@ -87,42 +87,46 @@ def titanservice():
measure_stats = [] measure_stats = []
for i in range(len(measure)): #unpacks into specific teams for i in range(len(measure) - 1): #unpacks into specific teams
ofbest_curve = [None] print(i)
r2best_curve = [None] print(measure)
print(len(measure))
#ofbest_curve = [None]
#r2best_curve = [None]
line = measure[i] line = measure[i]
#print(line) #print(line)
x = list(range(len(line))) #x = list(range(len(line)))
eqs, rmss, r2s, overfit = analysis.optimize_regression(x, line, 10, 1) #eqs, rmss, r2s, overfit = analysis.optimize_regression(x, line, 10, 1)
beqs, brmss, br2s, boverfit = analysis.select_best_regression(eqs, rmss, r2s, overfit, "min_overfit") #beqs, brmss, br2s, boverfit = analysis.select_best_regression(eqs, rmss, r2s, overfit, "min_overfit")
#print(eqs, rmss, r2s, overfit) #print(eqs, rmss, r2s, overfit)
ofbest_curve.append(beqs) #ofbest_curve.append(beqs)
ofbest_curve.append(brmss) #ofbest_curve.append(brmss)
ofbest_curve.append(br2s) #ofbest_curve.append(br2s)
ofbest_curve.append(boverfit) #ofbest_curve.append(boverfit)
ofbest_curve.pop(0) #ofbest_curve.pop(0)
#print(ofbest_curve) #print(ofbest_curve)
beqs, brmss, br2s, boverfit = analysis.select_best_regression(eqs, rmss, r2s, overfit, "max_r2s") #beqs, brmss, br2s, boverfit = analysis.select_best_regression(eqs, rmss, r2s, overfit, "max_r2s")
r2best_curve.append(beqs) #r2best_curve.append(beqs)
r2best_curve.append(brmss) #r2best_curve.append(brmss)
r2best_curve.append(br2s) #r2best_curve.append(br2s)
r2best_curve.append(boverfit) #r2best_curve.append(boverfit)
r2best_curve.pop(0) #r2best_curve.pop(0)
#print(r2best_curve) #print(r2best_curve)
measure_stats.append(teams[i] + list(analysis.basic_stats(line, 0, 0)) + list(analysis.histo_analysis(line, 1, -3, 3)) + ofbest_curve + r2best_curve) measure_stats.append(teams[i] + list(analysis.basic_stats(line, 0, 0)) + list(analysis.histo_analysis(line, 1, -3, 3)))
stats.append(list(measure_stats)) stats.append(list(measure_stats))
nishant = [] nishant = []
@ -197,9 +201,11 @@ def pulldata():
#print(teams[i][0]) #print(teams[i][0])
request_data_object = tba.req_team_matches(teams[i][0], 2019, "UDvKmPjPRfwwUdDX1JxbmkyecYBJhCtXeyVk9vmO2i7K0Zn4wqQPMfzuEINXJ7e5") request_data_object = tba.req_team_matches(teams[i][0], 2019, "UDvKmPjPRfwwUdDX1JxbmkyecYBJhCtXeyVk9vmO2i7K0Zn4wqQPMfzuEINXJ7e5")
json_data = request_data_object.json() json_data = request_data_object.json()
#for i in json_data:
# if i for match in range(len(json_data) - 1, -1, -1):
if json_data[match].get('winning_alliance') == "":
#print(json_data[match])
json_data.remove(json_data[match])
json_data = sorted(json_data, key=lambda k: k.get('actual_time', 0), reverse=False) json_data = sorted(json_data, key=lambda k: k.get('actual_time', 0), reverse=False)
for j in range(len(json_data)): for j in range(len(json_data)):
@ -213,6 +219,89 @@ def pulldata():
writer = csv.writer(file, delimiter = ',') writer = csv.writer(file, delimiter = ',')
writer.writerows(scores) writer.writerows(scores)
list_teams = teams
teams=db.collection('data').document('team-2022').collection("Central 2019").get()
full=[]
tms=[]
for team in teams:
tms.append(team.id)
reports=db.collection('data').document('team-2022').collection("Central 2019").document(team.id).collection("matches").get()
for report in reports:
data=[]
data.append(db.collection('data').document('team-2022').collection("Central 2019").document(team.id).collection("matches").document(report.id).get().to_dict())
full.append(data)
quant_keys = []
out = []
var = {}
for i in range(len(full)):
for j in range(len(full[i])):
for key in list(full[i][j].keys()):
if "Quantitative" in key:
quant_keys.append(key)
if full[i][j].get(key).get('teamDBRef')[5:] in list_teams:
var = {}
measured_vars = []
for k in range(len(list(full[i][j].get(key).keys()))):
individual_keys = list(full[i][j].get(key).keys())
var[individual_keys[k]] = full[i][j].get(key).get(individual_keys[k])
out.append(var)
sorted_out = []
for i in out:
j_list = []
key_list = []
sorted_keys = sorted(i.keys())
for j in sorted_keys:
key_list.append(i[j])
j_list.append(j)
sorted_out.append(key_list)
var_index = 0
team_index = 0
big_out = []
for j in range(len(i)):
big_out.append([])
for t in range(len(list_teams)):
big_out[j].append([])
for i in sorted_out:
team_index = list_teams.index(sorted_out[sorted_out.index(i)][j_list.index('teamDBRef')][5:])
for j in range(len(i)):
big_out[j][team_index].append(i[j])
for i in range(len(big_out)):
with open('data/' + j_list[i] + '.csv', "w+", newline = '') as file:
writer = csv.writer(file, delimiter = ',')
writer.writerows(big_out[i])
def service(): def service():
while True: while True:
@ -226,10 +315,10 @@ def service():
fucked = False fucked = False
for i in range(0, 5): for i in range(0, 5):
try: #try:
titanservice() titanservice()
break break
except: #except:
if (i != 4): if (i != 4):
print("[WARNING] failed, trying " + str(5 - i - 1) + " more times") print("[WARNING] failed, trying " + str(5 - i - 1) + " more times")
else: else: