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

محمد_عاطف

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

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

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

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

    133

كل منشورات العضو محمد_عاطف

  1. إذا لم يكن لديك بطاقة فيزا أو بطاقة لدفع رسوم الدورة. يمكنك أن تجعل شخص ما يشتري لك بطاقة هدية بقيمة الدورة التي تريدها ثم استخدامها وسيتم إضافة الرصيد الخاص بقيمة البطاقة لحسابك وستجد تفاصيل عن ذلك هنا: شراء بطاقة هدية استخدام بطاقة الهدية
  2. أعتقد أنك تقصد موسوعة حسوب حيث يوجد توثيق لعدة لغات هناك ودروس يمكنك متابعتها على الموسوعة من خلال الرابط التالي : https://wiki.hsoub.com/Python ويوجد أيضا كتاب هنا خاص على الأكاديمية بخصوص تعلم بايثون وإليك الرابط الخاص به : وتوجد مقالات كثيرة هنا بخصوص بايثون وإليك الرابط الخاص بها: https://academy.hsoub.com/programming/python/
  3. وعليكم السلام ورحمة الله وبركاته. من الممكن أن الدالة IterativeImputer قد تعيد أرقام سالبة وذلك لأن تلك الدالة تقوم بإكمال القيم المفقودة في مجموعة البيانات، مما قد ينتج عنها قيم غير متوقعة مثل الأرقام السالبة وذلك خصوصا إذا كانت البيانات الأصلية ليدك تحتوي على قيم غير مناسبة أو إذا كانت هناك مشكلة في النموذج المستخدم لإكمال القيم المفقودة. وإذا أردت عدم السماح بالقيم السالبة فتلك الدالة من الممكن أن تقبل معامل min_value وهو أقل قيمة من الممكن أن تخرجها الدالة ويمكنك قراءة التوثيق الرسمي : https://scikit-learn.org/stable/modules/generated/sklearn.impute.IterativeImputer.html#:~:text=min_valuefloat or array-like of shape (n_features%2C)%2C default%3D-np.inf أما بالنسبة لـ OrdinalEncoder فهذه الدالة تستخدم لتحويل المتغيرات الفئوية إلى متغيرات عددية ولكنها لا يمكن أن تعطي قيم سالبة لأنها تعمل على تحويل الفئات إلى أرقام صحيحة تبدأ من 0 إلا إذا أردت تحديد الفئات يدويا بنفسك حينها يمكنك وضعها بقيمة سالبة.
  4. وعليكم السلام ورحمة الله وبركاته. مع التدريب الكثير وكتابة الأكواد ستجد أن الأمور تضح لك وستسيطع كتابة أكواد مثل تلك التي ذكرتها. ولكن يجب عليك على الأقل معرفة الأساسيات. حيث هنا إستخدمنا تعبير lambda وهو يعتبر دالة مجهولة حيث هي كما أنك قمت بتعريف دالة تستقبل معاملات ولكنها تعيد قيمة واحدة فقط. يمكنك قراءة الشرح التالي لمزيد من التفاصيل حول تعبير lambda : ولنشرح معا الكود المرفق : data_train.apply : هنا إستخدمنا الدالة apply وتلك الدالة تقوم بأخذ معامل وهذا المعامل هو دالة يتم تنفيذها على كل عمود في الـ DataFrame أى أننا هنا نريد تنفيذ دالة معينة على كل عمود من بيانات ال data_train. وهنا قمنا بتمرير تعبير lambda وكما وضحنا هو دالة مجهولة . lambda col هنا العمود سيتم تمريره للدالة lambda كمعامل . col.astype(int) if original_dtypes[col.name] == 'int64' else col وهنا هو الجزء الذي سيتم إعادته من الدالة . ولاحظ هنا أننا إستخدمنا التعابير الشرطية . حيث سنقوم بتحويل العمود إلى نوع int إذا كان نوع البيانات الأصلي هو int64 أما إذا لم يكن العمود من نوع int64 سيتم إعادته كما هو ولن يتم تحويله.
  5. وعليكم السلام ورحمة الله وبركاته. هذا بسبب أن IterativeImputer يقوم بإستخادم طرق إحصائية لتقدير القيم المفقودة وأيضا الخوارزمية التي يعمل بها تقوم بإجراء عمليات حسابية مما قد تتضمن قيم غير صحيحة (قيم العشرية). و لحل تلك المشكلة يمكننا أولا الإحتفاظ بقائمة الأعمدة ال int و ال float قبل تطبيق الIterativeImputer ومن ثم بعد ذلك نقوم بتحويلها مرة أخرى إلى int. int_columns = data_train.select_dtypes(include=['int64']).columns float_columns = data_train.select_dtypes(include=['float64']).columns imputer = IterativeImputer(max_iter=5, random_state=42, initial_strategy='mean') imputer_data = imputer.fit_transform(data_train[float_columns]) data_train[float_columns] = imputer_data data_train[int_columns] = data_train[int_columns].astype('int') print(data_train.info())
  6. أولا يجب أن يكون مدونتك متوافقة مع محركات البحث وذلك لتظهر للمستخدمين في مواقع البحث وأيضا تساعد في فهرسة الموقع .. وحتي لو قمت بزيادة الإعلانات لمدونتك وكانت المدونة ليست متوافقة مع محركات البحث فمن الممكن أن يؤثر ذلك بالسلب على موقع إذا لم يعجب الذوار أيضا. لذلك يجب عليك ان تهتم بال SEO ولكن ذلك سيأخذ وقتا حتي يظهر موقعك ويتم فهرسته بالشكل الصحيح وخلال ذلك يمكنك أيضا عمل إعلانات مدفوعة لموقع. يرجى قراءة الإجابة التالية لتفاصيل ونصائح أفضل لك :
  7. توجد عدة طرق . يمكنك إستخدام المتصفح في ذلك وإنشاء ملف html و أخذ النص الذي تريده منه من خلال حقل أو غيره. ومن ثم إستخدام كود java script التالي الذي سيقوم بتحويل النص إلى صوت let text ="how are you"; let utterance = new SpeechSynthesisUtterance(text); speechSynthesis.speak(utterance); إذا أردت إنشاء برنامج سطح مكتب مثلا بلغة C# يمكنك تحويل النص إلى كلام من خلال الوحدة Synthesis وإليك الكود التالي الذي يساعدك في ذلك : using System; using System.Speech.Synthesis; class Program { static void Main() { SpeechSynthesizer synthesizer = new SpeechSynthesizer(); synthesizer.SelectVoiceByHints(VoiceGender.Neutral, VoiceAge.Adult); string text = "مرحبا"; synthesizer.Speak(text); } }
  8. التوثيق الرسمي يكفي . يمكنك كتابة إسم المكتبة أو إطار العمل في جوجل وبعدها كلمة docs وسيظهر لك الموقع الرسمي للتوثيق. فمثلا إذا أردت توثيق nextjs الرسمي يمكنك كتابة : nextjs docs وأول نتيجة ستظهر لك ستكون التوثيق الرسمي .
  9. وعليكم السلام ورحمة الله وبركاته. إسمح لي أن أصحح لك بعض الأمور . أولا لا يوجد ما يسمي تغير المفاهيم أو إختلافها في الإصدارات الجديدة سواء من المكتبات أو أطر العمل. إن المفاهيم واحدة ولا يتم الإختلاف فيها . بل الإختلاف يكون في خصائص المكتبات وأطر العمل حيث يتم إضافة خصائص جديدة أو حذف خصائص قديمة لم تعد مهمة . أو تعديل خصائص كانت موجودة وطريقة إستخدامها إختلفت قليلا . لهذا إذا كنت قد فهمت الأساسيات والمفاهيم الرئيسية فسيكفي فقط الإطلاع على الوثائق الرسمية لتعرف كيف تتعامل مع التحديثات. ثانيا لا يوجد مبرمج جيد حينما يتم إصدار تحديث جديد لمكتبة أو إطار عمل أن يذهب ليشترك في دورة ليعرف كيف يتعامل معها . بل ينبغي عليه معرفة كيفية تعلمها أو قراءة التغيرات التي حدثت من خلال الوثائق الرسمية أو غيرها . ولكن الإشتراك في دورة جديدة لتبدا من البداية فهذا ليس بالأمر الجيد. ثالثا عند نزول إصدار حديث لا يتم إهماله أو عدم العمل به . بل توجد مشاريع كثيرة تعمل على إصدارات قديمة جدا منذ أكثر من 5 سنوات . وستجد وظائف في شركات كبيرة أو حتي مواقع عمل حر تعمل على مشاريع بإصدارات قديمة . لهذا فإن ما تعلمته تستطيع العمل به . أما بخصوص الدورات هنا فهي أولا يتم تحديثها بإستمرار ولكن مع التطور السريع للإصدارات والمكتبات من الصعب دائما مواكبة تلك التطورات ولكن دائما ما يتم تحديث الدروس إذا كانت الإصدارات الأحدثت قد إختلفت تماما عن مثيلتها السابقة في الدورة . ويمكنك متابعة التحديثات التي تمت وستجد أنه بالفعل قد تم تحديث عدة مسارات بأحدث الإصدار في شهر 12 السابق : https://academy.hsoub.com/release-notes/ وأيضا لن تحتاج إلى شراء أى دورة أخرى فهنا من مميزات الأكاديمية أنه سيكون لك وصول مدى الحياة للدورة وأى تحديث عليها تستطيع مشاهدة دون دفع أى رسوم إضافة أو الإشتراك من جديد. وأخيرا ينبغي عليك التركيز على فهم الأساسيات و التطبيق مع المدرب بالإصدارات الموجودة في الدروس وبعد الإنتهاء من المسار يمكنك المحاولة مع نفسك في كيفية تحديث أو إنشاء المشروع من البداية بالإصدارات الأحدث وحينها ستحقق أقصي إستفادة وتزداد خبرتك في التعامل مع المكتبات ومع الإصدارات بعد تحديثها.
  10. وعليكم السلام ورحمة الله وبركاته. LabelEncoder: نقوم بإستخدامه لتحويل القيم الفئوية (Categorical) إلى قيم رقمية. فلو لدينا فئات غير مرتبة مثل "أحمر" و "أخضر" و "أزرق" ونحتاج إلى تحويلها إلى قيم عددية لنستيطع تحليلها يساعدنا الLabelEncoder في ذلك. مثال : from sklearn.preprocessing import LabelEncoder labels = ["أحمر"، "أخضر"، "أزرق","أحمر] le = LabelEncoder() encoded_labels = le.fit_transform(labels) print(encoded_labels) # Output: [0, 1, 2, 0] وإليك التوثيق الرسمي : https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html OrdinalEncoder: أيضا نستخدمه لتحويل الفئات النصية إلى أرقام، ولكن الفئات هنا تكون مرتبة أى لها ترتيب معين عكس الLabelEncoder. حيث يجب هنا تحديد الترتيب يدويا . مثال from sklearn.preprocessing import OrdinalEncoder encoder = OrdinalEncoder() encoder.fit([['heigh',3], ['medium',2], ['low',1]]) encoder.transform([['medium'],['heigh'],['low']) وإليك التوثيق الرسمي له : https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OrdinalEncoder.html
  11. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل. ويرجى رفع الملف الصحيح حيث هذا الملف خاطئ وليس هو الذي يحوي ملفات المشروع.
  12. وعليكم السلام ورحمة الله وبركاته. يرجى فتح قائمة ويندوز وكتابة Photos . عندما يظهر برنامج Photos يرجى الضغط بالزر الأيمن عليه وإختيار App settings : بعد ذلك يرجى الذهاب إلى أسفل والبحث عن Reset . يرجى الضغط على Reset : ويمكنك محاولة فتح الصور مرة أخرى الآن
  13. أولا توجد ثلاثة وظائف رئيسية في البرمجة : تطوير الواجهات الأمامية (Front end) تطوير الواجهات الخلفية (back end) تطوير الويب (Full Stack) لذلك هل تريد إنشاء موقع ويب للواجهات الأمامية أم إنشاءه بأكمله كواجهة أمامية وخلفية ؟ يمكنك قراءة الإجابة التالية للتوضيح الفرق بين تطوير الواجهات الأمامية و تطوير الواجهات الخلفية : نأتي الآن لسؤالك حول أفضل لغة : لا يوجد في البرمجة ما يسمى الأفضل في البرمجة، بل لكل تقنية استخدامها الأمثل لها ويمكنك قراءة الإجابة التالية للتوضيح بين الفرق بين اللغات : وإليك الإجابة التالية لتوضيح الدورات المتاحة في الأكاديمية و ما الذي ستوفره لك بعد الإنتهاء منها :
  14. لا توجد صلاحية للدورة وتنتهي . بل من مميزات أكاديمية حسوب أن بمجرد شراءك للدورة سيكون لك الوصول إليها مدى الحياة وذلك يشمل أى تحديثات مستقبلية تتم عليها ويمكنك الوصول ومتابعتها في أى وقت. يمكنك متابعة الدروس بالترتيب حيث تم تقسيم الدورة إلى مسارات وكل مسار يوجد به عدة وحدات و الوحدة تتكون من مجموعة من الدروس .
  15. المشكلة لديك في المكون Header وذلك لأن المكون Header لا يتم تحديثه تلقائيا بعد تسجيل الدخول وذلك لأن التغييرات في localStorage لا تؤدي إلى إعادة تصيير (render) تلقائية للمكونات في. ولحل هذه المشكلة من الممكن إستخدام الأحداث. لقد لاحظت أنك في مكون login أطلقت حدث userUpdated . لهذا يجب علينا تعديل المكون Header ليستمع إلى هذا الحدث : وإليك المكون Header بعد تعديله والإستماع إلى الحدث : "use client" import Image from "next/image"; import Link from "next/link" import {useState,useEffect} from "react" export default function Header() { const [user, setUser] = useState({}); useEffect(() => { const handleUserUpdate = () => { setUser(JSON.parse(localStorage.getItem("user_data"))); }; setUser(JSON.parse(localStorage.getItem("user_data"))); window.addEventListener("userUpdated", handleUserUpdate); // الاستماع للحدث return () => { window.removeEventListener("userUpdated", handleUserUpdate); // تنظيف الحدث }; }, []); const handleLogout = ()=>{ localStorage.removeItem("user_data"); setUser({}); } return ( <> <div className="bg-white shadow-md sticky top-0 z-10"> <div className="max-w-7xl mx-auto px-6 py-4 flex items-center justify-between"> {/* Logo Section */} <div className="flex items-center space-x-3"> <Link href="/"> <Image src="/next.svg" width={100} height={100} alt="Logo" className="h-8 w-auto" /> </Link> </div> {/* Navigation Links */} <div className="hidden md:flex space-x-8"> <Link href="/" className="text-gray-700 hover:text-blue-600 transition duration-300">Home</Link> <Link href="/movies" className="text-gray-700 hover:text-blue-600 transition duration-300">Movies</Link> <Link href="/movies/create" className="text-gray-700 hover:text-blue-600 transition duration-300">Create Movie</Link> <Link href="/" className="text-gray-700 hover:text-blue-600 transition duration-300">About</Link> </div> {/* Login and Submit Buttons */} <div className="flex space-x-4"> {user?.name ? ( <div className="flex items-center justify-between gap-4"> <Link href="/user" className="text-sm font-medium text-gray-700" > {user.name} </Link> <button className="px-6 py-2 text-sm font-semibold text-white bg-red-600 rounded-lg hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500 transition duration-300" onClick={handleLogout} > Logout </button> </div> ) : ( <> <Link href="/login"> <button className="px-6 py-2 text-sm font-semibold text-gray-700 border border-gray-300 rounded-lg hover:bg-gray-100 transition duration-300"> Login </button> </Link> <Link href="/register"> <button className="px-6 py-2 text-sm font-semibold text-white bg-blue-600 rounded-lg hover:bg-blue-700 transition duration-300"> Sign Up </button> </Link> </> )} </div> </div> </div> </> ); }
  16. وعليكم السلام ورحمة الله وبركاته. لنشرح أولا الدالتين : select_dtypes(): نستخدم تلك الدالة لإختيار الأعمدة بناء على نوع البيانات سواء كانت object أو float أو int أو غيرها. المثال التالي سيقوم بتحديد الأعمدة التي من نوع object فقط: data_train.select_dtypes(include=['object']) apply(): نستخدمها لتطبيق دالة معينة على كل عمود أو صف في DataFrame . المثال التالي سيطبق fit_transform من label_encoder على كل عمود : data_train.apply(label_encoder.fit_transform) الآن لنفرق بين الكودين الذي أرفقتهم : الطريقة الأولى وهي استخدام for loop مع if : مميزاتها: الكود واضح ومن ينظر إليها يفهم سريعا ما هو المطلوب تنفيذه من هذا الكود. يمكنك إضافة أي شروط أو عمليات إضافية داخل الـ for loop بسهولة. عيوبها: استخدام for loop يعتبر أبطأ بالنسبة إلى الدوال المدمجة مثل apply() أو select_dtypes حيث تلك الدوال تم إنشاءها لتكون أسرع وأفضل من الأكواد المجردة . الطريقة الثانية وهي استخدام select_dtypes و apply : مميزاتها: كما وضحت لك أن الدوال select_dtypes و apply تم إنشاءها لتكوم أفضل وأسرع وهكذا نستطيع التعامل مع البيانات بشكل أسرع من الـ for loop. الكود أقصر من الكود الأول. عيوبها: تلك الطريقة ليست سهلة في القراءة وليست أوضح كما في الطريقة الأولى . إذا كنت بحاجة إلى إضافة شروط كثيرة فهذه الطريقة ليست الأفضل في ذلك. لهذا إذا كنت تبحث عن الأداء الأسرع والأفضل فالطريقة الثانية أفضل بكثير .
  17. وعليكم السلام روحمة الله وبركاته. النافذة التي تقوم بفتحها هي خاصة بقائمة البرامج الموجودة لديك على الويندوز وتريد حذفها . لذلك عند الضغط على أى من البرامج فيها فإنك تحاول حذفه ولذلك تظهر لك رسالة إما الحذف أو الإصلاح repair . لذلك يرجى إعادة تشغيل الجهاز من جديد و البحث على سطر المكتب عن برنام SQL Server Management Studio إذا لم يظهر يمكنك فتح قائمة الويندوز و البحث عن SQL Server Management Studio وسيظهر لك البرنامج يرجى الضغط عليه لفتحه.
  18. يفضل رفعها على github . حيث كلما إنتهيت من مسار يفضل رفع المشاريع الخاصة به وذلك حتي لا تضيع الأكواد أو يتم مسحها بالخطأ وحتي لا تتراكم لديك المشاريع. ولكن يتم مشاركتها عندما تقوم بالتقدم للإختبار . حيث حينما تقوم بمحادثة مركز المساعدة للتقدم للإختبار سيتم الطلب منك بتوفير تلك المشاريع وحينها ستقوم بإرسال روابط تلك المشاريع على github.
  19. وعليكم السلام ورحمة الله وبركاته. يرجي الضغط على الإعدادات settings في الشريط الجانبي . بعد ذلك قم بإغلاق الإنترنت : ثم قم بحفظ التعديلات.
  20. يرجى المتابعة أسفل الدرس حيث قمت بوضع سؤالك وسيتم مساعدتك إن شاء الله.
  21. هذا لأنك تحاول الذهاب إلى مسار خاطئ . حيث لاحظ أنك في مسار c:users/pc و الملف في مسار c:users/pc/desktop . لهذا يجب الذهاب إلى مسار desktop من خلال تنفيذ الأمر التالي : cd Desktop وبعد ذلك يمكنك تشغيل الملف . وإذا أردت معرفة المجلدات والملفات في المسار الحالي يمكنك كتابة أمر dir وإذا كان هذا السؤال متعلق بإحدي دروس الدورات يرجى وضع السؤال أسفل الدرس حيث ستجد أسفل الدرس صندوق للتعليقات كما هنا . حيث هنا هو قسم الأسئلة العامة ولا نجيب على أسئلة الدورات هنا.
  22. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  23. وعليكم السلام ورحمة الله وبركاته. ستجدين أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  24. نعم يستطيع النموذج التنبؤ بقيم العمود efs والعمود efs_time (الوقت حتى الحدث) في نفس الوقت، وذلك لأنه مصمم خصيصًا لتحليل البقاء (Survival Analysis) والتعامل مع البيانات التي تحتوي على معلومات عن الوقت وحتى حدوث حدث معين. حيث يتميز النموذج بالتنبؤ المتعدد (Multi-Task Learning) حيث يمكنه أن يتنبأ بمعدل البقاء ووقت الحدث في نفس الوقت.
  25. وعليكم السلام ورحمة الله وبركاته. إن نموذج DeepHit هو نموذج تعلم عميق حيث يستخدم في مجال التنبؤ بتوقيت الأحداث النجاة أو الفشل (Survival Analysis) في الحالات التي تعتمد على بيانات معقدة ومتغيرة بمرور الوقت وهذا بالنسبة للسياق الطبي . ويعتمد هذا النموذج بشكل أساسي على الشبكات العصبية العميقة ويُستخدم عادةً في تحليل البيانات الزمنية و تحليل بيانات النجاة مثل التنبؤ بمعدل النجاة للمرضى .
×
×
  • أضف...