import xgboost as xgb import pandas as pd import pickle from sklearn.model_selection import train_test_split data = { "study_hours": [1,2,3,4,5,6,7,8,2,3,5,6,7,1,4], "attendance": [50,55,60,65,70,75,80,85,60,65,75,80,85,45,68], "assignments_completed": [1,1,2,2,3,3,4,4,2,2,3,3,4,1,2], "previous_marks": [30,35,40,45,50,55,60,65,42,48,53,58,62,28,47], "pass": [0,0,0,0,1,1,1,1,0,0,1,1,1,0,0] } df = pd.DataFrame(data) X = df.drop("pass", axis=1) y = df["pass"] X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, random_state=42 ) model = xgb.XGBClassifier( objective="binary:logistic", eval_metric="logloss", use_label_encoder=False ) model.fit(X_train, y_train) with open("model.pkl", "wb") as f: pickle.dump(model, f) print("Model saved as model.pkl")