আমি বুদ্ধি করে একটি সাজানো সংগ্রহ বিনে চেষ্টা করছি। আমার কাছে টুকরোগুলির সংকলন রয়েছে । কিন্তু আমি জানি যে মধ্যে এই তথ্য তড়কা মি অসম মাপের বিন। ডেটা সঠিকভাবে ফিট করার জন্য কীভাবে বুদ্ধিমানভাবে শেষের পয়েন্টগুলি চয়ন করবেন তা আমি জানি না। উদাহরণ স্বরূপ:
বলুন যে আমার সংগ্রহে আমার কাছে 12 টি আইটেম রয়েছে এবং আমি জানি যে ডেটা 3 টি বাক্সে ফিট হবে:
Index: 1 2 3 4 5 6 7 8 9 10 11 12
Value: 1 1 1 3 3 3 3 3 3 5 5 6
আমি কিভাবে বুদ্ধিমত্তার এর বিন জন্য আমার ব্রেকপয়েন্ট চয়ন করেন ?
বর্তমান বাস্তবায়ন আমার কাছে তথ্যগুলি সমান আকারের বিনগুলিতে বিভক্ত হয় এবং তারপরে বিনের শেষের জন্য সূচিগুলি খুঁজতে শেষ পয়েন্টগুলির গড় লাগে। সুতরাং এটি এর মতো কাজ করে:
Index: 1 2 3 4 5 6 7 8 9 10 11 12
Value: 1 1 1 3 3 3 3 3 3 5 5 6
first break evenly: i = 1-4, 5-8, 9-12
mean endpoints: between 4 and 5: (3+3)/2 = 3
between 8 and 9: (3+3)/2 = 3
সুতরাং এখন 3 এর নীচে যে কোনও কিছু 1 টি ফিট করে, 3 এর উপরে কিছু কিন্তু 3 এর নীচে বিন 2 তে ফিট করে এবং 3 এর উপরে যে কোনও কিছুই 3 বাক্সে ফিট করে। আপনি দেখতে পাচ্ছেন আমার সমস্যাটি কী। যদি ডেটাতে অসম বিন্যাস থাকে তবে আমার পদ্ধতিটি ব্যর্থ।
একটি বন্ধু কে-নিকটতম প্রতিবেশী অ্যালগরিদমের কথা উল্লেখ করেছে তবে আমি নিশ্চিত নই।