LightGBM এবং Large Datasets

লাইটজিবিএম (LightGBM) - Latest Technologies

298

LightGBM (Light Gradient Boosting Machine) হল একটি উন্নত মেশিন লার্নিং ফ্রেমওয়ার্ক, যা বিশেষভাবে বৃহৎ ডেটাসেটগুলির জন্য ডিজাইন করা হয়েছে। এটি দ্রুত প্রশিক্ষণ, কম মেমরি ব্যবহার এবং উচ্চ কার্যকারিতার জন্য পরিচিত। এখানে LightGBM এবং বড় ডেটাসেট ব্যবহারের বিষয়ে বিস্তারিত আলোচনা করা হলো।

১. LightGBM এর বৈশিষ্ট্য

  • দ্রুত প্রশিক্ষণ: LightGBM বৃহৎ ডেটাসেটে দ্রুত প্রশিক্ষণ দিতে পারে কারণ এটি একটি "leaf-wise" বুস্টিং কৌশল ব্যবহার করে, যা অন্যান্য গ্রেডিয়েন্ট বুস্টিং মডেলের তুলনায় অধিক কার্যকর।
  • কম মেমরি ব্যবহার: LightGBM মডেল প্রশিক্ষণের জন্য কম মেমরি ব্যবহার করে, যা বড় ডেটাসেট পরিচালনা করার জন্য সুবিধাজনক।
  • বৈশিষ্ট্যগুলির জন্য অটো বুস্টিং: LightGBM বিভিন্ন বৈশিষ্ট্যগুলির উপর ভিত্তি করে একটি স্বয়ংক্রিয় বুস্টিং কৌশল ব্যবহার করে, যা কার্যকারিতা বৃদ্ধি করে।
  • বহুভাষিক সমর্থন: LightGBM বিভিন্ন ভাষায় (যেমন Python, R, C++) সমর্থিত, যা ব্যবহারের জন্য সহজ করে তোলে।

২. বড় ডেটাসেট ব্যবহারে LightGBM

বড় ডেটাসেটের সাথে কাজ করার সময় LightGBM এর কিছু বিশেষ সুবিধা রয়েছে:

  • প্রযুক্তিগত সুবিধা: LightGBM হল একটি ডিস্ট্রিবিউটেড ফ্রেমওয়ার্ক, যা ডেটা পয়েন্টগুলিকে বিভিন্ন অংশে বিভক্ত করে এবং প্রতিটি অংশে আলাদাভাবে প্রশিক্ষণ দেয়।
  • ব্যাচ প্রশিক্ষণ: এটি ব্যাচ ভিত্তিতে ডেটা প্রক্রিয়া করতে সক্ষম, যা মেমরি ব্যবস্থাপনা উন্নত করে।
  • নিয়মিতকরণ কৌশল: LightGBM নিয়মিতকরণ কৌশল ব্যবহার করে, যা ওভারফিটিং সমস্যা কমাতে সহায়ক।

৩. LightGBM এর সাহায্যে বড় ডেটাসেট ব্যবহার

LightGBM এর সাথে বড় ডেটাসেট ব্যবহার করার একটি উদাহরণ নিচে দেওয়া হলো:

import lightgbm as lgb
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# বড় ডেটাসেট লোড করা (যেমন CSV ফাইল)
data = pd.read_csv('large_dataset.csv')  # আপনার বড় ডেটাসেটের নাম দিন
X = data.drop('target_column', axis=1)  # লক্ষ্য কলাম বাদ দিন
y = data['target_column']  # লক্ষ্য কলাম

# প্রশিক্ষণ এবং টেস্ট সেটে বিভক্ত করা
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# LightGBM Dataset তৈরি করা
train_data = lgb.Dataset(X_train, label=y_train)
test_data = lgb.Dataset(X_test, label=y_test, reference=train_data)

# হাইপারপ্যারামিটার সেটিং
params = {
    'objective': 'binary',  # বাইনারি ক্লাসিফিকেশন
    'metric': 'binary_logloss',  # মেট্রিক
    'boosting_type': 'gbdt',  # গ্রেডিয়েন্ট বুস্টিং
    'verbose': -1,
    'num_leaves': 31,  # গাছের পাতা সংখ্যা
    'learning_rate': 0.05,  # লার্নিং রেট
    'n_estimators': 20  # গাছের সংখ্যা
}

# মডেল প্রশিক্ষণ
gbm = lgb.train(params, train_data, num_boost_round=100, valid_sets=test_data, early_stopping_rounds=10)

# পূর্বাভাস তৈরি করা
y_pred = gbm.predict(X_test, num_iteration=gbm.best_iteration)
y_pred_binary = (y_pred > 0.5).astype(int)

# সঠিকতা গণনা করা
accuracy = accuracy_score(y_test, y_pred_binary)
print(f'Accuracy: {accuracy:.2f}')

৪. চ্যালেঞ্জ

বড় ডেটাসেট ব্যবহার করার সময় কিছু চ্যালেঞ্জও রয়েছে, যেমন:

  • ডেটা প্রিপ্রসেসিং: বড় ডেটাসেটের জন্য ডেটা পরিষ্কার এবং প্রস্তুত করার সময় অধিক সময় লাগতে পারে।
  • মেমরি সীমাবদ্ধতা: যদি ডেটাসেট অত্যন্ত বড় হয়, তবে প্রক্রিয়াকরণয়ের সময় মেমরি সমস্যা হতে পারে।

সারসংক্ষেপ

LightGBM একটি শক্তিশালী এবং কার্যকরী টুল যা বড় ডেটাসেটের সাথে কাজ করার জন্য উপযুক্ত। এর দ্রুত প্রশিক্ষণ, কম মেমরি ব্যবহার এবং উচ্চ কার্যকারিতা বড় ডেটাসেটে মডেল তৈরি করতে সাহায্য করে। LightGBM-এর সাহায্যে বড় ডেটাসেট ব্যবহার করা সহজ এবং কার্যকর, তবে ডেটা প্রিপ্রসেসিং এবং মেমরি সীমাবদ্ধতা বিষয়গুলির প্রতি মনোযোগ দিতে হবে।

LightGBM (Light Gradient Boosting Machine) বিশেষ করে বড় ডেটাসেটগুলির জন্য উন্নত করা হয়েছে এবং এটি এই ধরনের ডেটাসেটগুলিতে উচ্চ কার্যকারিতা প্রদান করে। এখানে বড় ডেটাসেটগুলির জন্য LightGBM-এর কার্যকারিতার কিছু মূল দিক তুলে ধরা হল:

1. দ্রুত প্রশিক্ষণ গতি

Histogram-Based Learning: LightGBM একটি হিস্টোগ্রাম ভিত্তিক অ্যালগরিদম ব্যবহার করে যা ডেটার ফিচারগুলিকে হিস্টোগ্রামে রূপান্তর করে। এই পদ্ধতি ডেটা প্রসেসিং সময়কে উল্লেখযোগ্যভাবে হ্রাস করে এবং প্রশিক্ষণের গতি বাড়ায়।

Parallel and GPU Learning: LightGBM মাল্টি-থ্রেডিং এবং GPU সমর্থন করে, যা প্রশিক্ষণের গতি আরও বাড়ায়। এটি বড় ডেটাসেটগুলির জন্য কার্যকরী এবং দ্রুত অ্যালগরিদম হিসেবে কাজ করে।

2. মেমরি কার্যকারিতা

Low Memory Usage: LightGBM মেমরির কার্যকারিতা উন্নত করে, কারণ এটি শুধুমাত্র প্রয়োজনীয় তথ্য সংরক্ষণ করে এবং হিস্টোগ্রাম তৈরি করে। ফলে এটি বড় ডেটাসেট পরিচালনা করতে সক্ষম হয় যা অন্যান্য অ্যালগরিদমে সম্ভব নাও হতে পারে।

Leaf-wise Growth: LightGBM গাছের বৃদ্ধি পদ্ধতি হিসেবে leaf-wise (পাতা ভিত্তিক) বৃদ্ধি ব্যবহার করে, যা গাছের উচ্চতাকে অতিক্রম করে এবং প্রতি পাতার মধ্যে আরও তথ্য সংগ্রহ করে। এটি মডেলের কার্যকারিতা বাড়ায় এবং মেমরি ব্যবহারে সাশ্রয়ী হয়।

3. স্কেলেবিলিটি

Large Datasets Handling: LightGBM অত্যন্ত স্কেলেবল, অর্থাৎ এটি প্রায় অসীম আকারের ডেটাসেট নিয়ে কাজ করতে পারে। এটি বড় ডেটা সেন্টারগুলিতে এবং ক্লাউড পরিবেশে ব্যবহার করা যায়।

Distributed Learning: LightGBM ক্লাস্টারগুলিতে ডেটা শেয়ারিং এবং প্রশিক্ষণের মাধ্যমে বড় ডেটাসেটের সাথে কাজ করার জন্য বিস্তৃত সমর্থন প্রদান করে। এটি বিভিন্ন নোডে প্রশিক্ষণের কাজ ভাগ করে।

4. উচ্চ কার্যকারিতা

Strong Predictive Power: LightGBM বড় ডেটাসেটে উচ্চ কার্যকারিতা প্রদর্শন করে। এটি উন্নত হাইপারপ্যারামিটার টিউনিং এবং ফিচার ইঞ্জিনিয়ারিংয়ের মাধ্যমে অসাধারণ ফলাফল দিতে সক্ষম।

Robustness: LightGBM বৈশিষ্ট্যের গুরুত্বকে বিবেচনায় নিয়ে কাজ করে, তাই এটি জটিল ডেটাসেটগুলিতে ভাল ফলাফল করতে পারে, এমনকি যখন ডেটা খুব বৈচিত্র্যময় হয়।

উদাহরণ: বড় ডেটাসেটে LightGBM ব্যবহার

import lightgbm as lgb
import pandas as pd
from sklearn.model_selection import train_test_split

# উদাহরণ বড় ডেটাসেট তৈরি
# এখানে আমরা একটি কৃত্রিম বড় ডেটাসেট তৈরি করছি
data_size = 10**6  # 1 মিলিয়ন উদাহরণ
X = pd.DataFrame({
    'feature1': np.random.rand(data_size),
    'feature2': np.random.rand(data_size),
    'feature3': np.random.choice(['A', 'B', 'C'], data_size),
})
y = np.random.randint(0, 2, data_size)  # বাইনারি টার্গেট

# ক্যাটাগরীক্যাল ফিচার সেট করা
X['feature3'] = X['feature3'].astype('category')

# ডেটাসেট বিভাজন
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# LightGBM ডেটা সেট তৈরি
train_data = lgb.Dataset(X_train, label=y_train, categorical_feature=['feature3'])

# LightGBM মডেল প্রশিক্ষণ
params = {
    'objective': 'binary',
    'metric': 'binary_logloss',
}

model = lgb.train(params, train_data)

# টেস্ট সেটের উপর পূর্বাভাস করা
predictions = model.predict(X_test)

উপসংহার

LightGBM বড় ডেটাসেটগুলির জন্য একটি শক্তিশালী এবং কার্যকরী গ্রেডিয়েন্ট বুস্টিং অ্যালগরিদম। এর দ্রুত প্রশিক্ষণ, মেমরি কার্যকারিতা, স্কেলেবিলিটি, এবং উচ্চ কার্যকারিতা বড় ডেটাসেটের সাথে কাজ করার জন্য এটিকে একটি আদর্শ পছন্দ করে তোলে। এটি গবেষণা এবং শিল্পে ব্যাপকভাবে ব্যবহৃত হয় এবং বড় ডেটার জগতে গুরুত্বপূর্ণ একটি টুল।

GOSS (Gradient-based One-Side Sampling) এবং EFB (Exclusive Feature Bundling) হল LightGBM এর দুইটি শক্তিশালী এবং দক্ষ কৌশল, যা গ্রেডিয়েন্ট বুস্টিং মডেলগুলির ট্রেনিং প্রক্রিয়াকে দ্রুত এবং কার্যকরী করতে সহায়ক। এই কৌশলগুলি মডেলের পারফরম্যান্স বৃদ্ধি এবং প্রশিক্ষণ সময় কমাতে সহায়তা করে। নিচে প্রতিটির বিস্তারিত আলোচনা করা হলো।

GOSS (Gradient-based One-Side Sampling)

GOSS হল একটি স্যাম্পলিং কৌশল যা মডেলের প্রশিক্ষণের সময় ডেটার স্যাম্পলিংয়ের প্রক্রিয়া উন্নত করতে ব্যবহৃত হয়। এটি মূলত উচ্চ-গ্রেডিয়েন্ট উদাহরণগুলির উপর ফোকাস করে, যা মডেলকে দ্রুত শিখতে সাহায্য করে।

প্রভাব এবং কাজের পদ্ধতি:

Gradient Selection: GOSS কৌশলটি প্রশিক্ষণের সময় উচ্চ গ্রেডিয়েন্টের উদাহরণগুলিকে সংরক্ষণ করে এবং নিম্ন গ্রেডিয়েন্টের উদাহরণগুলিকে কিছুটা কম করে। এর মাধ্যমে, গুরুত্বপূর্ণ তথ্য বজায় রাখা হয়, যা মডেলের পারফরম্যান্সে সহায়তা করে।

Sample Efficiency: GOSS এর মাধ্যমে কম সংখ্যক উদাহরণের উপর ভিত্তি করে দ্রুত এবং কার্যকরী প্রশিক্ষণ করা সম্ভব হয়। এটি মডেলটিকে গুরুত্বপূর্ণ বৈশিষ্ট্য এবং সম্পর্কগুলি শিখতে সহায়ক করে।

Speed and Accuracy: GOSS ব্যবহার করলে প্রশিক্ষণ সময় কমে যায় এবং মডেলের সঠিকতা বাড়ে, কারণ এটি গুরুত্বপূর্ণ উদাহরণগুলির প্রতি মনোযোগ দেয়।

EFB (Exclusive Feature Bundling)

EFB হল একটি কৌশল যা LightGBM-এ বিভিন্ন বৈশিষ্ট্য (features) গুচ্ছবদ্ধ করতে ব্যবহৃত হয়। এটি মূলত একই সময়ে বিভিন্ন বৈশিষ্ট্যের মধ্যে সম্পর্ককে কার্যকরভাবে মডেল করতে সহায়তা করে।

প্রভাব এবং কাজের পদ্ধতি:

Feature Bundling: EFB এর মাধ্যমে অ্যালগরিদম একসাথে কিছু বৈশিষ্ট্যকে গুচ্ছবদ্ধ করে, যা সাধারণত একে অপরকে একসাথে আপডেট করা হয়। যদি দুটি বৈশিষ্ট্য একে অপরের সাথে সংঘর্ষে না থাকে (যেমন, তারা একই সময়ে 1 হতে পারে না), তবে তাদের একসাথে সংযুক্ত করা হয়।

Dimensionality Reduction: এই পদ্ধতি বৈশিষ্ট্যের সংখ্যা কমিয়ে দেয়, যা মডেলটির প্রশিক্ষণকে দ্রুততর করে এবং কম মেমরি ব্যবহার নিশ্চিত করে।

Efficiency: EFB ব্যবহারে প্রশিক্ষণের সময় এবং শক্তি সাশ্রয় হয়, কারণ কম সংখ্যক বৈশিষ্ট্যের ওপর কাজ করতে হয়।

উপসংহার

GOSS এবং EFB হল LightGBM-এ ব্যবহৃত দুটি শক্তিশালী কৌশল যা মডেল প্রশিক্ষণকে আরও কার্যকরী এবং দক্ষ করে তোলে। GOSS উচ্চ গ্রেডিয়েন্টের উদাহরণগুলির প্রতি মনোযোগ দিয়ে প্রশিক্ষণ প্রক্রিয়া ত্বরান্বিত করে, যখন EFB বিভিন্ন বৈশিষ্ট্যকে গুচ্ছবদ্ধ করে এবং মেমরি ব্যবহারের দক্ষতা বাড়ায়। এই দুটি কৌশল LightGBM-কে একটি জনপ্রিয় এবং কার্যকরী গ্রেডিয়েন্ট বুস্টিং অ্যালগরিদম হিসাবে প্রতিষ্ঠিত করেছে, যা বৃহৎ ডেটাসেটের জন্য উপযুক্ত।

Memory Optimization এবং Training Efficiency মেশিন লার্নিং এবং ডেটা বিজ্ঞান প্রকল্পগুলিতে অত্যন্ত গুরুত্বপূর্ণ বিষয়। মডেল প্রশিক্ষণের সময় মেমরি ব্যবহারের কার্যকরী কৌশলগুলি এবং প্রশিক্ষণের গতি বাড়ানোর জন্য বিভিন্ন প্রযুক্তি জানা থাকা আবশ্যক। নিচে এই দুটি ধারণার বিশদ আলোচনা করা হলো।

Memory Optimization

Memory Optimization হল মডেল প্রশিক্ষণের সময় ব্যবহৃত মেমরির সঠিক এবং কার্যকর ব্যবহার নিশ্চিত করার প্রক্রিয়া। এটি মেমরি খরচ কমাতে এবং প্রশিক্ষণের সময় বৃদ্ধি করতে সাহায্য করে।

Memory Optimization-এর কৌশল:

ডেটা টাইপ পরিবর্তন:

  • ব্যবহার করুন float32 বা int8 এর মতো ছোট ডেটা টাইপ। উদাহরণস্বরূপ, float64 এর পরিবর্তে float32 ব্যবহার করে মেমরি সাশ্রয় করা যেতে পারে।

ডেটা প্রিপ্রসেসিং:

  • ডেটাকে প্রিপ্রসেস করে অপ্রয়োজনীয় বৈশিষ্ট্যগুলি বাদ দিন, যা মেমরি ব্যবহার কমাতে সহায়ক। ডেটা ক্লিনিং এবং ফিচার সিলেকশনের মাধ্যমে মেমরি অপ্টিমাইজেশন করা যায়।

Batch Training:

  • ডেটা ব্যাচ আকারে প্রশিক্ষণ দিন। পুরো ডেটাসেট একবারে লোড করার পরিবর্তে ছোট ছোট ব্যাচে প্রশিক্ষণ দেওয়া মেমরি ব্যবহারে সাশ্রয় করে।

Sparse Matrix Representation:

  • স্পার্স ম্যাট্রিক্স রূপান্তর ব্যবহার করুন যখন ডেটাসেটে অনেক শূন্য মান থাকে। এটি মেমরি ব্যবহারের জন্য আরো কার্যকর।

Garbage Collection:

  • Python-এ gc.collect() ব্যবহার করে অপ্রয়োজনীয় অবজেক্টগুলি মুছে ফেলার ব্যবস্থা করা যায়, যা মেমরি খরচ কমাতে সাহায্য করে।

Training Efficiency

Training Efficiency হল মডেল প্রশিক্ষণের সময় সঠিক সময়ে সর্বাধিক ফলাফল পাওয়ার প্রক্রিয়া। এটি মডেল নির্মাণের প্রক্রিয়ায় সময় এবং সম্পদের সঠিক ব্যবহার নিশ্চিত করে।

Training Efficiency-এর কৌশল:

Early Stopping:

  • প্রশিক্ষণের সময়, যদি মডেলের পারফরম্যান্স একটি নির্দিষ্ট সংখ্যা(epoch) ধরে উন্নতি না করে, তবে প্রশিক্ষণ বন্ধ করুন। এটি সময় সাশ্রয় করতে সহায়ক।

Learning Rate Scheduling:

  • প্রশিক্ষণের সময় লার্নিং রেট পরিবর্তন করতে পারেন। উচ্চ লার্নিং রেট দিয়ে শুরু করে ধীরে ধীরে কমাতে পারেন, যা মডেলকে দ্রুত কনভার্জ করতে সাহায্য করে।

Parallel Processing:

  • মডেল প্রশিক্ষণের জন্য মাল্টি-থ্রেডিং বা মাল্টি-প্রসেসিং ব্যবহার করুন। এটি প্রশিক্ষণ প্রক্রিয়াকে দ্রুততর করতে সহায়ক।

Transfer Learning:

  • বিদ্যমান মডেল থেকে জ্ঞান গ্রহণ করে নতুন কাজের জন্য প্রয়োগ করা। এটি নতুন ডেটাসেটে প্রশিক্ষণ সময় কমাতে সহায়ক।

Distributed Training:

  • বড় ডেটাসেট এবং জটিল মডেল প্রশিক্ষণের জন্য ডিসট্রিবিউটেড কম্পিউটিং ব্যবহার করা। এটি প্রশিক্ষণের সময় দ্রুততর এবং কার্যকর করে তোলে।

উপসংহার

Memory Optimization এবং Training Efficiency উভয়ই মডেল প্রশিক্ষণের সময় গুরুত্বপূর্ণ ভূমিকা পালন করে। সঠিক কৌশল ব্যবহার করে, ডেটা বিজ্ঞানীরা মেমরি ব্যবহার এবং প্রশিক্ষণের গতি বাড়াতে পারেন, যা তাদের মডেলগুলিকে আরও কার্যকর এবং দক্ষ করে তোলে। LightGBM এবং অন্যান্য আধুনিক মেশিন লার্নিং লাইব্রেরি এই ধারণাগুলির প্রতি বিশেষ মনোযোগ দেয়, যা ডেটা বিজ্ঞানীদের জন্য একটি শক্তিশালী সরঞ্জাম তৈরি করে।

বৃহৎ ডেটাসেট নিয়ে কাজ করা একটি সাধারণ চ্যালেঞ্জ, বিশেষ করে মেশিন লার্নিং এবং ডেটা বিশ্লেষণের ক্ষেত্রে। এখানে একটি উদাহরণসহ দেখানো হচ্ছে কিভাবে একটি বড় ডেটাসেট নিয়ে কাজ করা যায়। আমরা pandas লাইব্রেরি এবং কিছু অন্যান্য টুল ব্যবহার করবো।

প্রজেক্টের উদ্দেশ্য: বৃহৎ ডেটাসেট বিশ্লেষণ

আমরা একটি বড় ডেটাসেট ব্যবহার করবো (যেমন, Titanic Dataset) এবং কিছু মৌলিক বিশ্লেষণ এবং মডেল তৈরি করবো।

ধাপ ১: লাইব্রেরি ইনস্টল এবং লোড করা

pip install pandas scikit-learn matplotlib seaborn

এবং Python স্ক্রিপ্টে লাইব্রেরি লোড করুন:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

ধাপ ২: ডেটাসেট লোড করা

আমরা Titanic Dataset ব্যবহার করবো, যা সাধারনত Kaggle থেকে ডাউনলোড করা হয়।

# ডেটাসেট লোড করা
data = pd.read_csv('titanic.csv')

# ডেটা দেখুন
print(data.head())

ধাপ ৩: ডেটা বিশ্লেষণ

৩.১. মৌলিক তথ্য

# ডেটাসেটের মৌলিক তথ্য দেখুন
print(data.info())

# পরিসংখ্যান
print(data.describe())

৩.২. হারানো মান পরীক্ষা

# হারানো মানের পরিমাণ দেখা
missing_values = data.isnull().sum()
print("Missing values in each column:")
print(missing_values[missing_values > 0])

ধাপ ৪: ডেটা প্রিপ্রসেসিং

৪.১. হারানো মান পূরণ

# 'Age' কলামের হারানো মান পূরণ করা
data['Age'].fillna(data['Age'].median(), inplace=True)

# 'Embarked' কলামের হারানো মান পূরণ করা
data['Embarked'].fillna(data['Embarked'].mode()[0], inplace=True)

৪.২. ক্যাটেগরিক্যাল ডেটা এনকোডিং

# ক্যাটেগরিক্যাল ডেটার জন্য ওয়ান-হট এনকোডিং
data = pd.get_dummies(data, columns=['Sex', 'Embarked'], drop_first=True)

ধাপ ৫: ডেটা বিভাজন

Training এবং Testing Dataset তৈরি করুন:

from sklearn.model_selection import train_test_split

# ফিচার এবং টার্গেট নির্ধারণ
X = data.drop(['Survived', 'Name', 'Ticket', 'Cabin', 'PassengerId'], axis=1)
y = data['Survived']

# Training এবং Testing Dataset তৈরি
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

print(f'Training data size: {X_train.shape[0]}')
print(f'Testing data size: {X_test.shape[0]}')

ধাপ ৬: মডেল তৈরি এবং প্রশিক্ষণ

from sklearn.ensemble import RandomForestClassifier

# মডেল তৈরি
model = RandomForestClassifier()

# মডেল প্রশিক্ষণ
model.fit(X_train, y_train)

ধাপ ৭: মডেল মূল্যায়ন

from sklearn.metrics import classification_report, accuracy_score

# Testing সেটের উপর পূর্বাভাস
y_pred = model.predict(X_test)

# মডেল মূল্যায়ন
print(f'Accuracy: {accuracy_score(y_test, y_pred)}')
print(classification_report(y_test, y_pred))

ধাপ ৮: ফলাফল বিশ্লেষণ

# ফলাফল বিশ্লেষণ এবং ভিজ্যুয়ালাইজেশন
sns.countplot(data['Survived'])
plt.title('Survival Count')
plt.show()

সারসংক্ষেপ

এই প্রক্রিয়ায়, আমরা একটি বড় ডেটাসেট নিয়ে কাজ করেছি, যেখানে ডেটা বিশ্লেষণ, প্রিপ্রসেসিং, মডেল তৈরি এবং মূল্যায়ন অন্তর্ভুক্ত ছিল। এটি একটি সহজ কিন্তু কার্যকরী প্রক্রিয়া, যা বৃহৎ ডেটাসেটের সাথে কাজ করার সময় মডেলের কার্যকারিতা এবং ডেটার গুণমান উন্নত করতে সহায়তা করে।

আপনার প্রকল্পের প্রয়োজন অনুসারে উপরে উল্লেখিত প্রতিটি ধাপ সমন্বিতভাবে পরিচালনা করতে হবে এবং বৃহৎ ডেটাসেট নিয়ে কাজ করার সময় কার্যকরী কৌশলগুলি অনুসরণ করতে হবে।

Promotion

Are you sure to start over?

Loading...