Các bước học máy


9

Lựa chọn nào trong các bước dưới đây là tùy chọn chính xác khi tạo mô hình dự đoán?

Lựa chọn 1:

Trước tiên, loại bỏ các yếu tố dự đoán xấu rõ ràng nhất và tiền xử lý còn lại nếu cần, sau đó huấn luyện các mô hình khác nhau với xác thực chéo, chọn một vài mô hình tốt nhất, xác định các dự đoán hàng đầu mà mỗi mô hình đã sử dụng, sau đó chỉ giữ lại các mô hình đó với các dự báo đó và đánh giá độ chính xác một lần nữa với xác nhận chéo, sau đó chọn cái tốt nhất và huấn luyện nó trên tập huấn luyện đầy đủ bằng cách sử dụng các bộ dự đoán chính của nó và sau đó sử dụng nó để dự đoán bộ kiểm tra.

Lựa chọn 2:

Trước tiên, loại bỏ các yếu tố dự đoán xấu rõ ràng nhất, sau đó xử lý trước phần còn lại nếu cần, sau đó sử dụng kỹ thuật chọn tính năng như chọn tính năng đệ quy (ví dụ: RFE với rf) với xác thực chéo để xác định số lượng dự đoán chính lý tưởng và những dự đoán này là, sau đó huấn luyện các loại mô hình khác nhau với xác nhận chéo và xem loại nào cho độ chính xác tốt nhất với các dự đoán hàng đầu được xác định trước đó. Sau đó huấn luyện một trong những mô hình tốt nhất một lần nữa với các dự đoán đó trên tập huấn luyện đầy đủ và sau đó sử dụng nó để dự đoán tập kiểm tra.


1
Bạn có ý nghĩa gì sau đó tiền xử lý phần còn lại nếu cần ? Là nó làm sạch dữ liệu?
Dawny33

1
Tôi có nghĩa là để tiền xử lý các tính năng còn lại mà bạn nghĩ là hữu ích. Ý tôi là tiền xử lý, thực hiện chia tỷ lệ hoặc biến đổi như nhật ký hoặc những thứ khác nếu cần thiết.
AK

Ahh, như tôi mong đợi :) Dù sao, tôi đã viết câu trả lời với quy trình làm việc mà tôi và nhóm của tôi thường làm theo!
Dawny33

Câu trả lời:


16

Tôi thấy cả hai lựa chọn của bạn hơi bị lỗi. Vì vậy, đây thường là (rất rộng) một quy trình mô hình dự đoán trông như thế nào:

  • Làm sạch dữ liệu : Mất nhiều thời gian nhất, nhưng mỗi giây ở đây đều đáng giá. Dữ liệu của bạn càng sạch sẽ qua bước này, tổng thời gian bạn sử dụng sẽ càng ít.
  • Chia tách tập dữ liệu : Tập dữ liệu sẽ được chia thành các tập huấn luyện và kiểm tra, sẽ được sử dụng cho mục đích mô hình hóa và dự đoán tương ứng. Ngoài ra, một phân chia bổ sung như một bộ xác thực chéo cũng sẽ cần phải được thực hiện.
  • Biến đổi và giảm: Liên quan đến các quá trình như biến đổi, trung bình và tỷ lệ trung bình, v.v.
  • Lựa chọn tính năng: Điều này có thể được thực hiện theo nhiều cách như lựa chọn ngưỡng, lựa chọn tập hợp con, v.v.
  • Thiết kế mô hình dự báo: Thiết kế mô hình dự đoán trên dữ liệu đào tạo tùy thuộc vào các tính năng bạn có trong tay.
  • Xác thực chéo:
  • Dự đoán cuối cùng, xác nhận

Tôi nghĩ rằng các bước của bạn phù hợp với tùy chọn của tôi 2. Hiểu biết của tôi là một phần của bước Chọn tính năng, chúng tôi có thể chạy chức năng loại bỏ tính năng đệ quy (RFE) bằng cách sử dụng các khu rừng ngẫu nhiên để xác thực chéo để xác định số lượng dự đoán tốt nhất và những gì dự đoán họ đang và sau đó sử dụng các dự đoán đó để huấn luyện một số thuật toán với xác nhận chéo và so sánh độ chính xác để có được mô hình tốt nhất sử dụng các dự đoán tốt nhất đó. Bạn nghĩ sao?
AK

@AndrewKostandy Vâng, thuật toán lựa chọn tập hợp con cho lựa chọn tính năng gần như hoạt động theo cùng một cách :)
Dawny33

Không có gì. Tôi hiện đang học cho một kỳ thi trong đó một trong những câu hỏi tiêu chuẩn của giáo sư là "suy nghĩ đầu tiên bạn làm sau khi lấy và làm sạch dữ liệu là gì?" :-)
Martin Thoma

@ Dawny33 Bạn có muốn thực hiện chuyển đổi, nhân rộng vv trước khi chia dữ liệu của bạn thành đào tạo và thử nghiệm không?
Minu

1
Bất kỳ lý do tại sao bạn thực hiện các biến đổi và thay đổi tỷ lệ chỉ với dữ liệu đào tạo? Làm thế nào bạn sẽ điều chỉnh dữ liệu thử nghiệm cho phù hợp? Chỉ tò mò thôi.
Minu

3

Nơi lựa chọn tính năng tìm thấy một vị trí trong đường ống của bạn phụ thuộc vào vấn đề. Nếu bạn biết rõ dữ liệu của mình, bạn có thể chọn các tính năng dựa trên kiến ​​thức này theo cách thủ công. Nếu bạn không - thử nghiệm với các mô hình sử dụng xác nhận chéo có thể là tốt nhất. Việc giảm số lượng các tính năng mà một linh mục với một số kỹ thuật bổ sung như chi2 hoặc PCA thực sự có thể làm giảm độ chính xác của mô hình.

Theo kinh nghiệm của tôi với phân loại văn bản với trình phân loại SGD, ví dụ, để lại tất cả hàng trăm nghìn từ được mã hóa dưới dạng các tính năng nhị phân mang lại kết quả tốt hơn so với việc giảm xuống vài nghìn hoặc hàng trăm. Thời gian đào tạo thực sự nhanh hơn với tất cả các tính năng vì việc lựa chọn tính năng khá chậm với bộ công cụ của tôi (sklearn) vì nó không ngẫu nhiên như SGD.

Multicollinearity là một cái gì đó để ý, nhưng tính dễ hiểu có thể quan trọng như nhau.

Sau đó mọi người báo cáo nhận được kết quả tốt nhất với các mô hình. Mỗi mô hình nắm bắt một phần không gian thông tin tốt hơn các mô hình khác. Điều đó cũng sẽ ngăn cản bạn chọn các tính năng trước khi lắp tất cả các kiểu máy bạn đưa vào bộ đồng phục của mình.

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.