কিভাবে MATLAB-এ হিস্টোগ্রামকে স্বাভাবিক করা যায়

Kibhabe Matlab E Histogramake Sbabhabika Kara Yaya



হিস্টোগ্রামকে স্বাভাবিক করা ডেটা বিশ্লেষণ এবং ভিজ্যুয়ালাইজেশনের একটি গুরুত্বপূর্ণ প্রক্রিয়া। MATLAB, একটি শক্তিশালী কম্পিউটেশনাল টুল, আপনাকে হিস্টোগ্রামগুলিকে কার্যকরভাবে স্বাভাবিক করতে সাহায্য করার জন্য বিভিন্ন ফাংশন প্রদান করে। এই নিবন্ধে, আমরা MATLAB-এ একটি হিস্টোগ্রাম স্বাভাবিক করার ধাপে ধাপে প্রক্রিয়াটি অন্বেষণ করব, যা আপনাকে আপনার ডেটার অন্তর্দৃষ্টি পেতে এবং অর্থপূর্ণ তুলনা করার অনুমতি দেবে।

কিভাবে MATLAB এ একটি হিস্টোগ্রাম স্বাভাবিক করা যায়?

একটি স্বাভাবিক হিস্টোগ্রাম হল ডেটা মানের ফ্রিকোয়েন্সিগুলির একটি প্লট, যেখানে ফ্রিকোয়েন্সিগুলিকে স্বাভাবিক করা হয়েছে যাতে তাদের যোগফল 1 হয়। এর মানে হল যে স্বাভাবিক হিস্টোগ্রামটি বিভিন্ন ডেটাসেটের বিতরণের তুলনা করতে ব্যবহার করা যেতে পারে, এমনকি ডেটাসেটের বিভিন্ন আকার থাকলেও একটি স্বাভাবিক হিস্টোগ্রাম প্লট করার জন্য এখানে কিছু পদক্ষেপ রয়েছে:







ধাপ 1: ডেটা লোড করুন এবং হিস্টোগ্রাম তৈরি করুন



শুরু করার জন্য, আপনাকে MATLAB-এ আপনার ডেটা লোড করতে হবে এবং histogram() ফাংশন ব্যবহার করে একটি হিস্টোগ্রাম তৈরি করতে হবে। এই ফাংশনটি আপনার ডেটার উপর ভিত্তি করে বিন গণনা এবং বিন অবস্থানগুলি গণনা করে। এখানে একটি উদাহরণ কোড:



ডেটা = % আপনার তথ্য এখানে % ;
হিস্টোগ্রাম ( তথ্য ) ;





ধাপ 2: হিস্টোগ্রাম ডেটা পুনরুদ্ধার করুন

হিস্টোগ্রাম তৈরি করার পরে, আপনি histcounts() ফাংশন ব্যবহার করে বিন গণনা এবং বিন প্রান্তগুলি পেতে পারেন। এই ফাংশন প্রতিটি বিন এবং সংশ্লিষ্ট প্রান্তে গণনা প্রদান করে। আরও প্রক্রিয়াকরণের জন্য এই মানগুলিকে পৃথক ভেরিয়েবলে সংরক্ষণ করুন:



[ গণনা, প্রান্ত ] = হিস্টকাউন্ট ( তথ্য ) ;

ধাপ 3: স্বাভাবিক মান গণনা করুন

হিস্টোগ্রাম স্বাভাবিক করার জন্য, প্রতিটি বিনের গণনাকে ডেটা পয়েন্টের মোট সংখ্যা দ্বারা ভাগ করা প্রয়োজন। এটি নিশ্চিত করে যে হিস্টোগ্রামটি পরম গণনার পরিবর্তে আপেক্ষিক ফ্রিকোয়েন্সি বিতরণকে প্রতিনিধিত্ব করে। এখানে আপনি কিভাবে স্বাভাবিক মান গণনা করতে পারেন:

totalDataPoints = যোগফল ( গণনা ) ;
normalized Values ​​= গণনা / totalDataPoints;

ধাপ 4: বিন প্রান্তগুলি সামঞ্জস্য করুন

কিছু ক্ষেত্রে, স্বাভাবিক হিস্টোগ্রাম সঠিকভাবে সারিবদ্ধ করার জন্য বিন প্রান্তগুলি সামঞ্জস্য করার প্রয়োজন হতে পারে। এটি করার জন্য, আপনি সন্নিহিত বিন প্রান্তগুলির মধ্যবর্তী পয়েন্টগুলি গণনা করতে পারেন এবং সেগুলিকে নতুন বিন কেন্দ্র হিসাবে ব্যবহার করতে পারেন। এখানে একটি উদাহরণ কোড:

binCenters = ( প্রান্ত ( 1 :শেষ- 1 ) + প্রান্ত ( 2 :শেষ ) ) / 2 ;

ধাপ 5: সাধারণ হিস্টোগ্রাম প্লট করুন

এখন আপনার কাছে স্বাভাবিক মান এবং সমন্বয় করা বিন কেন্দ্র রয়েছে, আপনি bar() ফাংশন ব্যবহার করে স্বাভাবিক হিস্টোগ্রাম প্লট করতে পারেন। বিন কেন্দ্রগুলিকে x-অক্ষের মান হিসাবে এবং স্বাভাবিককৃত মানগুলিকে সংশ্লিষ্ট y-অক্ষের মান হিসাবে সেট করুন:

বার ( বিনসেন্টার, স্বাভাবিক মান ) ;

এখানে সম্পূর্ণ MATLAB কোড যা একটি হিস্টোগ্রামকে স্বাভাবিক করে তোলে:

% ধাপ 1 : হিস্টোগ্রাম তৈরি করুন
ডেটা = [ 10 , বিশ , 30 , 40 , পঞ্চাশ , 10 , বিশ , 30 , 10 , বিশ ] ;
হিস্টোগ্রাম ( তথ্য ) ;

% ধাপ 2 : হিস্টোগ্রাম ডেটা পান
[ গণনা, প্রান্ত ] = হিস্টকাউন্ট ( তথ্য ) ;

% ধাপ 3 : স্বাভাবিক মান পান
totalDataPoints = যোগফল ( গণনা ) ;
normalized Values ​​= গণনা / totalDataPoints;

% ধাপ 4 : বিন পরিবর্তন করুন
binCenters = ( প্রান্ত ( 1 :শেষ- 1 ) + প্রান্ত ( 2 :শেষ ) ) / 2 ;

% ধাপ 5 : নর্মালাইজড হিস্টোগ্রাম প্লট করুন
বার ( বিনসেন্টার, স্বাভাবিক মান ) ;

% ধাপ 6 : প্লট কাস্টমাইজ করুন
xlabel ( 'বিন্স' ) ;
ylabel ( 'স্বাভাবিক ফ্রিকোয়েন্সি' ) ;
শিরোনাম ( 'সাধারণকৃত হিস্টোগ্রাম' ) ;
গ্রিড অন;

আমি একটি উদাহরণ ডেটাসেট ডেটা যোগ করেছি এবং এটি একটি হিস্টোগ্রাম তৈরি করতে ব্যবহার করেছি। এই কোডটি একটি হিস্টোগ্রাম তৈরি করবে, স্বাভাবিক মানগুলি গণনা করবে, বিনের প্রান্তগুলিকে সামঞ্জস্য করবে এবং স্বাভাবিক হিস্টোগ্রামটি প্লট করবে।

বিঃদ্রঃ: কোডটি ধরে নেয় যে আপনি MATLAB ইমেজ প্রসেসিং টুলবক্স ইনস্টল করেছেন, যার মধ্যে হিস্টোগ্রাম এবং হিস্টকাউন্ট ফাংশন রয়েছে।

উপসংহার

MATLAB-এ একটি হিস্টোগ্রামকে স্বাভাবিক করা একটি সহজবোধ্য প্রক্রিয়া যা আপনাকে আপনার ডেটার আপেক্ষিক ফ্রিকোয়েন্সি বিতরণে অন্তর্দৃষ্টি অর্জন করতে দেয়। হিস্টোগ্রাম স্বাভাবিক করার জন্য প্রতিটি বিনের গণনাকে ডেটা পয়েন্টের মোট সংখ্যা দিয়ে ভাগ করুন।