-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathblind_vetting2.py
133 lines (117 loc) · 5.76 KB
/
blind_vetting2.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
import numpy as np
import pandas as pd
import glob, joblib
rotating = joblib.load('spun2.joblib')
goodness = joblib.load('periods2.joblib')
sectorlist = np.arange(1,27)
for sec in sectorlist:
printsec = ''
if sec < 10:
printsec = f'0{sec}'
else:
printsec = str(sec)
donelist = glob.glob(f'./sector{printsec}/*.csv')
# donetics = [int(t.split('tic')[1].split('_')[0]) for t in donelist]
xmatch = pd.read_csv(f'{printsec}MAST_Crossmatch_TIC.csv')
s1tic = xmatch['target_name']
tic_data = []
for filename in donelist:
this_tic = int(filename.split('TIC')[1].split('.')[0])
if this_tic in s1tic:
df = pd.read_csv(filename, index_col=None, header=0)
tic_data.append(df)
tic_data = pd.concat(tic_data, axis=0, ignore_index=True)
tics = tic_data['ID']
p_r = tic_data['Ground Truth Period (d)']
ls_a = tic_data['LS Period 1st peak (d)']
ls_b = tic_data['LS Period 2nd peak (d)']
ls_c = tic_data['LS Period 3rd peak (d)']
ls_amp_a = tic_data['LS Period 1st amplitude']
ls_amp_b = tic_data['LS Period 2nd amplitude']
ls_amp_c = tic_data['LS Period 3rd amplitude']
ls_rms_a = tic_data['LS Period 1st RMS']
ls_rms_b = tic_data['LS Period 2nd RMS']
ls_rms_c = tic_data['LS Period 3rd RMS']
ls_mad_a = tic_data['LS Period 1st MAD']
ls_mad_b = tic_data['LS Period 2nd MAD']
ls_mad_c = tic_data['LS Period 3rd MAD']
ls2_a = tic_data['LS 2-term Period 1st peak (d)']
ls2_b = tic_data['LS 2-term Period 2nd peak (d)']
ls2_c = tic_data['LS 2-term Period 3rd peak (d)']
ls2_amp_a = tic_data['LS 2-term Period 1st amplitude']
ls2_amp_b = tic_data['LS 2-term Period 2nd amplitude']
ls2_amp_c = tic_data['LS 2-term Period 3rd amplitude']
ls2_rms_a = tic_data['LS 2-term Period 1st RMS']
ls2_rms_b = tic_data['LS 2-term Period 2nd RMS']
ls2_rms_c = tic_data['LS 2-term Period 3rd RMS']
ls2_mad_a = tic_data['LS 2-term Period 1st MAD']
ls2_mad_b = tic_data['LS 2-term Period 2nd MAD']
ls2_mad_c = tic_data['LS 2-term Period 3rd MAD']
acf_a = tic_data['ACF Period 1st peak (d)']
acf_b = tic_data['ACF Period 2nd peak (d)']
acf_c = tic_data['ACF Period 3rd peak (d)']
acf_amp_a = tic_data['ACF Period 1st amplitude']
acf_amp_b = tic_data['ACF Period 2nd amplitude']
acf_amp_c = tic_data['ACF Period 3rd amplitude']
acf_rms_a = tic_data['ACF Period 1st RMS']
acf_rms_b = tic_data['ACF Period 2nd RMS']
acf_rms_c = tic_data['ACF Period 3rd RMS']
acf_mad_a = tic_data['ACF Period 1st MAD']
acf_mad_b = tic_data['ACF Period 2nd MAD']
acf_mad_c = tic_data['ACF Period 3rd MAD']
ls_med = tic_data['LS median power']
ls2_med = tic_data['LS 2-term median power']
rvar = tic_data['Rvar']
cdpp = tic_data['CDPP']
matchvals = [tics.index[np.where(tics.values==t)][0] for t in tics]
teff = xmatch['Teff'].iloc[matchvals]
mass = xmatch['mass'].iloc[matchvals]
tmag = xmatch['Tmag'].iloc[matchvals]
features_r = np.array([ls_a, ls_b, ls_c,
ls_amp_a, ls_amp_b, ls_amp_c,
ls_rms_a, ls_rms_b, ls_rms_c,
ls_mad_a, ls_mad_b, ls_mad_c,
ls2_a, ls2_b, ls2_c,
ls2_amp_a, ls2_amp_b, ls2_amp_c,
ls2_rms_a, ls2_rms_b, ls2_rms_c,
ls2_mad_a, ls2_mad_b, ls2_mad_c,
acf_a, acf_b, acf_c,
acf_amp_a, acf_amp_b, acf_amp_c,
acf_rms_a, acf_rms_b, acf_rms_c,
acf_mad_a, acf_mad_b, acf_mad_c,
ls_med, ls2_med,
rvar, cdpp])
features_r[np.isnan(features_r)] = 0
features_g = np.array([ls_b, ls_c,
ls_amp_a, ls_amp_b, ls_amp_c,
ls_rms_a, ls_rms_b, ls_rms_c,
ls_mad_a, ls_mad_b, ls_mad_c,
ls2_a, ls2_b, ls2_c,
ls2_amp_a, ls2_amp_b, ls2_amp_c,
ls2_rms_a, ls2_rms_b, ls2_rms_c,
ls2_mad_a, ls2_mad_b, ls2_mad_c,
acf_a, acf_b, acf_c,
acf_amp_a, acf_amp_b, acf_amp_c,
acf_rms_a, acf_rms_b, acf_rms_c,
acf_mad_a, acf_mad_b, acf_mad_c,
ls_med, ls2_med,
rvar, cdpp])
features_g[np.isnan(features_g)] = 0
pred_r = rotating.predict(features_r.T)
pred_g = goodness.predict(features_g.T)
np.savetxt(f'sector{printsec}test2.dat', np.c_[tics, teff, pred_r, pred_g, mass,
ls_a, ls_b, ls_c,
ls_amp_a, ls_amp_b, ls_amp_c,
ls_rms_a, ls_rms_b, ls_rms_c,
ls_mad_a, ls_mad_b, ls_mad_c,
ls2_a, ls2_b, ls2_c,
ls2_amp_a, ls2_amp_b, ls2_amp_c,
ls2_rms_a, ls2_rms_b, ls2_rms_c,
ls2_mad_a, ls2_mad_b, ls2_mad_c,
acf_a, acf_b, acf_c,
acf_amp_a, acf_amp_b, acf_amp_c,
acf_rms_a, acf_rms_b, acf_rms_c,
acf_mad_a, acf_mad_b, acf_mad_c,
ls_med, ls2_med,
rvar, cdpp, tmag], delimiter=',')
print(f'sector {sec} done')