স্পষ্টতই, হায়ারারিকিকাল ক্লাস্টারিংয়ে যেখানে দূরত্বের পরিমাপ ইউক্যালিডিয়ান দূরত্ব হয়, ক্লাস্টারিং চালানো থেকে সর্বোচ্চ বৈকল্পিকতা সহ কোভারিয়টকে রোধ করার জন্য ডেটাটিকে প্রথমে স্বাভাবিক বা মানিক করা উচিত। কেন? এই বাস্তবতা কি কাম্য নয়?
স্পষ্টতই, হায়ারারিকিকাল ক্লাস্টারিংয়ে যেখানে দূরত্বের পরিমাপ ইউক্যালিডিয়ান দূরত্ব হয়, ক্লাস্টারিং চালানো থেকে সর্বোচ্চ বৈকল্পিকতা সহ কোভারিয়টকে রোধ করার জন্য ডেটাটিকে প্রথমে স্বাভাবিক বা মানিক করা উচিত। কেন? এই বাস্তবতা কি কাম্য নয়?
উত্তর:
এটি আপনার ডেটার উপর নির্ভর করে। এবং প্রকৃতপক্ষে এটি শ্রেণিবিন্যাসের ক্লাস্টারিংয়ের সাথে কিছুই করার নেই, তবে তারা নিজেরাই দূরত্বের কাজ করে।
সমস্যাটি যখন আপনার মিশ্র বৈশিষ্ট্যগুলি থাকে ।
বলুন আপনার কাছে ব্যক্তির উপর ডেটা রয়েছে। ওজন গ্রাম এবং জুতো আকারে। জুতার আকারগুলি খুব সামান্য পৃথক হয়, যখন দেহের ভর (গ্রামে) এর পার্থক্য অনেক বেশি। আপনি কয়েক ডজন উদাহরণ সহ আসতে পারেন। আপনি কেবল 1 গ্রাম এবং 1 জুতোর আকারের পার্থক্য তুলনা করতে পারবেন না। প্রকৃতপক্ষে, এই উদাহরণে আপনি এমন কিছু গণনা করুন যা দৈহিক একক থাকবে !
সাধারণত এই ক্ষেত্রে, ইউক্লিডিয়ান দূরত্বটি ঠিক বোঝায় না। আপনি এখনও আপনার ডেটা স্বাভাবিক রাখেন তবে অনেক পরিস্থিতিতে এটি এখনও কাজ করতে পারে। এমনকি যদি এটি প্রকৃত অর্থে বোঝায় না, তবে এমন পরিস্থিতিগুলির জন্য এটি একটি ভাল উপাসনা যা আপনার কাছে "প্রমাণিত সঠিক" দূরত্ব ফাংশন নেই, যেমন মানব-স্কেল শারীরিক বিশ্বে ইউক্লিডিয়ান দূরত্ব।
আপনি যদি নিজের ডেটা মানক না করেন তবে বড় মূল্যবান ইউনিটগুলিতে পরিমাপ করা ভেরিয়েবলগুলি তুলনামূলক ভিন্নতা এবং স্বল্প মূল্যবান ইউনিটগুলিতে পরিমাপ করা ভেরিয়েবলগুলি খুব সামান্য অবদান রাখবে।
আমরা এর মাধ্যমে আর এর মাধ্যমে এটি কল্পনা করতে পারি:
set.seed(42)
dat <- data.frame(var1 = rnorm(100, mean = 100000),
var2 = runif(100),
var3 = runif(100))
dist1 <- dist(dat)
dist2 <- dist(dat[,1, drop = FALSE])
dist1
তিনটি ভেরিয়েবলের উপর ভিত্তি করে 100 টি পর্যবেক্ষণের জন্য ইউক্লিডিয়ান দূরত্ব dist2
রয়েছে তবে var1
একাকী ভিত্তিতে ইউক্লিডিয়ান দূরত্ব রয়েছে ।
> summary(dist1)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.07351 0.77840 1.15200 1.36200 1.77000 5.30200
> summary(dist2)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.000072 0.470000 0.963600 1.169000 1.663000 5.280000
দূরত্বগুলির বিতরণ কতটা সমান এবং লক্ষ্য রাখে যে var2
এবং এর থেকে খুব কম অবদান রয়েছে এবং var3
প্রকৃত দূরত্বগুলি খুব মিল:
> head(dist1)
[1] 1.9707186 1.0936524 0.8745579 1.2724471 1.6054603 0.1870085
> head(dist2)
[1] 1.9356566 1.0078300 0.7380958 0.9666901 1.4770830 0.1405636
যদি আমরা ডেটা মানক করি
dist3 <- dist(scale(dat))
dist4 <- dist(scale(dat[,1, drop = FALSE]))
তবে কেবলমাত্র var1
তিনটি ভেরিয়েবলের উপর ভিত্তি করে দূরত্বগুলির মধ্যে একটি বড় পরিবর্তন রয়েছে :
> summary(dist3)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.09761 1.62400 2.25000 2.28200 2.93600 5.33100
> summary(dist4)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.000069 0.451400 0.925400 1.123000 1.597000 5.070000
> head(dist3)
[1] 2.2636288 1.7272588 1.7791074 3.0129750 2.5821981 0.4434073
> head(dist4)
[1] 1.8587830 0.9678046 0.7087827 0.9282985 1.4184214 0.1349811
যেহেতু হায়ারারিকাল ক্লাস্টারিং এই দূরত্বগুলি ব্যবহার করে, আপনার কাছে থাকা ডেটা / ভেরিয়েবলগুলির ধরণের উপর নির্ভর করবে কিনা তা প্রমিত হবে এবং আপনি বড় জিনিসগুলি দূরত্বগুলিতে আধিপত্য বজায় রাখতে চান এবং তাই ক্লাস্টারিং গঠনে প্রভাবশালী ant এর উত্তর হ'ল ডোমেন নির্দিষ্ট এবং ডেটা-সেট নির্দিষ্ট।
অ্যানি-মাউস একটি দুর্দান্ত উত্তর দিয়েছেন । আমি কেবল যুক্ত করব যে দূরত্বের মেট্রিক যা বোধগম্য হয় তা মাল্টিভারিয়েট বিতরণগুলির আকারের উপর নির্ভর করে। মাল্টিভারিয়েট গাউসিয়ানদের জন্য, মহালানোবিসের দূরত্ব যথাযথ পরিমাপ।