Ji bo ku di Python-ê de dabeşkerek perwerdekirî bi karanîna modula 'pickle' hilbijêrin, em dikarin çend gavên hêsan bişopînin. Pickling rê dide me ku em babetek rêz bikin û wê li pelek tomar bikin, ku paşê dikare were barkirin û paşê were bikar anîn. Ev bi taybetî bikêr e dema ku em dixwazin modelek fêrbûna makîneya perwerdekirî, wek dabeşkerek paşverû, ji bo karanîna pêşerojê bêyî ku her carê hewce bike ku wê ji nû ve perwerde bikin, hilînin.
Pêşîn, pêdivî ye ku em modula 'pickle' di nivîsara xweya Python de derxînin:
python import pickle
Dûv re, pêdivî ye ku em dabeşkerê xwe perwerde bikin û modela perwerdekirî bistînin. Werin em bihesibînin ku me ji berê ve dabeşkerek regresyonê perwerde kiriye û di guhêrbarek bi navê 'regression_model' de tomar kiriye.
Ji bo hilgirtina modela perwerdekirî, em dikarin fonksiyona 'pickle.dump()' bikar bînin. Ev fonksiyon du parameteran digire: tişta ku em dixwazin hildin (di vê rewşê de, dabeşkerê perwerdekirî), û pelê pelê ku em dixwazin tiştê tirşkirî lê hilînin. Em dikarin bi fonksiyona 'vekirî()' di moda nivîsandinê de pelek vekin.
python with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file)
Di koda jorîn de, em pelek bi navê 'regression_model.pkl' di moda binaryê ('wb') de vedikin û wê wekî pîvana duyemîn digihînin 'pickle.dump()'. Tesnîfkera perwerdekirî, ku di guherbara 'regression_model' de hatî hilanîn, tê hilanîn û li pelê tê hilanîn.
Naha, me bi serfirazî dabeşkera xweya perwerdekirî hilbijart. Em dikarin wê ji nû ve bar bikin bîra xwe dema ku hewcedariya me bi fonksiyona 'pickle.load()' hebe.
python with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file)
Di koda jorîn de, em pelê tirşkirî di moda xwendinê ya binaryê de ('rb') vedikin û wê wekî parametreyê derbas dikin 'pickle.load()'. Tişta tirşkirî di nav guhêrbara 'loaded_model' de tê barkirin, ku dikare ji bo pêşbînîkirinê an her karekî din were bikar anîn.
Li vir mînakek bêkêmasî ye ku hilgirtin û barkirina dabeşkerek regresyonê ya perwerdekirî destnîşan dike:
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)
Di mînaka jorîn de, em pêşî modelek regresyonê ya hêsan a bi karanîna pola 'LinearRegression' ji modula 'sklearn.linear_model' perwerde dikin. Dûv re em modela perwerdekirî li pelek bi navê 'regression_model.pkl' hildibijêrin. Dûv re, em modela tirşkirî ji pelê bar dikin û wê bikar tînin da ku nirxa têketina ceribandinê 'X_test' texmîn bikin.
Bi hilgirtin û barkirina dabeşkerê perwerdekirî, em dikarin modelê ji nû ve bi kar bînin bêyî ku hewcedariya wê ji nû ve perwerde bikin, ku dikare gelek dem û çavkaniyên hesabkerî xilas bike.
Pirs û bersivên din ên vê dawiyê di derbarê Eytc/AI/MLP Fêrbûna Makîneyê bi Python:
- Makîneya Vektora Piştgiriyê (SVM) çi ye?
- Ma algorîtmaya cîranên herî nêzîk K ji bo avakirina modelên fêrbûna makîneya perwerdekirî baş maqûl e?
- Ma algorîtmaya perwerdehiya SVM bi gelemperî wekî dabeşkerek xêzek binar tê bikar anîn?
- Ma algorîtmayên regresyonê dikarin bi daneyên domdar re bixebitin?
- Ma regresyona xêzîkî bi taybetî ji bo pîvandinê xweş e?
- Wateya guheztina firehiya bandê ya dînamîkî çawa bi adapteyî pîvana bandê li ser bingeha dendika xalên daneyê eyar dike?
- Armanca danasîna giranan ji komên taybetmendiyê re di navgîniya veguheztina bandwidthê ya dînamîkî de çi ye?
- Nirxa tîrêjê ya nû di nêzîkatiya bandwidtha dînamîkî ya navînî de çawa tê destnîşankirin?
- Nêzîkatiya guheztina navînî ya bandê ya dînamîkî çawa rê dide ku navendan rast rast bibîne bêyî kodkirina hişk a radiusê?
- Di algorîtmaya guheztina navîn de sînorê karanîna tîrêjek sabît çi ye?
Pir pirs û bersivan di Fêrbûna Makîneya EITC/AI/MLP de bi Python re bibînin