.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/applications/plot_outlier_detection_wine.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_applications_plot_outlier_detection_wine.py: ================================================ الكشف عن القيم الشاذة في مجموعة بيانات حقيقية ================================================ يوضح هذا المثال الحاجة إلى تقدير متانة التغاير على مجموعة بيانات حقيقية. وهو مفيد لكل من الكشف عن القيم الشاذة وفهم أفضل لهيكل البيانات. لقد اخترنا مجموعتين من متغيرين من مجموعة بيانات النبيذ كمثال على نوع التحليل الذي يمكن إجراؤه باستخدام العديد من أدوات الكشف عن القيم الشاذة. ولأغراض التوضيح، نعمل مع أمثلة ثنائية الأبعاد، ولكن يجب أن ندرك أن الأمور ليست بهذه البساطة في الأبعاد العالية، كما سيتم الإشارة إليه. في كلا المثالين أدناه، النتيجة الرئيسية هي أن تقدير التغاير التجريبي، كتقدير غير متين، يتأثر بشدة بالهيكل غير المتجانس للملاحظات. على الرغم من أن تقدير التغاير المتين قادر على التركيز على الوضع الرئيسي لتوزيع البيانات، إلا أنه يلتزم بافتراض أن البيانات يجب أن تكون موزعة بشكل غاوسي، مما يؤدي إلى بعض التقديرات المتحيزة لهيكل البيانات، ولكنها دقيقة إلى حد ما. لا يفترض One-Class SVM أي شكل معلمي لتوزيع البيانات ويمكنه بالتالي نمذجة الشكل المعقد للبيانات بشكل أفضل. .. GENERATED FROM PYTHON SOURCE LINES 13-16 .. code-block:: Python # المؤلفون: مطوري scikit-learn # معرف رخصة SPDX: BSD-3-Clause .. GENERATED FROM PYTHON SOURCE LINES 17-25 المثال الأول ------------- يوضح المثال الأول كيف يمكن لمقدر التغاير الأدنى للمحدد أن يساعد في التركيز على مجموعة فرعية ذات صلة عند وجود نقاط شاذة. هنا، يتم تحريف تقدير التغاير التجريبي بواسطة نقاط خارج المجموعة الرئيسية. بالطبع، كان من الممكن لبعض أدوات الفحص أن تشير إلى وجود مجموعتين (آلات المتجهات الداعمة، نماذج المزيج الغاوسي، الكشف عن القيم الشاذة أحادية المتغير، ...). ولكن لو كان مثالاً عالي الأبعاد، لم يكن من الممكن تطبيق أي من هذه الأدوات بسهولة. .. GENERATED FROM PYTHON SOURCE LINES 25-37 .. code-block:: Python from sklearn.covariance import EllipticEnvelope from sklearn.inspection import DecisionBoundaryDisplay from sklearn.svm import OneClassSVM estimators = { "Empirical Covariance": EllipticEnvelope(support_fraction=1.0, contamination=0.25), "Robust Covariance (Minimum Covariance Determinant)": EllipticEnvelope( contamination=0.25 ), "OCSVM": OneClassSVM(nu=0.25, gamma=0.35), } .. GENERATED FROM PYTHON SOURCE LINES 38-81 .. code-block:: Python import matplotlib.lines as mlines import matplotlib.pyplot as plt from sklearn.datasets import load_wine X = load_wine()["data"][:, [1, 2]] # مجموعتان fig, ax = plt.subplots() colors = ["tab:blue", "tab:orange", "tab:red"] # تعلم حدود للكشف عن القيم الشاذة باستخدام عدة مصنفات legend_lines = [] for color, (name, estimator) in zip(colors, estimators.items()): estimator.fit(X) DecisionBoundaryDisplay.from_estimator( estimator, X, response_method="decision_function", plot_method="contour", levels=[0], colors=color, ax=ax, ) legend_lines.append(mlines.Line2D([], [], color=color, label=name)) ax.scatter(X[:, 0], X[:, 1], color="black") bbox_args = dict(boxstyle="round", fc="0.8") arrow_args = dict(arrowstyle="->") ax.annotate( "outlying points", xy=(4, 2), xycoords="data", textcoords="data", xytext=(3, 1.25), bbox=bbox_args, arrowprops=arrow_args, ) ax.legend(handles=legend_lines, loc="upper center") _ = ax.set( xlabel="ash", ylabel="malic_acid", title="Outlier detection on a real data set (wine recognition)", ) .. image-sg:: /auto_examples/applications/images/sphx_glr_plot_outlier_detection_wine_001.png :alt: Outlier detection on a real data set (wine recognition) :srcset: /auto_examples/applications/images/sphx_glr_plot_outlier_detection_wine_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 82-93 المثال الثاني -------------- يظهر المثال الثاني قدرة مقدر التغاير الأدنى للمحدد على التركيز على الوضع الرئيسي لتوزيع البيانات التوزيع: يبدو أن الموقع يتم تقديره بشكل جيد، على الرغم من أن التغاير يصعب تقديره بسبب التوزيع على شكل الموز. على أي حال، يمكننا التخلص من بعض الملاحظات الشاذة. يمكن لـ One-Class SVM التقاط هيكل البيانات الحقيقي، ولكن الصعوبة تكمن في ضبط معلمة نطاق نواة بحيث نحصل على حل وسط جيد بين شكل مصفوفة تشتت البيانات ومخاطر الإفراط في ملاءمة البيانات. .. GENERATED FROM PYTHON SOURCE LINES 93-121 .. code-block:: Python X = load_wine()["data"][:, [6, 9]] # على شكل "موز" fig, ax = plt.subplots() colors = ["tab:blue", "tab:orange", "tab:red"] # تعلم حدود للكشف عن القيم الشاذة باستخدام عدة مصنفات legend_lines = [] for color, (name, estimator) in zip(colors, estimators.items()): estimator.fit(X) DecisionBoundaryDisplay.from_estimator( estimator, X, response_method="decision_function", plot_method="contour", levels=[0], colors=color, ax=ax, ) legend_lines.append(mlines.Line2D([], [], color=color, label=name)) ax.scatter(X[:, 0], X[:, 1], color="black") ax.legend(handles=legend_lines, loc="upper center") ax.set( xlabel="flavanoids", ylabel="color_intensity", title="Outlier detection on a real data set (wine recognition)", ) plt.show() .. image-sg:: /auto_examples/applications/images/sphx_glr_plot_outlier_detection_wine_002.png :alt: Outlier detection on a real data set (wine recognition) :srcset: /auto_examples/applications/images/sphx_glr_plot_outlier_detection_wine_002.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.792 seconds) .. _sphx_glr_download_auto_examples_applications_plot_outlier_detection_wine.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/applications/plot_outlier_detection_wine.ipynb :alt: Launch binder :width: 150 px .. container:: lite-badge .. image:: images/jupyterlite_badge_logo.svg :target: ../../lite/lab/index.html?path=auto_examples/applications/plot_outlier_detection_wine.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_outlier_detection_wine.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_outlier_detection_wine.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_outlier_detection_wine.zip ` .. include:: plot_outlier_detection_wine.recommendations .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_