K-Nearest.py import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import make_blobs from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import train_test_split X, y = make_blobs(n_samples = 500, n_features = 2, centers = 4,cluster_std = 1.5, random_state = 4) plt.style.use('seaborn') plt.figure(figsize = (10,10)) plt.scatter(X[:,0], X[:,1], c=y, marker= '*',s=100,edgecolors='black') plt.show() X_train, X_test, y_train, y_test = train_test_split(X, y, random_state = 0) knn5 = KNeighborsClassifier(n_neighbors = 5) knn1 = KNeighborsClassifier(n_neighbors=1) knn5.fit(X_train, y_train) knn1.fit(X_train, y_train) y_pred_5 = knn5.predict(X_test) y_pred_1 = knn1.predict(X_test) from sklearn.metrics import accuracy_score print("Accuracy with k=5", accuracy_score(y_test, y_pred_5)*100) print("Accuracy with k=1", accuracy_score(y_test, y_pred_1)*100) plt.figure(figsize = (15,5)) plt.subplot(1,2,1) plt.scatter(X_test[:,0], X_test[:,1], c=y_pred_5, marker= '*', s=100,edgecolors='black') plt.title("Predicted values with k=5", fontsize=20) plt.subplot(1,2,2) plt.scatter(X_test[:,0], X_test[:,1], c=y_pred_1, marker= '*', s=100,edgecolors='black') plt.title("Predicted values with k=1", fontsize=20) plt.show() else------------------------------- import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import load_iris from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # Load the Iris dataset iris = load_iris() X, y = iris.data[:, :2], iris.target # Visualize the data plt.figure(figsize=(10, 6)) plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Set1, edgecolor='k') plt.xlabel('Sepal Length (cm)') plt.ylabel('Sepal Width (cm)') plt.title('Iris Dataset - Sepal Features') plt.show() # Split data into training and testing sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) # Fit k-nearest neighbors model knn = KNeighborsClassifier(n_neighbors=3) knn.fit(X_train, y_train) # Make predictions y_pred = knn.predict(X_test) # Print accuracy accuracy = accuracy_score(y_test, y_pred) * 100 print(f"Accuracy: {accuracy:.2f}%") # Visualize predicted values plt.figure(figsize=(10, 6)) plt.scatter(X_test[:, 0], X_test[:, 1], c=y_pred, cmap=plt.cm.Set1, edgecolor='k') plt.xlabel('Sepal Length (cm)') plt.ylabel('Sepal Width (cm)') plt.title('Predicted Values using k-NN') plt.show()