R প্রোগ্রামিং: Machine Learning Algorithms এর উদাহরণ
Machine Learning অ্যালগরিদমগুলির মধ্যে Linear Regression, Decision Trees, এবং Random Forest হল সবচেয়ে জনপ্রিয় অ্যালগরিদম। এগুলি মূলত ডেটা থেকে প্যাটার্ন শিখে ভবিষ্যদ্বাণী (prediction) বা শ্রেণীবিভাগ (classification) করতে ব্যবহৃত হয়। নিচে এই তিনটি অ্যালগরিদমের উদাহরণ এবং R প্রোগ্রামিংয়ে কিভাবে এগুলি বাস্তবায়ন করা যায়, তা দেখানো হলো।
১. Linear Regression (লিনিয়ার রিগ্রেশন)
Linear Regression একটি supervised learning অ্যালগরিদম যা নির্ধারণ করে কিভাবে এক বা একাধিক স্বাধীন ভেরিয়েবল (independent variables) এর মাধ্যমে নির্ভরশীল ভেরিয়েবল (dependent variable) এর মান পূর্বাভাস করা যায়। এটি একটি সোজা লাইন দিয়ে ডেটার সম্পর্ক বর্ণনা করে।
উদাহরণ:
ধরা যাক, আমাদের কাছে একটি ডেটাসেট রয়েছে যেখানে একজন ব্যক্তির বয়স এবং বেতন আছে, এবং আমরা বয়স এর উপর ভিত্তি করে বেতন পূর্বাভাস করতে চাই।
# ডেটাসেট তৈরি
data <- data.frame(
age = c(25, 30, 35, 40, 45, 50, 55),
salary = c(30000, 40000, 45000, 50000, 60000, 65000, 70000)
)
# লিনিয়ার রিগ্রেশন মডেল তৈরি
model <- lm(salary ~ age, data = data)
# মডেল সারাংশ দেখানো
summary(model)
# প্রেডিকশন করা
new_data <- data.frame(age = c(28, 33, 38))
predictions <- predict(model, new_data)
# প্রেডিকশন দেখানো
predictionsএখানে lm() ফাংশনটি লিনিয়ার রিগ্রেশন মডেল তৈরি করে এবং predict() ফাংশন দিয়ে নতুন বয়সের জন্য বেতন পূর্বাভাস করা হয়।
২. Decision Trees (ডিসিশন ট্রি)
Decision Trees একটি supervised learning অ্যালগরিদম যা বিভিন্ন বৈশিষ্ট্যের ভিত্তিতে সিদ্ধান্ত নেয়ার জন্য একটি ট্রি স্ট্রাকচার তৈরি করে। এটি শ্রেণীবিভাগ বা রিগ্রেশন মডেল তৈরি করতে পারে।
উদাহরণ:
ধরা যাক, আমাদের কাছে কিছু ফিচার রয়েছে (যেমন, বয়স, শিক্ষাগত যোগ্যতা, বেতন) এবং আমরা জানি যে ব্যক্তি loan approval এর জন্য যোগ্য কিনা। আমরা Decision Tree ব্যবহার করে এটি ভবিষ্যদ্বাণী করতে চাই।
# rpart প্যাকেজ ইনস্টল ও লোড করা
install.packages("rpart")
library(rpart)
# ডেটাসেট তৈরি
data <- data.frame(
age = c(25, 30, 35, 40, 45),
education = c("Bachelor", "Master", "PhD", "Master", "Bachelor"),
salary = c(30000, 50000, 70000, 60000, 40000),
loan_approval = c("No", "Yes", "Yes", "Yes", "No")
)
# Decision Tree মডেল তৈরি
model_tree <- rpart(loan_approval ~ age + education + salary, data = data, method = "class")
# মডেল সারাংশ দেখানো
summary(model_tree)
# প্রেডিকশন করা
new_data <- data.frame(age = 32, education = "Master", salary = 45000)
prediction <- predict(model_tree, new_data, type = "class")
# প্রেডিকশন দেখানো
predictionএখানে rpart() ফাংশনটি Decision Tree মডেল তৈরি করে এবং predict() ফাংশন দিয়ে loan_approval লেবেলটি প্রেডিক্ট করা হয়।
৩. Random Forest (র্যান্ডম ফরেস্ট)
Random Forest একটি শক্তিশালী ensemble learning পদ্ধতি যা অনেকগুলো Decision Tree ব্যবহার করে এবং তাদের ফলাফল থেকে চূড়ান্ত সিদ্ধান্ত নেয়। এটি ডেটার মধ্যে সম্ভাব্য সম্পর্ককে আরও ভালোভাবে মডেল করতে সহায়ক।
উদাহরণ:
ধরা যাক, আমাদের কাছে Decision Tree এর মতোই ডেটা রয়েছে, এবং আমরা Random Forest ব্যবহার করে loan approval এর জন্য একটি মডেল তৈরি করতে চাই।
# randomForest প্যাকেজ ইনস্টল ও লোড করা
install.packages("randomForest")
library(randomForest)
# ডেটাসেট তৈরি
data <- data.frame(
age = c(25, 30, 35, 40, 45),
education = c("Bachelor", "Master", "PhD", "Master", "Bachelor"),
salary = c(30000, 50000, 70000, 60000, 40000),
loan_approval = c("No", "Yes", "Yes", "Yes", "No")
)
# loan_approval কে ফ্যাক্টর রূপান্তর
data$loan_approval <- factor(data$loan_approval)
# Random Forest মডেল তৈরি
model_rf <- randomForest(loan_approval ~ age + education + salary, data = data)
# মডেল সারাংশ
print(model_rf)
# প্রেডিকশন করা
new_data <- data.frame(age = 32, education = "Master", salary = 45000)
prediction_rf <- predict(model_rf, new_data)
# প্রেডিকশন দেখানো
prediction_rfএখানে, randomForest() ফাংশনটি Random Forest মডেল তৈরি করে এবং predict() ফাংশন দিয়ে loan_approval প্রেডিক্ট করা হয়েছে।
সারসংক্ষেপ
- Linear Regression: এটি একটি supervised learning অ্যালগরিদম যা একটি বা একাধিক স্বাধীন ভেরিয়েবল থেকে নির্ভরশীল ভেরিয়েবলের ভবিষ্যদ্বাণী করতে ব্যবহার করা হয়। এটি একটি সোজা লাইন ব্যবহার করে সম্পর্ক বিশ্লেষণ করে।
- Decision Trees: একটি ট্রি স্ট্রাকচার তৈরি করে যা বিভিন্ন সিদ্ধান্ত নিয়ে ডেটার শ্রেণীবিভাগ বা রিগ্রেশন করতে সহায়ক।
- Random Forest: Decision Trees এর সমষ্টি (ensemble method) যা অনেকগুলো Decision Tree ব্যবহার করে এবং চূড়ান্ত সিদ্ধান্ত নেয়।
এই অ্যালগরিদমগুলো ডেটা বিশ্লেষণ এবং ভবিষ্যদ্বাণী করতে অত্যন্ত কার্যকরী এবং বিভিন্ন পরিস্থিতিতে ব্যবহার করা যায়।
Read more