CatBoost এবং Scikit-Learn হল দুইটি জনপ্রিয় মেশিন লার্নিং লাইব্রেরি যা ডেটা বিজ্ঞান এবং বিশ্লেষণের ক্ষেত্রে ব্যবহৃত হয়। CatBoost একটি বিশেষ ধরনের Gradient Boosting লাইব্রেরি যা ক্যাটেগোরিক্যাল ডেটার জন্য বিশেষভাবে ডিজাইন করা হয়েছে, এবং Scikit-Learn হল Python-এর জন্য একটি ব্যাপক মেশিন লার্নিং লাইব্রেরি যা বিভিন্ন অ্যালগরিদম এবং সরঞ্জাম সরবরাহ করে। এই দুইটি লাইব্রেরির মধ্যে সংযোগ তৈরি করা যায় যাতে CatBoost-এর শক্তিশালী বৈশিষ্ট্যগুলি Scikit-Learn-এর পরিবেশে ব্যবহার করা যায়।
CatBoost মডেলগুলি Scikit-Learn-এর API-এর মতো ডিজাইন করা হয়েছে, যা Scikit-Learn-এর মডেলগুলির সাথে সহজেই একত্রিত করা সম্ভব করে। CatBoostClassifier এবং CatBoostRegressor হল CatBoost-এর ক্লাসগুলি যা Scikit-Learn-এর ক্লাসগুলির মতো ব্যবহার করা যায়।
Scikit-Learn-এর GridSearchCV বা RandomizedSearchCV ব্যবহার করে CatBoost মডেলের হাইপারপ্যারামিটার টিউনিং করা যেতে পারে। এটি CatBoost মডেলের কার্যকারিতা বাড়াতে সহায়ক।
নিচে একটি উদাহরণ দেওয়া হলো যেখানে CatBoostClassifier এবং Scikit-Learn ব্যবহার করা হয়েছে:
pip install catboost scikit-learn
import pandas as pd
from sklearn.model_selection import train_test_split
# উদাহরণ ডেটাসেট তৈরি করুন
data = {
'feature1': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'feature2': ['A', 'B', 'A', 'B', 'A', 'B', 'A', 'B', 'A', 'B'],
'target': [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
}
df = pd.DataFrame(data)
# ডেটা ভাগ করা: 80% ট্রেনিং এবং 20% টেস্টিং
X = df[['feature1', 'feature2']]
y = df['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
from catboost import CatBoostClassifier
# ক্যাটেগোরিক্যাল বৈশিষ্ট্যগুলি উল্লেখ করুন
categorical_features_indices = [1] # feature2 হল ক্যাটেগোরিক্যাল ফিচার
# CatBoostClassifier মডেল তৈরি করা
model = CatBoostClassifier(iterations=100, learning_rate=0.1, depth=6, cat_features=categorical_features_indices, verbose=0)
# মডেল প্রশিক্ষণ
model.fit(X_train, y_train)
from sklearn.model_selection import GridSearchCV
# হাইপারপ্যারামিটার সেট আপ করুন
param_grid = {
'iterations': [50, 100],
'depth': [4, 6],
'learning_rate': [0.05, 0.1],
}
# GridSearchCV ব্যবহার করুন
grid_search = GridSearchCV(estimator=model, param_grid=param_grid, scoring='accuracy', cv=3)
grid_search.fit(X_train, y_train)
# সেরা প্যারামিটারগুলি দেখান
print("Best parameters:", grid_search.best_params_)
# সেরা মডেল দিয়ে পূর্বাভাস করা
best_model = grid_search.best_estimator_
predictions = best_model.predict(X_test)
# ফলাফল দেখানো
print("\nPredictions:")
print(predictions)
CatBoost এবং Scikit-Learn এর সংযোগ ব্যবহারকারীদের জন্য একটি শক্তিশালী এবং নমনীয় মেশিন লার্নিং প্ল্যাটফর্ম তৈরি করে। CatBoost-এর ক্যাটেগোরিক্যাল ডেটার জন্য বিশেষায়িত কৌশলগুলি এবং Scikit-Learn-এর সাধারণ মডেলিং কাঠামো একত্রে একটি কার্যকরী এবং কার্যকরী সমাধান প্রদান করে। এই প্রযুক্তিগুলি ব্যবহার করে আপনি আপনার মডেলগুলিকে সহজেই প্রশিক্ষণ এবং অপ্টিমাইজ করতে পারবেন।
আরও দেখুন...