как я могу протестировать свою модель с использованием другого набора данных в машинном обучении - PullRequest
0 голосов
/ 14 июля 2020

Я новичок в машинном обучении, и я создаю один небольшой проект, используя модель CountVectorizer. Я разделяю свои данные на 80% -20%. 80% для обучающей модели и 20% для тестовой модели. моя модель работает правильно на 20% тестовых данных, но могу ли я использовать ее для тестирования моей модели на другом наборе данных, который похож на набор обучающих данных?

Я использую joblib для дампа и загрузки моей модели.

from joblib import dump, load
dump(pipe, filename)

loaded_model = load('filename')

у меня вопрос, как я напрямую тестирую свою модель, используя другой набор данных?

1 Ответ

0 голосов
/ 14 июля 2020

Да, вы можете использовать модель для тестирования аналогичных наборов данных.

Однако вы должны помнить об этапе предварительной обработки в соответствии с моделью.

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

Пример:

предположим, что у вас есть следующий объект векторизатора счетчика

cv = CountVectorizer()

, тогда вы должны сначала поместить его в свой обучающий набор данных, например,

X = dataframe['text_column_name']
X = cv.fit_transform(X) # Fit the Data

Как только это будет сделано, когда у вас появится новое предложение, скажем

test_sentence = "this is a test sentence"

, тогда вы должны использовать объект cv следующим образом

model_input = cv.transform([test_sentence]).toarray()

, а затем вы можете делать прогнозы:

model.predict(model_input)

Этому методу необходимо следовать, даже если вы sh для тестирования нового набора данных, который находится во фрейме данных или другом формате файла.

...