Как вы делаете прогноз для новых наблюдений с помощью модели sklearn? - PullRequest
0 голосов
/ 07 февраля 2020

Итак, это похоже на глупый вопрос, но я не могу понять, как на самом деле использовать созданный мной текстовый предиктор машинного обучения.

Я использовал несколько видео на YouTube, чтобы bru sh до контролируемого машинного обучения, чтобы делать прогнозы из текста. В большинстве видео для фильтрации спама или текстовых сообщений использовался классический c Ham или Spam-предиктор, и я закодировал и, похоже, преуспел в том, что видео пыталось научить меня.

X_train, X_test, y_train, y_test = train_test_split(X,
                                                    y,
                                                    test_size=0.2,
                                                    random_state=37)

cvec = CountVectorizer(stop_words='english')

X_train_cvec = cvec.fit_transform(X_train)
X_test_cvec = cvec.transform(X_test)
lr = LogisticRegression()
lr.fit(X_train_cvec, y_train)

print(f'Training Score for CountVectorizer: {lr.score(X_train_cvec, y_train)}')
print(f'Testing Score for CountVectorizer: {lr.score(X_test_cvec, y_test)}')

Training Score for CountVectorizer: 0.9961857751851021
Testing Score for CountVectorizer: 0.9865470852017937

Но после видео закончилось, я понял, что понятия не имею, как на самом деле это реализовать. Ни в одном из этих видео они на самом деле не показали мне, как проверить это на данных, где я не знаю заранее, каков ответ, и я не могу понять это на всю жизнь.

Чтобы прояснить, что я имею в виду, я хочу иметь возможность вставить текст типа «как дела» и «ПОЗДРАВЛЕНИЕ», который вы только что выбрали для «бла-бла-бла», и посмотреть, может ли созданный мной предиктор предсказать, это Хэм (0 ) или спам (1).

1 Ответ

0 голосов
/ 07 февраля 2020

Все, что вам нужно сделать, это передать новые данные в функцию predict вашей модели, применяя все преобразования, которые вы использовали во время обучения.

В этом случае:

lr.predict(cvec.transform(X_new))

, где X_new содержит новые наблюдения.

...