ক্লাস্টারিং জিও লোকেশন স্থানাঙ্ক (ল্যাট, দীর্ঘ জোড়া)


51

জিওলোকেশন ক্লাস্টারিংয়ের জন্য সঠিক পন্থা এবং ক্লাস্টারিং অ্যালগরিদম কী?

জিওলোকেশন স্থানাঙ্কগুলি ক্লাস্টার করতে আমি নিম্নলিখিত কোডটি ব্যবহার করছি:

import numpy as np
import matplotlib.pyplot as plt
from scipy.cluster.vq import kmeans2, whiten

coordinates= np.array([
           [lat, long],
           [lat, long],
            ...
           [lat, long]
           ])
x, y = kmeans2(whiten(coordinates), 3, iter = 20)  
plt.scatter(coordinates[:,0], coordinates[:,1], c=y);
plt.show()

জিওলোকেশন ক্লাস্টারিংয়ের জন্য কে-মাধ্যমগুলি ব্যবহার করা ঠিক কি, কারণ এটি ইউক্লিডিয়ান দূরত্ব ব্যবহার করে, এবং হ্যাভারসাইন সূত্রকে একটি দূরত্ব ফাংশন হিসাবে ব্যবহার করে না ?


ইউও এই জাতীয় প্রশ্নটিও একবার দেখে নিতে পারেন: ডেটাসায়েন্স.স্ট্যাকেক্সেঞ্জিং ::
পৃথক

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

উত্তর:


7

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

ক্লাস্টারের সর্বাধিক সংখ্যার সন্ধান করতে আপনি বর্গাকার দূরত্বের গোষ্ঠীর মধ্যে একটি 'কনুই' প্লট তৈরি করতে চেষ্টা করতে পারেন। এটি সহায়ক হতে পারে ( http://nbviewer.ipython.org/github/nborwankar/LearnDataScience/blob/master/notebooks/D3.%20K-Means%20Clustering%20Analysis.ipynb )


3
মোড়কের চারপাশের পয়েন্টগুলিতে একে অপরের নিকটবর্তী পয়েন্টগুলি কীভাবে পরিচালনা করা হয়?
ক্যাস্পার ওয়ান

1
আপনাকে একটি অ্যালগরিদম সন্ধান করতে হবে যা প্রাক-গণনা করা দূরত্বের ম্যাট্রিক্স নেয় বা আপনাকে কোনও দূরত্ব-ফাংশন সরবরাহ করতে দেয় যা কল করতে পারে যখন এটির দূরত্ব গণনা করার দরকার পড়ে। অন্যথায় এটি কাজ করবে না।
স্পেসডম্যান

কনুই প্লট আপনাকে কিছুটা সাহায্য নাও করতে পারে কারণ কোনও কনুই নাও থাকতে পারে। একই ক্লাস্টার নাম্বার সহ কে-ইইউনের কয়েকটি রান চেষ্টা করে দেখুন কারণ আপনি বিভিন্ন ফলাফল পেতে পারেন।
ফড়িং

এটি একটি দৃষ্টিনন্দন ধারণা যেহেতু সমস্ত পয়েন্ট ক্লাস্টার হবে, যা ম্যাপিংয়ে খুব কমই ভাল ধারণা।
রিচার্ড

52

কে-মানে এখানে সর্বাধিক উপযুক্ত অ্যালগরিদম নয়।

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

যেহেতু আপনার ডেটা অক্ষাংশ, দ্রাঘিমাংশের ফর্ম্যাটে রয়েছে তাই আপনার একটি অ্যালগরিদম ব্যবহার করা উচিত যা নির্দিষ্ট জিওডেটিক দূরত্ব ফাংশনগুলিতে স্বেচ্ছাচারিত দূরত্ব ফাংশনগুলি পরিচালনা করতে পারে । হায়ারারিকিকাল ক্লাস্টারিং, প্যাম, ক্লারা এবং ডিবিএসসিএন এর জনপ্রিয় উদাহরণ।

https://www.youtube.com/watch?v=QsGOoWdqaT8 অপটিক্স ক্লাস্টারিংয়ের পরামর্শ দেয়।

যখন আপনি + -180 ডিগ্রি মোড়ের চারপাশের নিকটস্থ পয়েন্টগুলি বিবেচনা করেন তখন কে-মাধ্যমের সমস্যাগুলি দেখতে সহজ। এমনকি আপনি যদি গভীর ক্ষত K-মানে আপডেট পদক্ষেপে, Haversine দূরত্ব ব্যবহার করতে হলে recomputes মানে ফলাফলের খারাপভাবে মাতাল করা হবে না। সবচেয়ে খারাপ ঘটনাটি হচ্ছে, কে-মানে কখনই রূপান্তরিত হবে না!


আপনি কি ভূ-অবস্থানের ডেটার জন্য আরও উপযুক্ত ক্লাস্টারিং পদ্ধতির পরামর্শ দিতে পারেন?
অ্যালেক্স স্পার্লিং 21

আপনি কি তৃতীয় অনুচ্ছেদে লক্ষ্য করেছেন?
অ্যানি-মউসে

7

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


উত্তরের সাথে লিখিত উইকিপিডিয়া নিবন্ধ অনুযায়ী কে-মিয়ানস একই 180 ডিগ্রি র‌্যাপ-চারপাশের সমস্যা থেকে ভুগছেন বলে মনে হচ্ছে এটি।
নরম্যান এইচ

হাঁ! প্লাস কোডগুলি আরও বেশি ভাল প্লাস কোডস
ব্রায়ান

এই সমাধানটির একটি সুবিধা হ'ল যতক্ষণ আপনি একবার জিওহ্যাশ গণনা করবেন, পুনরাবৃত্ত তুলনার কাজগুলি আরও দ্রুত চলে যাবে।
নর্মান এইচ

জিওহশের বালতি-প্রান্তের সমস্যাগুলির সাথে সমস্যা থাকবে - প্রতিটি বালতির স্বেচ্ছাচারী প্রান্তের ভিত্তিতে দুটি খুব কাছের পয়েন্ট বিভিন্ন বালতিতে রাখা হবে।
ড্যান জি

5

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

অধ্যয়ন থেকে প্রাপ্ত চিত্রগুলির মধ্যে একটি:

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

লেখকরা উপসংহারে এসেছিলেন যে শেষের ফলাফলগুলি সামগ্রিকভাবে একই রকম ছিল এবং এর কিছু দিক ছিল যেখানে এলসিজিএম অত্যধিক পরিবেশন করা কে-মানে means


5

আপনি এই জন্য এইচডিবিএসসিএন ব্যবহার করতে পারেন । পাইথন প্যাকেজটিতে রয়েছে হ্যাসারিন দূরত্বের জন্য সমর্থন যা সঠিকভাবে ল্যাট / লম্ব পয়েন্টগুলির মধ্যে দূরত্বগুলি গণনা করবে।

হিসাবে ডক্স উল্লেখ , আপনাকে প্রথমে এই কাজ করার জন্য রেডিয়ানে আপনার পয়েন্ট রূপান্তর করতে হবে। নিম্নলিখিত psuedocode কৌশলটি করা উচিত:

points = np.array([[lat1, lon1], [lat2, lon2], ...])
rads = np.radians(points)
clusterer = hdbscan.HDBSCAN(min_cluster_size=N, metric='haversine')
cluster_labels = clusterer.fit_predict(points)

0

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



-1

এইচবিএস স্ক্যান চিরকালের জন্য গ্রহণ করবে এমনভাবে ক্লিমার্স ক্লিমার্সের সাথে যান। আমি এটি প্রকল্পের একটির জন্য চেষ্টা করে শেষ করেছি তবে কাঙ্কানগুলি পছন্দসই ফলাফল সহ ব্যবহার করছি।

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