উদাহরণসহ Missing Values Management

Categorical Features এবং Missing Values - লাইটজিবিএম (LightGBM) - Latest Technologies

223

Missing values management একটি গুরুত্বপূর্ণ ধাপ যা মেশিন লার্নিং প্রকল্পে ডেটার গুণমান এবং নির্ভুলতা উন্নত করতে সাহায্য করে। হারানো মানগুলি ডেটা বিশ্লেষণ এবং মডেল প্রশিক্ষণে সমস্যার সৃষ্টি করতে পারে, তাই সেগুলি সঠিকভাবে পরিচালনা করা প্রয়োজন। এখানে একটি উদাহরণের মাধ্যমে হারানো মানের ব্যবস্থাপনা প্রক্রিয়া আলোচনা করা হলো।

উদাহরণ: বাড়ির মূল্য ডেটাসেট

আমরা একটি বাড়ির মূল্য ডেটাসেট ব্যবহার করবো যেখানে কিছু কোলামে হারানো মান রয়েছে।

ডেটাসেট উদাহরণ (housing_data.csv)

ID,Price,Bedrooms,Bathrooms,Square_Feet,Yard_Size
1,250000,3,2,1500,500
2,300000,4,3,2000,
3,150000,2,,900,300
4,400000,4,3,2500,700
5,,2,1,1200,200

ধাপ ১: লাইব্রেরি লোড করা

import pandas as pd

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

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

ধাপ ২: হারানো মান বিশ্লেষণ

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

ধাপ ৩: হারানো মানের ব্যবস্থাপনা

হারানো মানগুলির বিভিন্ন ব্যবস্থাপনা কৌশল রয়েছে। নিচে কিছু সাধারণ পদ্ধতি আলোচনা করা হলো।

১. হারানো মান সরিয়ে ফেলা

যদি হারানো মানের পরিমাণ খুব কম হয়, তবে সেগুলি সরিয়ে ফেলা যায়।

# হারানো মান সম্পূর্ণ সারি সরানো
data_cleaned = data.dropna()
print("Data after dropping missing values:")
print(data_cleaned)

২. হারানো মান পূরণ করা

হারানো মান পূরণ করার জন্য বিভিন্ন পদ্ধতি ব্যবহার করা যেতে পারে:

মিডিয়ান/মিন/মোড ব্যবহার করা:

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

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

print("Data after filling missing values:")
print(data.head())

ফরওয়ার্ড/ব্যাকওয়ার্ড ফিলিং:

# ফরওয়ার্ড ফিলিং ব্যবহার করে হারানো মান পূরণ করা
data['Square_Feet'].fillna(method='ffill', inplace=True)

print("Data after forward filling missing values:")
print(data.head())

৩. মডেলিং পদ্ধতি ব্যবহার করা

হারানো মানের জন্য একটি মডেল ব্যবহার করা, যেমন রিগ্রেশন মডেল, হারানো মান পূর্বাভাস করার জন্য ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, আপনি Price কলামের জন্য একটি মডেল তৈরি করতে পারেন।

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

# টার্গেট এবং ফিচার নির্ধারণ করা
X = data[['Bedrooms', 'Bathrooms', 'Square_Feet', 'Yard_Size']]
y = data['Price'].dropna()

# Price কলামের হারানো মান পূরণের জন্য মডেল তৈরি
X_train, X_val, y_train, y_val = train_test_split(X.dropna(), y, test_size=0.2, random_state=42)

model = LinearRegression()
model.fit(X_train, y_train)

# নতুন ডেটা দিয়ে হারানো মান পূরণ করা
missing_index = data[data['Price'].isnull()].index
for i in missing_index:
    data.loc[i, 'Price'] = model.predict(data.loc[i, ['Bedrooms', 'Bathrooms', 'Square_Feet', 'Yard_Size']].values.reshape(1, -1))

print("Data after predicting missing values:")
print(data.head())

সারসংক্ষেপ

এই উদাহরণে, আমরা একটি ডেটাসেট থেকে হারানো মান পরিচালনা করার জন্য বিভিন্ন কৌশল ব্যবহার করেছি, যেমন হারানো মান সরিয়ে ফেলা, মিডিয়ান বা মিন ব্যবহার করে পূরণ করা, এবং মডেলিং পদ্ধতি ব্যবহার করে পূর্বাভাস করা। সঠিকভাবে হারানো মান পরিচালনা করা ডেটার গুণমান এবং মডেলের কার্যকারিতা বাড়াতে গুরুত্বপূর্ণ।

Promotion

Are you sure to start over?

Loading...