Če želite izbrati usposobljenega klasifikatorja v Pythonu z uporabo modula 'pickle', lahko sledimo nekaj preprostim korakom. Pickling nam omogoča, da serializiramo predmet in ga shranimo v datoteko, ki jo lahko nato naložimo in uporabimo pozneje. To je še posebej uporabno, ko želimo shraniti usposobljen model strojnega učenja, kot je regresijski klasifikator, za prihodnjo uporabo, ne da bi ga morali vsakič znova usposobiti.
Najprej moramo uvoziti modul 'pickle' v naš skript Python:
python import pickle
Nato moramo usposobiti naš klasifikator in pridobiti usposobljen model. Predpostavimo, da smo že usposobili regresijski klasifikator in ga shranili v spremenljivko, imenovano 'regression_model'.
Za luženje izurjenega modela lahko uporabimo funkcijo 'pickle.dump()'. Ta funkcija ima dva parametra: objekt, ki ga želimo piklirati (v tem primeru usposobljeni klasifikator), in objekt datoteke, kamor želimo shraniti piklirani objekt. Datoteko lahko odpremo v zapisovalnem binarnem načinu s funkcijo 'open()'.
python with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file)
V zgornji kodi odpremo datoteko z imenom 'regression_model.pkl' v zapisovalnem binarnem načinu ('wb') in jo posredujemo kot drugi parameter 'pickle.dump()'. Usposobljeni klasifikator, shranjen v spremenljivki 'regression_model', se izbere in shrani v datoteko.
Sedaj smo uspešno izbrali našega usposobljenega klasifikatorja. Kadar koli ga potrebujemo, ga lahko naložimo nazaj v pomnilnik s funkcijo 'pickle.load()'.
python with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file)
V zgornji kodi odpremo pickled datoteko v bralnem binarnem načinu ('rb') in jo posredujemo kot parameter 'pickle.load()'. Izbrani objekt se naloži v spremenljivko 'loaded_model', ki se lahko uporablja za predvidevanje ali katere koli druge operacije.
Tukaj je popoln primer, ki prikazuje luženje in nalaganje usposobljenega regresijskega klasifikatorja:
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)
V zgornjem primeru najprej urimo preprost linearni regresijski model z uporabo razreda 'LinearRegression' iz modula 'sklearn.linear_model'. Izurjeni model nato dodamo v datoteko z imenom 'regression_model.pkl'. Kasneje naložimo izbrani model iz datoteke in ga uporabimo za predvidevanje vrednosti za testni vnos 'X_test'.
Z luženjem in nalaganjem usposobljenega klasifikatorja lahko ponovno uporabimo model, ne da bi ga bilo treba ponovno usposobiti, kar lahko prihrani veliko časa in računalniških virov.
Druga nedavna vprašanja in odgovori v zvezi EITC/AI/MLP Strojno učenje s Pythonom:
- Kaj je stroj podpornih vektorjev (SVM)?
- Ali je algoritem K najbližjih sosedov zelo primeren za gradnjo učljivih modelov strojnega učenja?
- Ali se algoritem za usposabljanje SVM pogosto uporablja kot binarni linearni klasifikator?
- Ali lahko regresijski algoritmi delujejo z zveznimi podatki?
- Ali je linearna regresija posebej primerna za skaliranje?
- Kako dinamična pasovna širina srednjega premika prilagodi parameter pasovne širine glede na gostoto podatkovnih točk?
- Kakšen je namen dodeljevanja uteži naborom funkcij v implementaciji dinamične pasovne širine srednjega premika?
- Kako se določi nova vrednost radija v pristopu dinamične pasovne širine srednjega premika?
- Kako pristop dinamične pasovne širine srednjega premika obravnava pravilno iskanje centroidov brez trdega kodiranja polmera?
- Kakšna je omejitev uporabe fiksnega radija v algoritmu srednjega premika?
Oglejte si več vprašanj in odgovorov v EITC/AI/MLP Strojno učenje s Pythonom