ASSIGNMENT 1
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
# Load the datasets
train_data = pd.read_csv("C:\\Users\\bharg\\Downloads\\titanic\\
train.csv")
test_data = pd.read_csv("C:\\Users\\bharg\\Downloads\\titanic\\
test.csv")
submission_data = pd.read_csv("C:\\Users\\bharg\\Downloads\\titanic\\
gender_submission.csv")
# Explore the datasets
print("Train Data:")
print(train_data.head())
print("\nTest Data:")
print(test_data.head())
print("\nSubmission Data:")
print(submission_data.head())
Train Data:
   PassengerId    Survived     Pclass   \
0            1           0          3
1            2           1          1
2            3           1          3
3            4           1          1
4            5           0          3
                                                     Name      Sex    Age
SibSp \
0                           Braund, Mr. Owen Harris           male   22.0
1
1 Cumings, Mrs. John Bradley (Florence Briggs Th...         female   38.0
1
2                            Heikkinen, Miss. Laina         female   26.0
0
3      Futrelle, Mrs. Jacques Heath (Lily May Peel)         female   35.0
1
4                          Allen, Mr. William Henry           male   35.0
0
    Parch             Ticket        Fare Cabin Embarked
0       0          A/5 21171      7.2500   NaN        S
1       0           PC 17599     71.2833   C85        C
2       0   STON/O2. 3101282      7.9250   NaN        S
3          0               113803    53.1000   C123         S
4          0               373450     8.0500    NaN         S
Test Data:
   PassengerId         Pclass                                               Name
Sex \
0          892              3                                   Kelly, Mr. James
male
1          893              3                  Wilkes, Mrs. James (Ellen Needs)
female
2          894              2                         Myles, Mr. Thomas Francis
male
3          895              3                                   Wirz, Mr. Albert
male
4          896              3   Hirvonen, Mrs. Alexander (Helga E Lindqvist)
female
     Age       SibSp   Parch     Ticket      Fare Cabin Embarked
0   34.5           0       0     330911    7.8292   NaN        Q
1   47.0           1       0     363272    7.0000   NaN        S
2   62.0           0       0     240276    9.6875   NaN        Q
3   27.0           0       0     315154    8.6625   NaN        S
4   22.0           1       1    3101298   12.2875   NaN        S
Submission Data:
   PassengerId Survived
0          892        0
1          893        1
2          894        0
3          895        0
4          896        1
# Preprocess the data
# Handle missing values
train_data.fillna(method='ffill', inplace=True) # Forward fill
missing values
train_data['Age'].fillna(train_data['Age'].mean(), inplace=True)              #
Fill missing age values with mean age
# Encode categorical variables
train_data = pd.get_dummies(train_data, columns=['Sex', 'Embarked'])
# Feature engineering
train_data['FamilySize'] = train_data['SibSp'] + train_data['Parch']
# Split the dataset into features and target variable
X = train_data.drop(['Survived', 'Name', 'Ticket', 'Cabin'], axis=1)
y = train_data['Survived']
# Split the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y,
test_size=0.2, random_state=42)
# Select a machine learning algorithm and train the model
model = RandomForestClassifier()
model.fit(X_train, y_train)
RandomForestClassifier()
# Evaluate the model's performance
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("\nAccuracy:", accuracy)
Accuracy: 0.8268156424581006
ASSIGNMENT 2
pip install tensorflow
Requirement already satisfied: tensorflow in c:\users\bharg\anaconda3\
lib\site-packages (2.16.1)
Requirement already satisfied: tensorflow-intel==2.16.1 in c:\users\
bharg\anaconda3\lib\site-packages (from tensorflow) (2.16.1)
Requirement already satisfied: absl-py>=1.0.0 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (2.1.0)
Requirement already satisfied: astunparse>=1.6.0 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (1.6.3)
Requirement already satisfied: flatbuffers>=23.5.26 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (24.3.25)
Requirement already satisfied: gast!=0.5.0,!=0.5.1,!=0.5.2,>=0.2.1 in
c:\users\bharg\anaconda3\lib\site-packages (from tensorflow-
intel==2.16.1->tensorflow) (0.5.4)
Requirement already satisfied: google-pasta>=0.1.1 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (0.2.0)
Requirement already satisfied: h5py>=3.10.0 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (3.10.0)
Requirement already satisfied: libclang>=13.0.0 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (18.1.1)
Requirement already satisfied: ml-dtypes~=0.3.1 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (0.3.2)
Requirement already satisfied: opt-einsum>=2.3.2 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (3.3.0)
Requirement already satisfied: packaging in c:\users\bharg\anaconda3\
lib\site-packages (from tensorflow-intel==2.16.1->tensorflow) (23.1)
Requirement already satisfied: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!
=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (4.25.3)
Requirement already satisfied: requests<3,>=2.21.0 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (2.31.0)
Requirement already satisfied: setuptools in c:\users\bharg\anaconda3\
lib\site-packages (from tensorflow-intel==2.16.1->tensorflow) (68.0.0)
Requirement already satisfied: six>=1.12.0 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (1.16.0)
Requirement already satisfied: termcolor>=1.1.0 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (2.4.0)
Requirement already satisfied: typing-extensions>=3.6.6 in c:\users\
bharg\anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (4.7.1)
Requirement already satisfied: wrapt>=1.11.0 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (1.14.1)
Requirement already satisfied: grpcio<2.0,>=1.24.3 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (1.62.1)
Requirement already satisfied: tensorboard<2.17,>=2.16 in c:\users\
bharg\anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (2.16.2)
Requirement already satisfied: keras>=3.0.0 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (3.2.0)
Requirement already satisfied: tensorflow-io-gcs-filesystem>=0.23.1 in
c:\users\bharg\anaconda3\lib\site-packages (from tensorflow-
intel==2.16.1->tensorflow) (0.31.0)
Requirement already satisfied: numpy<2.0.0,>=1.23.5 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorflow-intel==2.16.1-
>tensorflow) (1.24.3)
Requirement already satisfied: wheel<1.0,>=0.23.0 in c:\users\bharg\
anaconda3\lib\site-packages (from astunparse>=1.6.0->tensorflow-
intel==2.16.1->tensorflow) (0.38.4)
Requirement already satisfied: rich in c:\users\bharg\anaconda3\lib\
site-packages (from keras>=3.0.0->tensorflow-intel==2.16.1-
>tensorflow) (13.7.1)
Requirement already satisfied: namex in c:\users\bharg\anaconda3\lib\
site-packages (from keras>=3.0.0->tensorflow-intel==2.16.1-
>tensorflow) (0.0.7)
Requirement already satisfied: optree in c:\users\bharg\anaconda3\lib\
site-packages (from keras>=3.0.0->tensorflow-intel==2.16.1-
>tensorflow) (0.11.0)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\
bharg\anaconda3\lib\site-packages (from requests<3,>=2.21.0-
>tensorflow-intel==2.16.1->tensorflow) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in c:\users\bharg\
anaconda3\lib\site-packages (from requests<3,>=2.21.0->tensorflow-
intel==2.16.1->tensorflow) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\bharg\
anaconda3\lib\site-packages (from requests<3,>=2.21.0->tensorflow-
intel==2.16.1->tensorflow) (1.26.16)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\bharg\
anaconda3\lib\site-packages (from requests<3,>=2.21.0->tensorflow-
intel==2.16.1->tensorflow) (2023.7.22)
Requirement already satisfied: markdown>=2.6.8 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorboard<2.17,>=2.16->tensorflow-
intel==2.16.1->tensorflow) (3.4.1)
Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0
in c:\users\bharg\anaconda3\lib\site-packages (from
tensorboard<2.17,>=2.16->tensorflow-intel==2.16.1->tensorflow) (0.7.2)
Requirement already satisfied: werkzeug>=1.0.1 in c:\users\bharg\
anaconda3\lib\site-packages (from tensorboard<2.17,>=2.16->tensorflow-
intel==2.16.1->tensorflow) (2.2.3)
Requirement already satisfied: MarkupSafe>=2.1.1 in c:\users\bharg\
anaconda3\lib\site-packages (from werkzeug>=1.0.1-
>tensorboard<2.17,>=2.16->tensorflow-intel==2.16.1->tensorflow)
(2.1.1)
Requirement already satisfied: markdown-it-py>=2.2.0 in c:\users\
bharg\anaconda3\lib\site-packages (from rich->keras>=3.0.0-
>tensorflow-intel==2.16.1->tensorflow) (2.2.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in c:\users\
bharg\anaconda3\lib\site-packages (from rich->keras>=3.0.0-
>tensorflow-intel==2.16.1->tensorflow) (2.15.1)
Requirement already satisfied: mdurl~=0.1 in c:\users\bharg\anaconda3\
lib\site-packages (from markdown-it-py>=2.2.0->rich->keras>=3.0.0-
>tensorflow-intel==2.16.1->tensorflow) (0.1.0)
Note: you may need to restart the kernel to use updated packages.
# Define paths to the image directories
human_dir = "C:\\Users\\bharg\\Downloads\\horse-or-human\\humans"
horse_dir = "C:\\Users\\bharg\\Downloads\\horse-or-human\\horses"
# Image dimensions
img_width, img_height = 150, 150
# Load and preprocess the image data
train_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
    directory="C:\\Users\\bharg\\Downloads\\horse-or-human",
    target_size=(img_width, img_height),
    class_mode='binary',
    batch_size=32
)
# Build the CNN model
model = Sequential([
    Conv2D(16, (3, 3), activation='relu', input_shape=(img_width,
img_height, 3)),
    MaxPooling2D(2, 2),
    Conv2D(32, (3, 3), activation='relu'),
    MaxPooling2D(2, 2),
    Conv2D(64, (3, 3), activation='relu'),
    MaxPooling2D(2, 2),
    Flatten(),
    Dense(512, activation='relu'),
    Dense(1, activation='sigmoid')
])
# Compile the model
model.compile(optimizer='adam',
              loss='binary_crossentropy',
              metrics=['accuracy'])
# Train the model
model.fit(train_generator, epochs=10)
# Evaluate the model
loss, accuracy = model.evaluate(train_generator)
print("Accuracy:", accuracy)
Found 1027 images belonging to 2 classes.
C:\Users\bharg\anaconda3\Lib\site-packages\keras\src\layers\
convolutional\base_conv.py:99: UserWarning: Do not pass an
`input_shape`/`input_dim` argument to a layer. When using Sequential
models, prefer using an `Input(shape)` object as the first layer in
the model instead.
  super().__init__(
Epoch 1/10
C:\Users\bharg\anaconda3\Lib\site-packages\keras\src\trainers\
data_adapters\py_dataset_adapter.py:120: UserWarning: Your `PyDataset`
class should call `super().__init__(**kwargs)` in its constructor.
`**kwargs` can include `workers`, `use_multiprocessing`,
`max_queue_size`. Do not pass these arguments to `fit()`, as they will
be ignored.
  self._warn_if_super_not_called()
33/33 ━━━━━━━━━━━━━━━━━━━━   11s 225ms/step - accuracy: 0.6388 - loss:
0.6510
Epoch 2/10
33/33 ━━━━━━━━━━━━━━━━━━━━   9s 231ms/step - accuracy: 0.9544 - loss:
0.1061
Epoch 3/10
33/33 ━━━━━━━━━━━━━━━━━━━━   9s 228ms/step - accuracy: 0.9914 - loss:
0.0226
Epoch 4/10
33/33 ━━━━━━━━━━━━━━━━━━━━   9s 227ms/step - accuracy: 0.9981 - loss:
0.0100
Epoch 5/10
33/33 ━━━━━━━━━━━━━━━━━━━━   9s 229ms/step - accuracy: 0.9964 - loss:
0.0151
Epoch 6/10
33/33 ━━━━━━━━━━━━━━━━━━━━   9s 224ms/step - accuracy: 1.0000 - loss:
0.0032
Epoch 7/10
33/33 ━━━━━━━━━━━━━━━━━━━━   9s 233ms/step - accuracy: 1.0000 - loss:
4.9959e-04
Epoch 8/10
33/33 ━━━━━━━━━━━━━━━━━━━━   9s 226ms/step - accuracy: 1.0000 - loss:
2.5612e-04
Epoch 9/10
33/33 ━━━━━━━━━━━━━━━━━━━━   9s 231ms/step - accuracy: 1.0000 - loss:
1.0476e-04
Epoch 10/10
33/33 ━━━━━━━━━━━━━━━━━━━━   9s 231ms/step - accuracy: 1.0000 - loss:
1.2686e-04
33/33 ━━━━━━━━━━━━━━━━━━━━   6s 160ms/step - accuracy: 1.0000 - loss:
1.3285e-04
Accuracy: 1.0