SciPy Spatial Data
کار کردن با دادههای فضایی
منظور از دادههای فضایی (spatial data) دادههایی هستند که در یک فضای هندسی معرفی شدهاند. مثلاً یک نقطه در یک سیستم مختصات.
در بسیاری از مسائل با دادههای فضایی سر و کار داریم. مثلاً دانستن اینکه یک نقطه داخل یک مرز مشخص شده قرار میگیرد یا خیر.
SciPy مدول scipy.spatial
را جهت کار با دادههای فضایی معرفی کرده است.
مثلث سازی
مثلث سازی (triangulation) از یک چند ضلعی، تقسیم چند ضلعی به چندین مثلث است که بوسیله آن بتوان مساحت چند ضلعی را محاسبه کرد.
مثلث سازی با نقاط به این معنی است که سطحی متشکل از مثلثها بسازیم به طوریکه همه نقاط داده شده روی حداقل یک راس یکی از مثلثهای موجود در سطح قرار گیرند.
یکی از روشهای ایجاد مثلث از نقاط داده شده توسط تابع شیء Delaunay()
صورت میگیرد.
تابع شیء ()ConvexHull
چارچوب محدب (Convex Hull) کوچکترین چند ضلعی است که همه نقاط داده شده را پوشش دهد. برای ایجاد آن از تابع شیء ConvexHull()
میتوان استفاده کرد.
KDTrees
KDTrees یک ساختار داده بهینه شده جهت جستجو برای پیدا کردن نزدیکترین همسایه است. به این معنی که در یک مجموعه نقاط داده شده KDTrees میتواند به صورت کارآمدی نزدیکترین نقاط به نقطه مشخص شده را پیدا کند.
تابع شیء KDTree()
یک شیء KDTree را برمیگرداند.
تابع شیء query()
فاصله تا نزدیکترین همسایه و محل همسایهها را برمیگرداند.
ماتریس فاصله
ماتریسهای فاصله (distance matrices) زیادی جهت پیدا کردن انواع فاصله (فاصله اقلیدسی، فاصله کسینوسی و ...) بین دو نقطه در علوم داده وجود دارد.
فاصله بین دو بردار تنها طول یک خط مستقیم بین آنها نیست بلکه میتواند زاویه بین آنها در مبداء یا تعداد قدمهای واحد مورد نیاز یا ... باشد.
کارکرد بسیاری از الگوریتمهای یادگیری ماشین تا حد زیادی به ماتریسهای فاصله وابسته هستند. مانند الگوریتم K Nearest Neighbors یا الگوریتم K Means.
در ادامه به توضیح برخی از ماتریسهای فاصله میپردازیم.
فاصله اقلیدسی
فاصله اقلیدسی بین نقاط داده شده را پیدا میکند.
Cityblock Distance (Manhattan Distance)
در محاسبه این نوع فاصله فقط 4 درجه آزادی وجود دارد. یعنی تنها میتوانیم به بالا، پایین، چپ و راست حرکت کنیم و مجاز نیستیم به صورت قطری حرکت کنیم.
فاصله کسینوسی
مقدار کسینوس زاویه بین دو نقطه A و B است.
فاصله همینگ
فاصله همینگ (Hamming Distance) نسبت بیتهایی است که در آن دو بیت متفاوت هستند
راهی برای اندازهگیری فاصله برای دنبالههای دودویی است.