.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/miscellaneous/plot_partial_dependence_visualization_api.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. or to run this example in your browser via JupyterLite or Binder .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_miscellaneous_plot_partial_dependence_visualization_api.py: ============================================ الرسم المتقدم باستخدام الاعتمادية الجزئية ============================================ يمكن استخدام كائن :class:`~sklearn.inspection.PartialDependenceDisplay` للرسم دون الحاجة إلى إعادة حساب الاعتمادية الجزئية. في هذا المثال، نوضح كيفية رسم مخططات الاعتمادية الجزئية وكيفية تخصيص المخطط بسرعة باستخدام واجهة برمجة التطبيقات (API) للتصور. .. note:: راجع أيضًا :ref:`sphx_glr_auto_examples_miscellaneous_plot_roc_curve_visualization_api.py` .. GENERATED FROM PYTHON SOURCE LINES 11-25 .. code-block:: Python # المؤلفون: مطوري scikit-learn # معرف SPDX-License: BSD-3-Clause import matplotlib.pyplot as plt import pandas as pd from sklearn.datasets import load_diabetes from sklearn.inspection import PartialDependenceDisplay from sklearn.neural_network import MLPRegressor from sklearn.pipeline import make_pipeline from sklearn.preprocessing import StandardScaler from sklearn.tree import DecisionTreeRegressor .. GENERATED FROM PYTHON SOURCE LINES 26-30 تدريب النماذج على مجموعة بيانات مرض السكري ================================================ أولاً، نقوم بتدريب شجرة قرار وشبكة عصبية متعددة الطبقات على مجموعة بيانات مرض السكري. .. GENERATED FROM PYTHON SOURCE LINES 30-43 .. code-block:: Python diabetes = load_diabetes() X = pd.DataFrame(diabetes.data, columns=diabetes.feature_names) y = diabetes.target tree = DecisionTreeRegressor() mlp = make_pipeline( StandardScaler(), MLPRegressor(hidden_layer_sizes=(100, 100), tol=1e-2, max_iter=500, random_state=0), ) tree.fit(X, y) mlp.fit(X, y) .. rst-class:: sphx-glr-script-out .. code-block:: none /project/workspace/sklearn/neural_network/_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (500) reached and the optimization hasn't converged yet. .. raw:: html
Pipeline(steps=[('standardscaler', StandardScaler()),
                    ('mlpregressor',
                     MLPRegressor(hidden_layer_sizes=(100, 100), max_iter=500,
                                  random_state=0, tol=0.01))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.


.. GENERATED FROM PYTHON SOURCE LINES 44-51 رسم الاعتمادية الجزئية لميزتين ============================================ نرسم منحنيات الاعتمادية الجزئية للميزتين "العمر" و"مؤشر كتلة الجسم" لشجرة القرار. مع ميزتين، :func:`~sklearn.inspection.PartialDependenceDisplay.from_estimator` يتوقع رسم منحنيين. هنا تقوم دالة الرسم بوضع شبكة من مخططين باستخدام المساحة المحددة بواسطة `ax` . .. GENERATED FROM PYTHON SOURCE LINES 51-55 .. code-block:: Python fig, ax = plt.subplots(figsize=(12, 6)) ax.set_title("Decision Tree") tree_disp = PartialDependenceDisplay.from_estimator(tree, X, ["age", "bmi"], ax=ax) .. image-sg:: /auto_examples/miscellaneous/images/sphx_glr_plot_partial_dependence_visualization_api_001.png :alt: Decision Tree :srcset: /auto_examples/miscellaneous/images/sphx_glr_plot_partial_dependence_visualization_api_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 56-60 يمكن رسم منحنيات الاعتمادية الجزئية للشبكة العصبية متعددة الطبقات. في هذه الحالة، يتم تمرير `line_kw` إلى :func:`~sklearn.inspection.PartialDependenceDisplay.from_estimator` لتغيير لون المنحنى. .. GENERATED FROM PYTHON SOURCE LINES 60-66 .. code-block:: Python fig, ax = plt.subplots(figsize=(12, 6)) ax.set_title("Multi-layer Perceptron") mlp_disp = PartialDependenceDisplay.from_estimator( mlp, X, ["age", "bmi"], ax=ax, line_kw={"color": "red"} ) .. image-sg:: /auto_examples/miscellaneous/images/sphx_glr_plot_partial_dependence_visualization_api_002.png :alt: Multi-layer Perceptron :srcset: /auto_examples/miscellaneous/images/sphx_glr_plot_partial_dependence_visualization_api_002.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 67-80 رسم الاعتمادية الجزئية للنموذجين معًا ====================================================== تحتوي كائنات `tree_disp` و`mlp_disp` :class:`~sklearn.inspection.PartialDependenceDisplay` على جميع المعلومات المحسوبة اللازمة لإعادة إنشاء منحنيات الاعتمادية الجزئية. هذا يعني أنه يمكننا بسهولة إنشاء مخططات إضافية دون الحاجة إلى إعادة حساب المنحنيات. إحدى طرق رسم المنحنيات هي وضعها في نفس الشكل، مع منحنيات كل نموذج في كل صف. أولاً، نقوم بإنشاء شكل مع محورين داخل صفين وعمود واحد. يتم تمرير المحورين إلى :func:`~sklearn.inspection.PartialDependenceDisplay.plot` وظائف `tree_disp` و`mlp_disp`. سيتم استخدام المحاور المعطاة بواسطة دالة الرسم لرسم الاعتمادية الجزئية. يضع المخطط الناتج منحنيات الاعتمادية الجزئية لشجرة القرار في الصف الأول من الشبكة العصبية متعددة الطبقات في الصف الثاني. .. GENERATED FROM PYTHON SOURCE LINES 80-87 .. code-block:: Python fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10, 10)) tree_disp.plot(ax=ax1) ax1.set_title("Decision Tree") mlp_disp.plot(ax=ax2, line_kw={"color": "red"}) ax2.set_title("Multi-layer Perceptron") .. image-sg:: /auto_examples/miscellaneous/images/sphx_glr_plot_partial_dependence_visualization_api_003.png :alt: Decision Tree, Multi-layer Perceptron :srcset: /auto_examples/miscellaneous/images/sphx_glr_plot_partial_dependence_visualization_api_003.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none Text(0.5, 1.0, 'Multi-layer Perceptron') .. GENERATED FROM PYTHON SOURCE LINES 88-93 طريقة أخرى لمقارنة المنحنيات هي رسمها فوق بعضها البعض. هنا، نقوم بإنشاء شكل مع صف واحد وعمودين. يتم تمرير المحاور إلى :func:`~sklearn.inspection.PartialDependenceDisplay.plot` الدالة كقائمة، والتي سترسم منحنيات الاعتمادية الجزئية لكل نموذج على نفس المحاور. يجب أن يكون طول قائمة المحاور مساويًا لعدد المخططات المرسومة. .. GENERATED FROM PYTHON SOURCE LINES 93-102 .. code-block:: Python fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 6)) tree_disp.plot(ax=[ax1, ax2], line_kw={"label": "Decision Tree"}) mlp_disp.plot( ax=[ax1, ax2], line_kw={"label": "Multi-layer Perceptron", "color": "red"} ) ax1.legend() ax2.legend() .. image-sg:: /auto_examples/miscellaneous/images/sphx_glr_plot_partial_dependence_visualization_api_004.png :alt: plot partial dependence visualization api :srcset: /auto_examples/miscellaneous/images/sphx_glr_plot_partial_dependence_visualization_api_004.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 104-110 `tree_disp.axes_` هو حاوية مصفوفة numpy للمحاور المستخدمة لرسم مخططات الاعتمادية الجزئية. يمكن تمرير هذا إلى `mlp_disp` للحصول على نفس تأثير رسم المخططات فوق بعضها البعض. علاوة على ذلك، فإن `mlp_disp.figure_` يحفظ الشكل، مما يسمح بتغيير حجم الشكل بعد استدعاء `plot`. في هذه الحالة، يكون لـ `tree_disp.axes_` بعدين، وبالتالي لن تعرض الدالة `plot` سوى تسمية المحور y وعلامات المحور y على المخطط الأيسر. .. GENERATED FROM PYTHON SOURCE LINES 110-120 .. code-block:: Python tree_disp.plot(line_kw={"label": "Decision Tree"}) mlp_disp.plot( line_kw={"label": "Multi-layer Perceptron", "color": "red"}, ax=tree_disp.axes_ ) tree_disp.figure_.set_size_inches(10, 6) tree_disp.axes_[0, 0].legend() tree_disp.axes_[0, 1].legend() plt.show() .. image-sg:: /auto_examples/miscellaneous/images/sphx_glr_plot_partial_dependence_visualization_api_005.png :alt: plot partial dependence visualization api :srcset: /auto_examples/miscellaneous/images/sphx_glr_plot_partial_dependence_visualization_api_005.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 121-126 رسم الاعتمادية الجزئية لميزة واحدة =========================================== هنا، نرسم منحنيات الاعتمادية الجزئية لميزة واحدة، "العمر"، على نفس المحاور. في هذه الحالة، يتم تمرير `tree_disp.axes_` إلى دالة الرسم الثانية. .. GENERATED FROM PYTHON SOURCE LINES 126-129 .. code-block:: Python tree_disp = PartialDependenceDisplay.from_estimator(tree, X, ["age"]) mlp_disp = PartialDependenceDisplay.from_estimator( mlp, X, ["age"], ax=tree_disp.axes_, line_kw={"color": "red"} ) .. image-sg:: /auto_examples/miscellaneous/images/sphx_glr_plot_partial_dependence_visualization_api_006.png :alt: plot partial dependence visualization api :srcset: /auto_examples/miscellaneous/images/sphx_glr_plot_partial_dependence_visualization_api_006.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 3.025 seconds) .. _sphx_glr_download_auto_examples_miscellaneous_plot_partial_dependence_visualization_api.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: binder-badge .. image:: images/binder_badge_logo.svg :target: https://mybinder.org/v2/gh/scikit-learn/scikit-learn/main?urlpath=lab/tree/notebooks/auto_examples/miscellaneous/plot_partial_dependence_visualization_api.ipynb :alt: Launch binder :width: 150 px .. container:: lite-badge .. image:: images/jupyterlite_badge_logo.svg :target: ../../lite/lab/index.html?path=auto_examples/miscellaneous/plot_partial_dependence_visualization_api.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_partial_dependence_visualization_api.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_partial_dependence_visualization_api.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_partial_dependence_visualization_api.zip ` .. include:: plot_partial_dependence_visualization_api.recommendations .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_