sklearn.neighbors.KNeighborsClassifier
использует все наблюдения из данных вашего поезда, в то время как, как следует из названия, sklearn.ensemble.RandomForestClassifier
использует данные случайным образом, поэтому вы можете ожидать разные результаты от Random Forest на одну итерацию. Теперь перейдем к вопросу использования его в разных системах, это сложно, но вы можете попробовать следующий подход (хотя я еще не проверял это).
1). Подберите модель случайного леса для ваших данных с некоторыми значениями random_state
, скажем random_state = 0
2). Импортируйте pickle
, создайте объект rf.pkl
, который будет сохранен в вашем текущем рабочем каталоге.
3). Дамп текущего объекта модели Random Forest в объект pickle.
import pickle
pkl = 'rf.pkl'
with open(pkl,'wb') as file:
pickle.dump(rf,file)
4). Передайте объектный файл pickle другому пользователю / системе.
5). Сохраните объект рассола в некотором месте и установите его в качестве рабочего каталога.
6). Откройте Python в этой системе, введите код python, чтобы прочитать данные.
7). Вместо создания новой модели загрузите протравленную модель, используя следующие строки кода:
with open(pkl,'rb') as file:
pkl_model = pickle.load(file)
8). Проверьте, работает ли ваша протравленная модель и дает те же результаты, что и в другой системе.
Я не проверял этот подход, но я думаю, что вы должны попробовать это и сообщить мне, если это работает. Ура !!