Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.70 KB | None | 0 0
  1. from sklearn.utils import resample
  2.  
  3. raw_data = pd.read_csv('Data.csv')
  4.  
  5. df_majority = raw_data[raw_data['RESULT']==0].iloc[1:-2,0:3].dropna()
  6. df_minority = raw_data[raw_data['RESULT']==1].iloc[1:-2,0:3].dropna()
  7.  
  8. print(raw_data['RESULT'].value_counts())
  9.  
  10.  
  11. df_majority_downsampled = resample(df_majority,
  12. replace=False,
  13. n_samples=raw_data['RESULT'].value_counts()[1],
  14. random_state=123)
  15.  
  16. # Combine minority class with downsampled majority class
  17. df_downsampled = pd.concat([df_majority_downsampled,df_minority])
  18.  
  19. # Display new class counts
  20. print(df_downsampled['RESULT'].value_counts())
  21. print(numpy.unique(df_downsampled['RESULT']))
  22.  
  23. X = df_downsampled.iloc[1:-2,0:2].dropna()
  24. Y = df_downsampled.iloc[1:-2,2:3].dropna()
  25.  
  26. X, XTest, Y, YTest = train_test_split(X, Y, test_size = 0.3, random_state = 0)
  27.  
  28. print(YTest['RESULT'].value_counts()) #Just a double check to make
  29.  
  30. def create_model(activation):
  31. model = Sequential()
  32.  
  33. model.add(Dense(128,activation=activation,input_dim=2))
  34. model.add(BatchNormalization())
  35.  
  36. model.add(Dense(64,activation=activation))
  37. model.add(BatchNormalization())
  38. model.add(Dropout(0.2))
  39.  
  40. model.add(Dense(32,activation=activation))
  41. model.add(BatchNormalization())
  42. model.add(Dropout(0.2))
  43.  
  44. model.add(Dense(16,activation=activation))
  45. model.add(BatchNormalization())
  46. model.add(Dropout(0.2))
  47.  
  48. model.add(Dense(8,activation=activation))
  49. model.add(BatchNormalization())
  50. model.add(Dropout(0.2))
  51.  
  52. model.add(Dense(4,activation=activation))
  53. model.add(BatchNormalization())
  54. model.add(Dropout(0.2))
  55.  
  56. model.add(Dense(2,activation=activation))
  57. model.add(BatchNormalization())
  58. model.add(Dropout(0.2))
  59.  
  60. model.add(Dense(1,activation='sigmoid'))
  61. # load weights
  62. model.load_weights("weights.best.hdf5")
  63. model.compile(loss='binary_crossentropy', optimizer=Adam(lr=0.0001),metrics=['accuracy'])
  64.  
  65. return model
  66. model = create_model('relu')
  67.  
  68. filepath ="weights.best.hdf5"
  69. checkpoint = ModelCheckpoint(filepath,monitor='val_acc',verbose=1,save_best_only=True,mode='max')
  70. callbacks_list = [checkpoint]
  71.  
  72. history = model.fit(X,Y,epochs=2000,batch_size=32, shuffle = True,validation_data = (XTest,YTest), verbose = 0,
  73. callbacks=callbacks_list)
  74.  
  75. from sklearn.metrics import roc_auc_score
  76.  
  77. predict = model.predict_classes(X)
  78. print(numpy.unique(predict))
  79.  
  80. #for index,val in enumerate(predict):
  81. #print("Predicted: %s, actual: %s, for val %s"(val[0],Y.iloc[index].values,X.iloc[index].values))
  82.  
  83. predict = [val[0] for val in predict]
  84. print("ras score: ",roc_auc_score(Y,predict))
  85.  
  86.  
  87. predict = model.predict(numpy.array([0.0235,0.5]).reshape(-1,2))
  88. print(predict[0][0])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement