Meezo ML نشر 13 يونيو 2021 أرسل تقرير نشر 13 يونيو 2021 ماهي ال PCA وكيف يمكن أن نطقبها في مكتبة Sklearn؟ اقتباس
1 Ali Haidar Ahmad نشر 13 يونيو 2021 أرسل تقرير نشر 13 يونيو 2021 PCA هي طريقة تستخدم لتقليل الأبعاد أي تقليل عدد الفيتشرز بهدف تسريع عملية معالجة البيانات. لا يقوم PCA بتقليل المساحه في الهارد وأنما يقلل المساحة في الذاكره العشوائية أثناء عملية التدريب. وغالباً ماتستخدم مع التعليم بدون إشراف إلا أنه يتم استخدامها أحياناً مع التعليم بإشراف لكنها تؤثر على كفاءة النموذج بشكل سلبي فهي لاتأخذ قيم ال target بعين الاعتبار. يتم استخدامه عبر الموديول sklearn.decomposition #استدعاء المكتبات: from sklearn.decomposition import PCA في البداية قمنا باستدعاء المكتبة التي يوجد فيها هذا الموديل #الشكل العام للموديل: PCAM=PCA(n_components=None, copy=True,svd_solver='auto', iterated_power='auto', random_state=None) الوسيط الأول n_components هو عدد حقيقي أو صحيح يشير إلى عدد المكونات التي سيتم الإبقاء عليها المقصود بالمكونات أقل عدد أمثلة وعدد الفيتشرز وإذا أخذ None يتم الاحتفاظ بجميع المكونات. الوسيط الثاني copy قيمة بوليانية إذا كان false فإنه سوف يتم العمل على نسخة من البيانات الأصلية أي تعديل على البيانات سوف يكون دائم أما إذا كان True تؤخذ نسخة من البيانات. الوسيط الثالث svd_solver يمثل طريقة الحل يأخذ ‘auto’, ‘full’, ‘arpack’, ‘randomized’ وكل قيمة لها طريقتها في اختيار الأبعاد لذلك ينصح بوضع ‘auto’ لكي تكون عملية الاختيار تلقائية. الوسيط الرابع iterated_power عدد التكرارات المسموحة عندما يكون svd_solver=randomized. ويمكن وضعها auto لكي يتم التحديد بشكل تلقائي. الوسيط الخامس random_state للتحكم بآلية التقسيم. طبعا قمت بشرح الشكل العام للموديل ولكن عن طريقة استخدامة سهل جدا فقط بعد أن تقوم بتقسيم الداتا إلى X_train,X_test نستطيع كتابة الأتي لعملية التدريب. #الشكل العام للموديل: PCAM=PCA(n_components=None, copy=True, whiten=False,svd_solver='auto', tol=0.0001, iterated_power='auto', random_state=None) PCAM.fit(X_train) حيث الدالة fit يوجد ضمنها جميع العمليات الداخلية لعملية التدريب نستطيع حساب دقة الموديل أو كفاءته على التدريب والاختبار عن طريق التابع score وحساب عدد المكونات وفق الشكل #حساب الكفاءة على التدريب والاختبار وعدد المكونات: print('Train Score is : ' , PCAM.score(X_train)) print('Test Score is : ' , PCAM.score(X_test)) print('No. of components is : ' , PCAM.components_) الان للحصول على X الجديدة نستخدم transform #الحصول على الدخل الجديد: X =PCAM.transform(X) يوجد دالة تقوم بالعمليتن معا التدريب والتحويل fit_transform. #استدعاء المكتبات from sklearn.decomposition import PCA #الشكل العام للموديل PCAM=PCA(n_components=None, copy=True, whiten=False,svd_solver='auto', tol=0.0001, iterated_power='auto', random_state=None) PCAM.fit(X_train) #حساب الكفاءه على التدريب والاختبار وعدد المكونات print('Train Score is : ' , PCAM.score(X_train)) print('Test Score is : ' , PCAM.score(X_test)) print('No. of components is : ' , PCAM.components_) #الحصول على القيم X_new =PCAM.transform(X_train) 1 اقتباس
السؤال
Meezo ML
ماهي ال PCA وكيف يمكن أن نطقبها في مكتبة Sklearn؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.