تحليل كمي للمدرسة القديمة Runescape Hiscores.
يساهم هذا المستودع بما يلي:
تتكون مجموعة البيانات من الملفات التالية:
player-stats.csv : مستويات المهارات في جميع المهارات الـ 23 لحسابات OSRS الأولى.cluster-centroids.csv : القيم المركزية للمجموعات التي تنشأ من مجموعة بيانات Presidentation إلى مجموعات بناءً على تشابه الحساب. كل centroid هو متجه القيم بين 1-99 في مساحة "OSRS Skill".player-clusters.csv .player-stats-raw.csv : Rank ، Level ، XP ، Code ، Minigame و Boss Stats لأفضل مليوني لاعبي OSRS. هذا الملف هو الإخراج الخام من عملية الكشط (1.7 جيجابايت).لا يتم فحص هذه الملفات إلى الريبو بسبب قيود حجم الملف. يمكن تنزيلها بشكل منفصل من Google Drive: https://bit.ly/osrs-hiscores-dataset
تم جمع احصائيات اللاعبين من OSRS الرسمية Hiscores على مدار 24 ساعة في 21 يوليو 2022.
├── LICENSE
├── Makefile <- Top-level Makefile for building and running project.
├── README.md <- The top-level README for developers using this project.
│
├── app <- Application code and assets.
├── bin <- Utility executables.
│
├── data
│ ├── final <- The final, canonical data set.
│ ├── interim <- Intermediate data that has been transformed.
│ └── raw <- The original, immutable data dump.
│
├── ref <- Reference files used in data processing.
├── scripts <- Scripts for the stages of the data processing pipeline.
│
├── src
│ ├── analysis <- Data science and analytics.
│ └── scrape <- Scraping hiscores data.
│
├── test <- Unit tests.
│
├── Procfile <- Entry point for deployment as a Heroku application.
├── requirements.txt <- Dependencies file for reproducing the project environment.
├── runapp.py <- Main script for Dash application.
└── setup.py <- Setup file for installing this project through pip.
على مستوى عالٍ ، ينفذ هذا المستودع خط أنابيب لعلوم البيانات:
scrape OSRS hiscores data
↓
cluster players by stats
↓
project clusters to 3D
↓
build application data
جنبا إلى جنب مع تطبيق اندفاعة لتصور النتائج.
يتم قيادة مراحل خط أنابيب البيانات بواسطة makefile مع مستوى المستوى make لكل مرحلة معالجة:
make init : إعداد بيئة المشروع وتثبيت التبعيات.make scrape : كشط البيانات من OSRS الرسمية Hiscores وتحويل إلى مجموعة بيانات تم تنظيفها.make cluster : لاعبي الكتلة في مجموعات من الحسابات المماثلة وفقًا لإحصائياتهم. يستخدم K-Means كخوارزمية التجميع ، التي تنفذها مكتبة Faiss.make postprocess : عرض الأشرطة النقطية العنقودية من مساحة عالية الأبعاد إلى ثلاثية الأبعاد لأغراض التصور (UMAP هي الخوارزمية المستخدمة في الحد من الأبعاد). حساب الرباعية لكل مجموعة بناء على عدد سكان اللاعب الذي يحتوي عليه.make build-app : بناء بيانات التطبيق وقاعدة البيانات باستخدام جميع النتائج التحليلية السابقة. سيقوم هذا الهدف بتشغيل مثيل MongoDB داخل حاوية Docker في عنوان URL localhost:27017 (افتراضيًا). يمكن تخطي الخطوتين 2 و 3 (وينبغي) ببساطة تشغيل make download-dataset ، والتي تجلب البيانات المكثفة ونتائج التجميع من دلو S3. هذا يتطلب حساب AWS مع بيانات الاعتماد الموجودة في دليل ~/.aws .
لإطلاق التطبيق ، قم بتشغيل make run-app وزيارة عنوان URL localhost:8050 في متصفح الويب.
يمكن بناء التطبيق النهائي وتشغيله في طلقة واحدة عبر make app ، والذي يستخدم البيانات التي تم تنزيلها بدلاً من تجنب وتجميع البيانات من نقطة الصفر. الهدف make all هو ما تم استخدامه لبناء النتائج النهائية لهذا الريبو. إذا كان كشط البيانات ، لاحظ أن استخدام API Hiscores العالي قد يؤدي إلى حظر IP الخاص بك. يرجى أن تكون محترمًا واحترام موارد خادم Jagex في استخدامك لهذا الرمز.
Run make help لمشاهدة المزيد من الأهداف ذات المستوى الأعلى.
يتم تعيين عدد من متغيرات البيئة من أجل تكوين التطبيق.
OSRS_APPDATA_URI : مسار إلى ملف بيانات التطبيق. PKL (S3 أو محلي)OSRS_MONGO_URI : عنوان URL الذي يعمل فيه مثيل MongoDBOSRS_MONGO_COLL : تخزين/استرداد بيانات المشغل من المجموعة بهذا الاسمهناك أيضًا متغيرات بيئة تحدد أسماء الملفات في كل مرحلة من مراحل خط أنابيب البيانات.
يتم تعريف الافتراضات لجميع متغيرات البيئة في .env.default واستيرادها كلما تم تشغيل make . في حالة وجود ملف يسمى .env ، فإن أي إعدادات هناك ستجاوز تلك الموجودة في .env.default .
~/.aws (إنشاء حساب هنا) all : جميع مهارات OSRS الـ 23cb : المهارات القتالية 7noncb : المهارات الـ 16 غير القتاليةn_neighbors=10 و min_dist=0.25 للانقسامات all و noncb ؛ n_neighbors=20 و min_dist=0.25 تم استخدامها لتقسيم cb .فيما يلي بعض الأفكار لمشاريع علوم البيانات.