Я пытаюсь изменить строковые значения системных вызовов API на числа, чтобы моя модель научилась классифицировать вредоносное ПО.
У меня уже есть один код, который работает с этим набором данных
/>ссылка: https://github.com/mpasco/MalbehavD-V1
этот набор данных не имеет меток, указывающих тип вредоносного ПО, но если это просто вредоносное ПО,
но когда я пытаюсь использовать то же самое код для формы данных
ссылка: https://github.com/khas-ccip/api_sequen ... e_datasets
это классифицирует вредоносное ПО
Все, что я могу получить, это неуместные значения или все значения Nan, как я и ожидал, должны быть числовыми представлениями вызовов API.
Код, который я использовал для классификации вредоносных программ или нет, и насколько я могу судить, он работает хорошо.
data = pd.read_csv('data.csv' ,header=0)
tokenizer = Tokenizer()
# Convert the values in each row to strings before passing to fit_on_texts
tokenizer.fit_on_texts([' '.join(map(str, row)) for row in data.iloc[:, 1:-1].values]) # Train on all events
# Update apply to work with Series objects
sequences = data.iloc[:, 1:-1].apply(lambda row: tokenizer.texts_to_sequences([' '.join(map(str, row))])[0], axis=1)
padded_sequences = pad_sequences(sequences, maxlen=150, padding='post')
labels = data['malware'].astype(int).values
X = padded_sequences
y = labels
также я использовал этот код для разделения и разделения файлов API VirusShare и VirusSample
dataA = pd.read_csv('VirusShare.csv')
dataB = pd.read_csv('VirusSample.csv')
data = pd.concat([dataA, dataB], ignore_index=True)
df = pd.DataFrame(data)
split_api = df['api'].str.split(',', expand=True)
df_split = pd.concat([df.drop(columns=['api']), split_api], axis=1)
df_split.to_csv('df_split.csv', index=False)
Подробнее здесь: https://stackoverflow.com/questions/792 ... l-training
Токенизация строковых значений для обучения модели ИИ ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение