ডেটা ট্রান্সফর্মেশন টেকনিক, যেমন Normalization এবং Standardization, মেশিন লার্নিং মডেল এবং স্ট্যাটিস্টিক্যাল বিশ্লেষণের জন্য ডেটা প্রস্তুত করার ক্ষেত্রে গুরুত্বপূর্ণ। এই দুইটি পদ্ধতি ডেটাকে স্কেল করে সমান আকারে আনার জন্য ব্যবহৃত হয়, তবে এদের পদ্ধতি এবং ফলাফল আলাদা।
Normalization, যা Min-Max scaling নামেও পরিচিত, ডেটাকে একটি নির্দিষ্ট সীমায়, সাধারণত [0, 1] অথবা [-1, 1] রেঞ্জে স্কেল করার প্রক্রিয়া। এটি তখন ব্যবহৃত হয় যখন ডেটার বণ্টন গাউসিয়ান (normal distribution) নয় বা যখন মডেলটি ডেটার পরিমাণের প্রতি সংবেদনশীল (যেমন k-nearest neighbors, neural networks ইত্যাদি)।
Min-Max স্কেলিংয়ের সূত্র হল:
Normalized value=X−XminXmax−Xmin
এখানে:
ধরা যাক ডেটা:
Data=[2,4,6,8,10]
যদি X=6 কে নরমালাইজ করতে হয়:
Normalized=6−210−2=48=0.5
Standardization, যা Z-score normalization নামেও পরিচিত, ডেটাকে এমনভাবে স্কেল করে যাতে এর গড় মান 0 এবং স্ট্যান্ডার্ড ডিভিয়েশন 1 হয়। Standardization কোনও নির্দিষ্ট সীমায় ডেটা বাউন্ড না করলেও এটি ডেটাকে কেন্দ্রিত করে এবং স্কেল করে দেয়। এটি মূলত তখন ব্যবহৃত হয় যখন ডেটা গাউসিয়ান (normal) বণ্টন অনুসরণ করে অথবা যখন অ্যালগরিদমে বৈশিষ্ট্যের বৈচিত্র্য গুরুত্বপূর্ণ।
Standardization এর সূত্র হল:
Standardized value=X−μσ
এখানে:
ধরা যাক ডেটা:
Data=[2,4,6,8,10]
যদি X=6 কে স্ট্যান্ডারাইজ করতে হয়:
Standardized=6−62.83=0
দিক | Normalization (Min-Max Scaling) | Standardization (Z-Score Normalization) |
---|---|---|
সূত্র | X−XminXmax−Xmin | X−μσ |
রেঞ্জ | নির্দিষ্ট রেঞ্জে স্কেল (সাধারণত [0, 1] অথবা [-1, 1]) | ডেটার গড় 0 এবং স্ট্যান্ডার্ড ডিভিয়েশন 1 হয়, তবে রেঞ্জ সীমাবদ্ধ নয় |
প্রভাব | আউটলাইয়ারদের ওপর সংবেদনশীল (কারণ মিন এবং ম্যাক্সে প্রভাবিত হতে পারে) | আউটলাইয়ারদের ওপর কম প্রভাবিত, তবে কিছুটা প্রভাব থাকে |
ব্যবহার | যখন জানি যে ডেটার একটি নির্দিষ্ট সীমা আছে অথবা ডেটা গাউসিয়ান নয় | যখন ডেটা গাউসিয়ান (normal) বণ্টন অনুসরণ করে বা গড় ও স্ট্যান্ডার্ড ডিভিয়েশন গুরুত্বপূর্ণ |
অ্যালগরিদম | k-NN, নিউরাল নেটওয়ার্ক, ডিপ লার্নিং | লিনিয়ার রিগ্রেশন, লজিস্টিক রিগ্রেশন, PCA, SVM |
Normalization (Min-Max Scaling):
from sklearn.preprocessing import MinMaxScaler
# Sample data
data = [[2], [4], [6], [8], [10]]
# Create a MinMaxScaler object
scaler = MinMaxScaler()
# Fit and transform the data
normalized_data = scaler.fit_transform(data)
print(normalized_data)
Standardization (Z-Score Normalization):
from sklearn.preprocessing import StandardScaler
# Sample data
data = [[2], [4], [6], [8], [10]]
# Create a StandardScaler object
scaler = StandardScaler()
# Fit and transform the data
standardized_data = scaler.fit_transform(data)
print(standardized_data)
Normalization এবং Standardization হল গুরুত্বপূর্ণ ডেটা ট্রান্সফর্মেশন টেকনিক, যা ডেটাকে স্কেল করার জন্য ব্যবহৃত হয়। Normalization ব্যবহার করা হয় যখন ডেটার স্কেল আলাদা থাকে এবং আপনি একে নির্দিষ্ট সীমায় (যেমন [0, 1]) আনার জন্য চান। Standardization ব্যবহৃত হয় যখন ডেটা গাউসিয়ান (normal) বণ্টন অনুসরণ করে এবং আপনি ডেটাকে গড় 0 এবং স্ট্যান্ডার্ড ডিভিয়েশন 1 এ আনতে চান। কোন পদ্ধতি ব্যবহার করবেন তা নির্ভর করে আপনার ডেটার প্রকৃতি এবং ব্যবহৃত অ্যালগরিদমের উপর।
Read more