Wine Data Set Classification using RNN
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | from sklearn import preprocessing from sklearn.datasets import load_wine from sklearn.model_selection import train_test_split from rnnsim.model import SequentialRNN from rnnsim.utils import one_hot_encoder min_max_scaler = preprocessing.MinMaxScaler(feature_range=(0, 1)) X, y = load_wine(True) X_norm = min_max_scaler.fit_transform(X) Y_one_hot = one_hot_encoder(y, num_classes=3) X_train, X_test, y_train, y_test = train_test_split(X_norm, Y_one_hot, test_size=0.33, random_state=42) sequential_model = SequentialRNN([13, 8, 3]) sequential_model.compile() sequential_model.fit(train_data=(X_train, y_train), epochs=50, metrics="acc") print(sequential_model.score((X_test, y_test))) |
Simple Addition RNN
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import random from rnnsim.RNN import RNN import numpy as np N_Iterations = 10 n_total = 5 input_neurons = [1, 2] output_neurons = [5] conn_plus = { 1: [3, 4], 2: [3, 4], 3: [5], 4: [5], 5: []} conn_minus = { 1: [3, 4], 2: [3, 4], 3: [5], 4: [5], 5: []} print("Generating data") X = np.array([[random.random() / 2, random.random() / 2] for _ in range(1000)]) Y = X.sum(axis=-1)[..., np.newaxis] model = RNN(n_total=n_total, input_neurons=input_neurons, output_neurons=output_neurons, conn_plus=conn_plus, conn_minus=conn_minus) model.fit(epochs=N_Iterations, train_data=(X, Y)) print("Prediction for [0.1 + 0.2]", model.predict(np.array([[0.1, 0.2]]))) print("Prediction for [0.3 + 0.4]", model.predict(np.array([[0.3, 0.4]]))) |
The Iris Flower Dataset Classification using RNN
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | from sklearn import preprocessing from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from rnnsim.model import SequentialRNN from rnnsim.utils import one_hot_encoder min_max_scaler = preprocessing.MinMaxScaler(feature_range=(0, 1)) X, y = load_iris(True) X_norm = min_max_scaler.fit_transform(X) Y_one_hot = one_hot_encoder(y, num_classes=3) X_train, X_test, y_train, y_test = train_test_split(X_norm, Y_one_hot, test_size=0.33, random_state=42) sequential_model = SequentialRNN([4, 9, 3]) sequential_model.compile() sequential_model.fit(train_data=(X_train, y_train), epochs=50, metrics="acc") print(sequential_model.score((X_test, y_test))) |