Machine Learning Algorithms Implementation Showcase

# ============================
# 1. K-MEANS CLUSTERING
# ============================

# Create synthetic 2D data with 3 clusters
X_blobs, y_blobs = make_blobs(n_samples=300, centers=3, random_state=42)

# Fit KMeans
kmeans = KMeans(n_clusters=3, random_state=42, n_init=10)
kmeans.Fit(X_blobs)

# Get cluster labels
cluster_labels = kmeans.Labels_
centers = kmeans.Cluster_centers_

print(“KMeans cluster centers:\n”, centers)

# Plot clusters
plt.
Figure(figsize=(6, 5))
plt.Scatter(X_blobs[:, 0], X_blobs[:, 1], c=cluster_labels, s=30)
plt.Scatter(centers[:, 0], centers[:, 1], s=200, marker=’X’)
plt.Title(“K-Means Clustering (3 clusters)”)
plt.Xlabel(“Feature 1”)
plt.Ylabel(“Feature 2”)
plt.Show()

# ============================
# 2.

SVM

CLASSIFICATION
# ============================

# Use iris dataset
iris = load_iris()
X = iris.Data
y = iris.Target

# Train-
test split
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

# Create pipeline: Standardization + SVM
svm_clf = Pipeline([
    (“scaler”, StandardScaler()),
    (“svm”, SVC(kernel=”rbf”, random_state=42))
])

# Train
svm_clf.Fit(X_train, y_train)

# Predict
y_pred = svm_clf.Predict(X_test)

# Accuracy
acc = accuracy_score(y_test, y_pred)
print(“SVM Accuracy on Iris:”, acc)

# ============================
# 3.

KNN

CLASSIFICATION
# ============================

# Use the same iris dataset and train-test split (X_train, X_test, etc.)

knn_clf = Pipeline([
    (“scaler”, StandardScaler()),
    (“knn“, KNeighborsClassifier(n_neighbors=5))
])

# Train
knn_clf.Fit(X_train, y_train)

# Predict
y_pred_knn = knn_clf.Predict(X_test)

# Accuracy
acc_knn = accuracy_score(y_test, y_pred_knn)
print(“KNN Accuracy on Iris:”, acc_knn)

# ============================
# 4. LOGISTIC REGRESSION
# ============================

# Use iris dataset but only 2 classes for simple binary classification
# Let’s take only class 0 and 1
binary_mask = y < 2
X_binary = X[binary_mask]
y_binary = y[binary_mask]

X_train_bin, X_test_bin, y_train_bin, y_test_bin = train_test_split(
    X_binary, y_binary, test_size=0.2, random_state=42
)

log_reg_clf = Pipeline([
    (“scaler”, StandardScaler()),
    (“log_reg”, LogisticRegression())
])

# Train
log_reg_clf.Fit(X_train_bin, y_train_bin)

# Predict
y_pred_log = log_reg_clf.Predict(X_test_bin)

# Accuracy
acc_log = accuracy_score(y_test_bin, y_pred_log)
print(“Logistic Regression
Accuracy (binary Iris):”, acc_log)

# ============================
# 5. LINEAR REGRESSION
# ============================

# Use diabetes dataset (regression problem)
diabetes = load_diabetes()
X_reg = diabetes.Data
y_reg = diabetes.Target

X_train_reg, X_test_reg, y_train_reg, y_test_reg = train_test_split(
    X_reg, y_reg, test_size=0.2, random_state=42
)

lin_reg = LinearRegression()

# Train
lin_reg.Fit(X_train_reg, y_train_reg)

# Predict
y_pred_reg = lin_reg.Predict(X_test_reg)

# Metrics
mse = mean_squared_error(y_test_reg, y_pred_reg)
r2 = r2_score(y_test_reg, y_pred_reg)

print(“Linear Regression
MSE:”, mse)
print(“Linear Regression R^2:”, r2)

# Plot predictions vs true values
plt.Figure(figsize=(6, 5))
plt.Scatter(y_test_reg, y_pred_reg)
plt.Xlabel(“True Values”)
plt.Ylabel(“Predicted Values”)
plt.Title(“Linear Regression: True vs Predicted”)
plt.Show()