JustPaste
HomeCategoriesAboutDonateContactTerms of UsePrivacy Policy
JustPaste

Free online notepad — write and share instantly

Navigate

  • Home
  • Timeline
  • Categories

Info

  • About
  • Donate
  • Contact

Legal

  • Terms of Use
  • Privacy Policy

© 2026 JustPaste.app. All rights reserved.

Made with ♥ by JustPaste

Untitled Page | JustPaste.app
28 days ago2 views
👨‍💻Programming
PGM 1

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.datasets import fetch_california_housing

housing = fetch_california_housing(as_frame=True)
df = housing.frame

print(f"Shape: {df.shape}\nColumns: {df.columns.tolist()}")
df.info()
print("\nFirst 5 rows:\n", df.head())

df.hist(figsize=(15, 10), bins=30, edgecolor='black')
plt.suptitle("Histograms of All Numerical Features", fontsize=16)
plt.tight_layout()

plt.figure(figsize=(15, 6))
sns.boxplot(data=df)
plt.title("Boxplots of All Numerical Features")
plt.xticks(rotation=45)
plt.show()

print("\nOutlier Detection using IQR Method:")
Q1 = df.quantile(0.25)
Q3 = df.quantile(0.75)
IQR = Q3 - Q1

outliers_count = ((df < (Q1 - 1.5 * IQR)) | (df > (Q3 + 1.5 * IQR))).sum()
print(outliers_count)
-----------------------------------------------------------------------------------------------------------------------------------------------------------

PGM 2

import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.datasets import fetch_california_housing

df = fetch_california_housing(as_frame=True).frame

print(df.head(), "\nCorrelation Matrix:\n", df.corr())

plt.figure(figsize=(10, 8))
sns.heatmap(df.corr(), annot=True, cmap="coolwarm", fmt=".2f", linewidths=0.5)
plt.title("Correlation Matrix Heatmap - California Housing")

sns.pairplot(df[["MedInc", "HouseAge", "AveRooms", "Population", "MedHouseVal"]],
             diag_kind='hist')
plt.show()
--------------------------------------------------------------------------------------------------------------------------------------------------------

PGM 3

import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.decomposition import PCA

iris = datasets.load_iris()
X_pca = PCA(n_components=2).fit_transform(iris.data)

print("First 5 PCA values:")
print(X_pca[:5])

plt.scatter(X_pca[:, 0], X_pca[:, 1], c=iris.target)
plt.xlabel("pc1")
plt.ylabel("pc2")
plt.title("PCA on Iris Dataset")
plt.show()
-----------------------------------------------------------------------------------------------------------------------------------------------------------

PGM 4

import pandas as pd

data = {
    'Sky': ['Sunny', 'Sunny', 'Rainy', 'Sunny'],  
    'Temp': ['Warm', 'Warm', 'Cold', 'Warm'],
    'Humidity': ['Normal', 'High', 'High', 'High'],
    'Wind': ['Strong', 'Strong', 'Strong', 'Strong'],
    'Water': ['Warm', 'Warm', 'Warm', 'Cool'],
    'Forecast': ['Same', 'Same', 'Change', 'Change'],
    'Enjoy': ['Yes', 'Yes', 'No', 'Yes']
}

df = pd.DataFrame(data)

def find_s(df):
    X = df.iloc[:, :-1].values
    y = df.iloc[:, -1].values

    hypothesis = list(X[0])

    for i in range(len(X)):
        if y[i] == "Yes":
            for j in range(len(hypothesis)):
                if hypothesis[j] != X[i][j]:
                    hypothesis[j] = '?'
    return hypothesis

result = find_s(df)
print("Learned Hypothesis:")
print("<" + " AND ".join(str(f) for f in result) + ">")
------------------------------------------------------------------------------------------------------------------------------------------------------------------

PGM 5

import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import KNeighborsClassifier

np.random.seed(42)

X_train = np.random.rand(50, 1)
y_train = np.array([1 if x <= 0.5 else 2 for x in X_train.ravel()])
X_test = np.random.rand(50, 1)

k_values = [1, 2, 3, 4, 5, 20, 30]

plt.figure(figsize=(12, 8))

for i, k in enumerate(k_values, 1):
    knn = KNeighborsClassifier(n_neighbors=k).fit(X_train, y_train)
    y_pred = knn.predict(X_test)

    plt.subplot(2, 4, i)
    plt.scatter(X_train, y_train, color='blue', label='Train', s=15)
    plt.scatter(X_test, y_pred, color='red', label=f'k={k}', marker='x')
    plt.title(f'KNN with k={k}')
    plt.xlabel('x')
    plt.ylabel('class')
    plt.ylim(0, 3)
    plt.legend()

plt.tight_layout()
plt.show()
---------------------------------------------------------------------------------------------------------------------------------------------------------

PGM 6

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import fetch_california_housing

data = fetch_california_housing()
x = data.data[:200, 2:3]
y = data.target[:200]

def lwr_predict(X_train, y_train, X_test, tau):
    m = X_train.shape[0]
    X_aug = np.hstack([np.ones((m, 1)), X_train])
    X_test_aug = np.hstack([np.ones((1, 1)), X_test])

    weights = np.exp(-np.sum((X_train - X_test)**2, axis=1) / (2 * tau**2))
    W = np.diag(weights)

    theta = np.linalg.pinv(X_aug.T @ W @ X_aug) @ (X_aug.T @ W @ y_train)
    return X_test_aug @ theta

X_test_range = np.linspace(x.min(), x.max(), 100)
taus = [0.1, 0.5, 1.0, 2.0]

plt.figure(figsize=(10, 6))
plt.scatter(x, y, alpha=0.5, label="Data Points")

for tau in taus:
    y_pred = [lwr_predict(x, y, np.array([[val]]), tau) for val in X_test_range]
    plt.plot(X_test_range, y_pred, label=f"LWR (tau={tau})")

plt.title("Locally Weighted Regression (LWR)")
plt.xlabel("Average Number of Rooms (AveRooms)")
plt.ylabel("Median House Value")
plt.legend()
plt.show()
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

PGM 7

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.pipeline import make_pipeline
from sklearn.preprocessing import PolynomialFeatures, StandardScaler
from sklearn.metrics import mean_squared_error, r2_score

# Linear Regression
h = fetch_california_housing(as_frame=True)
X, y = h.data[['AveRooms']], h.target
Xtr, Xte, ytr, yte = train_test_split(X, y, test_size=0.2, random_state=42)

lr = LinearRegression().fit(Xtr, ytr)
yp = lr.predict(Xte)

plt.scatter(Xte, yte, c='b')
plt.plot(Xte, yp, 'r')
plt.title("Linear Regression")
plt.xlabel("AveRooms")
plt.ylabel("House Value")
plt.show()

print("Linear Regression")
print("MSE:", mean_squared_error(yte, yp))
print("R2:", r2_score(yte, yp))

# Polynomial Regression
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data"
cols = ["mpg","cyl","disp","hp","wt","acc","year","org"]
df = pd.read_csv(url, sep=r"\s+", names=cols, na_values="?").dropna()

X, y = df[['disp']], df.mpg
Xtr, Xte, ytr, yte = train_test_split(X, y, test_size=0.2, random_state=42)

model = make_pipeline(PolynomialFeatures(2), StandardScaler(), LinearRegression())
model.fit(Xtr, ytr)
yp = model.predict(Xte)

plt.scatter(Xte, yte, c='b')
plt.scatter(Xte, yp, c='r')
plt.title("Polynomial Regression")
plt.xlabel("Displacement")
plt.ylabel("MPG")
plt.show()

print("\nPolynomial Regression")
print("MSE:", mean_squared_error(yte, yp))
print("R2:", r2_score(yte, yp))
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

PGM 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, plot_tree
from sklearn.metrics import accuracy_score

data = load_breast_cancer()

X_train, X_test, y_train, y_test = train_test_split(
    data.data, data.target, test_size=0.3, random_state=42
)

clf = DecisionTreeClassifier(random_state=42).fit(X_train, y_train)

y_pred = clf.predict(X_test)
print(f"Accuracy score: {accuracy_score(y_test, y_pred)*100:.2f}%")

new_sample = np.zeros((1, 30))
new_sample[0, :5] = [15.2, 20.3, 100.1, 0.1, 0.3]

prediction = clf.predict(new_sample)
print(f"Prediction: {data.target_names[prediction][0]}")

plt.figure(figsize=(12, 8))
plot_tree(clf, filled=True, feature_names=data.feature_names,
          class_names=data.target_names, rounded=True)
plt.title("Decision Tree for Breast Cancer Classification")
plt.show()
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

PGM 9

import matplotlib.pyplot as plt
from sklearn.datasets import fetch_olivetti_faces
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.decomposition import PCA
from sklearn.metrics import accuracy_score

faces = fetch_olivetti_faces(shuffle=True, random_state=42)

X_train, X_test, y_train, y_test = train_test_split(
    faces.data, faces.target, test_size=0.2, random_state=42)

nb = GaussianNB().fit(X_train, y_train)
y_pred = nb.predict(X_test)

print(f"Accuracy of the Naive Bayes classifier: {accuracy_score(y_test, y_pred)*100:.2f}%")

fig, axes = plt.subplots(2, 5, figsize=(12, 6))
for i, ax in enumerate(axes.flat):
    ax.imshow(X_test[i].reshape(64, 64), cmap='gray')
    ax.set_title(f"Pred: {y_pred[i]} True: {y_test[i]}")
    ax.axis('off')

plt.tight_layout()
plt.show()

pca = PCA(n_components=100, whiten=True, random_state=42)
X_train_pca = pca.fit_transform(X_train)
X_test_pca = pca.transform(X_test)

nb_pca = GaussianNB().fit(X_train_pca, y_train)
acc_pca = accuracy_score(y_test, nb_pca.predict(X_test_pca))

print(f"Accuracy with PCA: {acc_pca*100:.2f}%")
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

PGM 10

import matplotlib.pyplot as plt
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 accuracy_score, confusion_matrix

data = load_breast_cancer()

X_scaled = StandardScaler().fit_transform(data.data)

kmeans = KMeans(n_clusters=2, random_state=42).fit(X_scaled)
y_km = kmeans.labels_

X_pca = PCA(2).fit_transform(X_scaled)
centers_pca = PCA(2).fit_transform(kmeans.cluster_centers_)

print(f"Accuracy: {accuracy_score(data.target, y_km)*100:.2f}%")
print("Confusion Matrix:\n", confusion_matrix(data.target, y_km))

plt.scatter(X_pca[:, 0], X_pca[:, 1], c=y_km, cmap='viridis', s=50)
plt.scatter(centers_pca[:, 0], centers_pca[:, 1], c='red', marker='x', s=200, label='centroids')
plt.title("K-Means Clustering on Breast Cancer Data")
plt.legend()
plt.show()
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
← Back to timeline