Files
labs/Module-3/5.XGBoost.ipynb

4.0 KiB

In [ ]:
import pandas as pd

Load data & Split

In [ ]:
df = pd.read_csv("file_pe_headers.csv", sep=",")
In [ ]:
y = df["Malware"]
x = df.drop(["Name","Malware"], axis=1).to_numpy()
In [ ]:
# Split the train and test set
from sklearn.model_selection import train_test_split
x_train, x_test,y_train,y_test =train_test_split(x,y,test_size=0.3)

Create XGBoost and Training

In [ ]:
# Create one instance of an XGBoost and train it on the training set:
from xgboost import XGBClassifier
XGB_model_instance = XGBClassifier()
XGB_model_instance.fit(x_train, y_train)

Validation

In [ ]:
# Assess its performance on the testing set
from sklearn.metrics import accuracy_score
from sklearn.metrics import classification_report , confusion_matrix
In [ ]:
# Predict using train model

y_test_pred = XGB_model_instance.predict(x_test)
In [ ]:
accuracy= accuracy_score(y_test, y_test_pred)
print("Accuracy: %.2f%%" % (accuracy*100))
In [ ]:
print("Confusion Matrix:")
print(confusion_matrix(y_test, y_test_pred))
In [ ]:
print("\nClassification Report:")
print(classification_report(y_test, y_test_pred))
In [ ]: