Menu
CoddyTech
flag Ar iconالعربيةdown icon

العثور على القيم الشاذة

جزء من قسم التعلّم غير الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 34 من 51.

يبحث هذا الفصل عن الصفوف الشاذة. وبحلوله، ستحدّد الدقائق الغريبة لخادم:

ليلة من دقائق خادم ويب، عدد الطلبات في الثانية أفقيًا وزمن الاستجابة رأسيًا: سحابة متراصة صاعدة، وأربع دقائق منفردة محاطة بدوائر حمراء حيث يتفق كاشفان

الحالة الشاذة هي صف نادر يختلف عن بقية الصفوف: عطل، أو احتيال، أو خطأ مطبعي. تختلف كل حالة جديدة، لذا لا يمكن لأحد تصنيفها مسبقًا.

ابدأ بالدرجات المعيارية z. يحوّل StandardScaler كل عمود إلى درجات معيارية z، لذا فإن سطرًا واحدًا يحدّد الصفوف التي تحتوي على أي قيمة تتجاوز 3:

z = StandardScaler().fit_transform(X)
odd = (np.abs(z) > 3).sum(axis=1) > 0

إجهاد مستشعر جسر يزداد مع درجة الحرارة. قراءة واحدة أعلى بكثير من البقية ومحددة بدائرة حمراء، ومُعلّمة لأن درجة z للإجهاد تتجاوز 3. قراءة واحدة دون الاتجاه عند 27 درجة ومحددة بدائرة برتقالية: لم تُلتقط

لكن قد يكون الصف عاديًا في كل عمود على حدة، وشاذًا فقط في مزيجه. لا تكشفه درجات z للأعمدة.

challenge icon

التحدي

متوسط

سجّل أحد المتاجر الكبرى متوسطات يومٍ واحد لحالات التجميد البالغ عددها 80. أيّها يحتاج إلى فني؟ يقرأ البرنامج حدًّا فاصلًا.

  1. حوّل كل عمود من X إلى درجات z.
  2. لكل عمود، اطبع عدد المجمّدات التي يحدّدها: درجة z تبعد عن 0 أكثر من الحد الفاصل.
  3. اطبع كل مجمّد حدّده أيّ عمود، حسب ترتيبه في الجدول.

لمتجر آخر ومع 3:

temp_c: 1 flagged
power_kw: 2 flagged
door_openings: 0 flagged
defrost_min: 0 flagged
Freezers to check:
  F05
  F13
  F51

جرّب بنفسك

import numpy as np
import pandas as pd
from sklearn.preprocessing import StandardScaler

# صف واحد لكل وحدة تجميد: متوسطات يوم واحد
freezers = pd.read_csv("freezers.csv")
columns = ["temp_c", "power_kw", "door_openings", "defrost_min"]
X = freezers[columns]
cutoff = float(input())

# اكتب الكود الخاص بك أدناه
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس التعلّم غير الخاضع للإشراف

تدرّب بنفسك: مترجم Python عبر الإنترنت