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

Ail Ahmed

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

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

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

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

    4

أجوبة بواسطة Ail Ahmed

  1. بتاريخ 44 دقائق مضت قال Khaled Osama3:

    يبدو أنك تواجه مشكلة في عرض الرسم البياني لكن لاحظ أنك تستخدم print() لعرض الرسمة البيانية، وهذا لن يعمل بدلا من ذلك يجب عليك استخدام plt.show() لعرض الرسمة البيانية جرب تغيير الشفيرة لتبدو مثل هذا:

    import matplotlib.pyplot as plt 
    
    a = (1,2,3,4,5,6,7,8)
    b = (1,2,3,4,5,6,7,8)
    
    plt.plot(a,b)
    plt.show()

    الفرق بين plot() و plot_date() يكمن في النوع الأساسي للبيانات التي يمكن تمثيلها بهما.

    فإن plot() تستخدم لرسم البيانات العادية، حيث يكون محور x مكونا من قيم متغيرة بشكل متسلسل على سبيل المثال، عندما تمثل محور x الوقت بصورة متسلسلة مثل الأرقام الصحيحة أو الأعداد العشرية.

    أما عن plot_date() هذه الدالة مخصصة لرسم البيانات التي تمثل قيما زمنية على محور x يتم استخدامها عندما يكون محور x يحتوي على تواريخ أو أوقات.

    فى العموم كلا الدالتين تعتمدان على plot() الأساسية لرسم البيانات لكن plot_date() توفر بعض المزايا الإضافية لمعالجة التواريخ والأوقات بشكل أسهل وأكثر تفصيلا.

    تمام الكود اشتغل من غير اي مشكله

    شكراا جدا لحضرتك

  2. بتاريخ 33 دقائق مضت قال محمد_عاطف:

    نعم هو القيمة التى فيه هى int ولكن الدالة DictReader تقوم بقراءته كسلسلة نصية string وليس int كما الحال حينما نقوم بأخذ البيانات من المستخدم كما في دالة input

    فهمت حضرتك 

    شكرااا جداا

    • أعجبني 1
  3. السلام عليكم

    انا بستخدم مكتبه  matplotlib وعند كتبه الكود علي VScode ده مش بيظهر الرسم البياني ؟

    import matplotlib.pyplot as plt 
    
    a = (1,2,3,4,5,6,7,8)
    b = (1,2,3,4,5,6,7,8)
    
    p = plt.plot(a,b)
    
    print(p)

    وكمان انا عاوز اعرف اي الفرق بين الاثنين دول

    plot()
    plot_date()

     

    • أعجبني 1
  4. بتاريخ 2 دقائق مضت قال محمد_عاطف:

    وعليكم السلام ورحمة الله وبركاته .

    الخطأ أنك تحاول أن تقارن بين قيمة int وقيمة string و في بايثون إذا لم يكن المتغيران من نفس النوع لن يحدث تحقق للشرط .

    لذلك قم بإستبدال سطر رقم 13 بالسطر التالى :

    heart_disease = int(row['target'])

     

    تمام بس العمود د القيمه بتعتو int مش string ؟

    الان هو عبار عن 0و1

    • أعجبني 1
  5. السلام عليكم

    عند تحليل بيانات مرض القلب يظهر الخظاء التالي ؟

    انا هنا في الكود ده عاوز اعارف عدد الناس المصاب بمرض القلب و عدد الناس الطبيعه وده الكود بتاعي

    الخطاء هنا ان مش بيجي الناس العندها مرض قلب ليه بيحصل المشكله ده مع ان الكود يعني صح ؟

    import csv
    
    counts = {
        'Heartdisease':0,
        'Normal':0,
    }
    
    with open("heart_disease.csv" , 'r') as file:
    
        dict_reader = csv.DictReader(file)
    
        for row in dict_reader:
            heart_disease = row['target']
            if heart_disease == 1:
                counts['Heartdisease'] += 1
    
            else:
                counts['Normal'] += 1        
            
    
    for heartdisease in counts:
        print(f"{heartdisease}: {counts[heartdisease]}")   

    وده البيانات الانا شغل عليها

     

    heart_disease.csv

    • أعجبني 1
  6. بتاريخ On 18‏/5‏/2024 at 10:53 قال Ali Ibrahim12:

    في نماذج التعلم  الالي مفهوم ال"target" يعبر عن الخرج المستهدف أو النتيجة المرغوبة التي يتم استهدافها في مجموعة البيانات.

    حيث تكون موجودة في مسائل التعلم بالاشراف (supervised learning) من مسائل تصنيف او تنبؤ على غرار مسائل الغير خاضعة للاشراف (unsupervised learning) مثل خوارميات التجميع وغيرها.

    حيث يمكن ان تصادفك بغير اسم لكن تعبر عن نفس المعنى ومن الاسماء الشائعة الاخرى للtarget هي:

    1.  Label (التصنيف)
    2.  Class (الفئة)
    3.  Outcome (النتيجة)
    4.  Ground truth (الحقيقة الأساسية)
    5. Y (نتيجة او الدالة )

    ففي مثالك الtarget هي حالة السكري في الدم حيث تعبر 0 للحالة الطبيعية اي انه بمعنى اخر غير مصاب بالسكر وال1 انه مرتفع السكري وهو مؤشر لاصابته بالسكري  فيمكن ان تحل البيانات التي تملكها ان يمكن تصنيف الاشخاص المصابين بالسكري من غير المصابين وذلك تبعا للعوامل مثل العمر والجنس والخ...)

    هدف استخدام الـ target في التعلم الآلي هو تدريب النموذج للتنبؤ بالفئة المناسبة للمثال الجديد. عند تدريب النموذج، يتم مقارنة النتيجة المتوقعة المستنتجة من النموذج بالقيمة الهدف (target) الحقيقية. بناءً على هذه المقارنة، يتم تحديث وضبط معلمات النموذج ليتعلم التنبؤ الدقيق بالفئات وهذا تعريف التعلم بالاشراف.

     

    شكراا لحضرتك

    بتاريخ 18 ساعة قال عبد الوهاب بومعراف:

    العفو.

    العمود "target" في مجموعة بيانات مرض القلب يمثل الهدف أو النتيجة التي نريد التنبؤ بها باستخدام نموذج تعلم الآلة. وفي هذه الحالة، هو مؤشر على وجود مرض القلب لدى المريض.

    أما القيم في العمود "target":

    • 0: يعني أن الشخص ليس لديه مرض القلب (سليم).
    • 1: يعني أن الشخص مصاب بمرض القلب.

    وهذا العمود يستخدم كناتج (Output) أو المتغير التابع في نماذج التعلم الآلي لتدريب النموذج على التنبؤ بحالة القلب بناء على باقي الخصائص (Features) في مجموعة البيانات.

    شكراا لحضرتك 

  7. بتاريخ الآن قال عبد الوهاب بومعراف:

    معذرة على التأخر في الرد.

     

    الا عادي جدا كثير خير حضرتك والله

    بتاريخ 1 دقيقة مضت قال عبد الوهاب بومعراف:

    معذرة على التأخر في الرد.

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

    ف Oldpeak يقيس انخفاض الـ ST على مخطط كهربية القلب (ECG) بعد التمرين أي أنه يعكس مدى انخفاض تدفق الدم إلى أجزاء من القلب، وهو مؤشر على وجود مشكلات قلبية محتملة مثل نقص التروية.

    أما ال ST Slope فهو عبارة عن منحدر القطعة ST على مخطط كهربية القلب أثناء وبعد التمرين.
    بالنسبة للقيم في الملف فهي توضح:
      - Upsloping (1): منحدر صاعد، قد يكون طبيعيا.
      - Flat (2): مسطح، قد يشير إلى نقص التروية.
      - Downsloping (3): منحدر هابط، غالبا ما يرتبط بنقص التروية القلبية الخطيرة.

    وال Oldpeak يمثل انخفاض الـ ST بوحدات الفولت في حين أن ST Slope يشير إلى تصنيف منحدر الـ ST أثناء وبعد التمرين إلى صاعد، مسطح، أو هابط.

    شكرااا جدا لحضرتك

    جزاك الله كل خير

    اخر سوال لو سمحتي

    هي اي المقصدود بي العمود target اخر عمود ؟

    • أعجبني 2
  8. بتاريخ 2 دقائق مضت قال Mustafa Suleiman:

    في حال أردت تخطي بعض الأمور في البداية ثم العودة للرياضيات والإحصاء مثلاً فيما بعد، فيمكنك البدء بـ:

    • تعلم أساسيات علوم الحاسوب
    • أساسيات بايثون
    • أساسيات SQL
    • الخوارزميات وهياكل البيانات
    • GIT
    • مكتبة Pandas و numpy و matplotlib و seaborn

    ثم العودة لخارطة الطريق السابقة.

    انا الحمد الله الجزاء ده في اخر حاجه منو

    انا حالينا بتدرس مكتبة Pandas و numpy و matplotlib و seaborn

    شكراا لحضرتك

    بتاريخ 3 دقائق مضت قال عبد الوهاب بومعراف:

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

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

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

    شكرااا  لحضرتك

    بتاريخ 9 دقائق مضت قال Mustafa Suleiman:

    في حال أردت تخطي بعض الأمور في البداية ثم العودة للرياضيات والإحصاء مثلاً فيما بعد، فيمكنك البدء بـ:

    •  

    بالاضاف لبرد الرياضيات

    • أعجبني 1
  9. السلام عليكم

    هل تعلم خورزميات تعلم الاله والتعلم العميق كافي لعمل  والا يفضل اتعلم كمان معهم رويه الحاسوب او للغه الطبيعه؟

    وكمان هل يفضل ان اتخصص في حل مشاكل مجال معنيه زي مثل الطيب وهكذا ؟

    • أعجبني 2
  10. بتاريخ 19 ساعة قال عبد الوهاب بومعراف:

    العمود الذي يحتوي على القيم 0 و 1 يمكن اعتباره متغيرا ثنائيا (Binary Variable) وهو عادة ما يمثل حالتين مختلفتين أو خيارين. في حالة عمود "fasting blood sugar"، فهو يشير إلى حالة سكر الدم عند الصيام، حيث:

    • 0: يعني أن نسبة السكر في الدم عند الصيام طبيعية.
    • 1: يعني أن النسبة عند الصيام مرتفعة أو غير طبيعية.

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

    • الجنس (sex): 0 قد يمثل الإناث و1 قد يمثل الذكور.
    • الذبحة الصدرية أثناء التمرين (exercise angina): 0 يعني عدم وجود ذبحة صدرية أثناء التمرين و1 يعني وجودها.
    • رسم القلب عند الراحة (resting ecg): يمكن أن يحتوي على 0 و1 (وفي بعض الأحيان أكثر من ذلك إذا كان هناك أنواع متعددة من رسم القلب عند الراحة).

    أ.عبد الوهاب ده في كمان مع البيانات هو ده وفعلان كلام حضرتك صح شكراا جدا والله

    بس انا كانت عاوز افهم بعد اذن حضرتك اي هو oldpeak وكمان ده ST slope ؟

    documentation.pdf

    • أعجبني 1
  11. السلام عليكم

    ده البيانات من موقع Kaggle 

    هو ازي هنا في العمود الsex الهو الجنس نوع البيانات الموجود فيه int السوال هنا ازي نوع البيانات ارقم ولما شوفت الارقام ده عبار عن 1 او 0 مش المفروض male او female فا هل الناس المجمع البيانات ده هما مظبطين البيانات ومحولين كل حاجه الارقم عشان طبعان نماذج الذكاء الاصطناعي مش بتفهم غير ارقم بس برد ده لو صحيح فا رقم 1 ده عبار عن رجل ام انثي 

    اي الموضوع ده

    heart_disease.csv

    • أعجبني 1
  12. بتاريخ منذ ساعة مضت قال Mustafa Suleiman:

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

    فهمت حضرتك شكرااا جداا

  13. بتاريخ 21 دقائق مضت قال Mustafa Suleiman:

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

    ايوه خت بالي 

    بتاريخ 22 دقائق مضت قال Mustafa Suleiman:

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

     

    صح انا بتفق مع حضرتك جدا لن انا لسه مبتداي في مجال تعلم الاله

    شكرااا جدا لحضرتكم 

    وشكرااا جدا علي المعلومات والنصيحه يعني بجد شكراا جدا

    بتاريخ 26 دقائق مضت قال Mustafa Suleiman:

    408KB يُعتَبر صغيرًا جدًا أي نصف ميجابايت، أي كمية صغيرة من البيانات ويمكن تحميلها ومعالجتها بسرعة كبيرة، حتى باستخدام الحواسيب العادية.

    للتوضيح 1 ميجابايت MB يساوي 1000 كيلوبايت KB.

    و 1 جيجابايت GB تساوي 1000 ميجابايت MB

    طيب هو اقل حاجه يفضل ان يكون الحجم ده عشان استخدم في مجال تعلم الاله ؟

  14. السلام عليكم

    انا كانت بنزال بيانات لمرض القلب عشان استخدمها في تحليل البيانات من موقع Kaggle وكده بس كانت عاوز افهم اي معني 408KB هل ده بيانات كبير جدا ومتوسط ؟

    وكمان البيانات ده هل بتحدث كل فتر وكمان هل الازم اكون علي اطلاع علي احداث حاجه ؟

    واخير هل يفضل ان اكون عندي خبير بسيط في امرض القلب عشان اقدر افهم البيانات ده 

    • أعجبني 1
  15. بتاريخ 2 دقائق مضت قال عبد الوهاب بومعراف:

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

       import pandas as pd
       print(pd.__version__)

    أو من خلال زيارة الموقع الرسمي للتوثيق `pandas` [pandas documentation](https://pandas.pydata.org/pandas-docs/stable/) والبحث عن توثيق `pd.Index` ومراجعة العمليات المدعومة عليه.لكن يوجد بديل آخر، بحيث يمكنك استخدام دالة `union` كطريقة مؤكدة:

    import pandas as pd
    
    arr0 = pd.Index([0, 1, 2, 3, 4])
    arr1 = pd.Index([0, 1, 2])
    
    print(arr0.union(arr1))

    فدالة `union` تعتبر الخيار الأكثر أمانا للعمل مع إصدارات مختلفة من `pandas`.

    شكرااا جد جدا لحضرتك

    جزاك الله كل خير باذن الله

    • أعجبني 1
  16. وكمان ازي استخدم دي |

    بتاريخ 1 دقيقة مضت قال عبد الوهاب بومعراف:

    صحيح، التقاطع (`&`) بين كائنات `pd.Index` كان مدعوما في إصدارات أقدم من مكتبة `pandas`. ومع التحديثات الجديدة، قد تكون هذه العملية لم تعد مدعومة بنفس الطريقة. ولضمان التوافق مع الإصدارات الأحدث من المكتبة، يفضل استخدام الدوال المخصصة مثل `intersection`.

    شكرااا لحضرتك جدا

    بس في العامل ده (|) ازي استخدم

    • أعجبني 1
  17. بتاريخ 1 دقيقة مضت قال عبد الوهاب بومعراف:

    الخطأ الذي يظهر عند تشغيل هذا الكود يرجع إلى أن عملية التقاطع (`&`) غير مدعومة مباشرة بين كائنات `pd.Index` في مكتبة `pandas`. لاستخدام عملية التقاطع بين مجموعتين من المؤشرات، يجب استخدام الدالة `intersection` بدلا من ذلك. إليك الكود المعدل:

    import pandas as pd 
    
    arr0 = pd.Index([0,1,2,3,4])
    arr1 = pd.Index([0,1,2])
    
    print(arr0.intersection(arr1))

    فهذا الكود سيعطيك التقاطع الصحيح بين المؤشرين `arr0` و `arr1`.

    تمام بس هي كانت بتدعم 

    اصل في فيديو علي الينيوب مستخدمها عادي

    يتيوب

    • أعجبني 1
×
×
  • أضف...