.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/linear_model/plot_ols.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_linear_model_plot_ols.py: ============================== مثال على المربعات الصغرى العادية ============================== يوضح هذا المثال كيفية استخدام نموذج المربعات الصغرى العادية (OLS) المسمى :class:`~sklearn.linear_model.LinearRegression` في مكتبة ساي كيت ليرن (scikit-learn). لهذا الغرض، نستخدم خاصية واحدة من مجموعة بيانات مرض السكري ونحاول التنبؤ بتطور مرض السكري باستخدام هذا النموذج الخطي. لذلك، نقوم بتحميل مجموعة بيانات مرض السكري وتقسيمها إلى مجموعات تدريب واختبار. بعد ذلك، نقوم بضبط النموذج على مجموعة التدريب وتقييم أدائه على مجموعة الاختبار وأخيراً تصور النتائج على مجموعة الاختبار. .. GENERATED FROM PYTHON SOURCE LINES 16-20 .. code-block:: Python # المؤلفون: مطوري ساي كيت ليرن (scikit-learn) # معرف الترخيص: BSD-3-Clause .. GENERATED FROM PYTHON SOURCE LINES 21-26 تحميل البيانات والإعداد ---------------------------- تحميل مجموعة بيانات مرض السكري. للتبسيط، سنحتفظ بخاصية واحدة فقط في البيانات. ثم نقوم بتقسيم البيانات والهدف إلى مجموعات تدريب واختبار. .. GENERATED FROM PYTHON SOURCE LINES 26-33 .. code-block:: Python from sklearn.datasets import load_diabetes from sklearn.model_selection import train_test_split X, y = load_diabetes(return_X_y=True) X = X[:, [2]] # استخدام خاصية واحدة فقط X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=20, shuffle=False) .. GENERATED FROM PYTHON SOURCE LINES 34-40 نموذج الانحدار الخطي ----------------------- نقوم بإنشاء نموذج انحدار خطي وضبطه على بيانات التدريب. لاحظ أنه بشكل افتراضي، يتم إضافة تقاطع إلى النموذج. يمكننا التحكم في هذا السلوك من خلال ضبط معامل `fit_intercept`. .. GENERATED FROM PYTHON SOURCE LINES 40-44 .. code-block:: Python from sklearn.linear_model import LinearRegression pred = LinearRegression().fit(X_train, y_train) .. GENERATED FROM PYTHON SOURCE LINES 45-50 تقييم النموذج ---------------- نقوم بتقييم أداء النموذج على مجموعة الاختبار باستخدام متوسط الخطأ التربيعي ومعامل التحديد. .. GENERATED FROM PYTHON SOURCE LINES 50-57 .. code-block:: Python from sklearn.metrics import mean_squared_error, r2_score y_pred = pred.predict(X_test) print(f"متوسط الخطأ التربيعي: {mean_squared_error(y_test, y_pred):.2f}") print(f"معامل التحديد: {r2_score(y_test, y_pred):.2f}") .. rst-class:: sphx-glr-script-out .. code-block:: none متوسط الخطأ التربيعي: 2548.07 معامل التحديد: 0.47 .. GENERATED FROM PYTHON SOURCE LINES 58-62 رسم النتائج -------------------- أخيراً، نقوم بتصور النتائج على بيانات التدريب والاختبار. .. GENERATED FROM PYTHON SOURCE LINES 62-86 .. code-block:: Python import matplotlib.pyplot as plt fig, ax = plt.subplots(ncols=2, figsize=(10, 5), sharex=True, sharey=True) ax[0].scatter(X_train, y_train, label="نقاط بيانات التدريب") ax[0].plot( X_train, pred.predict(X_train), linewidth=3, color="tab:orange", label="تنبؤات النموذج", ) ax[0].set(xlabel="الخاصية", ylabel="الهدف", title="مجموعة التدريب") ax[0].legend() ax[1].scatter(X_test, y_test, label="نقاط بيانات الاختبار") ax[1].plot(X_test, y_pred, linewidth=3, color="tab:orange", label="تنبؤات النموذج") ax[1].set(xlabel="الخاصية", ylabel="الهدف", title="مجموعة الاختبار") ax[1].legend() fig.suptitle("الانحدار الخطي") plt.show() .. image-sg:: /auto_examples/linear_model/images/sphx_glr_plot_ols_001.png :alt: الانحدار الخطي, مجموعة التدريب, مجموعة الاختبار :srcset: /auto_examples/linear_model/images/sphx_glr_plot_ols_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 87-97 الخلاصة ---------- النموذج المدرب يتوافق مع المقدر الذي يقلل من متوسط الخطأ التربيعي بين القيم المتنبأ بها والقيم الحقيقية للهدف في بيانات التدريب. لذلك، نحصل على مقدر للمتوسط الشرطي للهدف معطى البيانات. لاحظ أنه في الأبعاد الأعلى، قد يؤدي تقليل الخطأ التربيعي فقط إلى الإفراط في الملاءمة. لذلك، يتم استخدام تقنيات التنظيم بشكل شائع لمنع هذه المشكلة، مثل تلك المنفذة في :class:`~sklearn.linear_model.Ridge` أو :class:`~sklearn.linear_model.Lasso`. .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.208 seconds) .. _sphx_glr_download_auto_examples_linear_model_plot_ols.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/linear_model/plot_ols.ipynb :alt: Launch binder :width: 150 px .. container:: lite-badge .. image:: images/jupyterlite_badge_logo.svg :target: ../../lite/lab/index.html?path=auto_examples/linear_model/plot_ols.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_ols.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_ols.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_ols.zip ` .. include:: plot_ols.recommendations .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_