"Даршилсан ногоо" модулийг ашиглан Python хэл дээр бэлтгэгдсэн ангилагчийг даршилж авахын тулд бид хэд хэдэн энгийн алхмуудыг дагаж болно. Pickling нь объектыг цуваа болгож файлд хадгалах боломжийг олгодог бөгөөд дараа нь ачаалж, дараа нь ашиглах боломжтой. Энэ нь регрессийн ангилагч гэх мэт бэлтгэгдсэн машин сургалтын загварыг цаашид ашиглахын тулд дахин сургах шаардлагагүйгээр хадгалахыг хүссэн үед ялангуяа ашигтай байдаг.
Эхлээд бид Python скрипт дээрээ 'даршилсан ногоо' модулийг импортлох хэрэгтэй:
python import pickle
Дараа нь бид ангилагчаа сургаж, бэлтгэгдсэн загварыг олж авах хэрэгтэй. Бид аль хэдийн регрессийн ангилагчийг сургаж, түүнийгээ 'регрессийн_загвар' хэмээх хувьсагчид хадгалсан гэж бодъё.
Сургагдсан загварыг даршилж авахын тулд бид 'pickle.dump()' функцийг ашиглаж болно. Энэ функц нь хоёр параметрийг авдаг: бидний даршилахыг хүсч буй объект (энэ тохиолдолд бэлтгэгдсэн ангилагч), даршилсан объектыг хадгалахыг хүссэн файлын объект. Бид 'open()' функцийг ашиглан хоёртын файл бичих горимд файл нээж болно.
python with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file)
Дээрх кодонд бид 'regression_model.pkl' нэртэй файлыг бичих хоёртын горимд ('wb') нээж, 'pickle.dump()'-д хоёр дахь параметр болгон дамжуулдаг. 'регрессийн_загвар' хувьсагчд хадгалагдсан бэлтгэгдсэн ангилагчийг даршилж файлд хадгална.
Одоо бид бэлтгэгдсэн ангилагчаа амжилттай даршилж авлаа. Бид үүнийг хэрэгтэй үед 'pickle.load()' функцийг ашиглан санах ойд буцааж ачаалж болно.
python with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file)
Дээрх кодонд бид даршилсан файлыг унших хоёртын горимд ('rb') нээж, 'pickle.load()'-д параметр болгон дамжуулдаг. Даршилсан объектыг 'loaded_model' хувьсагч руу ачаалдаг бөгөөд үүнийг урьдчилан таамаглах болон бусад үйлдлүүдэд ашиглаж болно.
Энд бэлтгэгдсэн регрессийн ангилагчийн даршилж, ачааллыг харуулсан бүрэн жишээ энд байна.
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)
Дээрх жишээн дээр бид эхлээд 'sklearn.linear_model' модулийн 'LinearRegression' классыг ашиглан энгийн шугаман регрессийн загварыг сургадаг. Дараа нь бид бэлтгэгдсэн загварыг 'regression_model.pkl' нэртэй файл руу дарна. Дараа нь бид даршилсан загварыг файлаас ачаалж, 'X_test' туршилтын оролтын утгыг таамаглахад ашигладаг.
Сургалтанд хамрагдсан ангилагчийг даршилж, ачаалснаар бид загварыг дахин сургах шаардлагагүйгээр дахин ашиглах боломжтой бөгөөд энэ нь цаг хугацаа, тооцооллын нөөцийг ихээхэн хэмнэнэ.
Сүүлийн үеийн бусад асуулт, хариулт Python ашиглан EITC/AI/MLP Machine Learning:
- Дэмжих вектор машин (SVM) гэж юу вэ?
- Хамгийн ойрын хөршүүдийн K алгоритм нь сургах боломжтой машин сургалтын загвар бүтээхэд тохиромжтой юу?
- SVM сургалтын алгоритмыг хоёртын шугаман ангилагч болгон ашигладаг уу?
- Регрессийн алгоритмууд тасралтгүй өгөгдөлтэй ажиллах боломжтой юу?
- Шугаман регресс нь масштаблахад тохиромжтой юу?
- Дамжуулах динамик зурвасын өргөн нь өгөгдлийн цэгүүдийн нягтрал дээр үндэслэн зурвасын өргөний параметрийг хэрхэн тохируулдаг вэ?
- Дундаж шилжилтийн динамик зурвасын өргөнийг хэрэгжүүлэхэд функцийн багцад жин оноох зорилго нь юу вэ?
- Дундаж шилжилтийн динамик зурвасын өргөний хандлагад шинэ радиусын утгыг хэрхэн тодорхойлох вэ?
- Дундаж шилжих динамик зурвасын өргөн нь радиусыг хатуу кодлохгүйгээр центроидуудыг зөв олоход хэрхэн тусалдаг вэ?
- Дундаж шилжих алгоритмд тогтмол радиусыг ашиглах хязгаарлалт юу вэ?
Python ашиглан EITC/AI/MLP Machine Learning-д илүү олон асуулт, хариултыг харна уу