Posts

lab10

 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings from sklearn.datasets import load_breast_cancer from sklearn.cluster import KMeans from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA from sklearn.metrics import confusion_matrix, classification_report warnings.filterwarnings("ignore", category=UserWarning) warnings.filterwarnings("ignore", category=FutureWarning) data = load_breast_cancer() X = data.data y = data.target scaler = StandardScaler() X_scaled = scaler.fit_transform(X) kmeans = KMeans(n_clusters=2, random_state=42, n_init=10) y_kmeans = kmeans.fit_predict(X_scaled) print("Confusion Matrix:") print(confusion_matrix(y, y_kmeans)) print("\nClassification Report:") print(classification_report(y, y_kmeans)) pca = PCA(n_components=2) X_pca = pca.fit_transform(X_scaled) df = pd.DataFrame(X_pca, columns=['PC1', 'PC2']) df['Cluste...

lab9

 import numpy as np from sklearn.datasets import fetch_olivetti_faces from sklearn.model_selection import train_test_split, cross_val_score from sklearn.naive_bayes import GaussianNB from sklearn.metrics import accuracy_score, classification_report, confusion_matrix import matplotlib.pyplot as plt data = fetch_olivetti_faces(shuffle=True, random_state=42) X, y = data.data, data.target X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) gnb = GaussianNB() gnb.fit(X_train, y_train) y_pred = gnb.predict(X_test) print(f'Accuracy: {accuracy_score(y_test, y_pred) * 100:.2f}%') print("\nClassification Report:") print(classification_report(y_test, y_pred, zero_division=0)) print("\nConfusion Matrix:") print(confusion_matrix(y_test, y_pred)) missing_labels = set(np.unique(y_test)) - set(np.unique(y_pred)) if missing_labels:     print(f"\n⚠️ Labels not predicted at all: {missing_labels}") cv_accuracy = cross_val_score(gn...

lab8

 import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score from sklearn import tree data = load_breast_cancer() X_train, X_test, y_train, y_test = train_test_split(     data.data, data.target, test_size=0.2, random_state=42 ) clf = DecisionTreeClassifier(random_state=42) clf.fit(X_train, y_train) accuracy = accuracy_score(y_test, clf.predict(X_test)) print(f"Accuracy: {accuracy * 100:.2f}%") prediction_class = "Benign" if clf.predict([X_test[0]]) == 1 else "Malignant" print(f"Predicted Class: {prediction_class}") plt.figure(figsize=(12, 8)) tree.plot_tree(     clf,     filled=True,     feature_names=data.feature_names,     class_names=data.target_names ) plt.title("Decision Tree - Breast Cancer Dataset") plt.show()

lab7

 import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import fetch_california_housing from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.preprocessing import PolynomialFeatures, StandardScaler from sklearn.pipeline import make_pipeline from sklearn.metrics import mean_squared_error, r2_score def plot_results(X_test, y_test, y_pred, xlabel, ylabel, title):     plt.scatter(X_test, y_test, color="blue", label="Actual")     plt.plot(X_test, y_pred, color="red", label="Predicted")     plt.xlabel(xlabel)     plt.ylabel(ylabel)     plt.title(title)     plt.legend()     plt.show()     print(f"{title}")     print("Mean Squared Error:", mean_squared_error(y_test, y_pred))     print("R^2 Score:", r2_score(y_test, y_pred)) def linear_regression():     data = fetch_california_housing...

lab6

import numpy as np import matplotlib.pyplot as plt def gaussian_kernel(x, xi, tau):     return np.exp(-np.sum((x - xi) ** 2) / (2 * tau ** 2)) def locally_weighted_regression(x, X, y, tau):     m = X.shape[0]     weights = np.array([gaussian_kernel(x, X[i], tau) for i in range(m)])     W = np.diag(weights)     X_transpose_W = X.T @ W     theta = np.linalg.inv(X_transpose_W @ X) @ X_transpose_W @ y     return x @ theta np.random.seed(42) X = np.linspace(0, 2 * np.pi, 100) y = np.sin(X) + 0.1 * np.random.randn(100) X_bias = np.c_[np.ones(X.shape), X] x_test = np.linspace(0, 2 * np.pi, 200) x_test_bias = np.c_[np.ones(x_test.shape), x_test] tau = 0.5 y_pred = np.array([locally_weighted_regression(xi, X_bias, y, tau) for xi in x_test_bias]) plt.figure(figsize=(10, 6)) plt.scatter(X, y, color='red', label='Training Data', alpha=0.7) plt.plot(x_test, y_pred, color='blue', label=f'LWR Fit (tau={tau})', linewidth=2) plt.xlabe...

lab5

import numpy as np import matplotlib.pyplot as plt from collections import Counter x_values = np.random.rand(100) labels = np.array(["Class1" if x <= 0.5 else "Class2" for x in x_values[:50]]) print(x_values) print("--------------------------------------") print(labels) def knn_classify(x_train, y_train, x_test, k):     predictions = []     for x in x_test:         distances = np.abs(x_train - x)         k_nearest_indices = np.argsort(distances)[:k]         k_nearest_labels = y_train[k_nearest_indices]         most_common = Counter(k_nearest_labels).most_common(1)[0][0]         predictions.append(most_common)     return np.array(predictions) k_values = [1, 2, 3, 4, 5, 20, 30] results = {} for k in k_values:     predicted_labels = knn_classify(x_values[:50], labels, x_values[50:], k)     results[k] = predicted_labels plt.figure(figsize=(...

lab4

 import pandas as pd def find_s_algorithm(file_path):     data = pd.read_csv(file_path)     print("\nTraining Data:\n", data)     attributes = data.columns[:-1]     label = data.columns[-1]     hypothesis = None     for index, row in data.iterrows():         if row[label].strip().lower() == 'yes':             hypothesis = list(row[attributes])             break     for index, row in data.iterrows():         if row[label].strip().lower() == 'yes':             for i in range(len(attributes)):                 if hypothesis[i] != row[attributes[i]]:                     hypothesis[i] = '?'     return hypothesis file = "C:\\Users\\deepa\\OneDrive\\Desktop\\Book1.csv" hypothesis = find_s_algori...