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

2.6 KiB

In [ ]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
In [ ]:
malware_dataset = pd.read_csv("MalwareArtifacts.csv", delimiter=',')
In [ ]:
# Extracting artifacts smaples fields # MajourLinkerVersion, MajorImageVersion, MajorOperatingSystemVersion,DllCharacteristics
samples = malware_dataset.iloc[:, [1,2,3,4]].values
targets = malware_dataset.iloc[:, 8].values
In [ ]:
k_means = KMeans(n_clusters=2, max_iter=100)
k_means.fit(samples)
In [ ]:
print("K-Means labels: " + str(k_means.labels_))
print("\n K-means clustering reulsts \n\n", pd.crosstab(targets, k_means.labels_, rownames = ["Observerd"], colnames=["Predicted"]))
print ("\nSilhouette coefficient: %0.3f" % silhouette_score(samples, k_means.labels_, metric='euclidean')) 
In [ ]: