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

Khaled Osama3

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

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

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

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

    1

كل منشورات العضو Khaled Osama3

  1. وعليكم السلام ورحمة الله وبركاته، Sample Size Calculator: أداة تُستخدم لحساب حجم العينة المناسب لإجراء دراسة أو تجربة معينة بناءً على بعض المعايير الإحصائية. و الهدف الرئيسي من استخدام هذه الأداة هو تحديد العدد الأمثل من العناصر التي يجب جمع بياناتهم من أجل الوصول إلى نتائج دقيقة وموثوقة. و من العوامل المؤثرة على Sample Size Calculator: حجم المجتمع (Population Size): العدد الإجمالي للأفراد العناصر هامش الخطأ (Margin of Error): مدى التفاوت المسموح به في نتائج العينة مقارنة بالمجتمع. عادةً يتم التعبير عنه بالنسبة المئوية. كلما كان هامش الخطأ أصغر، زادت دقة النتائج. مستوى الثقة (Confidence Level): يشير إلى مدى الثقة في أن النتائج المستخلصة من العينة تمثل المجتمع بشكل دقيق. أكثر مستويات الثقة شيوعًا هي 90%، 95%، و99%. مستوى الثقة 95% يعني أنك تتوقع أن تكون نتائجك صحيحة في 95% من المرات. التباين المتوقع في المجتمع (Population Variability): يعبّر عن مدى اختلاف القيم داخل المجتمع. إذا كنت تتوقع تباينًا كبيرًا في المجتمع، ستحتاج إلى حجم عينة أكبر. نسبة النجاح (Proportion): في بعض الأحيان، يتم تقدير نسبة معينة لظاهرة معينة (مثل 50% من المجتمع يوافقون على موضوع معين). إذا لم يكن لديك تقدير مسبق، يُستخدم عادةً 50% كأساس لأنه ينتج عنه أكبر حجم عينة مطلوب. و يمكنك العثور على Sample Size Calculators هنا.
  2. و عليكم السلام ذلك نتيجة لقاعدة تسمى Rule of 30 و هى من التطبيقات الشائعة فى الإحصاء. و ذلك لعدة اسباب منها: تحقيق دقة أكبر: عندما تكون العينة صغيرة، فإن النتائج تكون أكثر تأثرًا بالتحيز أو التقلبات العشوائية. حجم العينة الأكبر (30 فأكثر) يساعد على تقليل التباين وتحسين دقة التقديرات. تقليل الخطأ المعياري: لانه بزيادة حجم العينة، يقل الخطأ المعياري (Standard Error)، مما يعني أن متوسط العينة يكون أقرب إلى متوسط المجتمع الفعلي. و لذلك فإن 30 من الحدود الأمنه و المناسبة و لكن ليست قاعدة إجبارية الاستخدام. ففى بعض الاحيان يمكن استخدام حجم اكبر او اصغر على حسب طبيعة البيانات.
  3. الخطأ الذي يظهر لديك مرتبط بمكتبة TensorFlow، وقد يكون ناتجًا عن مشاكل في التثبيت أو عدم التوافق بين إصدارات TensorFlow و Keras أو التبعيات المرتبطة. لحل هذا المشكلة، تأكد من أنك تستخدم أحدث إصدارات TensorFlow و Keras. يمكنك تحديث المكتبات باستخدام الأوامر التالية: pip install --upgrade tensorflow keras إذا استمر الخطأ بعد التحديث، قد تحتاج إلى إعادة تثبيت TensorFlow بشكل كامل: pip uninstall tensorflow pip install tensorflow و تأكد أن البيئة التي تعمل فيها لا تحتوي على تعارضات بين المكتبات. يمكنك إنشاء بيئة افتراضية جديدة وتجربة تشغيل الكود فيها: python -m venv myenv myenv\Scripts\activate pip install tensorflow keras pandas scikit-learn كل امر على حدى
  4. السبب الأساسي أن البيانات لا يتم حفظها في المتغير user بعد إغلاق البرنامج: أن المتغيرات في البرامج (مثل المتغير user في هذه الحالة) يتم تخزينها في الذاكرة المؤقتة (RAM) أثناء تشغيل البرنامج. بمجرد إيقاف البرنامج، يتم تحرير الذاكرة المؤقتة وبالتالي تفقد جميع البيانات التي كانت موجودة في المتغيرات. عندما تقوم بإعادة تشغيل البرنامج، يبدأ من الصفر ويعود المتغير user فارغًا. اذا كنت تريد حفظ بيانات ال user فيمكنك استخدام ملف لحفظ البيانات مثل ال json او csv. او يمكنك استخاد قواعد البيانات. و اضف الى الكود عملية استرجاع البيانات. واليك مثال عن طريق ال json: import json from sys import exit from time import sleep class User: def __init__(self, first_name, last_name, email, password, status="inactive"): self.first_name = first_name self.last_name = last_name self.email = email self.password = password self.status = status def display(self): print(f"First name: {self.first_name}") print(f"Last name: {self.last_name}") print(f"Email: {self.email}") print(f"Password: {self.password}") print(f"Status: {self.status}\n") print("_" * 20) def to_dict(self): return { "first_name": self.first_name, "last_name": self.last_name, "email": self.email, "password": self.password, "status": self.status } @classmethod def from_dict(cls, data): return cls(data["first_name"], data["last_name"], data["email"], data["password"], data["status"]) def username(): first_name = input("First_name: ") last_name = input("last_name: ") email = input("Email: ") password = input("password: ") return User(first_name, last_name, email, password) def save_users(users): with open('users.json', 'w') as file: json_data = [user.to_dict() for user in users] json.dump(json_data, file) def load_users(): try: with open('users.json', 'r') as file: json_data = json.load(file) return [User.from_dict(user_data) for user_data in json_data] except FileNotFoundError: return [] users = load_users() while True: print("Welcome to user management\n") print("Choose an action\n") print("1. Add new user") print("2. Display all users") print("3. Exit\n") choice = input("Enter your choice: ") if choice == '1': new_user = username() users.append(new_user) save_users(users) print("User added successfully!\n") sleep(2) elif choice == '2': if users: for user in users: user.display() sleep(2) else: print("No users found!") sleep(2) elif choice == '3': print("Exiting...") exit(0) else: print("Invalid choice! Please choose 1, 2, or 3.") و لاحظ فى الكود: @classmethod تستخدم لتعريف "طريقة" (method) تابعة للفئة (class method). و على عكس الدوال العادية (التي تستخدم self للوصول إلى خصائص الكائن)، الدالة التي توصف بـ @classmethod تأخذ دائمًا المعامل الأول كـ cls، والذي يمثل الفئة نفسها (class) وليس الكائن.
  5. بما أنك بدأت تعلم البرمجة مع C++ و HTML/CSS، الخطوة التالية تعتمد على رغبتك في التطور في مجال تطوير الويب فالخطوة المنطقيه هي تعلم JavaScript فهي لغة البرمجة التي تجعل صفحات الويب تفاعلية. ستتعلم من خلالها إضافة الحركة والتفاعل إلى المواقع وبعد تعلم الجافاسكريبت فانت هكذا لديك اساسيه قويه في البرمجه والفرونت اند والخطوه التي بعدها يجب ان تتعلم Libraries مثل React.js أو Vue.js أو Angular. هذه المكتبات تساعدك في بناء واجهات تفاعلية بسهولة وسرعة وتجعل الكود الخاص بك منظم وقابل للتطوير والتغيير اذا تتطلب الامر ويوجد امر مهم جدا يجب الا نتجاهله Responsive Design باستخدام CSS Frameworks مثل Bootstrap أو Tailwind CSS لجعل المواقع تعمل جيدا على الهواتف وأجهزة الكمبيوتر. ولكن بالنسبه لسوالك عن الفرونت إند وحده أم الفول ستاك؟: هناك مطورين متخصصين فقط في الفرونت إند (Front-End Developers)، وهم يركزون فقط على تصميم الواجهات. ولكن، في بعض الأحيان، يفضل أصحاب الأعمال توظيف شخص يمتلك مهارات فول ستاك (Full-Stack) (ولكن المرتب يكون اكبر طبعا). أي يكون لديه القدرة على تطوير الفرونت إند بالإضافة إلى الباك إند (Back-End)، وهو الجزء الذي يدير البيانات على الخوادم. ولكن اذا كنت تفضل الفرونت اند فقط ستجد وظائف كثيره لها ولكن اذا كنت مهتم بتعلم الفول ستاك لزياده فرصك يمكنك أن تتعلم لغات الباك إند مثل Node.js أو Python (Django أو Flask)، وأيضاً التعامل مع قواعد البيانات مثل MongoDB أو MySQL. في النهاية، يعتمد قرارك على ما إذا كنت تفضل التخصص في الفرونت إند أو إذا كنت ترغب في توسيع مهاراتك إلى الفول ستاك. لكن البدء بفرونت إند هو خطوة جيدة ومطلوبة في السوق.
  6. المشكلة هي وجود مسافة أو علامة تبويب زائدة قبل السطر، وهو ما تسبب في ظهور خطأ "IndentationError: unexpected indent". فيجب أن تتأكد من أن السطر لا يحتوي على مسافات أو علامات تبويب غير ضرورية في بدايته. فيجب كتابة الكود بدون مسافات قبله فى محرر النصوص: print("Samer" * 2) # not this print("Samer" * 2) # but this print("Samer" * 2)
  7. يرجي ارسال الكود لتحديد الخطأ ولمساعدتك بشكل افضل واذا كان هذا سوال خاص بدرس فستجل اسفل كل درس صندوق تعليقات مخصص لاسئله الدرس لاننا هنا نسال عن الاسئله العامه ولمساعدتك ومساعده زملائك بشكل افضل
  8. من خلال مركز المساعدة هنا وذلك بخصوص الإختبار أو الأمور المالية أو مشكلة في الدورات. أما بخصوص الأسئلة حول الدروس فيتم طرحها أسفل فيديو الدرس في نهاية الصفحة ستجد صندوق تعليقات كما هنا.
  9. الدورة تؤهلك لأن تصبح AI Developer او Data Scientist تكون مسؤول عن تصميم وتنفيذ خوارزميات الذكاء الاصطناعي والتعلم الآلي (Machine Learning). تطوير النماذج والتعامل مع البيانات الضخمة. او مسئول عن تحليل البيانات واستخراج الأنماط المفيدة من خلالها. بناء نماذج تنبؤية واتخاذ قرارات مبنية على البيانات. اما متوسط الراتب: بشكل عام، الرواتب تعتمد بشكل كبير على المكان والشركة والدولة، وقد يكون للعاملين في الذكاء الاصطناعي مستقبلاً فرصة لتحصيل رواتب مرتفعة مع زيادة الطلب على هذه المهارات. ولكن متوسط راتب ال AI Developer قد يتراوح بين 16,500 ريال سعودي شهريا. (لا تنسى ان هذا الرقم ليس ثابت بناءا على العوامل الموضحة) بالتوفيق
  10. و عليكم السلام من الرائع أنك مهتم بالذكاء الاصطناعي ولاكن : لايمكننا دراسة المجال مباشرة الا اذا فهمنا اساسيات البرمجة و هذا لكى يساعدك على فهم الاكواد اللتى سوف تتعامل معها. و لاتقلق فدورة الذكاء الاصطناعى فى الاكاديمية تبدأ من اساسيات لغة ال python ومن ثم تدخل فى المجال مباشرة و سوف تقوم بالتطبيق العملى فى دورة حتى تكون جاهز للعمل بالمجال
  11. من فضلك ستجد أسفل الدرس صندوق للتعليقات كما هنا، من فضلك يرجي طرح الأسئلة هناك حيث هنا هو قسم الأسئلة العامة ولا نقوم بالإجابة بالأسئلة الخاصة بالدورات هنا وذلك لمعرفة الدرس الذي تريد الإستفسار عنه و مساعدتك بشكل أفضل.
  12. و عليكم السلام مكتبة python-bidi غير مدعومة بشكل رسمي على معمارية ARM و لكن هناك بعض الحلول الممكنة لهذه المشكلة: يمكنك استخدام مكتبات أخرى قد تكون قادرة على دعم ال (Bidi) على معمارية ARM، مثل: مكتبة Pango: قوية لمعالجة النصوص متعددة اللغات، تدعم اللغات ذات الاتجاهات المختلفة. و PyICU: يمكن استخدامها مع بعض اللغات الدولية (مثل العربية) لمعالجة النصوص وتنسيقها بالشكل الصحيح. بالتوفيق
  13. يجب تعلم لغة برمجة خاصة بالباك-إند من بين اللغات المشهورة لتطوير الباك-إند هي JavaScript مع Node.js او Python (مع إطار Django أو Flask) او PHP او Ruby مع Rails او Java (مع Spring Framework) يمكنك البدء بلغة تشعر بالراحة معها. ولكن المشترك من بين كل هذه اللغات سواء اخترت لغه php او JavaScript او اي لغه اخري يجب تعلم اساسيات وبروتوكلات الويب يجب أن تتعلم التعامل مع قواعد البيانات. يوجد نوعان رئيسيان: قواعد البيانات العلائقية مثل MySQL أو PostgreSQL. و قواعد البيانات اللاعلائقية NoSQL مثل MongoDB. تعلم كيفية كتابة استعلامات SQL، وكيفية إدارة البيانات. وفي الويب ستحتاج لبناء APIs تتواصل مع الواجهة الأمامية (Front-End). تعلم RESTful APIs و JSON. ويجب ايضا ان تتعلم عن الخوادم وكيف تعمل وكيفية تشغيل وتكوين الخوادم مثل Nginx و Apache. أيضا تعلم كيفية استخدام تقنيات Docker لتشغيل التطبيقات في بيئات معزولة. وبالنسبه للامان يجب ان تتعلم او علي الاقل فهم مفاهيم مثل SSL/TLS، وكيفية حماية البيانات وتأمين الخوادم. واذا كنت ستعمل في شركه او وسط فريق يجب ان تتعلم كيفية استخدام Git لإدارة الشيفرات، والعمل مع فرق باستخدام منصات مثل GitHub أو GitLab. وبالطبع يجب تتأكد من ان الكود الخاص بك يعمل جيدا لذلك يجب عمل تجريب له او اختباره للتأكد من خلوه من الأخطاء، سواء عن طريق Unit Testing أو Integration Testing. ابدأ بتعلم هذه المهارات تدريجياً، وستجد نفسك قادرا على بناء تطبيقات خلفية قوية وآمنة ولكن لا يجب ان تتعمق في كل هذه الامور ولكن يجب ان يكون لديك لمحه عنه لانك سيساعدك كثيرا في فهم الامور كيف تعمل خلف الكواليس او اذا اردت ان تعمل شئ خاص بك.
  14. في مكتبة NumPy ال NaN هو اختصار لـ "Not a Number"، ويستخدم لتمثيل القيم غير المعروفة أو غير القابلة للتحديد في مصفوفات الأعداد. و NaN هو قيمة خاصة تستخدم بشكل شائع في الحوسبة العددية والإحصائية للإشارة إلى قيم مفقودة أو غير صالحة. مثل: import numpy as np # list of numbers include one nan arr = np.array([1, 2, np.nan, 4]) # check if the item is nan or not nan_mask = np.isnan(arr) print(nan_mask) # Output: [False False True False] و يمكن ايضا استخدام nan_to_num لاستبدال ال nan بقيمة اخرى , و هذه قد تستخدم فى تنظيف البيانات data cleaning : import numpy as np arr = np.array([1, 2, np.nan, 4]) # replace nan with zero (0) arr_no_nan = np.nan_to_num(arr, nan=0) print(arr_no_nan) # Output: [1. 2. 0. 4.]
  15. هذه الخاصية تساعد في تقليل المساحات البيضاء الفارغة حول المخطط، و بالتالى فإن المخطط يظهر بدون هوامش إضافية غير ضرورية. خاصة عند تضمين الصور في تقارير أو مستندات.
  16. وعليكم السلام الـ Data Visualization (تصور البيانات) في ال (Machine Learning) كبيرة جدا ، و يقوم بدور مهمًا في جميع مراحل تعلم الآلة، من استكشاف البيانات، إلى بناء النماذج، وتقييم النتائج. يساعد على اتخاذ قرارات أفضل . و هى تساعد فى فهم البيانات للعلماء والمحللين. فقبل بناء نموذج تعلم الآلة، من الضروري فهم طبيعة البيانات، توزيعها، وما إذا كانت هناك أي علاقات بين السمات (features). مثل الرسوم البيانية مثل scatter plots أو histograms أو correlation matrices و تساعد ايضا فى اختيار السمات المهمة و نسميها (Feature Selection) فيمكننا بسهولة تحديد السمات التي لها تأثير أكبر على النتيجة النهائية. هذا يساعد في تقليل عدد السمات التي سيتم استخدامها في النموذج وتحسين ال performance. و تساعد فى تقييم أداء نموذج تعلم الآلة بعد بناؤه. و الكثير ممن الامور الاخرى. فهى من اهم المهارات فى مجال تعلم الالة
  17. لكى تستطيع حفظ المخطط الذي تم إنشاؤه باستخدام matplotlib، يمكنك استخدام الدالة savefig لحفظه كصورة (مثل PNG أو JPG أو PDF). هذه الدالة تحفظ الشكل أو المخطط النهائي في ملف بدلاً من عرضه فقط. و يمكنك استخدامها هكذا: import matplotlib.pyplot as plt import seaborn as sns plt.figure(figsize=(20, 16)) plotnumber = 1 # Loop through each column in the dataframe for col in df.columns: # Check if the number of unique values is less than 5 if df[col].nunique() < 5: if plotnumber <= 6: plt.subplot(2, 3, plotnumber) ax = sns.countplot(x=df[col], hue=df['target'], palette='bright') # Add labels to each bar in the plot for p in ax.patches: ax.text(p.get_x() + p.get_width() / 2., p.get_height() + 3, f'{int(p.get_height())}', ha="center") plotnumber += 1 # Save the figure as a file plt.savefig('output_plot.png', bbox_inches='tight') plt.show() فى هذا السطر يكمن عملية الحفظ: plt.savefig('output_plot.png', bbox_inches='tight')
  18. و عليكم السلام دعنا نتفق ان الهدف من الكود: هو رسم مخططات التكرار للأعمدة التي تحتوي على عدد قليل من القيم الفريدة (أقل من 5)، وتقسيم الرسوم البيانية على نافذة شبكية من 6 رسومات. هذا لاحتياجنا لفهم توزيع القيم الفريدة في كل عمود ومعرفة كيف تتوزع. اما هذا السطر: if df[col].nunique() < 5: مستخدم لتحديد الأعمدة التي تحتوي على عدد صغير من القيم الفريدة(unique) ، مثل الأعمدة التصنيفية . فعلى سبيل المثال، عمود يحتوي على فئات مثل "ذكر/أنثى" أو "نعم/لا" أو "مستويات تصنيفية" يمكن تمثيله بشكل جيد بواسطة مخططات تكرار. فإذا كان العمود يحتوي على عدد كبير جدًا من القيم الفريدة، يصبح هذا النوع من الرسوم البيانية غير مفيد، لذا يتم تجاهلها.
  19. و عليكم السلام ال nunique هى اختصار ل number of unique و ذلك يعنى عدد القيم الفريدة فى ال Series أو DataFrame. مثال على ال series: import pandas as pd # examples of data data = {'Customer_Name': ['Ahmed', 'Mohammed', 'Sara', 'Mohammed', 'Ahmed']} df = pd.DataFrame(data) # Count unique values in the 'Customer_Name' column unique_count = df['Customer_Name'].nunique() print(unique_count) # Output: 3 فى هذا المثال ال list تحتوى على اربع قيم ولاكن Ahmed و Mohammed مكررين مرتين (و يمكن ان يكون اكثر فى مثال اخر) و لذذلك كلا منهم يعتبر واحد فقط و يصبح العدد 3. مثال على dataframe: import pandas as pd data = {'Customer_Name': ['Ahmed', 'Mohammed', 'Sara', 'Mohammed', 'Ahmed'], 'Product': ['Apple', 'Banana', 'Apple', 'Apple', 'Banana']} df = pd.DataFrame(data) # Count unique values for each column in the DataFrame # 000000000000000000000000000000000000000000000000000000 unique_counts = df.nunique() print(unique_counts) # the output is: # Customer_Name 3 # Product 2 # dtype: int64 يتم حساب القيم الفريدة فى كل column و يكون الناتج: Customer_Name 3 Product 2 dtype: int64
  20. و عليكم السلام يمكنك العمل على كل فرع او على كل الفروع و لكن هذا يعتمد على هدفك من التحليل إذا كنت تهدف إلى فهم العملاء بشكل عام بغض النظر عن الفرع، فإن دمج الفروع قد يكون أكثر منطقية. او حجم البيانات:إذا كان حجم البيانات كبير جدًا لكل فرع، يمكنك التفكير في تقسيم العمل إلى مراحل لكل فرع. او نوع البيانات: إذا كانت البيانات المتعلقة بالفروع تختلف جذريًا (مثل المنتجات، العروض، العملاء)، فقد يكون العمل على كل فرع بشكل مستقل أفضل. اذا حددت هذه الامور ستجد الجواب الصحيح.
  21. وعليكم السلام ورحمه الله وبركاته اذا كان Github اخبرك انه ارسل رساله علي الجيميل فيجب ان تكون وصلت لك ولكن قد تتاخر من دقيقه الي خمس دقايق اذا انتظرت اكثر من ذلك ومع ذلك لم تصل الرساله فأحيانا يتم تصنيف رسائل GitHub كرسائل غير مرغوب فيها ويتم نقلها إلى مجلد الـ "Spam". افحص هذا المجلد في بريدك الإلكتروني للتأكد من أن الرسالة لم تصل هناك. ويجب ايضا التاكد من عنوان البريد الالكتروني انه صحيح ثم طلب اعاده ارسال الرساله مره اخري من الجيت هاب اذا استمرت المشكله فاذا يجب التواصل مع الدعم الفني لل Github لتوضيح المشكلة. قد تكون هناك مشكلة مؤقتة في إرسال الرسائل من جانبهم.
  22. وعليكم السلام ورحمه الله وبركاته نظام لينكس ونظام ويندوز هم نظامان تشغيل مختلفان، يعني كل واحد له طريقته الخاصة في العمل. إذا تعلمت نظام لينكس، مش معناه أنك اتعلمت ويندوز، لأن كل واحد له شكل مختلف وطريقة تشغيل البرامج الخاصة به. لكن إذا فهمت كيف يشتغل نظام لينكس، هيسهل عليك فهم ويندوز، لأنك بتكون اكتسبت مهارات عامة عن كيفية عمل الأنظمة (زي إدارة الملفات، تشغيل البرامج، التعامل مع الأوامر).
  23. الكود غير واضح من الصوره يرجي ارسال الكود لتفقد المشكله ومساعدتك بشكل افضل
  24. و عليكم السلام من الافضل ان تعمل على مشروع و تقوم بانشاء Frontend له. و هذا سوف يعزز عندك مهارة البرمجة و يمكنك من معرفه اكواد جديدة و مشاكل جديدة. و كل ما تحل المشاكل تزداد مهارتك فى البرمجة اكثر. يمكنك عمل مشروع او اثنين باستخدام تعلم الالة و الواجهات الامامية. و لاكن اهتم اكثر بجانب تعلم الالة. اما بالنسبة لللتعلم العميق: فيمكنك تعلمها بجانب شغلك فى المشاريع و من الافضل الا تضغط على نفسك. خذ وقتك فى التعلم. و يمكنك البدء فى التقديم على شغل و بعد الانتهاء من المشاريع و تعلمك للمهارات فهذا يعزز سيرتك الذاتية بما فيها من مشاريع و مهارات تكفى للتقديم على وظيفة او تدريب. بالتوفيق
×
×
  • أضف...