Classification এবং Regression Techniques in MATLAB
Classification এবং Regression হল supervised learning এর দুটি প্রধান শাখা, যা Machine Learning এ ব্যবহৃত হয়। MATLAB-এ এই দুটি টেকনিক ব্যবহার করে বিভিন্ন ধরনের ডেটা বিশ্লেষণ, ভবিষ্যদ্বাণী করা এবং সিদ্ধান্ত নেওয়া যেতে পারে।
1. Classification (ক্লাসিফিকেশন)
Classification হল একটি প্রক্রিয়া যেখানে ইনপুট ডেটা থেকে বিভিন্ন শ্রেণী বা ক্লাসে ভাগ করা হয়। এই প্রক্রিয়ায়, লক্ষ্য হল একটি ডিস্ক্রিট আউটপুট শ্রেণী নির্ধারণ করা। উদাহরণস্বরূপ, ইমেজ ক্লাসিফিকেশন বা স্প্যাম ইমেইল শনাক্তকরণ।
Classification Techniques in MATLAB:
- Logistic Regression
- Support Vector Machines (SVM)
- k-Nearest Neighbors (k-NN)
- Decision Trees
- Naive Bayes
Using fitcsvm for Support Vector Machines (SVM):
% Load data (Example: Fisher's iris dataset)
load fisheriris;
% Create a classification model using Support Vector Machine (SVM)
SVMModel = fitcsvm(meas, species, 'KernelFunction', 'linear');
% Predict the class of a new observation
newObs = [5.1, 3.5, 1.4, 0.2]; % Example feature vector
predictedClass = predict(SVMModel, newObs);
disp(['Predicted class: ', predictedClass{1}]);এখানে:
meas: সেন্ট্রাল ডেটা (ইরিস ডেটাসেটের বৈশিষ্ট্য)species: শ্রেণী বা লেবেল (এটা লক্ষ্য শ্রেণী)fitcsvm: এটি একটি সাপোর্ট ভেক্টর মেশিন মডেল তৈরি করে, যা শ্রেণী অনুমান করতে সক্ষম।predict: এটি নতুন ইনপুট ডেটার জন্য শ্রেণী প্রেডিকশন করে।
2. Regression (রিগ্রেশন)
Regression হল একটি প্রক্রিয়া যেখানে ইনপুট ডেটা থেকে একটি অবিচ্ছিন্ন আউটপুট মান অনুমান করা হয়। এই প্রক্রিয়ায় লক্ষ্য হল একটি নির্দিষ্ট পরিমাণ ভবিষ্যদ্বাণী করা, যেমন: বাড়ির দাম, তাপমাত্রা, বা কোনও নির্দিষ্ট গুণমানের পরিমাপ।
Regression Techniques in MATLAB:
- Linear Regression
- Polynomial Regression
- Support Vector Regression (SVR)
- Decision Trees
- k-Nearest Neighbors Regression (k-NN Regression)
Using fitlm for Linear Regression:
% Load data (Example: Fisher's iris dataset)
load fisheriris;
% Define the predictor variables (e.g., Sepal Length and Sepal Width)
X = meas(:, 1:2); % Using Sepal Length and Sepal Width for prediction
y = meas(:, 3); % Petal Length as the dependent variable (target)
% Fit a linear regression model
lm = fitlm(X, y);
% Display the model
disp(lm);
% Predict for a new observation
newObs = [5.1, 3.5]; % Example feature vector for prediction
predictedValue = predict(lm, newObs);
disp(['Predicted value: ', num2str(predictedValue)]);এখানে:
meas: বৈশিষ্ট্য (ইরিস ডেটাসেটের পরিমাপ)fitlm: এটি একটি লিনিয়ার রিগ্রেশন মডেল তৈরি করে।predict: এটি নতুন ডেটার জন্য ভবিষ্যদ্বাণী করে।
Polynomial Regression Example:
% Generate data
x = (1:10)';
y = 2*x.^2 + 3*x + randn(10,1); % Quadratic data with some noise
% Fit polynomial regression model (degree 2)
mdl = fit(x, y, 'poly2');
% Predict for new data
newX = [11; 12];
predictedY = predict(mdl, newX);
disp('Predicted values:');
disp(predictedY);এখানে:
fit(x, y, 'poly2'): এটি একটি দ্বিতীয়-অর্ডারের পলিনোমিয়াল রিগ্রেশন মডেল তৈরি করে এবং সেই মডেলটির মাধ্যমে ভবিষ্যদ্বাণী করে।
3. Model Evaluation (মডেল মূল্যায়ন)
ক্লাসিফিকেশন এবং রিগ্রেশন মডেলের কার্যকারিতা মূল্যায়ন করা প্রয়োজন। MATLAB-এ বিভিন্ন মেট্রিক ব্যবহৃত হয় যেমন Accuracy, Confusion Matrix (ক্লাসিফিকেশনে), Mean Squared Error (MSE), R-Squared (রিগ্রেশনে) ইত্যাদি।
Evaluating a Classification Model:
% Evaluate the model using cross-validation
cvmodel = crossval(SVMModel); % Cross-validation for SVM model
% Compute the classification error
classificationError = kfoldLoss(cvmodel);
disp(['Classification error: ', num2str(classificationError)]);এখানে:
crossval: এটি সিএম মডেলের জন্য ক্রস-ভ্যালিডেশন প্রক্রিয়া প্রয়োগ করে এবং তারপরেkfoldLossফাংশন দ্বারা ভুল হার নির্ধারণ করা হয়।
Evaluating a Regression Model:
% Calculate R-squared value for regression model
R2 = mdl.Rsquared.Ordinary;
disp(['R-squared: ', num2str(R2)]);এখানে:
Rsquared: এটি রিগ্রেশন মডেলের R-squared মান দেয়, যা মডেলের ভাল ফলাফলের একটি ইন্ডিকেটর।
Summary of Classification and Regression
| Technique | Type | Function | Use Case |
|---|---|---|---|
| Logistic Regression | Classification | fitclinear or mnrfit | Classifying categorical outcomes (e.g., spam detection) |
| Support Vector Machine | Classification | fitcsvm | Complex decision boundaries in classification tasks |
| k-Nearest Neighbors | Classification/Regression | fitcknn or fitrknn | Classifying or predicting based on proximity to data points |
| Linear Regression | Regression | fitlm | Predicting continuous values from linear relationships |
| Polynomial Regression | Regression | fit with polynomial fitting | Predicting continuous outcomes with polynomial relationships |
Conclusion
- Classification techniques help categorize data into different classes based on features, while Regression is used for predicting continuous values.
- MATLAB provides several tools like SVM, k-NN, Logistic Regression, Linear Regression, and Polynomial Regression for performing these tasks.
- The
fit,predict, andcrossvalfunctions in MATLAB are commonly used for both training and evaluating classification and regression models.
Read more