1.1D-CNN
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
from sklearn.preprocessing import LabelEncoder
import keras
from keras.models import Sequential
from keras.layers import Dense, Flatten, Conv1D, MaxPool1D, Dropout
import matplotlib.pyplot as plt
import pandas as pd
# load iris data
iris = load_iris()
x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.33, random_state=1)
# number of label classes
num_classes = len(pd.Series(iris.target).unique())
# print(num_classes)
# label's label encoding
encoder = LabelEncoder()
y_train = encoder.fit_transform(y_train)
y_test = encoder.fit_transform(y_test)
# label's one-hot encoding
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)
# reshape 2D to 3D -> x_train.reshape(num_of_examples,num_of_features,num_of_signals)
x_