EXPERIMENT: 1-(A)
Code:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_error
from sklearn.model_selection import train_test_split
data = pd.read_excel("salary.csv.xlsx")
print("Dataset Columns:", data.columns.tolist())
print("\nFirst 10 Rows:\n", data.head(10))
X = data[["Years of Experience"]]
y = data["Salary"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
print("Model Coefficients:", model.coef_)
print("Model Intercept:", model.intercept_)
print("R² Score:", r2_score(y_test, y_pred))
print("Mean Squared Error:", mean_squared_error(y_test, y_pred))
print("Mean Absolute Error:", mean_absolute_error(y_test, y_pred))
plt.figure(figsize=(8,6))
plt.scatter(X_test, y_test, color="blue", label="Actual Data")
plt.plot(X_test, y_pred, color="red", linewidth=2, label="Regression Line")
plt.title("Salary Prediction using Linear Regression")
plt.xlabel("Years of Experience")
plt.ylabel("Salary")
plt.legend()
plt.show()
Output:
EXPERIMENT: 1-(B)
Code:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_diabetes
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_error
from sklearn.model_selection import train_test_split
diabetes = load_diabetes()
X = diabetes.data
y = diabetes.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
print("Model Coefficients:", model.coef_)
print("Model Intercept:", model.intercept_)
print("R² Score:", r2_score(y_test, y_pred))
print("Mean Squared Error:", mean_squared_error(y_test, y_pred))
print("Mean Absolute Error:", mean_absolute_error(y_test, y_pred))
X_bmi = diabetes.data[:, np.newaxis, 2]
X_train_bmi, X_test_bmi, y_train_bmi, y_test_bmi = train_test_split(X_bmi, y, test_size=0.2, random_state=42)
model_bmi = LinearRegression()
model_bmi.fit(X_train_bmi, y_train_bmi)
y_pred_bmi = model_bmi.predict(X_test_bmi)
plt.figure(figsize=(8,6))
plt.scatter(X_test_bmi, y_test_bmi, color="blue", label="Actual Data")
plt.plot(X_test_bmi, y_pred_bmi, color="red", linewidth=2, label="Regression Line")
plt.title("Diabetes Progression Prediction (Using BMI Feature)")
plt.xlabel("BMI")
plt.ylabel("Disease Progression")
plt.legend()
plt.show()
Output: