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()
