Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. import numpy as np
  2. import random
  3. import pandas as pd
  4. import keras
  5. from keras.models import Sequential
  6. from keras.layers import Dense
  7. from sklearn.cross_validation import train_test_split
  8.  
  9. def gen_variance_dataset(n_elements, n_features):
  10. n_rows = int(n_elements / n_features)
  11. data_matrix = np.random.randint(1, 100, n_rows * n_features).reshape((n_rows, n_features))
  12. data = pd.DataFrame(data_matrix, columns=["feature_" + str(i) for i in range(n_features)])
  13.  
  14. data["target"] = np.std(data_matrix, axis=1)
  15.  
  16. return data
  17.  
  18. def build_model(n_features, n_hidden=10):
  19.  
  20. model = Sequential()
  21. model.add(Dense(n_features, input_dim=n_features, kernel_initializer='normal', activation='relu'))
  22. for i in range(n_hidden):
  23. model.add(Dense(n_features,
  24. activation="linear",
  25. kernel_initializer="normal"))
  26. model.add(Dense(1, kernel_initializer='normal'))
  27.  
  28. model.compile(loss='mean_squared_error', optimizer='adam')
  29. return model
  30.  
  31.  
  32. data = gen_variance_dataset(100000, 5)
  33. data.to_csv("variance_data.csv")
  34. features = [col for col in data.columns if col != "target"]
  35. model = build_model(len(features), 12)
  36.  
  37. X_train, X_test, y_train, y_test = train_test_split(data[features],
  38. data["target"],
  39. test_size=0.2)
  40.  
  41. model.fit(X_train.as_matrix(),
  42. y_train.as_matrix(),
  43. epochs=1000,
  44. batch_size=256,
  45. verbose=1)
  46.  
  47. evaluate = model.evaluate(X_test.as_matrix(),
  48. y_test.as_matrix())
  49.  
  50. print("\n\nEvaluation {}".format(evaluate))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement