Я работаю над школьным проектом ML по обнаружению спам-SMS, поэтому у меня есть мой набор данных, и теперь моя проблема в том, чтобы иметь возможность выбирать функции из набора данных с использованием генетического алгоритма, который я не знаю, как этого добиться, и является обязательным в соответствии с описанием проекта, пожалуйста, мне нужна помощь. Спасибо.
import string
from nltk.corpus import stopwords
def textPreProcess(text):
punctuationsToNone = str.maketrans('', '', string.punctuation)
text = text.translate(punctuationsToNone)
text = [word for word in text.split() if word.lower() not in stopwords.words("english")]
return " ".join(text)
извлечение признаков с помощью генетического алгоритма
из nltk.stem import SnowballStemmer
импортировать нлтк
nltk.download ( "стоп-слова")
def stemming (текст):
words = map (лямбда-т: SnowballStemmer ("английский"). stem (t), text.split ())
return "" .join (слова)
Копируем сообщение в новый DataFrame
.
тексты = смс ['сообщение']. Копия ()
# And apply the pre-processing methods to the new DataFrame
texts = texts.apply(textPreProcess)
texts = texts.apply(stemming)
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer("english")
features = vectorizer.fit_transform(texts)
это мой прогресс в выборе функции, но я думаю, что поступаю неправильно.