Exemple #1
0
	bool_array[exclude] = True

	# establish training set (everything remaining)
	idx_train = np.where(bool_array==False)

	spectra_train = broad_spectra_noNa[idx_train]
	spectra_validate = broad_spectra_noNa[idx_validate]

	specmatch_spectra.append(spectra_validate)
	
	# ----- input for another Cannon run if needed ---------
	# parameter matrix of training set
	specmatch_labels = broad_labels[idx_train]

	# inverse variance matrices
	ivar_train = ivar_vsini(broad_err[idx_train],flag='train') 
	ivar_validate = ivar_vsini(broad_err[idx_validate],flag='val') 

	# ----- run The Cannon ------------
	# constructs CannonModel object using a 3nd order polynomial vectorizer
	label_names = ("TEFF", "RSTAR", "FE_H", "VSINI")
	model = tc.CannonModel(specmatch_labels, spectra_train, ivar_train,
		vectorizer = tc.vectorizer.PolynomialVectorizer(label_names,3))

	scales, fiducials, theta = (model._scales, model._fiducials, model.theta)
	vectorizer = model.vectorizer

	'''
	# let's add regularization
	model.regularization = 100.0
	# lists model variables
Exemple #2
0
cannon_s2=[]


# let's bootstrap this
for _ in range(20):
        spectra_val_noNa_degrad=[]
        for spectrum1,snr1 in zip(spectra_val_noNa,snr_val):
                noise = np.random.normal(loc=0.0,scale=sigma_snr(snr1),size=len(spectrum1))
                spectrum1 = spectrum1+noise
                spectra_val_noNa_degrad.append(spectrum1)

        spectra_val_noNa_degrad = np.asarray(spectra_val_noNa_degrad)


        # inverse variance matrices
        ivar_train = ivar_vsini(err_tr_noNa,flag='train')
        ivar_validate = ivar_vsini(err_val_noNa,flag='val')

        
        # ----- run The Cannon ------------
        # constructs CannonModel object using a 3rd order polynomial vectorizer
        label_names = ("TEFF", "RSTAR", "FE_H", "VSINI")
        model = tc.CannonModel(labels, spectra_tr_noNa, ivar_train,
                vectorizer = tc.vectorizer.PolynomialVectorizer(label_names,3))

        # Training Step
        theta, s2, metadata = model.train(threads=1)
        cannon_s2.append(s2) # instrinsic model variance


        # Test Step
Exemple #3
0
spectra_val_resamp = np.asarray(spectra_val_resamp)
errs_val_resamp = np.asarray(errs_val_resamp)

# normalize test/validation set spectra
spectra_val_resamp,errs_val_resamp = 
	[gauss_norm(spectrum_val,lib.wav,err_val) for spectrum_val,err_val in zip(spectra_val_resamp,errs_val_resamp),3]  
       
# removes Na doublet (wavs_val = wavs_tr)
spectra_val,errs_val,wavs_val = rm_Na_doublt(spectra_val_resamp,errs_val_resamp,lib.wav)


# ----------------------------------------------------------------------------------
# ----- run The Cannon  ------------------------------------------------------------
# ----------------------------------------------------------------------------------
# inverse variance matrices
ivar_tr = ivar_vsini(errs_tr,flag='train')
ivar_val = ivar_vsini(errs_val,flag='val')

# ----- run The Cannon ------------
# constructs CannonModel object using a 3rd order polynomial vectorizer
label_names = ("TEFF", "RSTAR", "FE_H", "VSINI")

vectorizer = tc.vectorizer.PolynomialVectorizer(label_names,3)
model = tc.CannonModel(labels_tr, spectra_tr, ivar_tr,
        vectorizer = vectorizer)


'''
# can save the model to a disk
# can shoose to save training set fluxes+inverse variances (or not) -
# may be useful if you want to re-train the model w/ regularization, etc.