Lựa chọn tính năng vs Tính năng trích xuất. Dùng khi nào?


14

Trích xuất tính năng và lựa chọn tính năng về cơ bản làm giảm tính chiều của dữ liệu, nhưng trích xuất tính năng cũng làm cho dữ liệu tách biệt hơn, nếu tôi đúng.

Kỹ thuật nào sẽ được ưu tiên hơn các kỹ thuật khác và khi nào?

Tôi đã suy nghĩ, vì lựa chọn tính năng không sửa đổi dữ liệu gốc và thuộc tính của nó, tôi cho rằng bạn sẽ sử dụng lựa chọn tính năng khi điều quan trọng là các tính năng bạn đang đào tạo không thay đổi. Nhưng tôi không thể tưởng tượng được tại sao bạn lại muốn thứ gì đó như thế này ..

Câu trả lời:


15

Thêm vào câu trả lời được đưa ra bởi Toros,

Ba viên đạn này (xem bên dưới) ba cái khá giống nhau nhưng có sự khác biệt tinh tế - :( ngắn gọn và dễ nhớ)

  • khai thác tính năng và kỹ thuật tính năng : chuyển đổi dữ liệu thô thành các tính năng phù hợp cho mô hình hóa;

  • chuyển đổi tính năng : chuyển đổi dữ liệu để cải thiện độ chính xác của thuật toán;

  • lựa chọn tính năng : loại bỏ các tính năng không cần thiết.

Chỉ cần thêm một ví dụ tương tự,

Khai thác tính năng và Kỹ thuật (chúng tôi có thể trích xuất một cái gì đó từ họ)

  • Các văn bản (ngrams, word2vec, tf-idf, v.v.)
  • Hình ảnh (CNN'S, văn bản, q & a)
  • Dữ liệu không gian địa lý (lat, long, v.v.)
  • Ngày và giờ (ngày, tháng, tuần, năm ..)
  • Chuỗi thời gian, web, v.v ...
  • Kỹ thuật giảm kích thước ..
  • ..... (Và nhiều người khác)

Các phép biến đổi tính năng (biến đổi chúng thành có ý nghĩa)

  • Chuẩn hóa và thay đổi phân phối (Thu nhỏ)
  • Tương tác
  • Điền vào các giá trị còn thiếu (điền trung bình, v.v.)
  • ..... (Và nhiều người khác)

Lựa chọn tính năng (xây dựng mô hình của bạn trên các tính năng được chọn này)

  • Phương pháp thống kê
  • Lựa chọn theo mô hình
  • Tìm kiếm lưới
  • Xác nhận chéo
  • ..... (Và nhiều người khác)

Hi vọng điêu nay co ich...

Hãy nhìn vào các liên kết được chia sẻ bởi những người khác. Họ khá đẹp ...


cách tốt đẹp để trả lời +1 cho điều đó.
Toros91

Kudos cho cộng đồng này .. Học hỏi nhiều từ nó ..
Aditya

1
Đúng là người đàn ông đó, tôi đã là thành viên từ tháng 10 năm 2017. Tôi đã học được rất nhiều điều. Hy vọng nó cũng giống như bạn. Tôi đã đọc câu trả lời của bạn, chúng rất tốt .BTW xin lỗi vì những gì bạn đã trải qua trên SO. Tôi không thể nhìn thấy toàn bộ nhưng vì Neil Slater nói tốt rằng bạn giữ bình tĩnh cho đến cuối cùng. Giữ nó lên! Chúng ta vẫn còn một chặng đường dài để đi. :)
Toros91

Thứ tự này nên được xử lý là gì? Ngoài việc làm sạch dữ liệu và phân chia dữ liệu. Mà trong số 5 là bước đầu tiên?
Technazi

Việc chia tách dữ liệu được thực hiện ở cuối cùng khi bạn đảm bảo rằng dữ liệu đã sẵn sàng để gửi cho Mô hình hóa ... Và imho không có thứ tự như vậy cho những điều được đề cập ở trên vì chúng trùng lặp khá nhiều lần (trích xuất tính năng, kỹ thuật tính năng, Chuyển đổi tính năng.) Nhưng Lựa chọn tính năng chắc chắn được thực hiện sau khi chia dữ liệu thành đào tạo khi xác thực với điều kiện là bạn đang sử dụng số liệu mô hình của mình hoặc một cái gì đó tương đương trên tập dữ liệu xác thực (để đo hiệu suất của nó) cho Xác thực chéo hoặc một cái gì đó tương đương, Bạn có thể bắt đầu lặp lại thả cột và xem imp colsorimp
Aditya

4

Như Aditya đã nói, có 3 thuật ngữ liên quan đến tính năng đôi khi bị nhầm lẫn với nhau. Tôi sẽ cố gắng và đưa ra lời giải thích tóm tắt cho từng người trong số họ:

  • Trích xuất tính năng: Tạo các tính năng từ dữ liệu ở định dạng khó phân tích trực tiếp / không thể so sánh trực tiếp (ví dụ: hình ảnh, chuỗi thời gian, v.v.) Trong ví dụ về chuỗi thời gian, một số tính năng đơn giản có thể dành cho ví dụ: độ dài của chuỗi thời gian, thời gian, giá trị trung bình, tiêu chuẩn, v.v.
  • Chuyển đổi tính năng: Chuyển đổi các tính năng hiện có để tạo các tính năng mới dựa trên các tính năng cũ. Một kỹ thuật được sử dụng rất phổ biến để giảm kích thước là Phân tích thành phần chính (pca) sử dụng một số phép biến đổi trực giao để tạo ra một tập hợp các biến không tương quan tuyến tính dựa trên tập biến ban đầu.
  • Lựa chọn tính năng: Lựa chọn các tính năng có "tầm quan trọng" / ảnh hưởng cao nhất đến biến mục tiêu, từ một tập hợp các tính năng hiện có. Điều này có thể được thực hiện với các kỹ thuật khác nhau: ví dụ Hồi quy tuyến tính, Cây quyết định, tính toán trọng số "mức độ quan trọng" (ví dụ: Điểm số Fisher, Cứu trợ)

Nếu điều duy nhất bạn muốn đạt được là giảm kích thước trong bộ dữ liệu hiện có, bạn có thể sử dụng phương pháp chuyển đổi tính năng hoặc lựa chọn tính năng. Nhưng nếu bạn cần biết diễn giải vật lý các tính năng mà bạn xác định là "quan trọng" hoặc bạn đang cố gắng giới hạn lượng dữ liệu cần thu thập để phân tích (bạn cần tất cả các tính năng ban đầu để chuyển đổi tính năng), sau đó chỉ có tính năng lựa chọn có thể làm việc.

Bạn có thể tìm thêm chi tiết về Lựa chọn tính năng và Giảm kích thước trong các liên kết sau:


3

Tôi nghĩ rằng chúng là 2 thứ khác nhau,

Hãy bắt đầu với tính năng Lựa chọn :

Kỹ thuật này được sử dụng để chọn các tính năng giải thích phần lớn biến mục tiêu (có tương quan với biến mục tiêu). Thử nghiệm này được thực hiện ngay trước khi mô hình được áp dụng trên dữ liệu.

Để giải thích rõ hơn, chúng ta hãy đi theo một ví dụ: có 10 tính năng và 1 biến mục tiêu, 9 tính năng giải thích 90% biến mục tiêu và 10 tính năng cùng nhau giải thích 91% biến mục tiêu. Vì vậy, biến 1 không tạo ra nhiều khác biệt nên bạn có xu hướng loại bỏ biến đó trước khi lập mô hình (Nó cũng mang tính chủ quan đối với doanh nghiệp). Tôi cũng có thể được gọi là Tầm quan trọng dự đoán.

Bây giờ hãy nói về Khai thác tính năng ,

Được sử dụng trong Học tập không giám sát, trích xuất các đường viền trong hình ảnh, trích xuất Bi-gram từ một văn bản, trích xuất các âm vị từ ghi âm văn bản nói. Khi bạn không biết gì về dữ liệu như không có từ điển dữ liệu, có quá nhiều tính năng có nghĩa là dữ liệu không ở định dạng dễ hiểu. Sau đó, bạn thử áp dụng kỹ thuật này để có được một số tính năng giải thích hầu hết dữ liệu. Khai thác tính năng liên quan đến việc chuyển đổi các tính năng, thường không thể đảo ngược do một số thông tin bị mất trong quá trình giảm kích thước.

Bạn có thể áp dụng Trích xuất tính năng trên dữ liệu đã cho để trích xuất các tính năng và sau đó áp dụng Tính năng chọn đối với Biến mục tiêu để chọn tập hợp con có thể giúp tạo ra một mô hình tốt với kết quả tốt.

bạn có thể đi qua các Link-1 , Link-2 này để hiểu rõ hơn.

chúng ta có thể thực hiện chúng trong R, Python, SPSS.

cho tôi biết nếu cần làm rõ thêm.


3

Hai cái rất khác nhau: Lựa chọn tính năng thực sự làm giảm kích thước, nhưng trích xuất tính năng thêm kích thước được tính từ các tính năng khác.

Đối với dữ liệu bảng điều khiển hoặc chuỗi thời gian, người ta thường có biến datetime và người ta không muốn đào tạo biến phụ thuộc vào chính ngày vì những điều đó không xảy ra trong tương lai. Vì vậy, bạn nên loại bỏ datetime: loại bỏ tính năng.

Mặt khác, ngày trong tuần / ngày cuối tuần có thể rất phù hợp, vì vậy chúng ta cần tính toán trạng thái ngày trong tuần từ datetime: trích xuất tính năng.


0

Một phần quan trọng trong sự thành công của dự án Machine Learning sắp ra mắt với một bộ tính năng tốt để đào tạo. Quá trình này, được gọi là kỹ thuật tính năng, bao gồm:

• Lựa chọn tính năng: chọn các tính năng hữu ích nhất để đào tạo trong số các tính năng hiện có.
• Trích xuất tính năng: kết hợp các tính năng hiện có để tạo ra một tính năng hữu ích hơn (như chúng ta đã thấy trước đó, các thuật toán giảm kích thước có thể giúp ích).
• Tạo các tính năng mới bằng cách thu thập dữ liệu mới

Trích dẫn: "Thực hành học máy với SciKit-Learn, Keras & Tensorflow - Aurelien Geron"

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.