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

Khaled Osama3

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

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

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

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

    1

آخر يوم ربح فيه Khaled Osama3 هو فبراير 8 2024

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

12 متابعين

المعلومات الشخصية

آخر الزوار

2953 زيارة للملف الشخصي

إنجازات Khaled Osama3

عضو نشيط

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

873

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

12

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

  1. أنت تتحدث عن عملية "Minification and Bundling"، وهي جزء من عملية التحسين التي تُستخدم لتقليل حجم ملفات الموقع وجعلها جاهزة للنشر على بيئة الإنتاج. الأدوات التي تقوم بهذه العملية تقوم بجمع كل الأكواد (CSS/JavaScript) معًا، ثم تضغطها (Minify) لجعلها أصغر حجمًا وأصعب قراءة (أكواد "معجوقة") وقد تكلمت عليها بالاعلي وهي Laravel Mix فهو أداة مبنية على Webpack، تستخدم مع Laravel لتسهيل عملية تجميع وضغط الملفات. بعد إعداد الملفات في مشروع Laravel، يمكنك تشغيل الأمر: npm run prod يدمج كل ملفات CSS/JavaScript في ملفات واحدة ويجري تصغير (Minification) للأكواد، مما يجعلها مضغوطة جدا وغير قابلة للتعديل يدويا وينتج الملفات الجاهزة داخل مجلد public/js و public/css.
  2. بطء الموقع يمكن أن يكون نتيجة عدة أسباب رئيسية، مثل حجم الصور الكبيرة، أو كثرة ملفات CSS وJavaScript، أو استعلامات قاعدة البيانات غير المحسنة او امكانيات الاستضافه وهذه اهم الحلول لتحسين سرعة الموقع 1. تقليل حجم الصور وتحسينها الصور الكبيرة هي من أكبر أسباب بطء الموقع، لأنها تستهلك وقتًا أطول للتحميل. وحلها هو ضغط الصور قبل رفعها: استخدم مواقع مثل TinyPNG لضغط الصور مع الحفاظ على جودتها واستبدل صيغ الصور التقليدية (مثل PNG وJPEG) بصيغة WebP التي توفر جودة عالية مع حجم أقل. 2. دمج وتقليل ملفات CSS و JavaScript كل ملف CSS أو JavaScript يتم تحميله في طلب منفصل (HTTP Request)، ما يزيد من وقت تحميل الصفحة. وحلها هو دمج الملفات: اجمع جميع ملفات CSS في ملف واحد، وجميع ملفات JavaScript في ملف واحد لتقليل عدد الطلبات. تصغير الملفات (Minify): استخدم Laravel Mix لتقليل حجم الملفات وضغطها.مثال: npm run prod يقوم هذا الأمر بتجميع وتصغير الملفات الجاهزة للإنتاج. 3. استخدام التحميل المؤجل للصور (Lazy Loading) التحميل المؤجل يعني عدم تحميل الصور غير المرئية على الشاشة حتى يحتاج المستخدم إليها. هذا يُسرّع تحميل الصفحة. وتطبيقه ان تضيف الخاصية loading="lazy" إلى الصور في HTML: <img src="image.jpg" alt="صورة" loading="lazy"> بهذا يتم تحميل الصور عند التمرير نحوها فقط. 4. تحسين الاستعلامات مع قاعدة البيانات الاستعلامات الكبيرة أو غير المحسنة تستهلك وقتا أطول، خاصة إذا كنت تجلب بيانات لا تحتاجها. لذلك يجب جلب البيانات المطلوبة فقط لذلك لا تستخدم $users = User::all(); بدلا من ذلك، استخدم: $users = User::select('name', 'email')->get(); ومن الممكن استخدام التخزين المؤقت (Cache) لتجنب إعادة تنفيذ الاستعلام في كل مرة، $users = Cache::remember('users', 60, function () { return User::all(); }); ومن المهم جدا استخدام Eager Loading:لتحسين جلب البيانات المرتبطة، $users = User::with('posts')->get(); تطبيق هذه الخطوات سيُحسّن أداء موقعك بشكل كبير، ويُوفّر تجربة أفضل للمستخدمين
  3. وعليكم السلام ورحمة الله وبركاته Regularization: أسلوب يُستخدم في (Machine Learning) لتحسين أداء النماذج وتقليل احتمال حدوث الـمشاكل مثل: Overfitting. الفكرة الأساسية: عندما تُدرِّب نموذجاً على بيانات تدريبية، قد يتعلم النموذج أنماطاً حتى في الضوضاء الموجودة في البيانات، مما يؤدي إلى أداء ضعيف على البيانات الجديدة (بيانات الاختبار). فنقوم باستخدام الـ Regularization، حيث يساعد على تبسيط النموذج وجعله أكثر عمومية. و تستخدم عن طريق إضافة عقوبة (Penalty) إلى دالة الخسارة (Loss Function) في التدريب. هذه العقوبة تُثبِّط معاملات النموذج (weights) وتمنعها من أن تصبح كبيرة جداً. هيا بنا ناخذ مثالا فى الحياة العملية: تخيل أن لديك نموذجًا بسيطًا لتوقع أسعار المنازل بناءً على عدة مميزات مثل مساحة المنزل و عدد الادوار ولون الجدران و غيرها. إذا استخدمت Regularization، سيحاول النموذج تجاهل المميزات غير المهمة (مثل لون الجدران) والتركيز على المميزات الأكثر تأثيرًا (مثل مساحة المنزل). و فائدتها: يقلل من التعقيد (complexity) الزائد للنموذج. يحسن التعميم (Generalization) على بيانات جديدة. يعزز الأداء في حالة وجود ضوضاء أو مميزات غير مهمة. بالتوفيق.
  4. وعليكم السلام السؤال، يعتمد الخيار بين التعلم العميق و الخوارزميات التقليدية على طبيعة البيانات وحجمها. إذا كانت البيانات تحتوي على 60 عمودًا فقط: الخوارزميات التقليدية مثل شجرة القرار، الانحدار اللوجستي، SVM، XGBoost قد تكون أكثر كفاءة في هذه الحالة، خاصة إذا كانت البيانات هي بيانات هيكلية (Structured Data) مع ميزات محددة وأبعاد قليلة. هذه الخوارزميات تعمل بشكل جيد مع حجم بيانات صغير إلى متوسط، وتكون أقل تطلبًا من حيث القدرة الحسابية مقارنة بالتعلم العميق. إذا كانت البيانات تحتوي على أعمدة كثيرة جدًا: التعلم العميق (Deep Learning) يتفوق في الحالات التي تحتوي على بيانات ضخمة جدًا وميزات معقدة، مثل النصوص أو الصور أو الصوت. يمكن أن يكون مفيدًا إذا كان لديك بيانات غير هيكلية أو معقدة للغاية، ولكن قد يحتاج إلى موارد حسابية ضخمة. عندما تختار بينهما: إذا كان لديك بيانات هيكلية وتحتاج إلى تفسير النتائج بسهولة، فالخوارزميات التقليدية تكون أكثر فاعلية. إذا كانت لديك بيانات معقدة أو نطاق واسع من العلاقات بين الأعمدة (مثل الصور أو النصوص)، فقد يكون التعلم العميق خيارًا أفضل. وبالتوفيق
  5. Label Encoding هو طريقة لتحويل القيم النصية (Text أو Categories) في البيانات إلى أرقام علشان الكمبيوتر يفهمها. مثلا: لو عندك عمود يحتوي على أسماء المدن: "القاهرة" "الإسكندرية" "الجيزة" بعد تطبيق Label Encoding: "القاهرة" = 0 "الإسكندرية" = 1 "الجيزة" = 2 فين ممكن نستخدم Label Encoding؟ 1. الأعمدة الثنائية (Outcome Column): لما يكون عندك عمود فيه قيمتين فقط (زي "نعم/لا" أو "1/0").مثال: Outcome ----- نعم لا نعم بعد التشفير: Outcome ----- 1 0 1 2. الأعمدة متعددة القيم (Multi-Class Columns): لما يكون عندك أكتر من متغير (زي الألوان: "أحمر"، "أخضر"، "أزرق").مثال: Color ----- أحمر أخضر أزرق بعد التشفير: Color ----- 0 1 2 إيه اللي لازم أخد بالي منه؟ Label Encoding بيحول النصوص إلى أرقام، لكن الأرقام دي الكمبيوتر ممكن يفهمها على إنها "ترتيب" أو "علاقة رياضية". 1. لو العمود فيه علاقة ترتيبية (Ordinal Data): Label Encoding مناسب. مثال: لو عندك مستويات تعليم (ابتدائي، إعدادي، ثانوي): Education --------- ابتدائي إعدادي ثانوي بعد التشفير: Education --------- 0 1 2 في الحالة دي، الأرقام دي لها معنى (ابتدائي أقل من إعدادي، وإعدادي أقل من ثانوي). 2. لو العمود ملوش علاقة ترتيبية (Nominal Data): زي الألوان أو أسماء المدن، الأرقام الناتجة ممكن تخدع النموذج وتخليه يعتقد إن "القاهرة" (0) أقل من "الإسكندرية" (1)، وده غلط. الحل في الحالة دي: بدل Label Encoding، ممكن تستخدم One-Hot Encoding، واللي بيحول كل فئة لعمود مستقل فيه 0 و1: مثال: City ----- القاهرة الإسكندرية الجيزة بعد One-Hot Encoding: القاهرة الإسكندرية الجيزة ------- ---------- ----- 1 0 0 0 1 0 0 0 1 إمتى تختار Label Encoding؟ لو البيانات فيها علاقة ترتيبية بين القيم. لو النموذج اللي بتستخدمه ما يتأثرش بفكرة "الترتيب" (زي Decision Trees أو Random Forest). إمتى تفضل One-Hot Encoding؟ لو البيانات ملهاش علاقة ترتيبية. لو عندك أعمدة فيها فئات متعددة ومفيش معنى إن فئة تكون أعلى أو أقل من التانية. مثال عملي: 1. عمود Outcome: لو عندك عمود "Outcome" يحتوي على "ناجح" و"راسب": Label Encoding: ناجح = 1 راسب = 0 2. عمود Multi-Class: لو عندك عمود "الفصول الدراسية" يحتوي على "فصل A"، "فصل B"، "فصل C": Label Encoding: A = 0 B = 1 C = 2 One-Hot Encoding: A B C 1 0 0 0 1 0 0 0 1
  6. الفرق بين Method و Function Function (الدالة): كود يتم تعريفه لتنفيذ مهمة معينة، ويمكن استدعاؤها في أي وقت خلال البرنامج. و يتم استخدامها بشكل عام خارج الكائنات (Objects)، ويمكن أن تكون مستقلة عن الكائنات. تكون مستقلة بذاتها وقد تأخذ مدخلات (Parameters) وتُرجع مخرجات. و لنأخذ مثال على Function في بايثون: def add_numbers(a, b): return a + b result = add_numbers(3, 5) # استدعاء الدالة Method: هي نوع خاص من الدوال تكون مرتبطة بكائن معين (Object). يتم تعريفها داخل الكلاس (Class)، وتعمل في سياق هذا الكائن. عند استدعائها، يتم تمرير الكائن نفسه تلقائيًا كأول وسيط باستخدام الكلمة المفتاحية و هى self (في بايثون) أو ما يعادلها في لغات برمجة أخرى. الاستخدام: تستخدم للتعامل مع البيانات أو الخصائص الخاصة بالكائن الذي تنتمي إليه. و لنأخذ مثال على Method في بايثون: class Calculator: def add(self, a, b): return a + b calc = Calculator() # إنشاء كائن من الكلاس result = calc.add(3, 5) # استدعاء الطريقة المرتبطة بالكائن بالتوفيق إن شاء الله
  7. نعم، قد تكون للغة C++ علاقة بالمشكلة، خاصة إذا كنت قد أزلت أدوات أو مكتبات C++ من جهازك، لأن بعض مكتبات Python (مثل matplotlib وkiwisolver) تعتمد على ملفات DLL يتم إنشاؤها باستخدام أدوات C++ Build Tools. يجب القيام ببعض الخطوات: حمل نسخة Microsoft C++ Redistributables المناسبة لنظامك من هنا. ثم قم بتثبيتها. تثبيت Microsoft C++ Build Tools عن طريق تحميله من Visual Studio. أثناء التثبيت، اختر الخيار الخاص بـ C++ Build Tools. إعادة تثبيت المكتبات المتأثرة: pip install --force-reinstall matplotlib kiwisolver بالتوفيق إن شاء الله
  8. وعليكم السلام ورحمة الله، خطأ ImportError: DLL load failed while importing _cext عادةً يشير إلى مشكلة في بيئة Python أو المكتبات التي تعتمد عليها. إليك خطوات لحل المشكلة: تأكد من تثبيت المكتبات بشكل صحيح افتح موجه الأوامر الخاص بـ Python (في نفس البيئة الافتراضية) باستخدام هذه الاوامر: cd E:\PYHON\diabetes-project Scripts\activate ثم قم بتشغيل الأمر التالي لإعادة تثبيت مكتبة kiwisolver التي تسبب المشكلة: pip install --force-reinstall kiwisolver ثم أعد تثبيت مكتبة matplotlib: pip install --force-reinstall matplotlib تأكد من أن بيئة Python تحتوي على جميع المكتبات المطلوبة عن طريق: pip list تأكد من أنك تستخدم البيئة الافتراضية المناسبة (E:\PYHON\diabetes-projectفي مشروعك) عند تثبيت المكتبات وتشغيل البرنامج. قد تحتاج الى تحديث المكتبات عن طريق: pip install --upgrade pip pip install --upgrade matplotlib kiwisolver --------------------------------------------------------------------------------------------------------------------------- قد تحتاج الى حذف وإعادة إنشاء البيئة الافتراضية ولكن هذا حل اخير اذا لم تعمل الخطوات السابقة: rm -rf Scripts Lib pyvenv.cfg python -m venv . Scripts\activate pip install matplotlib pip install -r requirements.txt بالتوفيق.
  9. face-recognition مخصصة للتعرف على الوجوه بسهولة، بينما OpenCV يمكن استخدامها لأشياء عديدة وبطرق مختلفة، أما Deep Learning فهو الأسلوب الأساسي والمتقدم الذي يستخدمه الجميع لتدريب الآلات على "التفكير" بطريقة شبيهة بالبشر ولكن دعنا نتكلم عن كل نوع بالتفصيل. Deep Learning (التعلم العميق) هو أسلوب متقدم من الذكاء الاصطناعي، يعتمد على بناء شبكات عصبية كبيرة لتعلم واستخراج الأنماط من البيانات عندما نتحدث عن التعرف على الوجه أو التعرف على الأشياء باستخدام التعلم العميق، نعني استخدام شبكات عصبية مثل Convolutional Neural Networks (CNNs) لتعلم كيف تبدو الأشياء المختلفة والتمييز بينها هذا الأسلوب يتطلب كمية كبيرة من البيانات وقوة حسابية كبيرة، لكنه يعطي دقة عالية جدا. اما مكتبة face-recognition هي مكتبة سهلة الاستخدام تعتمد في عملها على التعلم العميق، وتستخدم شبكات عصبية دربت مسبقا (يعني أنه تم تعليمها من قبل) الهدف منها هو جعل التعرف على الوجوه أمرًا بسيطًا للمطورين بدون الحاجة إلى كتابة خوارزميات معقدة يمكن استخدامها بسهولة لتتعرف على وجوه الأشخاص في الصور والفيديوهات، لكنها متخصصة فقط في الوجوه وليس كل أنواع الصور مكتبة OpenCV هي مكتبة قوية للمعالجة الصورية والرؤية الحاسوبية. يمكن استخدامها للعديد من المهام مثل التعرف على الوجوه، وتتبع الأشياء، ومعالجة الصور بشكل عام وتوفر أدوات متنوعة، ويمكن استخدامها مع Deep Learning أو بدونها. على سبيل المثال، يمكنك استخدام تقنيات بسيطة مثل Haar Cascades أو LBP لاكتشاف الوجوه، وهي تقنيات أسهل لكنها ليست بدقة تقنيات التعلم العميق. أيضا، يمكن لـ OpenCV استخدام النماذج المدربة مسبقا من التعلم العميق للتعرف على الأشياء، مما يجعلها أداة مرنة تناسب العديد من الاستخدامات.
  10. و عليكم السلام يمكن حساب النسبة المئوية للدقة في حالة ال Regression و لكن لا توجد نسبة مئوية مباشرة مثل ال Accuracy فى (Classification)، ولكن يمكنك استخدام مقاييس مثل: R²) Coefficient of Determination): مقياس شائع يعبر عن نسبة التباين في البيانات التي يفسرها النموذج. القيم الأقرب إلى 1 تدل على نموذج جيد. Mean Absolute Percentage Error (MAPE: تعطي النسبة المئوية للخطأ في التنبؤ. و هذا الكود يوضح: from sklearn.ensemble import RandomForestRegressor from sklearn.metrics import mean_squared_error, r2_score import numpy as np # إنشاء النموذج model_diabetes_randomforestregressor = RandomForestRegressor(n_estimators=9000, max_depth=4, random_state=33) # تدريب النموذج train = model_diabetes_randomforestregressor.fit(x_train_scaled, y_train) # التنبؤ y_predict = train.predict(x_test_scaled) # حساب MSE mean_squared_error_value = mean_squared_error(y_test, y_predict, multioutput='uniform_average') print(f"Mean Squared Error: {mean_squared_error_value}") # حساب R² r2_value = r2_score(y_test, y_predict) print(f"R² Score: {r2_value:.2f}") # حساب MAPE mape_value = np.mean(np.abs((y_test - y_predict) / y_test)) * 100 print(f"Mean Absolute Percentage Error (MAPE): {mape_value:.2f}%") بالتوفيق
  11. جواب هذا السؤال يعتمد على: المجال البرمجى الذى تريد البدء فيه و ايضا استخدامك للجهاز نفسه :خارج المنزل أم داخل المنزل أغلب الوقت فيمكنك مشاهدة الفيديو: و الاطلاع على التعليقات هنا:
  12. وعليكم السلام الدالة ttest_ind في مكتبة scipy تُستخدم لإجراء اختبار T مستقل (Independent T-Test). هذا الاختبار يُستخدم لمقارنة متوسطات مجموعتين مستقلتين لمعرفة ما إذا كان الفرق بينهما ذو دلالة إحصائية أم لا. والدالة تكون مثل: scipy.stats.ttest_ind(a, b, axis=0, equal_var=True, nan_policy='propagate', alternative='two-sided') لنرى المعاملات الرئيسيةللدالة: a, b: المصفوفتان اللتان تحتويان على البيانات من المجموعتين اللتين تريد مقارنتهما. axis:المحور الذي يتم عليه إجراء الحساب (بشكل افتراضي 0). equal_var: إذا كانت True (و هى ايضا القيمة الافتراضية)، يفترض الاختبار أن التباين (variance) بين المجموعتين متساوٍ. اما إذا كانت False، يتم استخدام صيغة ويلش (Welch's t-test) التي لا تفترض تساوي التباين. nan_policy:يحدد كيفية التعامل مع القيم المفقودة (NaN). الخيارات: propagate: يعيد NaN إذا كانت هناك قيم مفقودة. omit: يتجاهل القيم المفقودة. raise: يُثير خطأ إذا كانت هناك قيم مفقودة. alternative:لتحديد نوع الاختبار: two-sided (الافتراضي): اختبار ثنائي الاتجاه. less: اختبار أحادي الاتجاه (a < b). greater: اختبار أحادي الاتجاه (a > b). المخرجات: statistic: قيمة اختبار T. pvalue: القيمة الاحتمالية (P-value) التي تُستخدم لتحديد دلالة الفرق. و اليك مثال عملي للدالة: from scipy.stats import ttest_ind # بيانات لمجموعتين group1 = [10, 12, 15, 18, 20] group2 = [11, 14, 14, 16, 21] # إجراء الاختبار stat, pvalue = ttest_ind(group1, group2) print(f"T-statistic: {stat}") print(f"P-value: {pvalue}") و يكون الناتج: T-statistic: -0.0807 P-value: 0.9377 و يتك استخدامه: عندما تكون لديك مجموعتان مستقلتان (مثال: نتائج اختبارات طلاب فصلين مختلفين). للتحقق مما إذا كان الفرق في المتوسطات إحصائيًا وليس بسبب الصدفة. بالتوفيق
  13. وعليكم السلام، في مكتبات بتحسن استجابات النماذج اللغوية عشان تخليها ترد بشكل أكتر طبيعي وتفهم اللي بتطلبه بشكل أحسن. واحدة من المكتبات اللي بتستخدم بشكل كبير هي مكتبة RLHF (Reinforcement Learning from Human Feedback) (تعلم التعزيز من التغذية الراجعة البشرية). ببساطة، المكتبة دي بتساعدك تضبط النموذج بتاعك باستخدام ردود الأفعال اللي بيقدمها المستخدمين، وده بيخلي النموذج يتعلم ويرد بشكل أفضل. كمان فيه مكتبة Transformers من Hugging Face، اللي فيها أدوات ومميزات تساعدك تحسن طريقة تعامل النموذج مع المدخلات اللي بيدخلها المستخدمين. وفي حالة إنك عايز تحسن أداء النماذج الكبيرة زي GPT، تقدر تستخدم حاجة اسمها PPO (تحسين سياسة الاقتراب)، ودي طريقة تدريب للنموذج بتحسّن استجابته على أساس التفاعل مع المستخدم وتخلّيه يرد على الطلبات بشكل أفضل كل مرة. الأدوات دي كلها بتساعدك تخلي النموذج يستوعب أكتر ويستجيب بشكل أذكى مع كل موقف بيواجهه.
  14. و عليكم السلام هذا سؤال خاص بدرس من دروس دورة django فيرجي إرفاق السؤال أسفل الدرس حيث يوجد صندوق للتعليقات كما هنا حيث يجب وضع السؤال هناك . حيث هنا هو قسم الأسئلة العامة ولا نجيب علي أسئلة الدورات هنا وذلك لمساعدتك بشكل أفضل.
  15. وعليكم السلام ورحمة الله، لا، لا تحتاج لطبيب بشكل مباشر فانت تعرف القيمة الشاذة بانها قيمة تختلف بشكل كبير عن باقي القيم الموجودة في البيانات. على سبيل المثال، لو كان لديك بيانات عن درجات حرارة الجسم لعينة من المرضى، وكل القيم تتراوح بين 36 و 38 درجة مئوية، ولكن هناك قيمة واحدة مثل 42 درجة، فهذا قد يكون "قيمة شاذة" لأنها بعيدة جدا عن باقي القيم. لذلك، اكتشاف القيم الشاذة يمكن أن يتم باستخدام الإحصاءات أو أدوات تحليل البيانات، مثل رسم بياني أو استخدام برامج مثل Excel أو Python. لكن إذا كنت تريد معرفة السبب الطبي وراء تلك القيمة أو تفسيرها، قد يكون من الجيد استشارة طبيب للتأكد من أن هذه القيم ليست نتيجة لحالة مرضية خاصة أو خطأ في القياس.
×
×
  • أضف...