text_plain_output_1.png
from imblearn.over_sampling import SMOTE

import pandas as pd

DoS = pd.read_csv('/kaggle/input/car-security/DoS_dataset.csv')
DoS.rename(inplace=True, columns={'1478198376.389427': 'Timestamp', '0316': 'CAN_ID', '8': 'DLC', '05': 'Data0', '21': 'Data1', '68': 'Data2', '09': 'Data3', '21.1': 'Data4', '21.2': 'Data5', '00': 'Data6', '6f': 'Data7', 'R': 'flag'})

DoS = DoS.dropna()

DoS['Timestamp'] = pd.to_datetime(DoS['Timestamp'], unit='s')
DoS['Timestamp'] = DoS['Timestamp'].apply(lambda x: int(x.timestamp()))
DoS['CAN_ID'] = DoS['CAN_ID'].apply(lambda x: int(x, 16))
DoS['Data0'] = DoS['Data0'].apply(lambda x: int(x, 16))
DoS['Data1'] = DoS['Data1'].apply(lambda x: int(x, 16))
DoS['Data2'] = DoS['Data2'].apply(lambda x: int(x, 16))
DoS['Data3'] = DoS['Data3'].apply(lambda x: int(x, 16))
DoS['Data4'] = DoS['Data4'].apply(lambda x: int(x, 16))
DoS['Data5'] = DoS['Data5'].apply(lambda x: int(x, 16))
DoS['Data6'] = DoS['Data6'].apply(lambda x: int(x, 16))
DoS['Data7'] = DoS['Data7'].apply(lambda x: int(x, 16))
DoS['DLC'] = DoS['DLC'].astype(int)

X = DoS[['Timestamp', 'CAN_ID', 'DLC', 'Data0', 'Data1', 'Data2', 'Data3', 'Data4', 'Data5', 'Data6', 'Data7']]
y = DoS['flag']

from imblearn.over_sampling import SMOTE
smt = SMOTE()
X_sm, y_sm = smt.fit_resample(X, y)
y_sm.value_counts(normalize=True)

DoS1 = pd.concat([X_sm, y_sm], axis=1)

DoS1 = DoS1.dropna()

display(DoS1.dtypes)