Feature engineering

Phát triển mô hình Machine Learning cho môi trường sản xuất

Sinan Ozdemir

Data Scientist and Author

Giới thiệu về feature engineering

  • Biến đổi dữ liệu huấn luyện để tối đa hóa hiệu suất pipeline ML
  • Giảm độ phức tạp tính toán
  • Ví dụ
    • Tổng hợp dữ liệu từ nhiều nguồn
    • Xây dựng đặc trưng mới
    • Áp dụng biến đổi đặc trưng

quy trình feature engineering

1 https://www.manning.com/books/feature-engineering-bookcamp
Phát triển mô hình Machine Learning cho môi trường sản xuất

Tổng hợp dữ liệu từ nhiều nguồn

  • Kết hợp dữ liệu từ các bộ dữ liệu khác nhau
  • Dùng nhiều loại dữ liệu (ví dụ: số và phân loại)

Điều này giúp:

  • Cải thiện độ chính xác của mô hình
  • Cho phép dùng mô hình phức tạp hơn

biểu đồ trên màn hình

Phát triển mô hình Machine Learning cho môi trường sản xuất

Ví dụ về tổng hợp dữ liệu

class DataAggregator:
    def __init__(self):
        pass

    def fit(self, X, y=None):
        return self  # nothing to fit

    def transform(self, X, y=None):
        # Load data from multiple sources
        data1 = pd.read_csv('data1.csv')
        data2 = pd.read_csv('data2.csv')
        data3 = pd.read_csv('data3.csv')

        # Combine data from all sources (including X) into a single data frame
        aggregated_data = pd.concat([X, data1, data2, data3], axis=0)

        return aggregated_data  # Return aggregated data
Phát triển mô hình Machine Learning cho môi trường sản xuất

Xây dựng đặc trưng

  • Tạo đặc trưng mới từ đặc trưng hiện có
  • Sinh đặc trưng mới từ dữ liệu sẵn có
  • Cải thiện hiệu suất mô hình
  • Tăng khả năng diễn giải mô hình
Phát triển mô hình Machine Learning cho môi trường sản xuất

Ví dụ về xây dựng đặc trưng

class FeatureConstructor:
    def __init__(self):
        pass

    def fit(self, X, y=None):
        return self

    def transform(self, X, y=None):
        # Calculate the mean of each column in the data
        mean_values = X.mean()

        # Create new features based on the mean values
        X['mean_col1'] = X['col1'] - mean_values['col1']
        X['mean_col2'] = X['col2'] - mean_values['col2']

        return X  # Return the augmented data set
Phát triển mô hình Machine Learning cho môi trường sản xuất

Biến đổi đặc trưng

Biến đổi đặc trưng hiện có ngay tại chỗ

  • Chuẩn hóa phân phối dữ liệu
  • Loại bỏ ngoại lệ
  • Cải thiện độ chính xác và hiệu suất mô hình
```py
```py

Phát triển mô hình Machine Learning cho môi trường sản xuất

Chọn đặc trưng

Chọn một tập con đặc trưng từ tập đặc trưng lớn hơn bằng cách loại bỏ đặc trưng dư thừa và không liên quan

  • Giảm overfitting
  • Nâng cao độ chính xác và hiệu suất mô hình
  • Cải thiện khả năng diễn giải mô hình

chọn đặc trưng

1 https://www.manning.com/books/feature-engineering-bookcamp
Phát triển mô hình Machine Learning cho môi trường sản xuất

Ví dụ về feature engineering (tiếp)

```py
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.feature_selection import SelectKBest, chi2

from sklearn.pipeline import Pipeline

pipeline = Pipeline([  # Define feature engineering pipeline

    ('aggregate', DataAggregator()),  # Aggregate data from multiple sources
    ('construction', FeatureConstructor()),  # Feature Construction

    ('scaler', StandardScaler()),  # Feature Transformation

    ('select', SelectKBest(chi2, k=10)),  # Feature Selection
])
X_transformed = pipeline.fit_transform(X)  # Fit and transform data using pipeline
Phát triển mô hình Machine Learning cho môi trường sản xuất

Tìm hiểu thêm về feature engineering

sách về FE

Phát triển mô hình Machine Learning cho môi trường sản xuất

Cùng luyện tập nào!

Phát triển mô hình Machine Learning cho môi trường sản xuất

Preparing Video For Download...