Chuyển đổi dữ liệu

Chuyển đổi dữ liệu

Dọn dẹp dữ liệu là một phần quan trọng của hầu hết mọi dự án Machine Learning. Nó được cho là mang lại rủi ro lớn nhất nếu thực hiện không đúng cách và là việc chính trong bước chuyển đổi dữ liệu này.

  1. Từ mục Analyze, click Back to data flow.

Studio

  1. Chúng ta sẽ thêm một chuyển đổi tùy chỉnh có chứa một số lệnh Python Pandas thực hiện các việc sau.
  • Thay đổi dấu chấm. giá trị thành giá trị _
  • Thêm một biến chỉ báo để nắm bắt khi ngày có giá trị là 999.
  • Gom nhóm các đối tượng ngành nghề student, retiredunemployed thành nhóm not_working.
  • Thêm ID và ngày duy nhất cho feature store.
  • Click biểu tượng dấu +.
  • Click Add transform.

Studio

  1. Click Custom Transform, sau đó click chọn Python (Pandas).
  • Copy đoạn code dưới đây
import time
import pandas as pd

# Change the value . into _
df = df.replace(regex=r'\.', value='_')
df = df.replace(regex=r'\_$', value='')

# Add two new indicators
df["no_previous_contact"] = (df["pdays"] == 999).astype(int)
df["not_working"] = df["job"].isin(["student", "retired", "unemployed"]).astype(int)

# Add unique ID and event time for features store
df['FS_ID'] = df.index + 1000
current_time_sec = int(round(time.time()))
df['FS_time'] = pd.Series([current_time_sec]*len(df), dtype="float64")
  • Click Preview.
  • Click Add.

Studio

  1. Bước tiếp theo chúng ta sẽ xóa feature duration khỏi Dataset vì chúng cần được dự báo với độ chính xác cao để sử dụng làm dữ liệu đầu vào cho các dự đoán trong tương lai.
  • Click Manage Column.
  • Click chọn Drop column.
  • Click chọn cột duration.
  • Click Preview để xem trước dữ liệu.
  • Click Add để thêm bước biến đổi vào data flow.

Studio

  1. Chúng ta sẽ làm tương tự bước 4 để loại bỏ năm cột sau đây và thêm các bước chuyển đổi đó vào data flow.
  • emp.var.rate
  • cons.price.idx
  • cons.conf.idx
  • euribor3m
  • nr.employed
  1. Tiếp theo chúng ta sẽ thực hiện One hot encoding với các biến phân loại để chuyển đổi các biến phân loại thành tập hợp các chỉ số. Điều này sẽ mã hóa các tính năng phân loại dưới dạng one hot numeric array.

Chúng ta sẽ sử dụng tính năng Encode Categorical của Data Wrangler để thực hiện việc biến đổi One hot encoding.

  • Click chọn One hot encode.
  • Click chọn cột job.
  • Tại mục chọn phương thức xử lý cho các dữ liệu invalide, click chọn Keep
  • Click Preview.
  • Click Add để thêm biến đổi vào luồng dữ liệu.

Studio

  1. Chúng ta có thể sử dụng cùng một phương pháp cho phần còn lại của các cột phân loại hoặc chúng tôi có thể sử dụng Custom Transform để thực hiện One hot encoding cho tất cả các cột phân loại trong một bước bằng cách sử dụng Custom Transform với Python (Pandas) như hình dưới.
  • Click Custom Transformation.
  • Click chọn Python (Pandas).
  • Sử dụng đoạn mã dưới đây.
import pandas as pd
df=pd.get_dummies(df)
  • Click Preview để xem trước.
  • Click Add để thêm biến đổi vào luồng dữ liệu.

Studio

  1. Click Back to data flow.
  • Click vào biểu tượng </> để xem các bước biến đổi chúng ta đã thêm.

Studio

Bạn đã hoàn thành thêm các bước chuyển đổi dữ liệu vào dataflow. Bước tiếp theo chúng ta sẽ thực hiện export các feature vào SageMaker feature store.