Files
labs/Module-5/1.Malware_detection_DT.ipynb

3.0 KiB

In [ ]:
import pandas as pd
import numpy as np
from sklearn import *
from sklearn.metrics import accuracy_score
In [ ]:
malware_dataset = pd.read_csv("MalwareArtifacts.csv", delimiter=',')
In [ ]:
#Extract artifacts samples fileds "AddressOfEntryPoint" and "DLLCharacteristics"
samples = malware_dataset.iloc[:, [0, 4]].values
targets = malware_dataset.iloc[:, 8].values
In [ ]:
from sklearn.model_selection import train_test_split
training_samples, testing_samples, training_targets, testing_targets = train_test_split(samples, targets, test_size = 0.2, random_state = 0)
In [ ]:
from sklearn import tree
tree_classifer = tree.DecisionTreeClassifier()
tree_classifer.fit(training_samples, training_targets)
predictions = tree_classifer.predict(testing_samples)
accuracy = 100* accuracy_score(testing_targets, predictions)
print("Decision Tree accuracy: " + str(accuracy))
In [ ]:
from sklearn.metrics import classification_report , confusion_matrix

print("Confusion Matrix:")
print(confusion_matrix(testing_targets, predictions))

print("\nClassification Report:")
print(classification_report(testing_targets, predictions))
In [ ]: