ML Folder

Overview

The ml folder contains scripts implementing various machine learning algorithms using scikit-learn.

File: 6.py

Description: Logistic regression and random forest for Iris binary classification.

Dependencies: scikit-learn, pandas

Code:

                
                from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier
import pandas as pd

iris = load_iris()
X = iris.data[iris.target != 2]  # Binary classification
y = iris.target[iris.target != 2]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

log_reg = LogisticRegression()
log_reg.fit(X_train, y_train)
rf = RandomForestClassifier(n_estimators=100, random_state=42)
rf.fit(X_train, y_train)
            

File: exp10.py

Description: MLP classifier for Iris classification.

Dependencies: scikit-learn

Code:

                
                from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neural_network import MLPClassifier

iris = load_iris()
X, y = iris.data, iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

mlp = MLPClassifier(hidden_layer_sizes=(100,), max_iter=500, random_state=42)
mlp.fit(X_train, y_train)
            

File: exp11.py

Description: Custom neural network for word length classification.

Dependencies: numpy

Code:

                
                import numpy as np

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

X = np.array([[len(word)] for word in ["cat", "dog", "bird", "elephant"]])
y = np.array([0, 0, 1, 1])  # 0: short, 1: long

weights = np.random.rand(1)
bias = np.random.rand(1)
learning_rate = 0.01

for _ in range(1000):
    z = np.dot(X, weights) + bias
    pred = sigmoid(z)
    error = pred - y
    weights -= learning_rate * np.dot(X.T, error)
    bias -= learning_rate * error.sum()
            

File: exp12.py

Description: Self-Organizing Map (SOM) for character image clustering.

Dependencies: numpy, minisom

Code:

                
                from minisom import MiniSom
import numpy as np

data = np.random.rand(100, 10)  # Simulated character image features
som = MiniSom(10, 10, 10, sigma=0.5, learning_rate=0.5)
som.random_weights_init(data)
som.train_random(data, 100)
            

File: exp13.py

Description: SVM with RBF kernel approximation for Iris classification.

Dependencies: scikit-learn

Code:

                
                from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC

iris = load_iris()
X, y = iris.data, iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

svm = SVC(kernel='rbf', random_state=42)
svm.fit(X_train, y_train)
            

File: exp5.py

Description: Linear regression for housing price prediction.

Dependencies: scikit-learn, pandas

Code:

                
                from sklearn.datasets import fetch_california_housing
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import pandas as pd

housing = fetch_california_housing()
X, y = housing.data, housing.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

lr = LinearRegression()
lr.fit(X_train, y_train)
            

File: exp6.py

Description: Decision tree classifier for Iris classification.

Dependencies: scikit-learn

Code:

                
                from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

iris = load_iris()
X, y = iris.data, iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

dt = DecisionTreeClassifier(random_state=42)
dt.fit(X_train, y_train)
            

File: exp7.py

Description: KNN classifier for Iris classification with k-value analysis.

Dependencies: scikit-learn

Code:

                
                from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

iris = load_iris()
X, y = iris.data, iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train, y_train)
            

File: exp8.py

Description: KMeans clustering for Iris dataset.

Dependencies: scikit-learn

Code:

                
                from sklearn.datasets import load_iris
from sklearn.cluster import KMeans

iris = load_iris()
X = iris.data
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(X)
            

File: exp9.py

Description: SVM classifier on Mushroom dataset for edible/poisonous classification.

Dependencies: scikit-learn, pandas

Code:

                
                from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
import pandas as pd

mushroom = pd.read_csv("mushrooms.csv")
mushroom_df = pd.DataFrame(mushroom)
label_encoders = {}
for column in mushroom_df.columns:
    le = LabelEncoder()
    mushroom_df[column] = le.fit_transform(mushroom_df[column])
    label_encoders[column] = le

X = mushroom_df[['cap-shape', 'cap-color']].values
y = mushroom_df['class'].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

svm = SVC(kernel='linear', random_state=42)
svm.fit(X_train, y_train)
            

File: mini.py

Description: Random forest classifier for Iris classification with visualization.

Dependencies: scikit-learn, matplotlib

Code:

                
                from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
import matplotlib.pyplot as plt

iris = load_iris()
X, y = iris.data, iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

rf = RandomForestClassifier(n_estimators=100, random_state=42)
rf.fit(X_train, y_train)