Machine Learning Assignment
Machine Learning Assignment
import os
for dirname, _, filenames in os.walk('/kaggle/input'):
for filename in filenames:
print(os.path.join(dirname, filename))
Included Techniques:
Evaluation Metrics:
R² Score (Regression)
Confusion Matrix, F1 Score (Classification)
Silhouette Score (Clustering)
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
📈 Regression Models
1️⃣ Simple Linear Regression
In [5]: from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train[:, [0]], y_train)
y_pred = model.predict(X_test[:, [0]])
R² Score: 0.6804469009921283
R² Score: 0.8804332983749564
model = LinearRegression()
model.fit(X_poly, y_train)
y_pred = model.predict(poly.transform(X_test))
R² Score: 0.8650480765142721
4️⃣ Ridge and Lasso Regression
In [8]: from sklearn.linear_model import Ridge, Lasso
🤖 Classification Models
Lasso R²: 0.8822147639745545
log_model = LogisticRegression()
log_model.fit(X_train, y_train)
log_preds = log_model.predict(X_test)
nb_model = GaussianNB()
nb_model.fit(X_train, y_train)
nb_preds = nb_model.predict(X_test)
Confusion Matrix:
[[ 23 11]
[ 18 148]]
Classification Report:
precision recall f1-score support
knn_model = KNeighborsClassifier(n_neighbors=5)
knn_model.fit(X_train, y_train)
knn_preds = knn_model.predict(X_test)
tree_model = DecisionTreeClassifier(random_state=0)
tree_model.fit(X_train, y_train)
tree_preds = tree_model.predict(X_test)
Confusion Matrix:
[[ 20 14]
[ 11 155]]
Classification Report:
precision recall f1-score support
svm_model = SVC()
svm_model.fit(X_train, y_train)
svm_preds = svm_model.predict(X_test)
Confusion Matrix:
[[ 19 15]
[ 8 158]]
Classification Report:
precision recall f1-score support
/usr/local/lib/python3.11/dist-packages/sklearn/neural_network/_multilayer_p
erceptron.py:686: ConvergenceWarning: Stochastic Optimizer: Maximum iteratio
ns (300) reached and the optimization hasn't converged yet.
📊 Clustering Models
warnings.warn(
hclust = AgglomerativeClustering(n_clusters=2).fit(X_scaled)
print("Hierarchical Clustering Silhouette Score:", silhouette_score(X_scaled
📌 Conclusion
This notebook demonstrates the application of various machine learning
algorithms to predict student performance. We implemented multiple regression
models, classification algorithms, and clustering techniques to analyze the
dataset and evaluate the effectiveness of each model.
Submitted by:
Raunak Kumar Singh
University Name:
Atmaram Sanatan Dharma College
Course Name:
B.sc Computer Science Hons
Date of Submission:
15-04-2025