Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

BUILD SIMPLE NN MODELS

CODE
import numpy as np
import pandas as pd
import tensorflow as tf
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import accuracy_score, confusion_matrix
data = pd.read_csv("/content/mushrooms.csv")
print(data.info())
print(data.head(5))
features = data.columns.tolist()
features.remove('type')
x = data[features]
y = data['type']
label_encoder = LabelEncoder()
y = label_encoder.fit_transform(y)
input_dim = len(x.columns)
output_dim = 1
epochs = 100
lr = 0.001
X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
X_train_encoded = X_train.apply(LabelEncoder().fit_transform)
X_test_encoded = X_test.apply(LabelEncoder().fit_transform)

model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='relu', input_shape=(input_dim,)),
tf.keras.layers.Dense(output_dim, activation='sigmoid')
])

model.compile(optimizer=tf.keras.optimizers.SGD(learning_rate=lr),
loss='binary_crossentropy', metrics=['accuracy'])
model.fit(X_train_encoded, y_train, epochs=epochs, verbose=1)
y_pred = model.predict(X_test_encoded)
y_pred = (y_pred > 0.5).astype(int)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)

conf_matrix = confusion_matrix(y_test, y_pred)


print("Confusion Matrix:")
print(conf_matrix)
print(model.summary())

You might also like