0% found this document useful (0 votes)
21 views

6. Neural Network Algorithm

knn

Uploaded by

nicolaas.ryota
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views

6. Neural Network Algorithm

knn

Uploaded by

nicolaas.ryota
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Neural Network Algorithm (for Crab Age Prediction)

How it Works: A Neural Network consists of layers of nodes (neurons) where each node performs a mathematical
operation. For regression tasks like predicting the age of crabs, it learns complex patterns by adjusting weights
through backpropagation.

Steps:

1. Collect Data: Gather crab data (e.g., weight, size, shell dimensions) and corresponding age.

2. Preprocess Data: Normalize or standardize the features for better performance.

3. Build Network: Create a neural network with an input layer, one or more hidden layers, and an output layer.

4. Train Model: Use the training data to adjust weights and minimize the error between predicted and actual
ages.

5. Evaluate: Use metrics like Mean Squared Error (MSE) to assess model performance.

Advantages:

 Can model highly complex relationships and non-linear patterns.

 Works well for large datasets with intricate feature interactions

CODE
# Import necessary libraries

import pandas as pd

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import StandardScaler

from tensorflow.keras.models import Sequential

from tensorflow.keras.layers import Dense

from sklearn.metrics import accuracy_score

# Load your dataset (replace 'your_dataset.csv' with your actual file)

dataset = pd.read_csv('your_dataset.csv')

# Features (X) and target variable (y)

X = dataset.iloc[:, :-1].values # Features (all columns except the target)

y = dataset.iloc[:, -1].values # Target variable (the last column)

# Split the data into training and testing sets (80% training, 20% testing)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)


# Feature Scaling (important for neural networks)

scaler = StandardScaler()

X_train = scaler.fit_transform(X_train)

X_test = scaler.transform(X_test)

# Build the Neural Network model

model = Sequential()

# Input Layer (and first hidden layer)

model.add(Dense(units=64, activation='relu', input_dim=X_train.shape[1]))

# Hidden Layer

model.add(Dense(units=32, activation='relu'))

# Output Layer

model.add(Dense(units=1, activation='sigmoid')) # For binary classification (use 'softmax' for multi-class)

# Compile the model

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

# Train the model

model.fit(X_train, y_train, epochs=50, batch_size=32)

# Evaluate the model on the test set

y_pred = model.predict(X_test)

y_pred = (y_pred > 0.5) # Convert probabilities to 0 or 1 for binary classification

# Calculate accuracy

accuracy = accuracy_score(y_test, y_pred)

# Print the accuracy

print(f"Accuracy of Neural Network model: {accuracy * 100:.2f}%")

Accuracy of Neural Network model: 80.00%

You might also like