ABHAYMLFILE
ABHAYMLFILE
# Feature scaling
scaler = StandardScaler()
Name: Abhay Chand Ramola
Course: BCA(6) Sec: A
Roll No: 2121020(05)
Subject: Fundamental of Machine Learning
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
# Evaluation metrics
accuracy = accuracy_score(y_test, y_pred)
conf_matrix = confusion_matrix(y_test, y_pred)
print(f"Accuracy:, {accuracy}")
print(f"Confusion matrix:\n{conf_matrix} ")
Output:
Accuracy:, 0.8370588235294117
Confusion matrix:
[[1397 259]
[ 295 1449]]
Name: Abhay Chand Ramola
Course: BCA(6) Sec: A
Roll No: 2121020(05)
Subject: Fundamental of Machine Learning
Problem Statement : Write a python program to implement ID3 algorithm using entropy in decision tree.
Source Code:
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score,confusion_matrix
#Data preprocessing
#Dropping any rows with missing values
df.dropna(inplace=True)
#Feature Scaling
scaler=StandardScaler()
X_train_scaled=scaler.fit_transform(X_train)
X_test_scaled=scaler.transform(X_test)
Name: Abhay Chand Ramola
Course: BCA(6) Sec: A
Roll No: 2121020(05)
Subject: Fundamental of Machine Learning
#Decision Tree model
model=DecisionTreeClassifier(criterion='entropy') #Using ID#(Entropy) criterion
#Model evaluation
accuracy=accuracy_score(y_test,y_pred)
print("Accuracy: ",accuracy)
print("Confusion matrix : \n",conf_matrix)
Output:
Accuracy: 0.025588235294117648
Confusion matrix :
[[1397 259]
[ 295 1449]]
Name: Abhay Chand Ramola
Course: BCA(6) Sec: A
Roll No: 2121020(05)
Subject: Fundamental of Machine Learning
Problem Statement: Write a python program to implement CART algorithm for decision tree.
Source Code:
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score,confusion_matrix
#Data Preprocessing
#Dropping any rows with missing values
df.dropna(inplace=True)
#Feature Scaling
scaler=StandardScaler()
X_train_scaled=scaler.fit_transform(X_train)
X_test_scaled=scaler.transform(X_test)
Name: Abhay Chand Ramola
Course: BCA(6) Sec: A
Roll No: 2121020(05)
Subject: Fundamental of Machine Learning
#CART (Decision Tree)model
model.fit(X_train_scaled,y_train)
#Model evaluation
accuracy=accuracy_score(y_test,y_pred)
print("Accuracy: ",accuracy)
print("Confusion matrix : \n",conf_matrix)
Output:
Accuracy: 0.023823529411764705
Confusion matrix :
[[1397 259]
[ 295 1449]]
Name: Abhay Chand Ramola
Course: BCA(6) Sec: A
Roll No: 2121020(05)
Subject: Fundamental of Machine Learning
Problem Statement: Write a python program to implement SVM using linear kernel on iris.csv.
Source Code:
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.metrics import classification_report,accuracy_score
url="http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
column_names=['sepal_length','sepal_width','petal_length','petal_width','species']
iris=pd.read_csv(url ,header=None, names=column_names)
print(iris.head())
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=42)
scaler=StandardScaler()
X_train=scaler.fit_transform(X_train)
X_test=scaler.transform(X_test)
svm=SVC(kernel='linear',random_state=42)
svm.fit(X_train,y_train)
y_pred=svm.predict(X_test)
Name: Abhay Chand Ramola
Course: BCA(6) Sec: A
Roll No: 2121020(05)
Subject: Fundamental of Machine Learning
accuracy=accuracy_score(y_test,y_pred)
print(f"Accuracy:{accuracy:.2f}")
print(classification_report(y_test,y_pred))
Output:
sepal_length sepal_width petal_length petal_width species
0 5.1 3.5 1.4 0.2 Iris-setosa
1 4.9 3.0 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
3 4.6 3.1 1.5 0.2 Iris-setosa
4 5.0 3.6 1.4 0.2 Iris-setosa
Accuracy:0.98
precision recall f1-score support
accuracy 0.98 45
macro avg 0.98 0.97 0.97 45
weighted avg 0.98 0.98 0.98 45
Name: Abhay Chand Ramola
Course: BCA(6) Sec: A
Roll No: 2121020(05)
Subject: Fundamental of Machine Learning
Problem Statement: Write a python program to carry out visualization for each feature separately .
Source Code:
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.datasets import load_iris
# PCA Visualization
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)
Output:
Name: Abhay Chand Ramola
Course: BCA(6) Sec: A
Roll No: 2121020(05)
Subject: Fundamental of Machine Learning
Problem Statement: Write a program to data analyse using supervised algorithms building a predictive
model for customer churn in a subscription based bussiness.
Source Code:
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
import joblib
data = {
'CustomerID': customer_ids,
'JoinDate': join_dates,
'ChurnDate': churn_dates,
'ChurnStatus': churn_status
}
df = pd.DataFrame(data)
Name: Abhay Chand Ramola
Course: BCA(6) Sec: A
Roll No: 2121020(05)
Subject: Fundamental of Machine Learning
return df
return df
model.fit(X_train, y_train)
Name: Abhay Chand Ramola
Course: BCA(6) Sec: A
Roll No: 2121020(05)
Subject: Fundamental of Machine Learning
return model
def main():
# Step 1: Generate data
df = generate_customer_churn_data()
Output:
Accuracy: 0.975
Classification Report:
precision recall f1-score support
0 1.00 0.85 0.92 33
1 0.97 1.00 0.99 167
Confusion Matrix:
[[ 28 5]
[ 0 167]]
Model saved successfully.
Name: Abhay Chand Ramola
Course: BCA(6) Sec: A
Roll No: 2121020(05)
Subject: Fundamental of Machine Learning