import pylab as plt from astroML.utils import completeness_contamination def plot_confusion_matrix(cm, title='Confusion matrix', cmap=plt.cm.Blues, n_classes=5): plt.imshow(cm, interpolation='nearest', cmap=cmap) plt.title(title) plt.colorbar() plt.tick_marks = np.arange(n_classes) #plt.xticks(tick_marks, iris.target_names, rotation=45) #plt.yticks(tick_marks, iris.target_names) plt.tight_layout() plt.ylabel('True label') plt.xlabel('Predicted label') data = fetch_LINEAR_geneva() attributes = ['gi', 'logP', 'ug', 'iK', 'JK', 'amp', 'skew'] cls = 'LCtype' Ntrain = 3000 #------------------------------------------------------------ # Create attribute arrays X = [] y = [] X.append(np.vstack([data[a] for a in attributes]).T) X = np.array(X).squeeze() y = data[cls].copy() # Create training and test sets
import numpy as np from matplotlib import pyplot as plt from astroML.datasets import fetch_LINEAR_sample, fetch_LINEAR_geneva #---------------------------------------------------------------------- # This function adjusts matplotlib settings for a uniform feel in the textbook. # Note that with usetex=True, fonts are rendered with LaTeX. This may # result in an error if LaTeX is not installed on your system. In that case, # you can set usetex to False. from astroML.plotting import setup_text_plots setup_text_plots(fontsize=8, usetex=True) #------------------------------------------------------------ # Get data for the plot data = fetch_LINEAR_sample() geneva = fetch_LINEAR_geneva() # contains well-measured periods # Compute the phased light curve for a single object. # the best-fit period in the file is not accurate enough # for light curve phasing. The frequency below is # calculated using Lomb Scargle (see chapter10/fig_LINEAR_LS.py) id = 18525697 omega = 10.82722481 t, y, dy = data[id].T phase = (t * omega * 0.5 / np.pi + 0.1) % 1 # Select colors, magnitudes, and periods from the global set targets = data.targets[data.targets['LP1'] < 2] r = targets['r'] gr = targets['gr'] ri = targets['ri']
np.save('AstroML_X_Train_rebalance_1_split_0_7.npy', X_train) np.save('AstroML_X_Test_rebalance_1_split_0_7.npy', X_test) np.save('AstroML_Y_Train_rebalance_1_split_0_7.npy', y_train) np.save('AstroML_Y_Test_rebalance_1_split_0_7.npy', y_test) #%% ############################################ from tensorflow.python.client import device_lib print(device_lib.list_local_devices()) sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) keras.backend.tensorflow_backend._get_available_gpus() ############# Settings ##################### #generateData() data = fetch_LINEAR_geneva() # compute Gaussian Mixture models filetemplate = 'gmm_res_%i_%i.pkl' attributes = [('gi', 'logP'), ('ug', 'gi', 'iK', 'JK', 'logP', 'amp', 'skew')] components = np.arange(1, 21) #%% #------------------------------------------------------------ # Create attribute arrays Xarrays = [] for attr in attributes: Xarrays.append(np.vstack([data[a] for a in attr]).T) network = [[44, "tanh"], [26, "tanh"], [-1, 0.15], [1, "sigmoid"]] LR = 0.003 Epochs = 3