Computer >> Máy Tính >  >> Lập trình >> Python

Python - Làm thế nào và ở đâu để áp dụng Tính năng mở rộng?

Đây là bước tiền xử lý Dữ liệu được áp dụng cho các biến hoặc tính năng độc lập của dữ liệu. Về cơ bản, nó giúp chuẩn hóa dữ liệu trong một phạm vi cụ thể.

Tại sao lại mở rộng quy mô?

Hầu hết các trường hợp, tập dữ liệu của bạn sẽ chứa các tính năng rất khác nhau về độ lớn, đơn vị và phạm vi. Nhưng vì hầu hết các thuật toán học máy sử dụng khoảng cách Euclidian giữa hai điểm dữ liệu trong tính toán của chúng, đây là một vấn đề.

Nếu để riêng, các thuật toán này chỉ tính đến độ lớn của các tính năng mà bỏ qua các đơn vị. Kết quả sẽ khác nhau rất nhiều giữa các đơn vị khác nhau, 5kg và 5000gms.

Các đối tượng địa lý có cường độ cao sẽ nặng hơn rất nhiều trong tính toán khoảng cách so với đối tượng địa lý có cường độ thấp.

Để áp dụng hiệu ứng này, chúng ta cần đưa tất cả các tính năng về cùng một mức độ lớn. Điều này có thể đạt được bằng cách mở rộng quy mô.

Làm cách nào để chia tỷ lệ các đối tượng?

  • Tiêu chuẩn hoá - Tiêu chuẩn hóa thay thế các giá trị bằng điểm Z của chúng.
  • $$ x ^ {\ prime} =\ frac {x \:- \:\ bar {x}} {\ sigma} $$ Điều này phân phối lại các đối tượng địa lý với giá trị trung bình μ =0 và độ lệch chuẩn σ =1. sklearn.preprocessing.scale giúp chúng tôi triển khai quá trình tiêu chuẩn hóa trong python.
  • Chuẩn hóa Trung bình -
  • $$ x ^ {\ prime} =\ frac {x \:- \:mean (x)} {\ max (x) \:- \:\ min (x)} $$

    Phân phối này sẽ có các giá trị từ -1 đến 1 với μ =0. Tiêu chuẩn hóa Chuẩn hóa trung bình có thể được sử dụng cho các thuật toán giả định dữ liệu không trọng tâm như Phân tích thành phần chính (PCA) .

  • Tỷ lệ Tối thiểu-Tối đa
  • $$ x ^ {\ prime} =\ frac {x \:- \:\ min (x)} {\ max (x) \:- \:\ min (x)} $$

    Việc chia tỷ lệ này mang lại giá trị từ 0 đến 1.

  • Vectơ đơn vị -
  • $$ x ^ {\ prime} =\ frac {x} {\ lVert \:x \:\ rVert} $$

    Việc chia tỷ lệ được thực hiện khi xem xét toàn bộ vectơ đối tượng có độ dài đơn vị. Tỷ lệ tối thiểu-tối đa Đơn vị vectơ kỹ thuật tạo ra các giá trị của khoảng [0,1]. Khi xử lý các tính năng có ranh giới cứng, điều này khá hữu ích. Ví dụ:khi xử lý dữ liệu hình ảnh, màu sắc có thể chỉ nằm trong khoảng từ 0 đến 255.

Khi nào mở rộng quy mô?

Quy tắc ngón tay cái cần tuân theo ở đây là bất kỳ thuật toán nào tính toán khoảng cách hoặc giả định tính chuẩn mực, chia tỷ lệ các tính năng của bạn.

Một số ví dụ về các thuật toán có vấn đề về tỷ lệ đối tượng -

  • k-láng giềng gần nhất với thước đo khoảng cách Euclid nhạy cảm với độ lớn và do đó nên được chia tỷ lệ để tất cả các đối tượng có trọng lượng như nhau.

  • Chia tỷ lệ là rất quan trọng, trong khi thực hiện Phân tích thành phần chính (PCA). PCA cố gắng lấy các đối tượng địa lý có phương sai tối đa và phương sai cao đối với các đối tượng địa lý có độ lớn cao. Điều này làm lệch PCA sang các tính năng có cường độ cao.

  • Chúng ta có thể tăng tốc độ giảm độ dốc bằng cách chia tỷ lệ. Điều này là do θ sẽ giảm nhanh trên phạm vi nhỏ và chậm trên phạm vi lớn, và do đó sẽ dao động không hiệu quả xuống mức tối ưu khi các biến rất không đồng đều.

  • Mô hình dựa trên cây không phải là mô hình dựa trên khoảng cách và có thể xử lý các phạm vi tính năng khác nhau. Do đó, không bắt buộc phải chia tỷ lệ trong khi lập mô hình cây.

  • Các thuật toán như Phân tích phân biệt tuyến tính (LDA), Naive Bayes được trang bị thiết kế để xử lý điều này và đưa ra trọng số cho các tính năng tương ứng. Việc thực hiện chia tỷ lệ các tính năng trong các thuật toán này có thể không có nhiều tác dụng.