после обучения и тестирования, как мне обрабатывать новые данные? - PullRequest
1 голос
/ 27 января 2020

У меня есть 2 вопроса. У меня есть набор данных с сочетанием категориальных функций и чисел. Моя цель состоит в том, чтобы предсказать кредитную оценку отдельного лица.

Шаги, которые я предпринял для набора данных1 , заключаются в следующем:

1) Отброшены категорические признаки из фрейм данных
2) Onehotencoded категориальные признаки
3) pd.concat категориальные признаки вернулись с основным фреймом данных и сбросили целевую переменную
4) train_test_split в 70% для обучения и 30% для
5) применил PCA, fit_transform обучающий набор и transform тестовый набор
6) обнаружил, что работает случайный лес, поэтому я использовал RandomForestClassifier в качестве основного al go
7 ) протестировал модель и получил показатель точности 80%
8) настроил модель и улучшил ее до 81%

Теперь у меня есть новая куча данных, давайте назовем ее dataset2 . Я повторил шаги с 1 по 3 с ТОЛЬКО новыми наборами данных. Затем я просто отбросил целевую переменную и использовал RF.predict(). Я знаю, что это неправильно, и я думаю, что я должен соответствовать al go, но формы отличаются. Train_test_split только набор данных2 один, чтобы соответствовать al go не имеет смысл для меня, тогда какова цель dataset1 ? Я извиняюсь за то, что являюсь нубом, но я очень запутался в том, как обрабатывать и прогнозировать переменные с новым набором данных.

Должен ли я 1) повторно обучать мою модель? Если так, как я должен go сделать это? 2) Конкатить ли я новый набор данных2 в dataset1 и разделить его снова? Это было то, что я сделал для dataset1

RF = RandomForestClassifier() 
model = RF.fit(x_train1, y_train)
y_pred = model.predict(x_test1)  

Это было то, что я сделал для dataset2

new_pred= model.predict(x_test2)

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

Любые другие решения приветствуются.

1 Ответ

2 голосов
/ 27 января 2020

Ну, это имеет больше смысла для форм.

Что я могу предложить, так как иногда со мной случается, это проверить ваше распределение данных: о чем ваши данные из каждого набора данных? Я объяснил себе: однажды у меня была такая же проблема, когда я классифицировал людей по увлечениям. Мой поезд, разработчик, тестовый набор взят из данных, которые я получил о людях, живущих в городе. Но несколько недель спустя, когда я попробовал свой классификатор на людях, живущих в сельской местности, это плохо. Действительно, два набора данных не приходят из одного и того же распределения.

Я думаю, может быть, вы столкнулись с той же проблемой. проверьте ваши два набора данных.

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