اذهب إلى المحتوى

Mustafa Suleiman

الأعضاء
  • المساهمات

    13572
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    372

آخر يوم ربح فيه Mustafa Suleiman هو ديسمبر 9

Mustafa Suleiman حاصل على أكثر محتوى إعجابًا!

آخر الزوار

لوحة آخر الزوار معطلة ولن تظهر للأعضاء

إنجازات Mustafa Suleiman

عضو نشيط

عضو نشيط (3/3)

6.2k

السمعة بالموقع

209

إجابات الأسئلة

  1. يوجد شرح عن DOM في دورة تطوير واجهات المستخدم في مسار أساسيات تطوير الويب في قسم أساسيات JavaScript. ومسار أساسيات تطوير الويب في دورة تطوير واجهات المستخدم مجاني لك تستطيع دراسته، وجميع المسارات الأولى من جميع الدورات متاحة لك بشكل مجاني. بخصوص الـ BOM فستجد شرح له هنا: والمزيد من الشرح حول DOM:
  2. مصدر ما ذكرته لك من هنا من الموقع الرسمي: https://support.google.com/paymentscenter/answer/9037801?hl=en#:~:text=You cannot change the country,with the associated payments profile. سواء كانت الإجابة من أي مصدر ما يتم بالأكاديمية هو مساعدة السائل، أرجو التحدث بشكل لائق للمكان الذي تتواجد به. بالعودة لسؤالك هل يمكنك توفير صورة للمشكلة لتوضيحها والمكان الذي تحاول منه تغيير ملف الدفع؟
  3. ذلك تم الإعلان عنه منذ أسبوع تقريبًا، وهي شريحة كمومية جديدة من جوجل تسمى Willow، والتي تحقق إنجازات كبيرة في مجال الحوسبة الكمومية، خاصة في مجال تصحيح الأخطاء الكمومية وتفوقها على الحواسيب الكلاسيكية في بعض الحسابات، حيث Willow تمثل خطوة كبيرة نحو بناء حواسيب كمومية عملية وذات جدوى تجارية. وتتميز بأداء متطور في عدة مقاييس، مما يمكنها من تحقيق إنجازين رئيسيين، وتم تصنيعها في منشأة تصنيع حديثة في سانتا باربرا، وتعتمد على هندسة النظام، حيث يتم دمج جميع مكونات الشريحة (مثل البوابات أحادية وثنائية الكيوبت، وإعادة ضبط الكيوبت، والقراءة) بشكل جيد. وتستطيع تقليل الأخطاء بشكل كبير مع زيادة عدد الكيوبتات، وتمكنت من تحقيق "أقل من الحد الأدنى للأخطاء المسموح بها Below threshold" في تصحيح الأخطاء، وهو إنجاز هام في ذلك المجال، ويعني أنه مع زيادة عدد الكيوبتات، يقل معدل الخطأ، مما يجعل النظام أكثر كمومية. تم تحقيق ذلك من خلال اختبار مصفوفات متزايدة من الكيوبتات المادية (3x3، 5x5، 7x7) وتقليل معدل الخطأ إلى النصف في كل مرة، وتعتبر Willow أول نظام ينجح في إظهار تصحيح الأخطاء في الوقت الفعلي على نظام كمومي فائق التوصيل. وتجاوزت نقطة التعادل، حيث أن مصفوفات الكيوبتات لديها عمر أطول من الكيوبتات المادية الفردية، مما يدل على أن تصحيح الأخطاء يحسن النظام بشكل عام. الهدف التالي هو إظهار أول عملية حسابية مفيدة، تتجاوز الحواسيب الكلاسيكية على الشرائح الكمومية الحالية، والتي تكون ذات صلة بتطبيق واقعي. وتهدف جوجل إلى الجمع بين اختبار RCS (الذي يقيس الأداء ضد الحواسيب الكلاسيكية) والمحاكاة العلمية للأنظمة الكمومية (التي تؤدي إلى اكتشافات علمية جديدة) في نفس الوقت، أيضًا تسعى إلى تطوير خوارزميات يمكنها حل المشكلات التجارية ذات الصلة والتي لا يمكن حلها باستخدام الحواسيب الكلاسيكية.
  4. لمساعدتك بشكل أفضل، ذكرت المراجعة على لغات البرمجة، فما الهدف من دراسة أكثر من لغة برمجة، هل أنت في بداية دراستك للبرمجة أم تتعلم لغة أخرى بجانب تخصصك الحالي؟
  5. من الممكن الحصول على الدورات بخصومات في أوقات العرض مثل العروض الصيفية أو عروض بداية العام أو عروض رمضان وغيرهم، وأحيانًا يتوفر أكواد خصومات قم بسؤال مركز المساعدة عن توافر ذلك حاليًا أم لا. جميع دورات أكاديمية حسوب هي دورات مدفوعة ويتم تقديم مزايا كثيرة عند الإشتراك بها مع ضمانات أيضًا لذلك الدورة ليس منخفضة الثمن.
  6. df.dropna() تقوم بحذف أي صف يحتوي على أي قيمة مفقودة في أي عمود، بينما df.dropna(axis=0) نفس عمل df.dropna()، حيث axis=0 يشير إلى الصفوف والأمر بحاجة إلى توضيح هنا: في Pandas، نتعامل مع البيانات في شكل جداول DataFrames، ولها بعدين: المحور 0 (axis=0) يمثل الصفوف. تخيل أنك تتحرك عموديًا في الجدول، من الصف الأول إلى الصف الأخير. المحور 1 (axis=1) يمثل الأعمدة. تخيل أنك تتحرك أفقيًا في الجدول، من العمود الأول إلى العمود الأخير. import pandas as pd data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) print("DataFrame الأصلي:\n", df) سنقوم بالحذف: # حذف الصفين ذوي الفهرس 0 و 2 df_dropped_rows = df.drop([0, 2], axis=0) print("\nDataFrame بعد حذف الصفوف:\n", df_dropped_rows) سنحصل على التالي: DataFrame الأصلي: A B C 0 1 4 7 1 2 5 8 2 3 6 9 DataFrame بعد حذف الصفوف: A B C 1 2 5 8 ولو كتبت التالي: # حذف العمودين 'A' و 'C' df_dropped_columns = df.drop(['A', 'C'], axis=1) print("\nDataFrame بعد حذف الأعمدة:\n", df_dropped_columns) ستحصل على: DataFrame الأصلي: A B C 0 1 4 7 1 2 5 8 2 3 6 9 DataFrame بعد حذف الأعمدة: B 0 4 1 5 2 6 بينما df.dropna(thresh=n) تحذف الصفوف التي تحتوي على أقل من n من القيم غير المفقودة، أي قم باستبدال n بالرقم الذي تريد تحديده. و df.dropna(subset=['column1', 'column2']) تحذف الصفوف التي تحتوي على قيم مفقودة في الأعمدة المحددة فقط.
  7. tce_div_match (TCE Divergence Match) يصف مدى التباين أو الاختلاف بين الخلايا التائية (T cells) والخلايا المستهدفة Target cells بخصوص زراعة نخاع العظم أو زرع الخلايا الجذعية. Bi-directional non-permissive يعني هناك عدم توافق في كلا الاتجاهين، أي أن الخلايا التائية من المتبرع لا تتوافق مع خلايا المتلقي، والعكس صحيح، وذلك النوع من عدم التوافق قد يؤدي إلى مضاعفات خطيرة. GvH non-permissive يعني أن الخلايا التائية من المتبرع Graft لا تتوافق مع خلايا المتلقي Host، وقد يؤدي إلى مرض الطعم حيال المضيف Graft-versus-Host Disease, GvHD. HvG non-permissive مفاده أن الخلايا التائية من Host لا تتوافق مع خلايا Graft، وربما يؤدي إلى رفض الطعم Host-versus-Graft Disease, HvGD. Permissive mismatched معناه وجود بعض الاختلافات بين الخلايا التائية والخلايا المستهدفة، ولكنها ليست كبيرة بما يكفي لإحداث رد فعل مناعي قوي، وذلك النوع من التوافق يكون مقبولًا في بعض الحالات. tce_match (TCE Match) يصف مدى التوافق بين الخلايا التائية والخلايا المستهدفة، و Fully matched يشير إلى أن الخلايا التائية والخلايا المستهدفة متطابقة تمامًا، مما يقلل من خطر حدوث مضاعفات مناعية. HvG non-permissive و GvH non-permissive نفس المعنى كما في tce_div_match. Permissive معناه وجود توافق مقبول بين الخلايا التائية والخلايا المستهدفة، مع وجود بعض الاختلافات الطفيفة. إذن tce_div_match يركز على الاختلافات بين الخلايا التائية والخلايا المستهدفة، ويصنفها حسب اتجاه عدم التوافق (ثنائي الاتجاه، GvH، HvG). بينما tce_match يركز على مدى التوافق بين الخلايا، ويصنفها حسب درجة التطابق (مطابقة كاملة، غير متوافقة، متوافقة بشكل مقبول). أي في حال مهتم بفهم أنواع عدم التوافق المحتملة (GvH، HvG، ثنائي الاتجاه) فستحتاج إلى الاحتفاظ بعمود tce_div_match، ولو مهتم بتقييم درجة التوافق بشكل عام (مطابقة كاملة، متوافقة بشكل مقبول، غير متوافقة) فستحتاج إلى الاحتفاظ بعمود tce_match، وكلاهما يقدمان معلومات مختلفة ومكملة لبعضها البعض، حيث tce_div_match يعطيك تفاصيل أكثر عن طبيعة عدم التوافق، بينما tce_match يعطيك تقييمًا عامًا لدرجة التوافق. بخصوص 60% من البيانات مفقودة في tce_match فربما البيانات الموجودة في tce_match تم جمعها باستخدام طريقة مختلفة عن تلك المستخدمة لجمع بيانات tce_div_match وبعض الحالات لم يتم فيها إجراء اختبار التوافق الذي ينتج عنه بيانات tce_match. أو البيانات في tce_match تم جمعها في مرحلة لاحقة من الدراسة، وبالتالي لم يتم الحصول عليها لجميع الحالات، أو أخطاء في عملية جمع البيانات أو تسجيلها، مما أدى إلى فقدان بعض القيم في tce_match.
  8. لا يمكن ربط ملف الدفع الواحد إلا ببلد واحد فقط بسبب اللوائح الضريبية، ولا تستطيع تغيير البلد لملف دفع موجود، أي يجب عليك إنشاء ملف تعريف جديد لاستخدام بلد مختلف. وإنشاء ملف دفع جديد في بلد آخر لا يؤثر على خدماتك واشتراكاتك الحالية، ستستمر مدفوعاتها باستخدام ملف الدفع المرتبط بها. ما تحتاجه هو إنشاء ملف دفع جديد وربطه ببلد جديد: سجّل الدخول إلى الإعدادات. ضمن ملف الدفع Payments profile، بجوار البلد/المنطقة، انقر على Edit. انقر على Choose a country or region إنشاء ملف تعريف جديد Create new profile ثم Continue. انقر على اختيار بلد أو منطقة Choose a country or region، ثم اختر البلد الذي تريد ربطه بملفك الجديد. انقر علىContinue. أدخل اسمك وعنوانك، ثم انقر على إرسال Submit.
  9. بخصوص أكاديمية حسوب فيوجد مجتمع I/O تستطيع التواصل من خلال المجتمعات الخاصة بالبرمجة. أيضًا يمكنك إنشاء حساب على LinkedIn والتواصل مع من لديهم نفس الهدف وفي نفس المستوى والدراسة سويًا، لديك أيضًا على فيسبوك مجموعات خاصة بالبرمجة تستطيع السؤال عن مجموعة تم إنشائها والإنضمام إليهم على واتساب مثلاً او تيليجرام. لكن لا تعتمد على أيًا من ذلك لتصل لهدفك، الإلتزام هو مفتاح النجاح في أي مجال، من يلتزم يصل حتى لو كان أقل في المستوى من شخص ذكي وموهوب لكنه كسول وغير ملتزم. الأمر أشبه بأصدقاء صالة كمال الأجسام، هل عند تغيب أحدهم لن تقوم بالتمرين الخاص بك اليوم؟
  10. هناك فرق كبير بين object و str في بايثون، خاصةً عند التعامل مع مكتبة Pandas وذلك الفرق هو السبب في أن الكود الأول يعمل بشكل صحيح بينما الكود الثاني لا يعمل كما تتوقع. بمعنى عند قراءة بيانات من ملف (مثل CSV أو Excel) باستخدام Pandas، فإن الأعمدة التي تحتوي على strings أو بيانات مختلطة مثل أرقام ونصوص يتم تخزينها بنوع بيانات object بشكل إفتراضي. ولكن نوع البيانات Object له نطاق أوسع بكثير. فهو لا يشمل فقط النصوص، بل يمكن أن يشمل أيضًا أي بيانات أخرى لا تفهمها Pandas. وobject هو نوع بيانات عام في Pandas يمكن أن يحمل أي نوع من البيانات في بايثون، ولكنه يستخدم بشكل أساسي لتمثيل النصوص، والأهم ليس كل عمود من نوع object هو بالضرورة عمود نصي string، فقد يحتوي على أنواع بيانات أخرى مختلطة. بعد Pandas 1.0، أصبح هناك نوع بيانات مخصص للتعامل مع بيانات النصوص والعمل بها، وهو StringDtype، بالتالي في حال نوع العمود Object، فلا يعني بالضرورة أن جميع القيم ستكون نصية، في الواقع، يمكن أن تكون جميعها أرقامًا، أو مزيجًا من النصوص والأعداد الصحيحة والأعداد العشرية. إذن مع وجود ذلك التباين، فلا تستطيع إجراء أي عملية نصية على العمود مباشرة. عامًة str هو نوع بيانات أساسي في بايثون يمثل سلسلة من الحروف (نص)، بالتالي في حال data_train[columns].dtypes == str، فإنك تسأل Pandas هل نوع البيانات في العمود هو تحديدًا str، وهو ليس ما يحدث عند قراءة البيانات من ملف. بينما الشرط if data_train[columns].dtypes == object سيتم تنفيذه في حال نوع العمو هو object، بغض النظر عن نوع البيانات التي يحتويها. لذا، بإمكانك استخراج ومعالجة النصوص فقط داخل الأعمدة عن طريق إخبار Pandas بشكل صريح أن نوع البيانات هو 'String' وليس 'Object'. ستجد تفصيل هنا: https://pandas.pydata.org/docs/user_guide/text.html
  11. المفهوم الأساسي بسيط، الفكرة الأساسية هي أننا نستخدم بيانات العينة لتقدير قيمة غير معروفة في المجتمع (مثل متوسط الدخل في بلد ما)، ومجال الثقة يعطينا نطاقًا من القيم المحتملة لتلك القيمة غير المعروفة، مع مستوى معين من الثقة. وفي معظم الحالات، لا تحتاج إلى فهم عميق للرياضيات الكامنة وراء حساب الفترات الثقة، أي تستطيع استخدام الأدوات الإحصائية (مثل برامج الإحصاء أو لغات البرمجة) لحسابها وتفسيرها.
  12. LabelEncoder يقوم بتحويل القيم الفئوية (مثل أحمر، أخضر، أزرق) إلى قيم رقمية صحيحة (مثل 0، 1، 2)، أي يعين رقمًا فريدًا لكل فئة حسب ترتيب ظهورها في البيانات أو ترتيب أبجدي. ونستخدمه مع البيانات Ordinal Categorical Data، أي البيانات التي تحمل ترتيبًا أو تسلسلًا منطقيًا (مثل منخفض، متوسط، مرتفع). أيضًا مع البيانات الفئوية الاسمية Nominal Categorical Data مثل الألوان، ولكن بحذر شديد، لأن ذلك أحيانًأ يؤدي إلى مشاكل في بعض الخوارزميات مثل إدخال ترتيب غير مرغوب حيث الأرقام التي يعينها قد تفهمها الخوارزمية على أنها ترتيب أو علاقة، وهذا غير صحيح، بمعنى قد تفهم الخوارزمية أن أزرق (2) أكبر من أحمر (0)، وذلك غير منطقي. وأحيانًا يؤثر على أداء بعض الخوارزميات (مثل الانحدار الخطي) تتأثر سلبًا بالترتيب غير المنطقي الذي قد يضيفه LabelEncoder للبيانات الاسمية. بينما OneHotEncoder يقوم بتحويل القيم الفئوية إلى أعمدة ثنائية (0 أو 1) لكل فئة، أي ينشئ عمودًا جديدًا وفي حال القيمة في الصف تنتمي إلى تلك الفئة، يضع 1 في العمود المقابل، وإلا يضع 0. ويستخدم بشكل أساسي مع Nominal Categorical Data، حيث لا يوجد ترتيب منطقي بين الفئات، وأيضًا مع البيانات الترتيبية، ولكن ربما يؤدي إلى زيادة كبيرة في عدد الأعمدة (الأبعاد) في حال كان عدد الفئات كبيرًا. ميزته تجنب إدخال ترتيب غير مرغوب حيث لا يفرض أي ترتيب أو علاقة بين الفئات، بالتالي هو مناسب للبيانات الاسمية، بجانب أنه يساعد الخوارزميات على فهم البيانات الفئوية بشكل أفضل، خاصةً الخوارزميات التي تعتمد على المسافات أو العلاقات الخطية. ومن عيوبه أحيانًا زيادة كبيرة في عدد الأعمدة (الأبعاد) في حال عدد الفئات كبيرًا، بالتالي يؤثر على أداء بعض الخوارزميات أو يزيد من استهلاك الذاكرة. أيضًأ مشكلة التعدد الخطي Multicollinearity لو هناك علاقة خطية بين بعض الأعمدة الناتجة عن OneHotEncoder، الأمر الذي يؤثر على بعض الخوارزميات (مثل الانحدار الخطي)، وتستطيع حل المشكلة باستخدام تقنيات مثل حذف أحد الأعمدة أو استخدام Regularization.
  13. نستخدمها مثلاً لتقدير قيمة معينة على أساس عينة عشوائية، وتعطي فكرة عن مدى الثقة في تقدير تلك القيمة، وتساعد في تحديد مدى دقة التقدير. وبالتفصيل تظهر أهميتها في تقدير النطاق المحتمل للقيمة الحقيقية للمَعْلَمة حيث في الإحصاء، المعلمة Parameter هي قيمة عددية تصف خاصية لمجتمع إحصائي بأكمله (مثل متوسط الدخل لجميع سكان بلد ما). والعينات Samples ففي الواقع، غالبًا ما يكون من المستحيل أو المكلف قياس المعلمة مباشرة، بالتالي نأخذ عينة من المجتمع ونحسب إحصائية من تلك العينة (مثل متوسط الدخل في عينة من السكان). ومجال الثقة يوفر نطاقًا من القيم المحتملة التي قد تقع فيها المعلمة الحقيقية للمجتمع، حسب الإحصائية المحسوبة من العينة، وذلك النطاق يعطينا فكرة عن مدى دقة تقديرنا للمعلمة. أيضًا مفيدة في قياس عدم اليقين في التقديرات، فبسبب طبيعة العينات العشوائية الإحصائية المحسوبة من عينة واحدة قد تختلف قليلاً عن الإحصائية المحسوبة من عينة أخرى. ويعكس مجال الثقة ذلك التباين وعدم اليقين، فكلما كان مجال الثقة أوسع، زاد عدم اليقين في تقديرنا للمعلمة، ويرتبط عرض مجال الثقة بمستوى الثقة (مثل 95% أو 99%)، ومستوى الثقة يمثل نسبة العينات التي ستنتج فترات ثقة تحتوي على المعلمة الحقيقية للمجتمع. للتوضيح، لو كانت القيمة المتوقعة لارتفاع طالب في المدرسة الثانوية هي 175 سم، مع انحراف معياري قدره 5 سم، فإن مجال الثقة بنسبة 95% هي (165 سم، 185 سم)، وذلك يعني أن هناك 95% من الثقة في أن القيمة الحقيقية لارتفاع طالب في المدرسة الثانوية تقع بين 165 سم و185 سم. أو لو هناك دراسة طبية تقارن بين دواء جديد ودواء وهمي، فإن مجال الثقة سيوضح النطاق المحتمل للفرق في الفعالية بين الدوائين.
  14. ما الهدف من العمود؟ في كثير من الأحيان سيكون ذلك لتجميع فئات أقل شيوعًا أو ذات أهمية ثانوية، أي قبل أي شيء، حاول فهم ما الذي يمثله Other، هل هو تجميع لفئات محددة؟ هل هو فئة افتراضية؟ أيضًا تفقد هل ذلك لا يمثل بيانات مفقودة أو غير صحيحة، فربما تحتاج إلى تنظيف البيانات إن كان الأمر كذلك. بالتالي في حال كانت تمثل فئة ذات معنى في التحليل، أو تريد الحفاظ على جميع الفئات الأصلية فلا تحتاج إلى فعل أي شيء، من الممكن إعادة التسمية في تلك الحالة. وفي حال كانت تمثل فئات صغيرة فيمكن دمجها مع فئة أخرى ذات صلة. أما في حال تمثل فئات غير محددة فقم بتوزيعها بناءًا على نسبة معينة، لكن تلك الطريقة أكثر تعقيدًا وتتطلب فهمًا أعمق للبيانات لديك. وفي حال تمثل نسبة صغيرة جدًا من البيانات ولا تؤثر بشكل كبير على التحليل، قم بحذفها، وهناك طريقة أخرى وهي التعامل معها كبيانات مفقودة NaN في التحليل.
×
×
  • أضف...