.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/gaussian_process/plot_gpr_noisy_targets.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_gaussian_process_plot_gpr_noisy_targets.py: ========================================================= انحدار العمليات الغاوسية: مثال تمهيدي أساسي ========================================================= مثال بسيط أحادي البعد للانحدار محسوب بطريقتين مختلفتين: 1. حالة خالية من الضوضاء 2. حالة ضوضاء مع مستوى ضوضاء معروف لكل نقطة بيانات في كلتا الحالتين، يتم تقدير معلمات النواة باستخدام مبدأ الاحتمالية القصوى. توضح الأشكال خاصية الاستيفاء لنموذج العملية الغاوسية بالإضافة إلى طبيعتها الاحتمالية في شكل فاصل ثقة بنسبة 95٪ لكل نقطة. لاحظ أن `alpha` هي معلمة للتحكم في قوة تنظيم تيخونوف على مصفوفة التغاير المفترضة لنقاط التدريب. .. GENERATED FROM PYTHON SOURCE LINES 17-21 .. code-block:: Python # Authors: The scikit-learn developers # SPDX-License-Identifier: BSD-3-Clause .. GENERATED FROM PYTHON SOURCE LINES 22-26 توليد مجموعة البيانات ------------------ سنبدأ بتوليد مجموعة بيانات اصطناعية. يتم تعريف عملية التوليد الحقيقية على أنها :math:`f(x) = x \sin(x)`. .. GENERATED FROM PYTHON SOURCE LINES 26-31 .. code-block:: Python import numpy as np X = np.linspace(start=0, stop=10, num=1_000).reshape(-1, 1) y = np.squeeze(X * np.sin(X)) .. GENERATED FROM PYTHON SOURCE LINES 32-40 .. code-block:: Python import matplotlib.pyplot as plt plt.plot(X, y, label=r"$f(x) = x \sin(x)$", linestyle="dotted") plt.legend() plt.xlabel("$x$") plt.ylabel("$f(x)$") _ = plt.title("عملية التوليد الحقيقية") .. image-sg:: /auto_examples/gaussian_process/images/sphx_glr_plot_gpr_noisy_targets_001.png :alt: عملية التوليد الحقيقية :srcset: /auto_examples/gaussian_process/images/sphx_glr_plot_gpr_noisy_targets_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 41-47 سنستخدم مجموعة البيانات هذه في التجربة التالية لتوضيح كيفية عمل انحدار العمليات الغاوسية. مثال مع هدف خالٍ من الضوضاء ------------------------------ في هذا المثال الأول، سنستخدم عملية التوليد الحقيقية دون إضافة أي ضوضاء. لتدريب انحدار العمليات الغاوسية، سنختار عينات قليلة فقط. .. GENERATED FROM PYTHON SOURCE LINES 47-51 .. code-block:: Python rng = np.random.RandomState(1) training_indices = rng.choice(np.arange(y.size), size=6, replace=False) X_train, y_train = X[training_indices], y[training_indices] .. GENERATED FROM PYTHON SOURCE LINES 52-53 الآن، نقوم بملاءمة عملية غاوسية على عينات بيانات التدريب القليلة هذه. سنستخدم نواة دالة أساس شعاعية (RBF) ومعلمة ثابتة لملاءمة السعة. .. GENERATED FROM PYTHON SOURCE LINES 53-61 .. code-block:: Python from sklearn.gaussian_process import GaussianProcessRegressor from sklearn.gaussian_process.kernels import RBF kernel = 1 * RBF(length_scale=1.0, length_scale_bounds=(1e-2, 1e2)) gaussian_process = GaussianProcessRegressor(kernel=kernel, n_restarts_optimizer=9) gaussian_process.fit(X_train, y_train) gaussian_process.kernel_ .. rst-class:: sphx-glr-script-out .. code-block:: none 5.02**2 * RBF(length_scale=1.43) .. GENERATED FROM PYTHON SOURCE LINES 62-63 بعد ملاءمة نموذجنا، نرى أنه قد تم تحسين المعلمات الفائقة للنواة. الآن، سنستخدم نواتنا لحساب متوسط التنبؤ لمجموعة البيانات الكاملة ورسم فاصل الثقة بنسبة 95٪. .. GENERATED FROM PYTHON SOURCE LINES 63-80 .. code-block:: Python mean_prediction, std_prediction = gaussian_process.predict(X, return_std=True) plt.plot(X, y, label=r"$f(x) = x \sin(x)$", linestyle="dotted") plt.scatter(X_train, y_train, label="الملاحظات") plt.plot(X, mean_prediction, label="متوسط التنبؤ") plt.fill_between( X.ravel(), mean_prediction - 1.96 * std_prediction, mean_prediction + 1.96 * std_prediction, alpha=0.5, label=r"فاصل ثقة 95%", ) plt.legend() plt.xlabel("$x$") plt.ylabel("$f(x)$") _ = plt.title("انحدار العمليات الغاوسية على مجموعة بيانات خالية من الضوضاء") .. image-sg:: /auto_examples/gaussian_process/images/sphx_glr_plot_gpr_noisy_targets_002.png :alt: انحدار العمليات الغاوسية على مجموعة بيانات خالية من الضوضاء :srcset: /auto_examples/gaussian_process/images/sphx_glr_plot_gpr_noisy_targets_002.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 81-89 نرى أنه بالنسبة للتنبؤ الذي تم إجراؤه على نقطة بيانات قريبة من نقطة بيانات من مجموعة التدريب، فإن فاصل الثقة بنسبة 95٪ له سعة صغيرة. كلما كانت العينة بعيدة عن بيانات التدريب، فإن تنبؤ نموذجنا يكون أقل دقة ويكون التنبؤ بالنموذج أقل دقة (عدم يقين أعلى). مثال مع أهداف ضوضاء -------------------------- يمكننا تكرار تجربة مماثلة مع إضافة ضوضاء إضافية للهدف هذه المرة. سيسمح ذلك برؤية تأثير الضوضاء على النموذج الملائم. نضيف بعض الضوضاء الغاوسية العشوائية للهدف مع انحراف معياري تعسفي. .. GENERATED FROM PYTHON SOURCE LINES 89-92 .. code-block:: Python noise_std = 0.75 y_train_noisy = y_train + rng.normal(loc=0.0, scale=noise_std, size=y_train.shape) .. GENERATED FROM PYTHON SOURCE LINES 93-94 ننشئ نموذج عملية غاوسية مماثل. بالإضافة إلى النواة، هذه المرة، نحدد المعلمة `alpha` التي يمكن تفسيرها على أنها تباين ضوضاء غاوسي. .. GENERATED FROM PYTHON SOURCE LINES 94-100 .. code-block:: Python gaussian_process = GaussianProcessRegressor( kernel=kernel, alpha=noise_std**2, n_restarts_optimizer=9 ) gaussian_process.fit(X_train, y_train_noisy) mean_prediction, std_prediction = gaussian_process.predict(X, return_std=True) .. GENERATED FROM PYTHON SOURCE LINES 101-102 دعونا نرسم متوسط التنبؤ ومنطقة عدم اليقين كما كان من قبل. .. GENERATED FROM PYTHON SOURCE LINES 102-127 .. code-block:: Python plt.plot(X, y, label=r"$f(x) = x \sin(x)$", linestyle="dotted") plt.errorbar( X_train, y_train_noisy, noise_std, linestyle="None", color="tab:blue", marker=".", markersize=10, label="الملاحظات", ) plt.plot(X, mean_prediction, label="متوسط التنبؤ") plt.fill_between( X.ravel(), mean_prediction - 1.96 * std_prediction, mean_prediction + 1.96 * std_prediction, color="tab:orange", alpha=0.5, label=r"فاصل ثقة 95%", ) plt.legend() plt.xlabel("$x$") plt.ylabel("$f(x)$") _ = plt.title("انحدار العمليات الغاوسية على مجموعة بيانات ضوضاء") .. image-sg:: /auto_examples/gaussian_process/images/sphx_glr_plot_gpr_noisy_targets_003.png :alt: انحدار العمليات الغاوسية على مجموعة بيانات ضوضاء :srcset: /auto_examples/gaussian_process/images/sphx_glr_plot_gpr_noisy_targets_003.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 128-129 تؤثر الضوضاء على التنبؤات القريبة من عينات التدريب: يكون عدم اليقين التنبؤي بالقرب من عينات التدريب أكبر لأننا نصمم صراحة مستوى ضوضاء هدف معين بشكل مستقل عن متغير الإدخال. .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.558 seconds) .. _sphx_glr_download_auto_examples_gaussian_process_plot_gpr_noisy_targets.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/gaussian_process/plot_gpr_noisy_targets.ipynb :alt: Launch binder :width: 150 px .. container:: lite-badge .. image:: images/jupyterlite_badge_logo.svg :target: ../../lite/lab/index.html?path=auto_examples/gaussian_process/plot_gpr_noisy_targets.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_gpr_noisy_targets.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_gpr_noisy_targets.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_gpr_noisy_targets.zip ` .. include:: plot_gpr_noisy_targets.recommendations .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_