ডিবিএসসিএন: এটি কী? কখন এটি ব্যবহার করবেন এটি কিভাবে ব্যবহার করতে.

ডিবিএসসিএন (ঘনত্ব ভিত্তিক স্পেসিয়াল ক্লাস্টারিং অফ নয়েজ অ্যাপ্লিকেশন) মডেলিং এবং মেশিন লার্নিংয়ে ব্যবহৃত একটি জনপ্রিয় আনসারভিজড লার্নিং পদ্ধতি। আমরা আরও কিছু করার আগে, আমাদের একটি "নিরীক্ষণ" শেখার পদ্ধতি কী তা নির্ধারণ করতে হবে। অসচ্ছল শেখার পদ্ধতিগুলি তখন যখন আমরা সন্ধান করি সেখানে কোন স্পষ্ট লক্ষ্য বা ফলাফল পাওয়া যায় না। পরিবর্তে, আমরা পর্যবেক্ষণের সাদৃশ্যের উপর ভিত্তি করে ডেটা গ্রুপ করি। এর উদাহরণ দেওয়ার জন্য নেটফ্লিক্সকে উদাহরণ হিসাবে নেওয়া যাক। আপনি অতীতে দেখা পূর্ববর্তী শোগুলির উপর ভিত্তি করে নেটফ্লিক্স আপনাকে পরবর্তী দেখতে চান এমন শোয়ের প্রস্তাব দেয়। নেটফ্লিক্সে যে কেউ কখনও দেখেছেন বা দেখেছেন তারা নীচের সুপারিশগুলির স্ক্রিনটি দেখেছেন (হ্যাঁ, এই ছবিটি সরাসরি আমার নেটফ্লিক্স অ্যাকাউন্ট থেকে নেওয়া হয়েছে, এবং আপনি যদি কখনও লজ্জা না দেখেন তবে আমি আপনাকে পরামর্শ দিই যে এটি করা উচিত যত তাড়াতাড়ি সম্ভব শুরু করুন)।

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

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

  • সেট করা ডেটা n মাত্রায় বিভক্ত করে
  • ডেটা সেটের প্রতিটি পয়েন্টের জন্য, ডিবিএসসিএএন এই ডেটা পয়েন্টের চারপাশে একটি এন-ডাইমেনশনাল শেপ তৈরি করে এবং তারপরে গণনা করে যে কতগুলি ডাটা পয়েন্ট এই আকারে পড়ে।
  • ডিবিএসসিএএন এই ফর্মটিকে একটি ক্লাস্টার হিসাবে গণনা করে। ডিবিএসসিএএন পুনরায় ক্লাস্টারের প্রতিটি একক পয়েন্টে এবং আশেপাশের অন্যান্য ডাটা পয়েন্টগুলির সংখ্যা গণনা করে ক্লাস্টারটি প্রসারিত করে। উদাহরণ হিসাবে নীচে গ্রাফিক নিন:

ডিবিএসসিএএন উপরের প্রক্রিয়াটি ধাপে ধাপে বহন করে এবং প্রথমে ডেটাগুলিকে n মাত্রায় বিভক্ত করে। ডিবিএসসিএন এটি করার পরে এটি একটি এলোমেলো পয়েন্টে শুরু হয় (এই ক্ষেত্রে আমরা এটি লাল বিন্দাগুলির মধ্যে একটি বলে ধরে নিলাম) এবং আরও কতগুলি বিন্দুর কাছাকাছি রয়েছে তা গণনা করে। ডিবিএসসিএন এই প্রক্রিয়াটি অব্যাহত রাখে যতক্ষণ না কাছাকাছি সময়ে কোনও ডেটা পয়েন্ট না থাকে এবং দ্বিতীয় ক্লাস্টারের সন্ধান না করে।

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

একটি ক্লাস্টার সনাক্ত করতে প্রয়োজনীয় নূন্যতম সংখ্যার কী পরিমাণ?
একই ক্লাস্টারের মধ্যে পরবর্তী বিন্দু থেকে একটি বিন্দু কতদূর যেতে পারে?

গ্রাফটিতে আবার উল্লেখ করে, অ্যাপসিলন হল ডেটার পয়েন্টগুলির মধ্যে দূরত্ব পরীক্ষা করতে ব্যবহৃত ব্যাসার্ধ। যদি একটি বিন্দু অন্য বিন্দুর এপসিলন দূরত্বে পড়ে, তবে এই দুটি পয়েন্ট একই ক্লাস্টারে রয়েছে।

অতিরিক্তভাবে, এই দৃশ্যে সর্বনিম্ন প্রয়োজনীয় সংখ্যক পয়েন্ট 4 এ সেট করা হয়। প্রতিটি ডাটা পয়েন্টের মধ্য দিয়ে চলার সময়, একটি ক্লাস্টার তৈরি হয় যতক্ষণ না ডিবিএসসিএএন একে অপরের থেকে এপিলন দূরত্বে 4 পয়েন্ট খুঁজে পায়।

গুরুত্বপূর্ণ: একটি বিন্দুটিকে "কোর পয়েন্ট" হিসাবে বিবেচনা করার জন্য, এপিসিলন দূরত্বের মধ্যে এটিতে সর্বনিম্ন পয়েন্টের সংখ্যা থাকতে হবে। সুতরাং ভিজ্যুয়ালাইজেশনের আসলে দুটি টিও পয়েন্ট রয়েছে। ডকুমেন্টেশনটি এখানে পড়ুন এবং বিশেষত মিনি_সাম্পল প্যারামিটারটি দেখুন।

আপনি আরও খেয়াল করবেন যে গ্রাফের নীল বিন্দুটি কোনও ক্লাস্টারে নেই। ডিবিএসসিএন অগত্যা প্রতিটি ডাটা পয়েন্টকে শ্রেণিবদ্ধ করে না এবং তাই ডেটা সেটে বহিরাগতদের পরিচালনা করার জন্য আদর্শভাবে উপযুক্ত। আসুন নীচের গ্রাফিকটি দেখুন:

বাম ছবিটি একটি আরও traditionalতিহ্যবাহী ক্লাস্টারিং পদ্ধতি দেখায় যা বহুমাত্রিকতাটিকে বিবেচনায় নেয় না। যদিও সঠিক চিত্রটি দেখায় যে কীভাবে ডিবিএসসিএএন একই ধরণের ক্লাস্টারগুলি খুঁজতে ডেটাটিকে বিভিন্ন আকার এবং মাত্রায় বিভক্ত করতে পারে।

বাম দিকের চিত্রটি কে-মিংসের মতো আরও বেশি traditionalতিহ্যবাহী ক্লাস্টার পদ্ধতি দেখায়, যা বহুমাত্রিকতাটিকে বিবেচনায় নেয় না। যদিও ডান চিত্রটি দেখায় যে কীভাবে ডিবিএসসিএএন একই ধরণের ক্লাস্টারগুলি খুঁজতে ডেটাটিকে বিভিন্ন আকার এবং মাত্রায় বিভক্ত করতে পারে। ডান চিত্রটিতে আমরা এটিও দেখতে পাই যে ডেটা সেটের বাইরের প্রান্তের পয়েন্টগুলি শ্রেণিবদ্ধ করা হয়নি, যা বোঝায় যে তারা ডেটার মধ্যে অপ্রদর্শক।

ডিবিএসসিএএন এর সুবিধা:

  • প্রদত্ত ডেটা সেটে নিম্ন-ঘনত্বের ক্লাস্টারগুলি থেকে উচ্চ-ঘনত্বের ক্লাস্টারগুলি আরও ভালভাবে পৃথক করা যায়।
  • ডেটা সেটে আউটলিয়ারদের পরিচালনা করতে দুর্দান্ত।

ডিবিএসসিএএন এর অসুবিধাগুলি:

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

নীচে আমি পাইথনে DBSCAN কীভাবে প্রয়োগ করব তা বর্ণনা করেছি। তারপরে আমি মেট্রিকগুলি ব্যাখ্যা করি এবং আপনার ডিবিএসসিএন মডেলটি মূল্যায়ন করি

পাইথনে DBSCAN বাস্তবায়ন

1. আমাদের এক্স মানগুলিতে ডেটা বরাদ্দ করুন
মনে রাখবেন, যেহেতু এটি নিরীক্ষণযোগ্য শেখার, তাই আমাদের অনন্য y মান নির্ধারণ করার দরকার নেই।
২. আমাদের ডিবিএসসান মডেলটি ইনস্ট্যান্ট করছে। নিম্নলিখিত কোডে, অ্যাপসিলন = 3 এবং মিনি_সাম্পলগুলি একটি ক্লাস্টার গঠনের জন্য প্রয়োজনীয় ন্যূনতম পয়েন্ট।
৩. ডিবিএসসিএন দ্বারা নির্মিত লেবেলগুলি সংরক্ষণ করুন
৪. কোনটি পয়েন্টগুলি আমাদের "মূল পয়েন্টগুলি" তৈরি করে তা চিহ্নিত করুন
ক্লাস্টারের সংখ্যা গণনা করা হচ্ছে
6. সিলুয়েট স্কোর গণনা

ডিবিএসসিএএন কর্মক্ষমতা পরিমাপের মেট্রিক্স:

সিলুয়েট স্কোর: সিলুয়েট স্কোরটি পয়েন্ট এবং গড় ক্লাস্টারের দূরত্বের মধ্যবর্তী ক্লাস্টারের দূরত্ব থেকে গণনা করা হয়। উদাহরণস্বরূপ, অনেকগুলি ডাটা পয়েন্ট সহ একটি ক্লাস্টার যা একসাথে খুব নিকটে (উচ্চ ঘনত্ব) এবং নিকটতম ক্লাস্টার থেকে অনেক দূরে (যা বোঝায় যে ক্লাস্টারটি নিকটতম ক্লাস্টারের তুলনায় খুব অনন্য) এর শক্তিশালী সিলুয়েট থাকবে। একটি সিলুয়েটের স্কোর -1 থেকে 1 এর মধ্যে, -1 সবচেয়ে খারাপ এবং 1টি সেরা being 0 এর সিলুয়েট মানগুলি ওভারল্যাপিং ক্লাস্টারগুলিকে নির্দেশ করে।

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

অন্যান্য উৎস:

নাফতালি হ্যারিসের ব্লগটি একটি দুর্দান্ত অতিরিক্ত সংস্থান