The ml folder contains scripts implementing various machine learning algorithms using scikit-learn.
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)
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)
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()
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)
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)
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)
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)
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)
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)
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)
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)