Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Modules
- import numpy
- import pandas
- from keras.models import Sequential
- from keras.layers import Dense
- from keras.utils import np_utils
- from keras.wrappers.scikit_learn import KerasClassifier
- from sklearn.model_selection import cross_val_score
- from sklearn.model_selection import KFold
- from sklearn.preprocessing import LabelEncoder
- from keras import backend as K
- import os
- def set_keras_backend(backend):
- if K.backend() != backend:
- os.environ['KERAS_BACKEND'] = backend
- reload(K)
- assert K.backend() == backend
- set_keras_backend("theano")
- # seed
- seed = 7
- numpy.random.seed(seed)
- # load dataset
- dataFrame = pandas.read_csv("iris.csv", header=None)
- dataset = dataFrame.values
- X = dataset[:, 0:4].astype(float)
- Y = dataset[:, 4]
- # encode class values
- encoder = LabelEncoder()
- encoder.fit(Y)
- encoded_Y = encoder.transform(Y)
- dummy_Y = np_utils.to_categorical(encoded_Y)
- # baseline model
- def baseline_model():
- # create model
- model = Sequential()
- model.add(Dense(8, input_dim=4, kernel_initializer='normal', activation='softplus'))
- model.add(Dense(3, kernel_initializer='normal', activation='softmax'))
- # compile model
- model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
- return model
- estimator = KerasClassifier(build_fn=baseline_model, nb_epoch=200, batch_size=5, verbose=0)
- kfold = KFold(n_splits=10, shuffle=True, random_state=seed)
- results = cross_val_score(estimator, X, dummy_Y, cv=kfold)
- print("Accuracy: %.2f%% (%.2f%%)" % (results.mean() * 100, results.std() * 100))
Add Comment
Please, Sign In to add comment