دالة دائرية في لغة بايثون

نشرت: 2023-01-03

جدول المحتويات

مقدمة إلى لغة بايثون:

Python هي لغة برمجة عالية المستوى. إنها لغة مفتوحة المصدر مما يعني أنه يمكن لأي شخص الوصول إليها. إنها لغة مستخدمة على نطاق واسع أصبحت شائعة جدًا هذه الأيام بسبب استخدامها العالمي في جميع أنحاء الشركات. تفضل الشركات استخدام Python لأنها تتمتع بالقدرة على اكتساب فهم دقيق وعميق للبيانات. تمتلك Python العديد من الطرق القوية لتخزين مجموعة البيانات ومعالجتها. في هذه اللغة ، ليست هناك حاجة للإعلان عن متغير أو تخصيص أي نوع له ، حيث سيتم تعيينه تلقائيًا بمجرد كتابة متغير مما يعني أنه لغة ديناميكية مكتوبة يتم تمييزها تلقائيًا بين القيم المختلفة التي يتم تعيينها. سيتم التعامل مع الأرقام التي تحتوي على نقطة على أنها نوع "عائم" والأرقام التي لا تحتوي على أي نقطة سيتم التعامل معها على أنها من النوع "عدد صحيح". يوفر استخدام مثل هذه اللغة العديد من الفوائد ، أحدها أنك لست بحاجة إلى القلق بشأن تحويلات النوع. تتمتع Python بالعديد من المزايا مقارنةً بلغات البرمجة الأخرى:

  • يحتوي على بناء جملة بسيط مشابه للغة الإنجليزية.
  • كما يسمح لكتابة بضعة أسطر من الكود ، وهو أمر مفيد جدًا للمطورين ، بدلاً من كتابة رموز كبيرة بهذه اللغة يمكن إجراؤها باستخدام بضعة أسطر من النحو.
  • لغة بايثون هي لغة وجوه المنحى.
  • المسافة البادئة مهمة جدًا في هذه اللغة. المسافة البادئة مفيدة في سهولة قراءة الكود وتساعد على فهم كيفية تنفيذ كتلة الكود. تحتاج جميع كتل التعليمات البرمجية إلى مسافة بادئة. ليست هناك حاجة لأي أقواس مجعدة وعبارات endif مثل لغات البرمجة الأخرى.

تحقق من دورات علوم البيانات لدينا لتحسين مهاراتك.

ما الذي يمكن أن تفعله بايثون؟

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

وظائف Python المضمنة:

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

تحتوي لغة Python على بعض الوظائف المضمنة المفيدة جدًا للأغراض الحسابية. هناك العديد من الوظائف مثل القسمة الصحيحة والقيمة المطلقة والأرقام المركبة والمعامل. إحدى هذه الوظائف هي الجولة () ، والتي تكون مفيدة جدًا أثناء التعامل مع أرقام الفاصلة العائمة. يختلف التقريب في بايثون عن الذي نواجهه أثناء أداء الوظائف الحسابية في الرياضيات. يمكن أن يُعزى ذلك إلى حقيقة أنه أثناء إجراء الحسابات الرياضية العادية ، فإننا نستخدم النظام العشري الذي يعتمد على الرقم 10 ، بينما على عكس ذلك ، تقوم أجهزة الكمبيوتر بمعالجة كل عدد صحيح وتخزينه في تنسيق الأرقام الثنائية ، أي "0 " و 1". وبالتالي ، قد لا ينتهي بنا المطاف برؤية النتائج التي توقعناها أثناء استخدام وظيفة الجولة في بايثون. ومن ثم ، يجب أن نفهم أن الدالة Round في Python تعطي مخرجات وفقًا لإستراتيجية التقريب المحددة ، والتي قد لا تسفر عن النتيجة المتوقعة لموقف معين تم استخدامه من أجله. تتمثل الوظيفة الأساسية للدالة المستديرة في إرجاع رقم عائم.

ما مقدار تأثير التقريب؟

افترض أن لديك يومًا جيدًا جدًا وأنك تجد 100 دولار على الأرض. بدلاً من صرف كل أموالك دفعة واحدة ، تفكر في استثمار مبلغ ما في شراء أسهم متعددة الأسهم.

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

حان الوقت للتجربة. دعونا نفكك قيمة جميع الأسهم التي تم شراؤها ثم نسجل تقلباتها برقم عشوائي كل ثانية ، في مكان ما بين 0.05 دولار و 0.06 دولار. قد لا يكون الاختلاف المذكور قيمة جيدة للغاية مع منزلتين عشريتين. ضع في اعتبارك مثالًا تزيد فيه القيمة الإجمالية بمقدار 0.036332 دولارًا أمريكيًا في ثانية واحدة وتنخفض بمقدار 0.022223 دولارًا أمريكيًا في الثانية التالية.

الآن ، إذا لم نكن بحاجة إلى تتبع الخانة العشرية الخامسة والسادسة ، فيمكننا اتخاذ قرار بقطع الرقم الذي يلي المكان العشري الثالث. تُعرف هذه الطريقة بقطع الرقم. يمكن توقع خطأ هنا ، ولكن بالاحتفاظ بثلاثة منازل عشرية فقط ، يمكن أن يكون هذا الخطأ الأقل أهمية. لمعرفة المزيد عن هذا السيناريو ، دعنا نرى كيف تعمل وظيفة truncate ().

قل ، على سبيل المثال ، لدينا رقم n. لذلك ، سيعمل truncate () على هذا الرقم عن طريق تحريك الفاصلة العشرية نحو اليمين حتى ثلاثة أماكن بضرب الرقم n في 1000. بعد الضرب ، نحصل على رقم جديد يُؤخذ على أنه int (). أخيرًا ، نقسم الرقم مرة أخرى على 1000 ونحول الفاصلة العشرية إلى اليسار.

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

سنقوم بتهيئة المتغيرات إلى 100 بمساعدة بناء الجملة أدناه:

والآن يتم تشغيل المحاكاة لمدة 1،000،000 ثانية (11.5 يومًا تقريبًا). ستتم المحاكاة في حلقة. سيتم تكرارها على مدى الأرقام بين 999 و 0. سيتم حفظ القيمة في المتغير في كل خطوة من القيمة المأخوذة من النطاق (). سيتم إنشاء رقم عشوائي بين -0.5 إلى 0.5 في كل خطوة من الحلقة باستخدام random.randn () وسيتم تخصيص هذا الرقم لمتغير randn. سيتم الآن حساب قيمة الاستثمار عن طريق إضافة القيمة الفعلية إلى randn ، وبعد ذلك سنضيف randn إلى القيمة المقتطعة. سنحصل على الإجمالي المقتطع وسيتم بعد ذلك اقتطاع هذه القيمة الإجمالية باستخدام truncate ().

نلاحظ متغير القيم الفعلية بعد تنفيذ الحلقة ؛ نخسر فقط حوالي 3.55 دولار. ومع ذلك ، إذا نظرنا إلى truncated_value ، فيبدو أن المبلغ قد فقد بالكامل.

ملاحظة: وظيفة random.seed () التي تم استخدامها في المثال المذكور أعلاه تشارك في زرع الرقم العشوائي الزائف. لذلك ، يمكن إعادة إنتاج الإخراج.

يمكننا ملاحظة الاختلاف في النتائج بوضوح بعد استخدام round () و truncate ().

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

نصف دائري بعيدًا عن الصفر:

عندما نلقي نظرة فاحصة على round_half_up () و round_half_down () ، نلاحظ أن أيا منهما غير متماثل حول الصفر. يمكن إدخال التماثل من خلال تقريب التعادل بعيدًا عن الصفر.

نبدأ بتحويل العلامة العشرية إلى اليمين. ثم نلقي نظرة على الرقم d الموجود مباشرة على يمين العلامة العشرية في هذا الرقم الجديد. هناك أربع حالات لهذا السيناريو:

  1. إذا كانت n موجبة و d> = 5 ، قم بتقريب القيمة
  2. إذا كانت n موجبة و d <5 ، فقرب القيمة لأسفل
  3. إذا كانت n سالبة و d> = 5 ، فقرب القيمة لأسفل
  4. إذا كان n سالبًا و d <5 ، فقم بتقريب القيمة

بعد التقريب وفقًا للطريقة المذكورة أعلاه ، نعيد الفاصلة العشرية إلى اليسار.

نصف دائري حتى:

إحدى طرق تجنب تحيز التقريب عند تقريب القيم في مجموعة بيانات يتم تقريبها إلى أقرب رقم زوجي. دعنا نرى بعض الأمثلة أدناه:

الدالة round () خالية من التحيز ، لكنها ليست مثالية. ولكن لا يزال من الممكن تقديم تحيز التقريب إذا تم تقريب غالبية القيم في مجموعة البيانات إلى الأعلى بدلاً من التقريب لأسفل. يتم استخدام "نصف التقريب إلى إستراتيجية متساوية" في جولة الدالة المضمنة في Python ().

تقدم بطلب للحصول على برنامج PG التنفيذي في علوم البيانات

ملخص:

  • الآن ، لقد مررنا بطرق مختلفة للتقريب في Python. هناك أفضل الممارسات لتقريب بيانات العالم الحقيقي.
  • يمكننا استخدام التقريب في إطارات بيانات numpy و pandas.
  • يمكن أن يكون هناك أخطاء في التقريب ، ولكن من أجل ذلك ، لدينا طرق مختلفة لتقريب القيم وتجنب تلك الأخطاء.
ترغب في مشاركة هذه المقالة؟

استعد لمهنة المستقبل

تقدم بطلب للحصول على ماجستير العلوم في علوم البيانات