| @@ -1,79 +1,79 @@ | |||
| import tensorflow as tf | |||
| import numpy as np | |||
| import pandas as pd | |||
| from pylab import rcParams | |||
| import matplotlib.pyplot as plt | |||
| import warnings | |||
| from mlxtend.plotting import plot_decision_regions | |||
| from matplotlib.colors import ListedColormap | |||
| from tensorflow.keras.models import Sequential | |||
| from tensorflow.keras.layers import Dense | |||
| from sklearn.model_selection import train_test_split | |||
| from group_lasso import BaseGroupLasso, GroupLasso | |||
| from tensorflow import keras | |||
| import math | |||
| #using https://github.com/yngvem/group-lasso/ | |||
| warnings.filterwarnings('ignore') | |||
| nd_path = ['nds/allnds_case.txt', 'nds/allnds_control.txt'] | |||
| X, y = load_dataset(nd_path) | |||
| #https://github.com/bhattbhavesh91/regularization-neural-networks/blob/master/regularization-notebook.ipynb | |||
| X_train, X_test, y_train, y_test = train_test_split(X, y, | |||
| test_size=0.33, | |||
| random_state=42) | |||
| reg_model = Sequential() | |||
| reg_model.add(Dense(math.sqrt(X_train.shape[1]), input_dim= X_train.shape[1], activation='relu')) | |||
| reg_model.add(Dense(1, activation='sigmoid')) | |||
| reg_model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) | |||
| reg_history = reg_model.fit(X_train, y_train, | |||
| validation_data=(X_test, y_test), | |||
| epochs=4000, verbose=1) | |||
| # serialize model to JSON | |||
| model_json = model.to_json() | |||
| with open('model.json', 'w') as json_file: | |||
| json_file.write(model_json) | |||
| # serialize weights to HDF5 | |||
| model.save_weights('model.h5') | |||
| print('Saved model to disk') | |||
| # load json and create model | |||
| json_file = open('model.json', 'r') | |||
| loaded_model_json = json_file.read() | |||
| json_file.close() | |||
| loaded_model = model_from_json(loaded_model_json) | |||
| # load weights into new model | |||
| loaded_model.load_weights("model.h5") | |||
| print("Loaded model from disk") | |||
| # evaluate loaded model on test data | |||
| # loaded_model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy']) | |||
| asd_path = ['nds/asd_case.txt', 'nds/asd_control.txt'] | |||
| X, y = load_dataset(asd_path) | |||
| #https://github.com/bhattbhavesh91/regularization-neural-networks/blob/master/regularization-notebook.ipynb | |||
| X_train, X_test, y_train, y_test = train_test_split(X, y, | |||
| test_size=0.33, | |||
| random_state=42) | |||
| reg_model = Sequential() | |||
| model.layers[0].set_weights(loaded_model[0]) | |||
| reg_model.add(Dense(math.sqrt(X_train.shape[1]), input_dim= X_train.shape[1], activation='relu', kernel_regularizer='group_lasso')) | |||
| reg_model.add(Dense(1, activation='ReLU')) | |||
| reg_model.add(Dense(1, activation='sigmoid')) | |||
| reg_model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) | |||
| reg_history = reg_model.fit(X_train, y_train, | |||
| validation_data=(X_test, y_test), | |||
| epochs=4000, verbose=1) | |||
| model = keras.models.load_model('path/to/saved/model') | |||
| weights = model.get_layer('input').get_weights() | |||
| values = weights[0] | |||
| for indx, v in enumerate(values): | |||
| if v!=0: | |||
| print('nonzero input', indx) | |||
| import tensorflow as tf | |||
| import numpy as np | |||
| import pandas as pd | |||
| from pylab import rcParams | |||
| import matplotlib.pyplot as plt | |||
| import warnings | |||
| from mlxtend.plotting import plot_decision_regions | |||
| from matplotlib.colors import ListedColormap | |||
| from tensorflow.keras.models import Sequential | |||
| from tensorflow.keras.layers import Dense | |||
| from sklearn.model_selection import train_test_split | |||
| from group_lasso import BaseGroupLasso, GroupLasso | |||
| from tensorflow import keras | |||
| import math | |||
| #using https://github.com/yngvem/group-lasso/ | |||
| warnings.filterwarnings('ignore') | |||
| nd_path = ['nds/allnds_case.txt', 'nds/allnds_control.txt'] | |||
| X, y = load_dataset(nd_path) | |||
| X_train, X_test, y_train, y_test = train_test_split(X, y, | |||
| test_size=0.33, | |||
| random_state=42) | |||
| reg_model = Sequential() | |||
| reg_model.add(Dense(math.sqrt(X_train.shape[1]), input_dim= X_train.shape[1], activation='relu')) | |||
| reg_model.add(Dense(1, activation='sigmoid')) | |||
| reg_model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) | |||
| reg_history = reg_model.fit(X_train, y_train, | |||
| validation_data=(X_test, y_test), | |||
| epochs=4000, verbose=1) | |||
| # serialize model to JSON | |||
| model_json = model.to_json() | |||
| with open('model.json', 'w') as json_file: | |||
| json_file.write(model_json) | |||
| # serialize weights to HDF5 | |||
| model.save_weights('model.h5') | |||
| print('Saved model to disk') | |||
| # load json and create model | |||
| json_file = open('model.json', 'r') | |||
| loaded_model_json = json_file.read() | |||
| json_file.close() | |||
| loaded_model = model_from_json(loaded_model_json) | |||
| # load weights into new model | |||
| loaded_model.load_weights("model.h5") | |||
| print("Loaded model from disk") | |||
| # evaluate loaded model on test data | |||
| # loaded_model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy']) | |||
| asd_path = ['nds/asd_case.txt', 'nds/asd_control.txt'] | |||
| X, y = load_dataset(asd_path) | |||
| #https://github.com/bhattbhavesh91/regularization-neural-networks/blob/master/regularization-notebook.ipynb | |||
| X_train, X_test, y_train, y_test = train_test_split(X, y, | |||
| test_size=0.33, | |||
| random_state=42) | |||
| reg_model = Sequential() | |||
| model.layers[0].set_weights(loaded_model[0]) | |||
| reg_model.add(Dense(math.sqrt(X_train.shape[1]), input_dim= X_train.shape[1], activation='relu', kernel_regularizer='group_lasso')) | |||
| reg_model.add(Dense(1, activation='ReLU')) | |||
| reg_model.add(Dense(1, activation='sigmoid')) | |||
| reg_model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) | |||
| reg_history = reg_model.fit(X_train, y_train, | |||
| validation_data=(X_test, y_test), | |||
| epochs=4000, verbose=1) | |||
| model = keras.models.load_model('path/to/saved/model') | |||
| weights = model.get_layer('input').get_weights() | |||
| values = weights[0] | |||
| for indx, v in enumerate(values): | |||
| if v!=0: | |||
| print('nonzero input', indx) | |||