"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية سلاسة المنحنيات بشكل فعال عند التعامل مع مجموعات البيانات المزعجة؟

كيفية سلاسة المنحنيات بشكل فعال عند التعامل مع مجموعات البيانات المزعجة؟

تم النشر بتاريخ 2024-11-01
تصفح:101

How to Effectively Smooth Curves when Dealing with Noisy Datasets?

تجانس المنحنيات مع ضجيج مجموعة البيانات: دليل عملي

يعد تجانس المنحنيات لمجموعات البيانات الصاخبة تحديًا شائعًا في تحليل البيانات. لمعالجة هذه المشكلة، فكر في مجموعة بيانات بها تباين بنسبة 20% بسبب الضوضاء:

import numpy as np
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)   np.random.random(100) * 0.2

في هذه الحالة، يعد مرشح Savitzky-Golay خيارًا فعالاً. يعمل هذا المرشح عن طريق تركيب كثير الحدود في نافذة نقاط البيانات واستخدام كثير الحدود لتقدير القيمة في وسط النافذة. يتم بعد ذلك تحريك النافذة على طول البيانات، وتتكرر العملية، مما يؤدي إلى الحصول على منحنى سلس.

إليك كيفية تنفيذ مرشح Savitzky-Golay في بايثون:

  1. استيراد ما يلزم المكتبات:
import numpy as np
import matplotlib.pyplot as plt
  1. قم بتشغيل مرشح Savitzky-Golay على البيانات:
yhat = savgol_filter(y, 51, 3) # window size 51, polynomial order 3
  1. تصور البيانات الأصلية والمنحنى السلس:
plt.plot(x, y)
plt.plot(x, yhat, color='red')
plt.show()

سيكون المنحنى الناتج أكثر سلاسة من المنحنى الأصلي مع الحفاظ على الإشارة الأساسية.

ملاحظة: إذا لم يكن لديك وظيفة savgol_filter متاح، يمكنك تثبيته باستخدام الأمر التالي:

pip install scipy
بيان الافراج أعيد طبع هذه المقالة على: 1729410977 في حالة وجود أي انتهاك، يرجى التواصل مع [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3