-
المساهمات
2489 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
13
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Chihab Hedidi
-
لا يمكنك حمايتها بطريقة نهائية فهي دائما معرضة للنشر، و لكن يمكنك تخفيف هذا الأمر عن طريق بيع المفكرة عبر منصات معروفة تمنحك حماية لحقوقك مثل Etsy أو Gumroad، حيث توفر هذه المنصات بعض الأدوات لحماية المنتجات الرقمية، و أيضا يمكنك إضافة علامة مائية على المفكرة، سواء كانت نصية أو مرئية، يمكن أن تمنع إعادة نشرها بشكل مجاني.
-
يمكنك هذا باستخدام مكتبة Matplotlib، لإضافة عنوان فرعي يمكنك استخدام fig.suptitle()، وهو يظهر كعنوان كبير فوق الرسم البياني بأكمله، أما لإضافة تعليق توضيحي يمكنك استخدام plt.annotate() لتحديد نقاط معينة على الرسم البياني وإضافة تعليق بجوارها. إليك مثال يوضح إضافة عنوان رئيسي، عنوان فرعي، وتعليق توضيحي في رسم بياني: import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [1, 4, 9, 16, 25] fig, ax = plt.subplots() ax.plot(x, y, marker='o') # إضافة العنوان الرئيسي ax.set_title("العنوان الرئيسي للرسم البياني") # إضافة عنوان فرعي fig.suptitle("العنوان الفرعي للرسم البياني") # إضافة تعليق توضيحي ax.annotate("نقطة مهمة", xy=(3, 9), xytext=(3, 15), arrowprops=dict(facecolor='black', arrowstyle="->")) plt.show()
- 3 اجابة
-
- 1
-
-
إذا كانت البيانات رقمية، يمكنك استخدام مخطط الانتشار أو Scatter Plot لعرض نقاط البيانات ورؤية العلاقة بينها، مثل الارتباط أو الاتجاه، و هذا الرسم يستخدم كثيرا لتحليل العلاقة بين متغيرين عدديين، أما إذا كانت البيانات نوعية مثل أسماء أو فئات، يمكن استخدام مخطط الشريط المكدس Stacked Bar Chart أو المخطط العمودي Column Chart لعرض توزيع البيانات عبر الفئات المختلفة ورؤية كيف تؤثر فئة معينة على الأخرى. و أما إذا كان لديك العديد من الأعمدة الرقمية وتريد رؤية علاقات متبادلة، فإن مصفوفة الترابط تعرض معامل الارتباط بين كل زوج من الأعمدة، مما يسهل معرفة مدى قوة العلاقات بينهم، يعني الأمر دائما يعتمد على طبيعة البيانات التي لديك و نوع العلاقة بينها.
- 3 اجابة
-
- 1
-
-
كلا الدالتين تؤديان نفس الوظيفة تقريبا، وهي حساب المتوسط الحسابي لمجموعة من القيم، بالسنبة للدالة التي في Pandas، فنستخدمها بشكل أساسي مع DataFrames وSeries، وتتيح تطبيق المتوسط على البيانات بسهولة، خاصة مع القدرة على تجاهل القيم المفقودة بشكل افتراضي. أما الدالة التي في NumPy لديها مرونة إضافية مثل أخذ أوزان في الاعتبار لحساب المتوسط المرجح، و إذا لم يتم توفير أوزان، فإن average ستعيد المتوسط الحسابي العادي وهو نفس الناتج لو استخدمت np.mean.
- 3 اجابة
-
- 1
-
-
نعم يمكنك ذلك ولكن الأداء في معظم الأحيان سيكون أقل من أداء خوارزميات التعلم العميق، خصوصا الشبكات العصبية التلافيفية CNNs التي تعتبر حاليا الأفضل لمهام معالجة الصور والتعرف على الوجه، في الماضي قبل ظهور الشبكات العصبية التلافيفية، تم استخدام طرق كاستخراج الميزات مثل الألوان، القوام، الأشكال، والحواف باستخدام تقنيات مثل SIFT و SURF، و بعد استخراج الميزات، يمكن استخدام خوارزميات كشجرة القرار، أو K-Nearest Neighbors للتصنيف. أما الشبكات العصبية التلافيفية نستخدمها في الحالات التي يكون فيها حجم البيانات كبيرا وتتطلب الدقة العالية، حيث تكون الشبكات العصبية التلافيفية هي الخيار الأمثل لأنها تستطيع تعلم ميزات معقدة تلقائيا دون الحاجة لاستخراج الميزات يدويا.
- 4 اجابة
-
- 1
-
-
لديك خيارات متعددة تعتمد على هدفك واحتياجات المستخدمين، بالنسبة ل LangChain، فهي مكتبة مفيدة لبناء تطبيقات تعتمد على النماذج اللغوية الكبيرة ويمكن تخصيصها وفق احتياجاتك، كما تساعدك على إدارة المحادثات وربط النموذج ببيانات محددة، كالنصوص أو الكتب الدراسية، لذا فهي تعتبر مناسبة إذا كنت ترغب في بناء تطبيق يتفاعل مع المستخدمين ويستند إلى معلومات معينة. و إذا كان بإمكانك تدريب نموذج واحد على كل المواضيع الدراسية، فذلك سيساعدك في بناء ذكاء اصطناعي مرن يمكنه الإجابة على أسئلة في مجالات متعددة دون الحاجة إلى تكرار التدريب، و يمكنك هنا استخدام LangChain للوصول لمصادر متعددة وتنظيم المعرفة، و من الأفضل أن يكون هناك نموذج صغير لكل درس، حيث قد يكون هذا الخيار مناسبا إذا كان الهدف هو تزويد الطلاب بمعلومات دقيقة حول كل درس محدد فقط، و لكنه يتطلب إدارة وتنظيم عدة نماذج مختلفة، مما قد يزيد من التعقيد.
-
نعم توجد مكتبات تساعدك على معالجة التحيز في البيانات، وتعد هذه الأدوات شائعة في مجالات تحليل البيانات وتعلم الآلة أشهرها مكتبة scikit-learn التي تحتوي على العديد من الأدوات والإجراءات المساعدة في معالجة التحيز، مثل تقنيات أخذ العينات المتوازنة أو بما تسمى balanced sampling لتحسين التوازن في التصنيفات، ويمكنك استخدام أدوات مثل SMOTE لموازنة البيانات غير المتوازنة. و توجد أيضا مكتبة imbalanced-learn هي مكتبة متخصصة لمعالجة مشكلة البيانات غير المتوازنة، والتي قد تكون مفيدة جدا إذا كان لديك تحيز في التصنيف، و كحل يدوي يمكنك أيضا استخدام مكتبات مثل Pandas وNumPy للتحليل الأولي للبيانات وفهم مصادر التحيز، فمثلا يمكنك إجراء تحليلات استكشافية لمعرفة ما إذا كانت هناك مجموعات معينة ممثلة بشكل غير متساو، أو إذا كانت المتغيرات تظهر تحيزات معينة. و حتى تحليل البيانات الاستكشافي هو خطوة أساسية باستخدام أدوات مثل matplotlib وseaborn، حيث يمكنك اكتشاف التحيزات المحتملة في البيانات بصريا من خلال الرسومات البيانية.
- 4 اجابة
-
- 1
-
-
يعتمد هذا الأمر على طبيعة التحليل الذي تريد القيام به ونوع النموذج الإحصائي أو الرسوم البيانية التي ترغب في استخدامها، فبعض النماذج مثل التحليل التبايني المتعدد أو التحليل الخطي المختلط، تتطلب أن تكون البيانات في شكل طويل، و حتى مكتبات مثل Seaborn و Matplotlib تتعامل بشكل أفضل مع البيانات الطويلة، حيث يمكن تمثيل الفئات المختلفة بسلاسة، و إذا كانت لديك بيانات زمنية أو بيانات تراقب تغييرات لفترات زمنية متعددة، يكون الشكل الطويل مفيدا، حيث يتم تمثيل كل فترة كصف مستقل. في المقابل يفضل الشكل الواسع في حالة كان لديك تحليل متعدد المتغيرات، حيث أن بعض النماذج تتعامل مع البيانات الواسعة، خاصة عند مقارنة متغيرات متعددة عبر عينات متشابهة، أو إذا كنت ترغب في حساب مصفوفة ارتباط بين عدة متغيرات، فإن الشكل الواسع يسهل العمل. وللتحويل بين الشكلين يمكنك استخدام مكتبة pandas باستخدام دوال مثل melt للتحويل من الشكل الواسع إلى الطويل، أو pivot للتحويل من الطويل إلى الواسع.
- 4 اجابة
-
- 1
-
-
تعتبر R مفضلة في التحليلات الإحصائية المتقدمة لأنها تحتوي على مكتبات صممت خصيصا لهذا المجال، مثل caret وlme4، وهي مفيدة في البحوث الأكاديمية، و أيضا مكتبة ggplot2 المتخصصة في الرسوم البيانية المعقدة والمخصصة، وتتيح التحكم الدقيق في عناصر الرسم البياني بشكل أسهل من مكتبات Python. و حتى مع توفر مكتبات قوية في Python ، إلا أن R لها ميزات لا تزال قوية ومميزة في التحليل الإحصائي العميق، و لكن الأغلب يتوجه إلى لغة Python لكونها لغة سهلة و أيضا سهلة التكامل مع اللغات الأخرى.
- 6 اجابة
-
- 1
-
-
تعتبر R متخصصة أكثر في الإحصاء وتحليل البيانات، حيث تحتوي على مكتبات قوية للتحليل الإحصائي، مما يجعلها الخيار المثالي للتحليل المعقد والتصورات البيانية، و هي شائعة أكثر بين الأكاديميين والإحصائيين و ستجد موارد وفيرة في الأبحاث العلمية والجامعات. بالنسبة ل Python فهي لغة متعددة الاستخدامات، فهي ليست مخصصة لتحليل البيانات فقط، بل يمكن استخدامها أيضا لتطوير التطبيقات، الذكاء الاصطناعي وغيرها، و تعتبر أسهل من حيث التعلم والبنية، ويميل الكثير من المبتدئين لاختيارها لأنها واضحة وسلسة. و صحيح تعلم كلتا اللغتين يمكن أن يكون مفيد جدا إذا كنت تريد التخصص في مجال تحليل البيانات، لأن لكل لغة ميزات قوية في مجالات معينة، ووجود خبرة فيهما سيمكنك من الاستفادة من الأفضل من كل لغة.
- 6 اجابة
-
- 1
-
-
RStudio أقرب في خفته إلى VS Code من حيث الأداء وسرعة التشغيل، وهو بالتأكيد أخف بكثير من Visual Studio، وهو مصمم خصيصا لتحليل البيانات والإحصاء، لذا هو أقل تعقيدا في الواجهة، ويعمل بكفاءة على أغلب الأجهزة.
- 7 اجابة
-
- 1
-
-
يعتبر بيئة تطوير متكاملة خاصة بلغة البرمجة R، والتي تستخدم بشكل رئيسي في تحليل البيانات والإحصاءات، و يحتوي على لوحة تحكم سطر الأوامر لتشغيل أكواد R بشكل تفاعلي، و أيضا بيئة لإدارة المتغيرات تستطيع من خلالها رؤية وإدارة البيانات والمصفوفات والأطر البيانية بسهولة، و محرر للنصوص البرمجية لكتابة وتحرير الأكواد مع دعم للتنسيق والإكمال التلقائي، يوجد أيضا نافذة لمعاينة الرسومات البيانية التي يتم إنشاؤها في R، و هو متاح كبرنامج مجاني مفتوح المصدر.
- 7 اجابة
-
- 1
-
-
هناك خطأ في صيغة الكود الخاص بإضافة المكتبة، بما أن مشروعك يستخدم ملفات Kotlin DSL، يجب كتابة الكود بطريقة مختلفة قليلا، جرب تعديل السطر كالتالي: implementation("de.hdodenhof:circleimageview:3.1.0") لاحظ أن الأقواس في Kotlin DSL تكون مزدوجة ("...") بدلا من واحدة '...'. بعد إجراء التعديل، احفظ الملف وحاول إعادة مزامنة المشروع.
- 1 جواب
-
- 1
-
-
في الوقت الحالي يوجد دورة الجافاسكريبت التي تحتوي على تطوير التطبيقات بإستخدام React Native، و لكن مع مرور الوقت ربما سيتم إضافة دورات أخرى لتطوير التطبيقات بإستخدام كوتلن، بالنسبة لأسئلتك نعم يمكنك طرحها هنا في أي وقت تريد و سيتم مساعدتك في هذه المشاكل.
- 1 جواب
-
- 1
-
-
غير بس القيمة هنا من 100 ل 999: pd.options.display.max_rows = 100
- 13 اجابة
-
- 1
-
-
هنا هو عرض 100 صف، الحين على حسب البيانات التي عندك، تقدر تخلي القيمة 999 أو أكثر عشان تضمن أنه يتم عرض كل الصفوف.
- 13 اجابة
-
- 1
-
-
ربما بسبب إختلاف الإصدارات، جرب أكتبه بهذه الطريقة: pd.options.display.max_rows = 100
- 13 اجابة
-
- 1
-
-
لا هذا تابع لإعدادات مكتبة pandas أكتبو مثل ماهو مكتوب.
- 13 اجابة
-
- 1
-
-
يمكنك تغيير إعدادات العرض في pandas بحيث تظهر جميع القيم، جرب استخدام الكود التالي لزيادة عدد الصفوف التي يمكن عرضها: import pandas as pd pd.set_option('display.max_rows', None) value = diabetes['Insulin'].value_counts() print(value) باستخدام pd.set_option('display.max_rows', None), سيتم عرض جميع القيم في النتيجة بغض النظر عن عددها.
- 13 اجابة
-
- 1
-
-
الكود value_counts يقوم بإرجاع عدد مرات تكرار كل قيمة فريدة في العمود المحدد، ولا يعرض كل القيم في العمود إذا كانت هناك قيم مكررة، أما إذا كنت ترغب في عرض جميع القيم في عمود Insulin بما في ذلك القيم المتكررة دون احتساب التكرار، يمكنك استخدام الكود التالي: values = diabetes['Insulin'].values print(values)
- 13 اجابة
-
- 1
-
-
القيم المتطرفة تؤدي إلى تشويه المتوسطات أو أوزان الانحدار في النماذج، خاصة إذا كنت تستخدم نماذج حساسة للقيم المتطرفة مثل الانحدار الخطي، حيث قد تسحب خط الانحدار باتجاهها، مما يؤدي إلى نتائج غير دقيقة، و إذا كانت القيم المتطرفة بعيدة جدا عن نطاق البيانات الأساسية، فقد تؤدي إلى زيادة التباين في النموذج، مما يجعله أقل قدرة على التعميم على بيانات جديدة. و بهذه الطريقة تتأثر جودة التنبؤات، حيث أن القيم المتطرفة قد تؤدي إلى انحراف التنبؤات، خاصة إذا كانت البيانات محدودة وتحتوي على قيم متطرفة بارزة، لذا من الأفضل معالجة القيم المتطرفة قبل بناء النموذج، سواء عن طريق إزالتها، أو استخدام طرق مثل التحويلات التي تقلل من تأثيرها.
- 2 اجابة
-
- 1
-
-
يعتمد هذا الأمر على نوع وطبيعة البيانات ومدى تكرار القيم الناقصة أو الخاطئة، فالحذف مفيد إذا كانت نسبة البيانات الخاطئة قليلة مقارنة بحجم البيانات بالكامل، و الحذف هنا يقلل من المخاطر التي قد تنجم عن التنبؤ الخاطئ أو القيم التقديرية غير الدقيقة، لكن إذا كانت البيانات المفقودة كبيرة أو تؤثر على عينة هامة، فقد يؤدي الحذف إلى تقليل تمثيل البيانات وبالتالي التأثير على النتائج النهائية للنموذج. أما KNNImputer يعمل عن طريق تقدير القيم المفقودة استنادا إلى الجيران الأقرب في البيانات، ويكون مناسبا إذا كانت البيانات المفقودة تعتمد إلى حد كبير على خصائص أخرى في البيانات، بينما قد يضيف بعض التعقيد الحسابي إذا كانت البيانات كبيرة جدا، وقد لا يكون مناسبا إذا كانت القيم الخاطئة لا يمكن التنبؤ بها بشكل جيد بناء على البيانات المحيطة. و يمكنك كذلك تجربة تقييم أداء النموذج بعد استخدام كل طريقة لمعرفة أيها يعطي نتائج أفضل.
- 2 اجابة
-
- 1
-
-
نعم بايثون يعد من أفضل اللغات في مجال الأتمتة و هذا لأنها تحتوي على العديد من المكتبات المساعدة مثل Selenium لأتمتة المتصفحات، PyAutoGUI لأتمتة الواجهات الرسومية، وrequests لإجراء طلبات HTTP، وهذه المكتبات تجعل تنفيذ الأتمتة أكثر سهولة وسرعة، كما توجد العديد من الموارد المجانية التي تسهل تعلم أتمتة المهام باستخدام بايثون، و يمكن استخدام بايثون لأتمتة العديد من المهام، سواء كانت متعلقة بالتفاعل مع الأنظمة أو البرمجيات الأخرى أو حتى إدارة البيانات والملفات. و يمكنك أن تطلع على هذه الأجوبة التي ستفيد :
- 3 اجابة
-
- 1
-
-
ليس هناك أمر مباشر اسمه "ثم"، ولكن يمكن تحقيق ذلك باستخدام الوعود أو Promises في JavaScript، وهي تسمح بتنفيذ الكود بالتتابع، و يمكن استخدام async/await لتسهيل كتابة تسلسل الخطوات على سبيل المثال: async function moveAndAsk() { await moveToLocation(); await stop(); await askQuestion(); await waitForResponse(); } و بعدها يمكنك إعداد سلسلة من الأوامر بتقنيات مثل setTimeout: function performActions() { moveToLocation(); setTimeout(() => { stop(); setTimeout(() => { askQuestion(); setTimeout(() => { waitForResponse(); }, 1000); }, 1000); }, 1000); } كما يوجد مكتبات مثل async.js يمكن أن تساعد في التحكم بالتسلسل، خاصة في الكود الذي يعتمد على الأحداث أو ردود الفعل. أما في بايثون، يمكنك استخدام العديد من الطرق لتنفيذ سلسلة من الأوامر بالتتابع، على غرار ما ذكرته في JavaScript، يمكنك استخدام الدوال و التوقف باستخدام أدوات مثل time.sleep() لتنفيذ العمليات بالتتابع حيث يتوقف البرنامج بين كل خطوة والأخرى باستخدام time.sleep() لتحديد مدة الانتظار، أما إذا كنت تحتاج إلى تنفيذ المهام بشكل غير متزامن، يمكنك استخدام مكتبة asyncio لإنشاء تسلسل من الأوامر مع الانتظار بين كل خطوة.