ক্লাস্টারিংয়ের আগে ডেটা স্কেল করা কি গুরুত্বপূর্ণ?


44

আমি এই টিউটোরিয়ালটি পেয়েছি , যা পরামর্শ দেয় যে ক্লাস্টারিংয়ের আগে বৈশিষ্ট্যগুলিতে আপনার স্কেল ফাংশনটি চালানো উচিত (আমি বিশ্বাস করি যে এটি ডেটা জেড-স্কোরগুলিতে রূপান্তর করে)।

আমি ভাবছি যে এটি প্রয়োজনীয় কিনা। আমি বেশিরভাগই জিজ্ঞাসা করছি কারণ আমি যখন ডেটা স্কেল করি না তখন একটি দুর্দান্ত কনুই পয়েন্ট থাকে তবে এটি যখন ছোট হয় তখন অদৃশ্য হয়ে যায়। :)

উত্তর:


59

সমস্যাটি হ'ল কেসের মধ্যে দূরত্বের একটি ভাল পরিমাপের প্রতিনিধিত্ব করে।

যদি আপনার দুটি বৈশিষ্ট্য থাকে তবে একটি যেখানে মামলার পার্থক্য বড় এবং অন্যটি ছোট, আপনি কি পূর্ববর্তীটিকে প্রায় দূরত্বের একমাত্র চালক হিসাবে প্রস্তুত করতে প্রস্তুত?

সুতরাং উদাহরণস্বরূপ, আপনি যদি লোকজনকে ওজনে কেজি এবং উচ্চতা মিটারে ক্লাস্টার করেন, তবে 1 কেজি পার্থক্য কি উচ্চতার 1 মিটার পার্থক্যের মতো তাত্পর্যপূর্ণ? আপনি কি কেজি ওজনের ও সেন্টিমিটারের উচ্চতায় বিভিন্ন ক্লাস্টারিংগুলি পাবেন তা কী বিবেচনা করে? যদি আপনার উত্তরগুলি যথাক্রমে "না" এবং "হ্যাঁ" হয় তবে আপনার সম্ভবত স্কেল করা উচিত।

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


33

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

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

ক্যান্থেটিক ক্লাস্টারযুক্ত ডেটা, কে-মানে দুটি স্বাভাবিক এবং অ-নর্মালাইজড সংস্করণে ক্লাস্টারিং সহ

import numpy as np
import seaborn
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

rnorm = np.random.randn

x = rnorm(1000) * 10  
y = np.concatenate([rnorm(500), rnorm(500) + 5])

fig, axes = plt.subplots(3, 1)

axes[0].scatter(x, y)
axes[0].set_title('Data (note different axes scales)')

km = KMeans(2)

clusters = km.fit_predict(np.array([x, y]).T)

axes[1].scatter(x, y, c=clusters, cmap='bwr')
axes[1].set_title('non-normalised K-means')

clusters = km.fit_predict(np.array([x / 10, y]).T)

axes[2].scatter(x, y, c=clusters, cmap='bwr')
axes[2].set_title('Normalised K-means')

17

এটি আপনার ডেটা উপর নির্ভর করে

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

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

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


5

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

ধারণাটি হ'ল যদি তথ্যের বিভিন্ন উপাদানগুলির (বৈশিষ্ট্যগুলি) বিভিন্ন স্কেল থাকে, তবে ডেরাইভেটিভগুলি উচ্চতর বৈকল্পিকের সাথে দিক বরাবর প্রান্তিককরণের প্রবণতা তৈরি করে, যা দরিদ্র / ধীর অভিমুখে পরিচালিত করে।


4

স্ট্যান্ডার্ডাইজেশন ডেটা প্রিপ্রোসেসিংয়ের একটি গুরুত্বপূর্ণ পদক্ষেপ।

এটি ডেটাसेटের পরিবর্তনশীলতা নিয়ন্ত্রণ করে, এটি লিনিয়ার ট্রান্সফর্মেশন ব্যবহার করে ডেটাটিকে নির্দিষ্ট পরিসরে রূপান্তর করে যা ভাল মানের ক্লাস্টার উত্পন্ন করে এবং ক্লাস্টারিং অ্যালগরিদমগুলির যথার্থতা উন্নত করে, কে-মানে বিশ্লেষণে এর প্রভাবগুলি দেখতে নীচের লিঙ্কটি দেখুন।

https://pdfs.semanticscholar.org/1d35/2dd5f030589ecfe8910ab1cc0dd320bf600d.pdf

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.