การเตรียมข้อมูลสำหรับ NannyML

การติดตามตรวจสอบ Machine Learning ด้วย Python

Hakim Elakhrass

Co-founder and CEO of NannyML

โหลดข้อมูล

dataset_name = "green_taxi_dataset.csv"
data = pd.read_csv(dataset_name)
data.head()

ภาพหน้าจอแสดงห้าแถวแรกของชุดข้อมูล

การติดตามตรวจสอบ Machine Learning ด้วย Python

ประมวลผลข้อมูล

# Create data partition
data['partition'] = pd.cut(
    data['lpep_pickup_datetime'],
    bins= [pd.to_datetime('2016-12-01'),
           pd.to_datetime('2016-12-08'),
           pd.to_datetime('2016-12-16'),
           pd.to_datetime('2017-01-01')],
    right=False,
    labels= ['train', 'test', 'prod']
)
การติดตามตรวจสอบ Machine Learning ด้วย Python

แบ่งข้อมูล

# Target column name
target = 'tip_amount'
# Features column name
features = ["PULocationID", "DOLocationID", "trip_distance", "VendorID", "pickup_time"]
# Train set
X_train = data.loc[data['partition'] == 'train', features]
y_train = data.loc[data['partition'] == 'train', target]

# Test set (later reference set)
X_test = data.loc[data['partition'] == 'test', features]
y_test = data.loc[data['partition'] == 'test', target]

# Production set (later analysis set)
X_prod = data.loc[data['partition'] == 'prod', features]
y_prod = data.loc[data['partition'] == 'prod', target]
การติดตามตรวจสอบ Machine Learning ด้วย Python

สร้างโมเดล

  • เทรน LGBMRegressor โดยใช้ไลบรารี lightgbm
  • ประเมินโมเดลบนชุดทดสอบ
  • ปรับใช้โมเดล
# Training the model
model = LGBMRegressor(random_state=42)
model.fit(X_train, y_train)

# Making predictions
y_pred_train = model.predict(X_train)
y_pred_test = model.predict(X_test)

# Evaluating the model on train and test set
mae_train = MAE(y_train, y_pred_train)
mae_test = MAE(y_test, y_pred_test)

# Deploying the model to production
y_pred_prod = model.predict(X_prod)
การติดตามตรวจสอบ Machine Learning ด้วย Python

สร้างชุด Reference และ Analysis

ช่วง Reference

  • ใช้ชุดทดสอบ

  • ต้องมี ground truth

  • กำหนดประสิทธิภาพพื้นฐาน

ช่วง Analysis

  • ข้อมูล production ล่าสุด

  • ground truth เป็นตัวเลือก

  • NannyML วิเคราะห์ data drift และประสิทธิภาพ

# Creating reference set
reference = X_test.copy() # Test set features
reference['y_pred'] = y_pred_test # Predictions
reference['tip_amount'] = y_test # Labels
reference = reference.join(
    data['lpep_pickup_datetime']) # Timestamp
# Creating analysis set
analysis = X_prod.copy() # Production features
analysis['y_pred'] = y_pred_prod # Predictions
analysis = analysis.join(
    data['lpep_pickup_datetime']) # Timestamp
การติดตามตรวจสอบ Machine Learning ด้วย Python

ตัวอย่างชุด Reference

  • Timestamp - เวลาที่เกิด observation (ไม่บังคับ)
  • Features - ฟีเจอร์ที่ป้อนให้โมเดล
  • ผลลัพธ์ของโมเดล
    • Predictions - คะแนนการพยากรณ์จากโมเดล
    • Prediction class labels - คะแนนความน่าจะเป็นที่ผ่านการ threshold
  • Target - ค่า ground truth

ภาพแสดงห้าแถวแรกของชุด reference

การติดตามตรวจสอบ Machine Learning ด้วย Python

มาฝึกกันเถอะ!

การติดตามตรวจสอบ Machine Learning ด้วย Python

Preparing Video For Download...