ক্লাস্টারিং 1 ডি ডেটা


16

আমার একটি ডেটাসেট রয়েছে, আমি কেবলমাত্র একটি ভেরিয়েবলের উপর ভিত্তি করে সেই ডেটাতে ক্লাস্টার তৈরি করতে চাই (কোনও অনুপস্থিত মান নেই)। আমি সেই ভেরিয়েবলের উপর ভিত্তি করে 3 টি ক্লাস্টার তৈরি করতে চাই।

কোন ক্লাস্টারিং অ্যালগরিদম, কে-মানে, ইএম, ডিবিএসসিএন ইত্যাদি ব্যবহার করতে হবে?

আমার মূল প্রশ্নটি হল, কোন পরিস্থিতিতে আমি ই-এর মাধ্যমে কে-অর্থ ব্যবহার করতে হবে বা ই-ই-কে-এর চেয়ে বেশি ব্যবহার করতে হবে?


1
ইএম অ্যালগরিদম হ্রাসকারী ডেটার সাথে সর্বাধিক সম্ভাবনা অনুমান করার একটি সাধারণ উদ্দেশ্য সরঞ্জাম - এটি কীভাবে "ক্লাস্টারিং অ্যালগরিদম" হয় সে সম্পর্কে আপনি আরও নির্দিষ্ট করে বলতে পারেন?
ম্যাক্রো

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

আমি জানি ইএম অ্যালগরিদম সুপ্ত পরিবর্তনশীল মডেলগুলির (যা "অনুপস্থিত তথ্য" হিসাবে বিবেচনা করা যেতে পারে) সর্বাধিক সম্ভাবনা অনুমানের জন্য ব্যবহৃত হয় এবং সুপ্ত ভেরিয়েবলগুলি প্রায়শই ক্লাস্টারিংয়ের মডেল হিসাবে ব্যবহৃত হয়। সম্ভবত এটিই বোঝানো হচ্ছে।
ম্যাক্রো

@ ম্যাক্রো: আপনি এখানে একবার দেখতে চান: স্টাট.ওয়াশিংটন.ইডু / ম্যাকস্টাস্ট শুরু করার জন্য।
ব্যবহারকারী 60

3
গুচ্ছগ্রামের উদ্দেশ্য কী? বেশিরভাগ পরিসংখ্যানগত প্রশ্নের মতোই, একাধিক উত্তর রয়েছে এবং উদ্দেশ্যটি জেনে রাখা উপযুক্ত বা ভাল প্রশ্নগুলি নির্বাচনের জন্য প্রয়োজনীয় গাইড।
হোবার

উত্তর:


11

কে-মানে অ্যালগরিদম এবং ইএম অ্যালগরিদম 1 ডি ক্লাস্টারিংয়ের জন্য বেশ সমান হতে চলেছে।

কে-মানে আপনি একটি অনুমান দিয়ে শুরু করবেন যেখানে অর্থগুলি রয়েছে এবং প্রতিটি বিন্দুটিকে ক্লাস্টারে নিকটতম গড়ের সাথে নির্ধারণ করুন, তারপরে আপনি পয়েন্টগুলির বর্তমান অ্যাসাইনমেন্টের উপর ভিত্তি করে উপায়গুলি (এবং রূপগুলি) পুনরায় সংশোধন করুন, তারপরে পয়েন্টগুলির অ্যাসিগমেন্ট আপডেট করুন, তারপরে আপডেট করুন উপায় ...

ইএম-তে আপনি অনুমানের সাথেও শুরু করতে পারবেন যে উপায়গুলি কোথায়, তারপরে আপনি কার্যভারগুলির প্রত্যাশিত মানটি গণনা করুন (মূলত প্রতিটি ক্লাস্টারের প্রতিটি পয়েন্টের সম্ভাব্যতা), তারপরে আপনি প্রত্যাশিত মানগুলি ব্যবহার করে আনুমানিক উপায়গুলি (এবং বৈকল্পিকগুলি) আপডেট করেন ওজন হিসাবে, তারপরে নতুন প্রত্যাশিত মানগুলি গণনা করুন, তারপরে নতুন উপায়গুলি গণনা করুন, ...

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

উভয়ই কেন না এবং দেখুন উত্তরগুলি কতটা আলাদা? যদি এগুলি একই রকম হয় তবে সহজতর সাথে যান, যদি তারা আলাদা হয় তবে ডেটা এবং বাইরের জ্ঞানের সাথে গ্রুপিংয়ের তুলনা করার সিদ্ধান্ত নিন।


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

এইচএম ইএম একাই অপর্যাপ্ত বলে মনে হচ্ছে। আপনার এই মিশ্রণের অন্তর্নিহিত বিতরণগুলির বিতরণ সম্পর্কে একটি ধারণা প্রয়োজন।
tomka

2

ফলাফলের দিক থেকে কেএম-এর চেয়ে ইএম ভাল।

কে-অর্থাত্, দ্রুত রান-টাইম রয়েছে।

স্ট্যান্ডার্ড বিচ্যুতি / কোভেরিয়েন্স ম্যাট্রিকগুলি প্রায় সমান হলে তারা অনুরূপ ফলাফল আনবে। আপনি যদি সন্দেহ করেন যে এটি সত্য, কে-উপায় ব্যবহার করুন।

যখন ডেটা অ-গাওসিয়ান হয় তখন ডিবিএসসিএন ব্যবহার করা হয়। আপনি যদি 1-মাত্রিক ডেটা ব্যবহার করেন তবে এটি সাধারণত প্রযোজ্য নয়, কারণ গাউসীয় আনুমানিকটি সাধারণত 1 মাত্রায় বৈধ।


0

আর একটি সহজ উপায় হ'ল মূলত 1D অ্যারে বাছাই করা: অর্থাত প্রতিটি পয়েন্টের উপরে পুনরাবৃত্তি করা এবং ধনাত্মক এবং নেতিবাচক দিক উভয় দিক থেকে এটি থেকে ন্যূনতম দূরত্বে থাকা মানগুলি পাওয়া। উদাহরণ স্বরূপ:

data = [1,2,3,4,5,6,7,8,9,10,12]
k = 5
for a in data:
   print {'group': sorted(k, key=lambda n: abs(n-a))[0:k], 'point': a}

দিতে হবে:

{'group': [1, 2, 3, 4, 5], 'point': 1}
{'group': [2, 1, 3, 4, 5], 'point': 2}
{'group': [3, 2, 4, 1, 5], 'point': 3}
{'group': [4, 3, 5, 2, 6], 'point': 4}
{'group': [5, 4, 6, 3, 7], 'point': 5}
{'group': [6, 5, 7, 4, 8], 'point': 6}
{'group': [7, 6, 8, 5, 9], 'point': 7}
{'group': [8, 7, 9, 6, 10], 'point': 8}
{'group': [9, 8, 10, 7, 6], 'point': 9}
{'group': [10, 9, 8, 12, 7], 'point': 10}
{'group': [12, 10, 9, 8, 7], 'point': 12}

কোনটি নির্দেশ করে যে কোনও নির্দিষ্ট বিন্দুর নিকটবর্তী আইটেমগুলি মূলত তার দলের অধীনে। এই কৌশলটিতে চিন্তা করার একমাত্র বিষয় হল ভেরিয়েবল কে, যা ক্লাস্টারের স্থির আকার :-)।


-2

যদি কেবল একটি পরিবর্তনশীল হয় তবে ক্লাস্টারিংয়ের দরকার নেই। ভেরিয়েবলের বিতরণের উপর ভিত্তি করে আপনি নিজের পর্যবেক্ষণগুলি সহজেই গ্রুপ করতে পারেন।

নাকি আমি এখানে কিছু পয়েন্ট মিস করছি?


5
ভেরিয়েবলের বিতরণের উপর ভিত্তি করে পর্যবেক্ষণকে কীভাবে গ্রুপ করা যায় তার একটি নির্দিষ্ট উদাহরণ আপনি দিতে পারেন?
আলী

@ সুরকার314: হিস্টোগ্রামের সাথে?
নিকো

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

5
@composer হিস্টোগ্রাম ব্যবহার বা এমনকি একটি মসৃণ কার্নেল এর ডেটা সাধারণত না ক্লাস্টার একটি "সহজ" উপায়। আপনি যদি এই পথে যেতে চান তবে আপনার একটি সসীম মিশ্রণের মডেল ফিট করতে হবে । যদি আপনি কেবল চান যে কোনও হিস্টোগ্রামের নৈমিত্তিক দৃষ্টিভঙ্গি কী প্রস্তাব দিতে পারে তবে কে-অর্থ ব্যবহার করুন ( জেন্টস পদ্ধতি হিসাবেও পরিচিত , কার্টোগ্রাফারদের মধ্যে জনপ্রিয়)।
whuber
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.