মডেল ট্রেনিং এবং টিউনিং একটি মেশিন লার্নিং প্রক্রিয়ার অত্যন্ত গুরুত্বপূর্ণ অংশ। এটি ডেটা থেকে শেখার জন্য মডেলকে প্রস্তুত করে এবং তার কার্যকারিতা বাড়াতে সাহায্য করে। এখানে Amazon SageMaker ব্যবহার করে মডেল ট্রেনিং এবং টিউনিংয়ের প্রক্রিয়া উদাহরণসহ বিস্তারিত আলোচনা করা হলো।
ধাপ ১: লাইব্রেরি ইমপোর্ট করা
প্রথমে, SageMaker এবং অন্যান্য প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করুন।
import boto3
import sagemaker
from sagemaker import get_execution_role
from sagemaker.sklearn.estimator import SKLearn
ধাপ ২: সেশন এবং রোল সেট করা
SageMaker সেশন এবং আপনার IAM রোল সেট করুন।
# SageMaker সেশন তৈরি করুন
sagemaker_session = sagemaker.Session()
# IAM রোল
role = get_execution_role()
ধাপ ৩: ডেটা লোড করা
ডেটা S3 থেকে লোড করুন। ধরুন আমরা 'train_data.csv' এবং 'test_data.csv' ফাইল ব্যবহার করছি।
# S3 থেকে ডেটার পাথ
train_data_path = 's3://my-ml-data/train_data.csv'
test_data_path = 's3://my-ml-data/test_data.csv'
ধাপ ৪: মডেল ট্রেনিং
এখন আমরা একটি স্কikit-learn মডেল ট্রেন করবো। এখানে আমরা একটি সাধারণ রিগ্রেশন মডেল তৈরি করছি।
# স্কikit-learn Estimator তৈরি করুন
sklearn_estimator = SKLearn(
entry_point='train.py', # আপনার ট্রেনিং স্ক্রিপ্টের নাম
role=role,
instance_type='ml.m5.large', # ইন্সট্যান্সের প্রকার
sagemaker_session=sagemaker_session,
framework_version='0.23-1', # স্কikit-learn ভার্সন
py_version='py3',
metric_definitions=[
{'Name': 'r2_score', 'Regex': 'R^2 score: ([0-9\\.]+)'} # মেট্রিক সংজ্ঞায়িত করুন
]
)
# ট্রেনিং শুরু করুন
sklearn_estimator.fit({'train': train_data_path})
ধাপ ৫: মডেল টিউনিং
মডেল টিউনিংয়ের জন্য, আমরা SageMaker Hyperparameter Tuning ব্যবহার করতে পারি।
from sagemaker.tuner import HyperparameterTuner, IntegerParameter, ContinuousParameter, ObjectiveType
# টিউনিং প্যারামিটার সংজ্ঞায়িত করুন
hyperparameter_ranges = {
'max_depth': IntegerParameter(3, 10),
'n_estimators': IntegerParameter(50, 200),
'learning_rate': ContinuousParameter(0.01, 0.1)
}
# টিউনিং কাজ তৈরি করুন
tuner = HyperparameterTuner(
estimator=sklearn_estimator,
objective_metric='r2_score',
hyperparameter_ranges=hyperparameter_ranges,
max_jobs=10,
max_parallel_jobs=2,
objective_type=ObjectiveType.Maximize
)
# টিউনিং শুরু করুন
tuner.fit({'train': train_data_path})
ধাপ ৬: মডেল ডেপ্লয়মেন্ট
ট্রেনিং এবং টিউনিং শেষ হলে, মডেল ডেপ্লয় করতে পারেন।
# সেরা মডেল ডেপ্লয় করুন
predictor = tuner.deploy(initial_instance_count=1, instance_type='ml.m5.large')
ধাপ ৭: পূর্বাভাস করা
ডেপ্লয় করা মডেল থেকে পূর্বাভাস নিতে পারেন।
# পূর্বাভাসের জন্য ডেটা প্রস্তুত করুন
test_data = pd.read_csv('s3://my-ml-data/test_data.csv')
predictions = predictor.predict(test_data)
print(predictions)
ধাপ ৮: মডেল মেট্রিক্স মূল্যায়ন
আপনি মডেলটির কার্যকারিতা মূল্যায়ন করতে পারেন।
# R² স্কোর বের করুন
from sklearn.metrics import r2_score
# সত্য এবং পূর্বাভাসের ফলাফল তুলনা করুন
true_values = test_data['target_column']
print("R² score:", r2_score(true_values, predictions))
উপসংহার
এখন আপনি Amazon SageMaker ব্যবহার করে মডেল ট্রেনিং এবং টিউনিংয়ের প্রক্রিয়া সম্পর্কে জানেন। এই পদক্ষেপগুলি অনুসরণ করে, আপনি একটি কার্যকর মেশিন লার্নিং মডেল তৈরি এবং সেটি টিউন করতে পারবেন।
Read more