Posts

Pgr-10

import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns 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 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) 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['Cluster'] = y_kmeans // cluster label Kmeans df['True Label'] = y plt.figure(figsize=(8, 6)) sns.scatterplot(data=df, x='PC1', y='PC2', hue=...

Pgr-9

import scipy.io import numpy as np from sklearn.model_selection import train_test_split from sklearn.naive_bayes import GaussianNB from sklearn.metrics import classification_report, accuracy_score import matplotlib.pyplot as plt import warnings warnings.filterwarnings("ignore") data = scipy.io.loadmat('olivettifaces.mat') X = data['faces'].T  # shape (400, 4096) y = np.repeat(np.arange(40), 10) X_train, X_test, y_train, y_test = train_test_split(     X, y, test_size=0.3, random_state=42, stratify=y ) model = GaussianNB() model.fit(X_train, y_train) y_pred = model.predict(X_test) accuracy = accuracy_score(y_test, y_pred) report = classification_report(y_test, y_pred) print(f"Accuracy: {accuracy * 100:.2f}%") print("Classification Report:") print(report) n_samples = 20 indices = np.random.choice(len(X_test), n_samples, replace=False) images = X_test[indices].reshape(n_samples, 64, 64).transpose(0, 2, 1) true_labels = y_test[indices] pred_labe...

Pgr-8

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 = data.data y = data.target X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) clf = DecisionTreeClassifier(random_state=42) clf.fit(X_train, y_train) y_pred = clf.predict(X_test) accuracy = accuracy_score(y_test, y_pred) print(f"Model Accuracy: {accuracy * 100:.2f}%") new_sample = np.array([X_test[0]]) prediction = clf.predict(new_sample) prediction_class = "Benign" if prediction == 1 else "Malignant" print(f"Predicted Class for the new sample: {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 ...

Pgr-7

import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.preprocessing import PolynomialFeatures from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error, r2_score from sklearn.impute import SimpleImputer import seaborn as sns import warnings warnings.filterwarnings("ignore") df_boston = pd.read_csv("Boston housing dataset.csv") print("Columns in dataset:", df_boston.columns.tolist()) X = df_boston.drop("MEDV", axis=1) y = df_boston["MEDV"] imputer = SimpleImputer(strategy='mean') X = pd.DataFrame(imputer.fit_transform(X), columns=X.columns) rm_index = df_boston.columns.get_loc("RM") - 1  X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) lr_model = LinearRegression() lr_model.fit(X_train, y_train) y_pred = lr_model.predict(X_test) mse = mean_squared_error(y_test...

Pgr-6

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) # Plot training data plt.plot(x_test, y_pred, color='blue', label=f'LWR Fit (tau={tau})', linewidth=2) # ...

Pgr-5

import numpy as np import matplotlib.pyplot as plt from collections import Counter data = np.random.rand(100) labels = ["Class1" if x <= 0.5 else "Class2" for x in data[:50]] def euclidean_distance(x1, x2):  return abs(x1 - x2) def knn_classifier(train_data, train_labels, test_point, k):  distances = [(euclidean_distance(test_point, train_data[i]), train_labels[i]) for i in   range(len(train_data))]  distances.sort(key=lambda x: x[0])  k_nearest_neighbors = distances[:k]  k_nearest_labels = [label for _, label in k_nearest_neighbors]  return Counter(k_nearest_labels).most_common(1)[0][0]  train_data = data[:50]  train_labels = labels  test_data = data[50:]  k_values = [1, 2, 3, 4, 5, 20, 30]  print("--- k-Nearest Neighbors Classification ---")  print("Training dataset: First 50 points labeled based on the rule (x <= 0.5 -> Class1, x > 0.5 ->  Class2)")  print("Testing dataset: Remaining 50 poi...

Pgr-4

 import pandas as pd def find_s_algorithm(file_path):  data = pd.read_csv(file_path)  print("Training data:")  print(data)  attributes = data.columns[:-1]   class_label = data.columns[-1]   for index, row in data.iterrows():  if row[class_label] == 'Yes':   hypothesis = list(row[attributes])    break  for index, row in data.iterrows():  if row[class_label] == 'Yes':   for i, value in enumerate(row[attributes]):    if hypothesis[i] != value:      hypothesis[i] = '?' # Generalize hypothesis return hypothesis file_path = 'training_data.csv' # Provide the file path hypothesis = find_s_algorithm(file_path) print("\nThe final hypothesis is:", hypothesis)