ক্লাস্টারিংয়ের আগে কি আপনার ডেটা মানক করা দরকার?


23

গুচ্ছের আগে কি আপনার ডেটা মানক করা দরকার? scikit learnডিবিএসসিএন সম্পর্কে উদাহরণস্বরূপ , তারা এখানে লাইনে এটি করে:

X = StandardScaler().fit_transform(X)

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

কেন ডেটা রুপান্তর করা প্রয়োজন হবে?


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

উত্তর:


19

সাধারণকরণ সর্বদা প্রয়োজন হয় না, তবে এটি খুব কমই ব্যথা করে।

কিছু উদাহরণ:

কে-মানে :

কে-মানে ক্লাস্টারিং স্থানের সব দিকেই "আইসোট্রপিক" এবং অতএব আরও বা কম বৃত্তাকার (প্রসারিতের চেয়ে) ক্লাস্টার উত্পাদন করে। এই পরিস্থিতিতে বৈষম্যগুলি অসম ছেড়ে দেওয়া ভেরিয়েবলগুলিতে আরও কম ওজন রাখার সমান smaller

মতলব উদাহরণ:

X = [randn(100,2)+ones(100,2);...
     randn(100,2)-ones(100,2)];

% Introduce denormalization
% X(:, 2) = X(:, 2) * 1000 + 500;

opts = statset('Display','final');

[idx,ctrs] = kmeans(X,2,...
                    'Distance','city',...
                    'Replicates',5,...
                    'Options',opts);

plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(ctrs(:,1),ctrs(:,2),'kx',...
     'MarkerSize',12,'LineWidth',2)
plot(ctrs(:,1),ctrs(:,2),'ko',...
     'MarkerSize',12,'LineWidth',2)
legend('Cluster 1','Cluster 2','Centroids',...
       'Location','NW')
title('K-means with normalization')

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

(এফওয়াইআই) আমার ডেটাসেটটি ক্লাস্টারড বা আনস্লাস্টারড (উদাহরণস্বরূপ একটি একক ক্লাস্টার গঠন করে ) কীভাবে সনাক্ত করব?

বিতরণ ক্লাস্টারিং :

তুলনামূলক বিশ্লেষণ দেখায় যে বিতরণ ক্লাস্টারিংয়ের ফলাফলগুলি সাধারণীকরণ পদ্ধতির ধরণের উপর নির্ভর করে।

কৃত্রিম নিউরাল নেটওয়ার্ক (ইনপুট) :

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

কৃত্রিম নিউরাল নেটওয়ার্ক (ইনপুট / আউটপুট)

আপনার ডেটাতে এই জিনিসগুলির কোনও করা উচিত? উত্তরটি হল, এটা নির্ভরশীল।

ইনপুট বা টার্গেট ভেরিয়েবলগুলির মানককরণটি অপ্টিমাইজেশনের সমস্যার সংখ্যার অবস্থার উন্নতি করে ( ftp://ftp.sas.com/pub/neura/illcond/illcond.html দেখুন ) উন্নত করে এবং বিভিন্ন ডিফল্টকে নিশ্চিত করে প্রশিক্ষণ প্রক্রিয়াটিকে আরও ভাল করে তোলে আরম্ভ এবং সমাপ্তির সাথে জড়িত মানগুলি উপযুক্ত। লক্ষ্য নির্ধারণের উদ্দেশ্যগুলিও উদ্দেশ্যমূলক কার্যকে প্রভাবিত করতে পারে।

মামলার মানকে সতর্কতার সাথে যোগাযোগ করা উচিত কারণ এটি তথ্য বাতিল করে দেয়। যদি সেই তথ্য অপ্রাসঙ্গিক হয় তবে মানকে মানিয়ে নেওয়া বেশ সহায়ক হতে পারে। যদি সেই তথ্যটি গুরুত্বপূর্ণ হয় তবে মানকে মান্য করা বিপর্যয়কর হতে পারে।


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

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

পরিমাপ ইউনিটগুলির পছন্দের উপর এই নির্ভরতা এড়াতে, কোনওটির কাছে ডেটা মানক করার বিকল্প রয়েছে। এটি মূল পরিমাপকে ইউনিটলেস ভেরিয়েবলগুলিতে রূপান্তর করে।

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন

কাউফম্যান এট আল। কিছু আকর্ষণীয় বিবেচনার সাথে অবিরত (পৃষ্ঠা 11):

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


1
এই উত্তরটি অসাধারণ
ক্যান্ডিক 3

6

ডাটা স্ট্যান্ডার্ড করার পরামর্শ দেওয়া হয় কারণ অন্যথায় প্রতিটি বৈশিষ্ট্যের মানগুলির পরিসীমা ওজন হিসাবে কাজ করবে যখন কীভাবে ক্লাস্টার ডেটা নির্ধারণ করা হয়, যা সাধারণত অনাকাঙ্ক্ষিত।

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

>>> import numpy as np
>>> from sklearn.preprocessing import StandardScaler
>>> from sklearn.metrics.pairwise import euclidean_distances
>>> 
>>> X = np.array([[1,2,100],[4,3,50],[1,1,75]])
>>> 
>>> print X
[[  1   2 100]
 [  4   3  50]
 [  1   1  75]]
>>> 
>>> print euclidean_distances(X)
[[  0.          50.0999002   25.01999201]
 [ 50.0999002    0.          25.25866188]
 [ 25.01999201  25.25866188   0.        ]]
>>> print euclidean_distances(StandardScaler().fit_transform(X))
[[ 0.          3.46410162  1.73205081]
 [ 3.46410162  0.          3.46410162]
 [ 1.73205081  3.46410162  0.        ]]

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


1

এটি প্রয়োজনীয় কিনা তা আপনি পছন্দ করেছেন এমন দূরত্বের মেট্রিকের উপর নির্ভর করতে পারে বা মানক করা কড়াভাবে প্রয়োজনীয় নয় necessary

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

যেমন মেশিন লার্নিংয়ের অনেক কিছুই রয়েছে তেমন কোনও শক্ত এবং দ্রুত উত্তর নেই এবং নিশ্চিতভাবে জানার একমাত্র উপায় হ'ল বিভিন্ন কৌশল প্রয়োগ করা যা আপনার ডেটার জন্য সবচেয়ে উপযুক্ত ফলাফল দেয় see


0

আমি কিছু ক্ষেত্রে ক্লাস্টারিংয়ের জন্য ব্যবহৃত মাত্রাগুলির "গুরুত্ব" নির্ধারণ করে একটি "ব্যবসায়িক মূল্যায়ন" ফাংশন সংজ্ঞায়িত করতে দরকারী বলে মনে করি। যেমন গ্রিনগ্রোসার গ্রাহকদের ক্লাস্টারিংয়ের জন্য, যদি আপেল কমলার চেয়ে দ্বিগুণ ব্যয় করে, তবে আপেলের সংখ্যা দ্বিগুণ হবে।


কিন্তু, তাহলে আপনি যে অতিরিক্ত বৈশিষ্ট্যটি গুছিয়ে রেখেছেন সেটিকে আপনি কেবল এটি অন্তর্ভুক্ত করতে পারেন নি? অর্থাত্ দাম ক্লাস্টারে ফিচার হয়ে যায়?
ক্যান্ডিক 3
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.