টেনসরফ্লো দিয়ে বুস্টেড ট্রি ব্যবহার করা যায় ডেটাসেটের প্রেডিকশন পারফরম্যান্স উন্নত করার জন্য। ডেটা লোড ও প্রি-প্রসেস করা হয় সাধারণ পদ্ধতিতে, কিন্তু প্রেডিকশন করার সময় একাধিক মডেল ব্যবহার করা হয় এবং সব মডেলের আউটপুট কম্বাইন করে ফাইনাল রেজাল্ট দেওয়া হয়।
আরও পড়ুন: টেনসরফ্লো কী এবং কেরাস কীভাবে টেনসরফ্লোর সাথে কাজ করে নিউরাল নেটওয়ার্ক তৈরির জন্য?
আমরা কেরাস সিকুয়েনশিয়াল API ব্যবহার করব, যা একটি সিকুয়েনশিয়াল মডেল বানাতে সাহায্য করে যেখানে প্রতিটি লেয়ারের ঠিক একটি ইনপুট টেনসর এবং একটি আউটপুট টেনসর থাকে।
কমপক্ষে একটি লেয়ার থাকা নিউরাল নেটওয়ার্ককে কনভোল্যুশনাল লেয়ার বলা হয়। আমরা কনভোল্যুশনাল নিউরাল নেটওয়ার্ক ব্যবহার করে লার্নিং মডেল বানাতে পারি।
নিচের কোড চালানোর জন্য আমরা গুগল কোলাবরেটরি ব্যবহার করছি। গুগল কোল্যাব বা কোলাবরেটরি ব্রাউজারের ওপর পাইথন কোড চালাতে সাহায্য করে এবং জিরো কনফিগারেশন ও ফ্রি জিপিইউ (GPU) অ্যাক্সেস দেয়। কোলাবরেটরি জুপিটার নোটবুকের ওপর বিল্ড করা হয়েছে।
আমরা দেখব কীভাবে গ্রেডিয়েন্ট বুস্টিং মডেল ডিসিশন ট্রি এবং tf.estimator API ব্যবহার করে ট্রেন করা যায়। বুস্টেড ট্রি মডেলগুলো রিগ্রেশন ও ক্লাসিফিকেশনের জন্য সবচেয়ে জনপ্রিয় ও কার্যকর মেশিন লার্নিং পদ্ধতিগুলোর এক। এটি একটি ансамбল (ensemble) কৌশল যা অনেক (১০, ১০০, ১০০০) ট্রি মডেলের প্রেডিকশন কম্বাইন করে। এগুলো মিনিমাল হাইপারপ্যারামিটার টিউনিং দিয়ে চমৎকার পারফরম্যান্স অর্জন করতে সাহায্য করে।
উদাহরণ
import numpy as np
import pandas as pd
from IPython.display import clear_output
from matplotlib import pyplot as plt
print("Load the dataset")
dftrain = pd.read_csv('https://storage.googleapis.com/tf-datasets/titanic/train.csv')
dfeval = pd.read_csv('https://storage.googleapis.com/tf-datasets/titanic/eval.csv')
print("Delete the column 'survived'")
y_train = dftrain.pop('survived')
y_eval = dfeval.pop('survived')
import tensorflow as tf
tf.random.set_seed(123)
কোড ক্রেডিট: https://www.tensorflow.org/tutorials/estimator/boosted_trees
আউটপুট
Load the dataset Delete the column 'survived'
ব্যাখ্যা
- প্রয়োজনীয় প্যাকেজগুলো ইম্পোর্ট করা হয়।
- ডেটাসেট লোড করা হয়।
- এটি CSV ফাইল হিসেবে পড়া হয়।
- 'survived' কলামটি ডিলিট করা হয়।