За кисељење обученог класификатора у Питхон-у помоћу модула 'пицкле', можемо пратити неколико једноставних корака. Пиклинг нам омогућава да серијализирамо објекат и сачувамо га у датотеку, која се затим може учитати и користити касније. Ово је посебно корисно када желимо да сачувамо обучени модел машинског учења, као што је класификатор регресије, за будућу употребу без потребе да га сваки пут поново обучавамо.
Прво, морамо да увеземо модул 'пицкле' у нашу Питхон скрипту:
python import pickle
Затим морамо да обучимо наш класификатор и добијемо обучени модел. Претпоставимо да смо већ обучили класификатор регресије и ускладиштили га у променљивој под називом 'регрессион_модел'.
За кисељење обученог модела можемо користити функцију 'пицкле.думп()'. Ова функција узима два параметра: објекат који желимо да депилирамо (у овом случају обучени класификатор) и фајл објекат где желимо да сачувамо укисељени објекат. Можемо отворити датотеку у бинарном режиму писања користећи функцију 'опен()'.
python with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file)
У горњем коду отварамо датотеку под називом 'регрессион_модел.пкл' у бинарном режиму писања ('вб') и прослеђујемо је као други параметар у 'пицкле.думп()'. Обучени класификатор, ускладиштен у променљивој 'регрессион_модел', се бира и чува у датотеци.
Сада смо успешно укиселили наш обучени класификатор. Можемо га поново учитати у меморију кад год нам затреба помоћу функције 'пицкле.лоад()'.
python with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file)
У горњем коду отварамо пикирани фајл у бинарном режиму читања ('рб') и прослеђујемо га као параметар у 'пицкле.лоад()'. Пикирани објекат се учитава у променљиву 'лоадед_модел', која се може користити за предвиђање или било које друге операције.
Ево комплетног примера који демонстрира кисељење и учитавање обученог регресионог класификатора:
python import pickle from sklearn.linear_model import LinearRegression # Training the regression model X_train = [[1], [2], [3], [4], [5]] y_train = [2, 4, 6, 8, 10] regression_model = LinearRegression() regression_model.fit(X_train, y_train) # Pickling the trained model with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file) # Loading the pickled model with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file) # Using the loaded model for prediction X_test = [[6]] predicted_value = loaded_model.predict(X_test) print(predicted_value)
У горњем примеру, прво тренирамо једноставан модел линеарне регресије користећи класу 'ЛинеарРегрессион' из модула 'склеарн.линеар_модел'. Затим обучени модел састављамо у датотеку под називом 'регрессион_модел.пкл'. Касније учитавамо укисељени модел из датотеке и користимо га да предвидимо вредност за тест улаз 'Кс_тест'.
Састављањем и учитавањем обученог класификатора, можемо поново користити модел без потребе да га поново обучавамо, што може уштедети значајну количину времена и рачунарских ресурса.
Остала недавна питања и одговори у вези ЕИТЦ/АИ/МЛП машинско учење са Питхоном:
- Шта је машина за подршку векторима (СВМ)?
- Да ли је алгоритам К најближих суседа погодан за изградњу модела машинског учења који се могу обучити?
- Да ли се СВМ алгоритам за обуку обично користи као бинарни линеарни класификатор?
- Да ли алгоритми регресије могу да раде са континуираним подацима?
- Да ли је линеарна регресија посебно погодна за скалирање?
- Како значи померање динамичког пропусног опсега прилагодљиво прилагођавање параметра пропусног опсега на основу густине тачака података?
- Која је сврха додељивања пондера скуповима карактеристика у имплементацији динамичког пропусног опсега средњег померања?
- Како се нова вредност радијуса одређује у приступу динамичког пропусног опсега средњег померања?
- Како приступ динамичког пропусног опсега средњег померања правилно управља проналажењем центара без тврдог кодирања радијуса?
- Које је ограничење коришћења фиксног радијуса у алгоритму средњег померања?
Погледајте више питања и одговора у ЕИТЦ/АИ/МЛП машинском учењу са Питхон-ом