0.052 ثواني المفتوحة 100GB البيانات؟ تحليل البيانات بيثون مكتبة مفتوحة المصدر تفعل

المصدر: AI تقنية كامب

هذه المقالة حول 3432 كلمات اقترح القراءة 7 دقائق.

توضح هذه المقالة Vaex يمكن تكرار في أكثر من ثوان معدودة مليار صفوف من البيانات، ومختلف الحسابات الإحصائية، وتجميع والرسوم البيانية المنتجات، كل هذا يمكن القيام به على الكمبيوتر المحمول.

وتحاول العديد من المنظمات لجمع واستخدام البيانات كما الكثير من أجل تحسين طريقة عملها، والإيرادات زيادة وتعزيز النفوذ. لذلك، يواجه العلماء بيانات 50GB أو حتى 500GB حجم مجموعات البيانات أصبح الوضع أكثر شيوعا.

 ومع ذلك، فإن هذا جمع البيانات ليست سهلة الاستخدام. هم بما فيه الكفاية صغيرة ليتم تحميلها إلى القرص الصلب المحمول كل يوم، ولكن كبيرة جدا لRAM الحمل، مما يسبب لهم كان من الصعب لفتح وتفتيش، ناهيك عن استكشاف أو تحليلها.

  معالجة هذه مجموعات البيانات، وعادة ثلاثة أنواع من الاستراتيجيات.

 وهو أول بيانات العينة الفرعية، ولكن العيب هو واضح: هل يمكن تجاهل لأن الجزء ذي الصلة من البيانات والرؤى يغيب الرئيسية، وأسوأ من ذلك، فإنه يسيء فهم معنى تفسير البيانات.

 الاستراتيجية الثانية هي استخدام الحوسبة الموزعة. في بعض الحالات وهذا هو وسيلة فعالة، ولكنه يتطلب الكثير من النفقات العامة لإدارة وصيانة الكتلة.

 أو، يمكنك استئجار مثيل سحابة قوية لديها عملية المطلوبة ذاكرة البيانات. على سبيل المثال، توفر AWS الأمثلة وجود RAM مستوى TB. في هذه الحالة، لا يزال لديك لإدارة منطقة تخزين البيانات سحابة، في كل مرة يبدأ سبيل المثال، تحتاج إلى الانتظار لنقل البيانات من مساحة التخزين إلى مثيل، يجب عليك أن تنظر أيضا قضايا الامتثال البيانات المخزنة في السحابة، و في الإزعاج الناجم عن العمل على كمبيوتر بعيد. ولكن لا تذكر من حيث التكلفة، على الرغم من تكلفة منخفضة جدا لبدء، ولكن المتابعة يميل إلى الزيادة.

  Vaex هو وسيلة جديدة لحل هذه المشكلة. وهي بيانات البحوث العلمية تقريبا أسرع البيانات من أي حجم، وأكثر أمانا وأكثر ملاءمة الطريقة، ما دام يمكن تركيبها على مجموعة البيانات على الكمبيوتر المحمول، سطح المكتب أو على القرص الصلب الخادم.

ما هو Vaex؟

 Vaex DataFrame هي مكتبة مفتوحة المصدر (الباندا مماثلة)، مساحة القرص الثابت على الجدول الخاص بك نفس حجم مجموعة البيانات، فإنه يمكن تصور على نحو فعال، واستكشاف وتحليل وحتى ممارسة التعلم الآلي.

ويمكن أن يحسب على إحصاءات شعرية N-الأبعاد أكثر من مليار (109) الكائن / الصف في الثانية الواحدة، مثل متوسط، وخلاصة القول، عدد، الانحراف المعياري. الرسم البياني، اكتمال الكثافة والتصور ثلاثي الأبعاد من حجم تقديم بيانات يمكن استكشاف تفاعلي كبير. Vaex رسم الخرائط باستخدام الذاكرة، استراتيجية نسخ الذاكرة الصفر لتحقيق الأداء الأمثل (لا تضيع الذاكرة).

 لتحقيق هذه المهام، Vaex رسم الخرائط باستخدام الذاكرة، ومفهوم كفاءة الخوارزمية تأخير حساب النووية والخارجية. يتم تعبئتها كل هذه كما API الطبقة الباندا، لذلك يمكن لأي شخص أن تبدأ بسرعة.

  تحليل البيانات من مليار سيارة أجرة

لتوضيح هذا المفهوم، دعونا لتحليل البيانات استكشافية بيانات بسيطة، مجموعة البيانات لا يتناسب مع RAM الكمبيوتر المحمول العادي.

 هذه المقالة سوف تستخدم مدينة نيويورك (NYC) مجموعة البيانات سيارة أجرة، أكثر من مليار معلومات السفر التي تشمل أجرة صفراء مبدع بين عامي 2009 و 2015 نفذت. بيانات يمكن تحميلها من موقع (https://www1.nyc.gov/site/tlc/about/tlc-trip-record-data.page)، وفي تنسيق CSV. ويمكن الاطلاع على تحليل كامل منفصل (https://nbviewer.jupyter.org/github/vaexio/vaex-examples/blob/master/medium-nyc-taxi-data-eda/vaex-taxi-article في هذه المفكرة Jupyter. ipynb).

لماذا تختار vaex

  • الأداء: التعامل مع جداول البيانات الضخمة، أكثر من مليار الصفوف في الثانية
  • العمود الظاهري: حسابات حيوية، لا تضيعوا والذاكرة
  • ذاكرة فعالة نسخة من ذاكرة عند تنفيذ تصفية / اختيار / فرعية.
  • التصور: الدعم المباشر، في خط وعادة ما يكفي.
  • سهل الاستعمال API: مجرد التعامل مع مجموعة من الكائنات البيانات، واستكمال التبويب وdocstring يمكن أن تساعدك: ds.mean < التبويب > ، على غرار الباندا.
  • العجاف: تنقسم إلى عدد وافر من الحزم
  • Jupyter التكامل: سوف vaex-jupyter تقديم التصور التفاعلية واختيار Jupyter المحمولة وJupyter المختبر.

  مجموعة البيانات مفتوحة فقط 0.052 ثانية 100GB

وتتمثل الخطوة الأولى لتحويل البيانات إلى الذاكرة قد يكون تنسيق ملف معين، مثل أباتشي السهم، اباتشي النيابة العامة أو HDF5. هنا يمكنك أن تجد أيضا كيفية تحويل البيانات CSV كمثال على HDF5. بعد يمكن تعيين الذاكرة إلى تنسيق البيانات، حتى إذا كان حجم القرص على أكثر من 100GB، يمكنك أيضا استخدام حظة Vaex المفتوحة (فقط 0.052 ثانية!):

 لماذا بهذه السرعة؟ عندما Vaex فتح ملف الذاكرة المعينة، وليس في الواقع قراءة أي بيانات. Vaex قراءة فقط ملف الفوقية، على سبيل المثال، بيانات الموقع على القرص، بنية البيانات (عدد الصفوف والأعمدة وأسماء الأعمدة وأنواع)، ووصف الملف. لذلك، إذا كنا نريد للتحقق من البيانات لا أو كيفية التفاعل مع البيانات؟ ولدت قواعد البيانات المفتوحة على مستوى DataFrame وسرعان ما تحقق منها:

 لاحظ أن وحدة تنفيذ وقت قصير للغاية. وذلك لأن عرض Vaex DataFrame يتطلب سوى 5 صفوف أو أعمدة البيانات القراءة من القرص قبل وبعد. وهذا يقودنا إلى التركيز آخر: Vaex سوف اجتياز مجموعة البيانات بالكامل عند الحاجة، وسوف نحاول لنقل البيانات بأقل قدر ممكن للقيام بذلك.

على أي حال، دعونا تبدأ لمسح مجموعة البيانات هذه من القيم المتطرفة المتطرفة أو غير صحيحة قيمة إدخال البيانات. وهناك طريقة جيدة لوصف أسلوب باستخدام نظرة عامة على مستوى مرتفع للبيانات، مما يدل على عدد من العينات، ونوع البيانات من القيم المفقودة لكل عمود. إذا كان نوع البيانات لعدد الأعمدة، وتبين أيضا نفسه، الانحراف المعياري، والحد الأدنى والحد الأقصى للقيم. وتحسب كل هذه الإحصاءات من خلال نقل البيانات.

 استخدام تصف طريقة للحصول على مستوى عال نظرة عامة DataFrame، تولي اهتماما لهذا DataFrame يحتوي على 18 البيانات، إلا أن الكرة لا يظهر الا في الجبهة سبعة.

 طريقة وصف يعكس أيضا وظيفة Vaex والكفاءة: كل هذه الإحصاءات هي في بلدي ماك بوك برو (2018 نماذج 15 بوصة، 2.6GHZ إنتل كور i7،32GB RAM) محسوبة على أقل من ثلاث دقائق أ. تتطلب أساليب أخرى مكتبات أو توزيع أو الحوسبة السحابية الحالات لديها أكثر من 100GB لأداء نفس الحسابات. استخدام Vaex، وتحتاج فقط للبيانات، وفقط عدد قليل من أجهزة الكمبيوتر المحمول GB RAM.

 تحقق وصف الإخراج، فمن السهل أن لاحظ أن البيانات تحتوي على بعض القيم المتطرفة خطيرة.

أولا، بدء التحقق تصل الموقع. أسهل طريقة للقضاء على القيم المتطرفة يتم رسمها ببساطة داخل وخارج مكان الموقع، وبصريا تحدد منطقة مدينة نيويورك نريد أن نركز على التحليل. وبما أننا استخدام مثل مجموعة كبيرة من البيانات، وبالتالي فإن الرسم البياني هو التصور الأكثر فعالية. استخدام Vaex إنشاء وعرض سرعة الرسم البياني رسوم بيانية والحرارة بسرعة، ويمكن أن تتفاعل المخططات!

بعد أن نكون قد قررت التركيز على التفاعل من خلال منطقة مدينة نيويورك، يمكنك ببساطة إنشاء DataFrame بعد الفرز:

 حول رمز أعلاه، فإن أروع شيء هو مقدار الذاكرة التي يحتاجها لأداء يكاد يذكر! لا نسخ في فحص البيانات Vaex DataFrame، ولكن يخلق سوى إشارة إلى الكائن الأصلي، والمراجع في تطبيق ثنائي قناع جرا. أقنعة لصفوف مختارة للظهور، ولاستخدامها في العمليات الحسابية المستقبل. هذا سيوفر 100GB من ذاكرة الوصول العشوائي، وعلى غرار العديد من أدوات علم البيانات القياسية اليوم لديهم لنسخ البيانات.

الآن، والتحقق من العمود passenger_count. الحد الأقصى لعدد الركاب في سجل رحلة سيارة أجرة هو 255، والذي يبدو مبالغا فيه بعض الشيء. عدد الركاب يحسب لكل رحلة، وطريقة value_counts التالية من السهل جدا للقيام بذلك:

يتطلب استخدام value_counts طريقة 20 ثانية فقط على المليار الصفوف

 وكما يتبين من الشكل، تحمل أكثر من ستة السكتة الدماغية قد تكون قيمة غير طبيعية نادرة، أو إدخال البيانات ببساطة خاطئة، وعدد كبير من الركاب السفر 0. لأنه الآن نحن لا نعرف حتى الآن مشروعية هذه الرحلات، لذلك علينا أن تخرج.

 مسافة السفر دعونا على عملية مماثلة. وبما أن هذا هو المتغير المستمر، حتى نتمكن من رسم خريطة للتوزيع مسافة السفر. دعونا رسم مدى اكثر عقلانية من الرسم البياني.

ركوب سيارة أجرة نيويورك من بيانات الرسم البياني

 وكما يتبين من الشكل، يتم تقليل عدد الرحلات مع زيادة المسافة. في حوالي 100 ميل من توزيع انخفضت. في الوقت الحاضر، وسوف نتخذ هذا بمثابة نقطة الانطلاق، والقضاء على القيم المتطرفة تطرفا على أساس المسافة المقطوعة:

 السفر في وجود القيم المتطرفة تطرفا بعد، وهو دراسة الوقت الذي يستغرقه السفر الدافع سيارة أجرة ومتوسط السرعة. هذه الميزات في مجموعة البيانات ليست متاحة بعد، ولكن حساب بسيط:

كتلة التعليمات البرمجية أعلاه دون استخدام الذاكرة، دون الحاجة إلى قضاء بعض الوقت للقيام! وذلك لأن رمز سيخلق فقط الأعمدة الافتراضية. هذه الأعمدة تحتوي على عبارات فقط رياضية، وتقييمها فقط عند الحاجة. وبالإضافة إلى ذلك، سلوك العمود الظاهري مع أي الأعمدة الأخرى العادية هي نفسها. علما بأن المكتبة القياسية الأخرى سوف تحتاج 10 GB من ذاكرة الوصول العشوائي لأداء نفس العملية.

حسنا، دعونا رسم توزيع تستغرق وقتا طويلا السفر:

نيويورك، أكثر من 1 مليار مرة على الرسم البياني السفر سيارة أجرة تستغرق وقتا طويلا

كما يتبين من الأرقام المذكورة أعلاه، على الرغم من أن بعض السكتة الدماغية قد تستغرق 4-5 ساعات، ولكن 95 من أجرة تستغرق أقل من 30 دقيقة للوصول إلى الوجهة. يمكنك أن تتخيل أكثر من سيارة أجرة في مدينة نيويورك حوصروا في ثلاث ساعات ذلك؟ في أي حال، علينا أن بعقل مفتوح والنظر في جميع أمضى أقل من ثلاث ساعات من السكتة الدماغية:

 والآن، دعونا ننظر في بمتوسط سرعة سيارة أجرة، واختيار مجموعة معقولة من البيانات:

سيارات الأجرة توزيع سرعة متوسط

توزيع موقف تسطيح، يمكننا أن نستنتج متوسط معقولة سرعة انزلاق بين 1-60 ميل في الساعة، فمن الممكن لتحديث DataFrame مرشح:

تحول التركيز إلى أجرة التاكسي. من إخراج وصف الطريقة، يمكننا أن نرى بعض القيم المتطرفة المجنونة في fare_amount، TOTAL_AMOUNT والعمود tip_amount. بالنسبة للمبتدئين، أي أي قيمة في هذه الأعمدة يجب أن لا تكون سلبية. وتظهر الأرقام في الوقت نفسه أن بعض الحظ مرة واحدة وهو سائق سيارة أجرة وحدها سيصبح تقريبا مليونيرا. دعونا ننظر توزيع هذه الكميات في حدود المعقول نسبيا:

نيويورك، أكثر من 1 مليار مرة أجرة السفر سيارة أجرة، وتوزيع مجموع والإكراميات. رسم في دفتر هذه المخططات استغرق فقط 31 ثانية!

ونحن نرى كل ثلاثة من ذيل طويل إلى حد ما توزع أعلاه. قد يكون بعض القيم من الذيل الشرعي، ولكن القيم الأخرى قد يكون إدخال البيانات غير صحيحة. على أي حال، دعونا متحفظ، وfare_amount الاعتبار فقط، TOTAL_AMOUNT والسفر tip_amount أقل من 200 $. كما نطلب fare_amount، أكبر قيمة TOTAL_AMOUNT من $ 0.

أخيرا، وبعد الانتهاء من تنظيف الأولي الاحتياطي لكافة البيانات، دعونا نرى كيف العديد من الاحتياجات من البيانات سيارات الأجرة ليتم تحليلها:

هناك أكثر من 1.1 مليار رحلة! كميات كبيرة من البيانات يمكن أن تجعلك فهم المعلومات وراء ركوب سيارة أجرة.

حاشية

وبالإضافة إلى ذلك، حلل واضعو البيانات عن استخدام سائقي سيارات الأجرة Vaex تعظيم الأرباح زاوية. وباختصار، فإن Vaex تساعدك على التخفيف من مشكلة بعض قد تواجه تحديات البيانات.

مع Vaex، يمكنك اجتياز أكثر من مليار صفوف من البيانات في ثوان معدودة لحساب مختلف الإحصاءات، وتجميع وإنتاج الرسوم البيانية، كل هذا يمكن القيام به على جهاز الكمبيوتر المحمول. ومن الحرة والمفتوحة المصدر.

إذا كنت يمكن أن تكون مهتمة في استكشاف مع مجموعة البيانات المستخدمة في هذه المقالة مباشرة في S3 Vaex استخدامها، يرجى الاطلاع على دفتر Jupyter كامل تعلم كيفية تنفيذها.

الموقع الرسمي Vaex: الشبكي: //vaex.io/

وثائق: الشبكي: //docs.vaex.io/

جيثب: الشبكي: //github.com/vaexio/vaex

PyPi: الشبكي: //pypi.python.org/pypi/vaex/

الرابط الأصلي:

https://towardsdatascience.com/how-to-analyse-100s-of-gbs-of-data-on-your-laptop-with-python-f83363dda94

- انتهى -

تسينغهوا الانتباه - بيانات أكاديمية تشينغداو للعلوم قناة الصغرى الرسمية منصة الجمهور " بيانات الإرسال THU  "أيتها الأخوات ولا". إرسال البيانات THU  "لرعاية المزيد من المحاضرات ونوعية المحتوى.

تحت هذا الوباء، فإن أعداد الأزمة الاقتصادية في المسار العضوية

"الصغيرة عينة التعلم (التعلم قليل شوت)" 2020 ورقات ورمز

أصدرت منظمة OpenKG الدفعة الثانية من العهد الجديد عشرة والمعرفة أكثر حداثة أطلس قواعد البيانات المفتوحة

العزلة جناح جولات الروبوت القادمة! تسينغهوا إلى الوراء

سباق الكمبري Kechuang متن أول AI الأسهم رقاقة: أكاديمية الصينية للعلوم حاضنة، تأسست أربع سنوات بقيمة 17.5 مليار

يجب أن تكون على بينة من الأسلحة وباء الحجب - انترنت الطبية

"الحرب" الطاعون "متى" ليس وجها لوجه مقابلة مع العالم أقرب ووهان

"مدينة بلادي، بلادي كلمات"، "تشينغداو الأخ الصغير" ليو Zhiyang الأغنية الأصلية "تفوز تشينغداو"

الكاتب ديفيد تاو الاستماع لوجه "ثوب أصفر" علامة الاستفهام: أن سماعة الرأس غير وارد

يهاى مدرب رعاية مرة أخرى - بمساعدة الطاقم الطبي إرسالها إلى خيار البحر

الاعتدال الربيعي والاستماع إلى الموسيقى من نهر يونغدينغ المياه

ذيل أيام الأسبوع خط الحد الرقم حتى الآن بكين الاسبوع المقبل لاستعادة تركز هذه الأقسام على المرور