Dự đoán với cả tính năng liên tục và phân loại


26

Một số kỹ thuật mô hình dự đoán được thiết kế nhiều hơn để xử lý các yếu tố dự đoán liên tục, trong khi các kỹ thuật khác tốt hơn để xử lý các biến phân loại hoặc rời rạc. Tất nhiên tồn tại các kỹ thuật để chuyển đổi loại này sang loại khác (sự rời rạc, biến giả, v.v.). Tuy nhiên, có bất kỳ kỹ thuật mô hình dự đoán nào được thiết kế để xử lý cả hai loại đầu vào cùng một lúc mà không đơn giản chuyển đổi loại tính năng không? Nếu vậy, các kỹ thuật mô hình hóa này có xu hướng hoạt động tốt hơn trên dữ liệu mà chúng phù hợp tự nhiên hơn không?

Điều gần nhất mà tôi biết là thường là các cây quyết định xử lý tốt dữ liệu rời rạc và chúng xử lý dữ liệu liên tục mà không yêu cầu sự phân tách trước . Tuy nhiên, đây không hoàn toàn là những gì tôi đang tìm kiếm vì hiệu quả của việc chia tách trên các tính năng liên tục chỉ là một hình thức phân tách động.

Để tham khảo, đây là một số câu hỏi liên quan, không trùng lặp:


1
Bạn có thể nói thêm về những gì bạn muốn làm? Chắc chắn, bạn có thể sử dụng nhiều hồi quy với cả hai biến số liên tục & phân loại để xây dựng một mô hình dự đoán. Điều này là khá cơ bản. Bạn có nghĩa là dự đoán nhiều biến trả lời thay vào đó (trong đó một số là cont & some cat, vd)?
gung - Phục hồi Monica

@gung Làm thế nào để bạn thực hiện nhiều hồi quy liên quan đến hiệp phương sai phân loại mà không chuyển đổi chuyển đổi các dự đoán phân loại thành số theo một số ý nghĩa?
Michael McGowan

1
'Số' không có nghĩa gì cả - chúng không thực sự là số . Về cách thức, bạn sử dụng một sơ đồ mã hóa; mã hóa tế bào tham chiếu (thường được gọi là 'mã hóa giả') là phổ biến nhất, nhưng có nhiều sơ đồ. Đây là một nguồn tốt để tìm hiểu về sự đa dạng của các chương trình có thể. Trong R, ví dụ, bạn thực sự không phải làm điều đó, tuy nhiên, nếu bạn bao gồm dữ liệu vectơ hoặc ký tự (ví dụ: tên), nó sẽ xử lý mọi thứ cho bạn.
gung - Phục hồi Monica

2
Tôi sợ rằng tôi vẫn không theo kịp động lực đằng sau câu hỏi (Tôi hơi chậm). Các biến phân loại không được "chuyển đổi" hoặc "chuyển đổi" thành các biến số; chúng được đại diện bởi 1, nhưng 1 không thực sự là số. Các dự báo định tính không có bất kỳ số nào trong hồi quy bội so với trong các cây quyết định (ví dụ: GIỎI), vd. Từ góc độ lý thuyết, không có gì ở đó; từ góc độ thực tế, nếu bạn đang cố lưu một vài dòng mã, ví dụ: phần mềm (R, vd) thường sẽ làm điều đó cho bạn.
gung - Phục hồi Monica

1
Đủ công bằng, bạn có thể giải thích những gì bạn nghĩ là có (từ góc độ lý thuyết)? Làm thế nào để mã hóa giả biến một biến phân loại thành một biến có ý nghĩa số? Làm thế nào mà những gì GIỎI cho phép biến giữ lại 'tính phân loại' của nó, nhưng mã hóa giả thì không? Tôi không thể biết được câu trả lời cho những câu hỏi này có thể là gì từ câu hỏi của bạn ở trên và tôi không thấy bài viết trước của bạn.
gung - Tái lập Monica

Câu trả lời:


6

Theo như tôi biết, và tôi đã nghiên cứu vấn đề này sâu sắc trong quá khứ, không có kỹ thuật mô hình dự đoán nào (bên cạnh cây, XgBoost, v.v.) được thiết kế để xử lý cả hai loại đầu vào cùng một lúc mà không cần chuyển đổi đơn giản loại tính năng.

Lưu ý rằng các thuật toán như Random Forest và XGBoost chấp nhận đầu vào của các tính năng hỗn hợp, nhưng chúng áp dụng một số logic để xử lý chúng trong quá trình phân chia một nút. Hãy chắc chắn rằng bạn hiểu logic "dưới mui xe" và rằng bạn ổn với bất cứ điều gì đang xảy ra trong hộp đen.

u1u2fid(u1,u2)fi=(discategorical(u1,u2)fifid(u1,u2)fi=disnumeric(u1,u2)fififiu1u2

Một số chức năng khoảng cách đã biết cho các tính năng phân loại:

  • Khoảng cách Levenshtien (hoặc bất kỳ hình thức "chỉnh sửa khoảng cách" nào)

  • Số liệu tiếp theo phổ biến dài nhất

  • Khoảng cách Gower
  • Và nhiều số liệu hơn ở đây

5

Tôi biết đã được một thời gian kể từ khi câu hỏi này được đăng, nhưng nếu bạn vẫn đang xem xét vấn đề này (hoặc những vấn đề tương tự), bạn có thể muốn xem xét sử dụng các mô hình phụ gia tổng quát (GAM). Tôi không phải là chuyên gia, nhưng những mô hình này cho phép bạn kết hợp các mô hình khác nhau để tạo ra một dự đoán duy nhất. Quá trình được sử dụng để tìm hệ số cho các mô hình mà bạn đưa vào giải quyết cho tất cả chúng cùng một lúc, vì vậy bạn có thể gửi một mô hình phụ gia tổng quát mô hình yêu thích của bạn cho các dự đoán phân loại và mô hình yêu thích của bạn cho các dự đoán liên tục và nhận một mô hình duy nhất giảm thiểu RSS hoặc bất cứ tiêu chí lỗi nào khác bạn muốn sử dụng.

Ngoài đỉnh đầu, gói phần mềm duy nhất mà tôi biết có triển khai GAM là ngôn ngữ R, nhưng tôi chắc chắn có những phần mềm khác.


SAS có thủ tục gọi là Proc Gam.
Alph

1
Hầu hết các gói thống kê chính (ví dụ: Stata) có thể có thể triển khai GAM. Tuy nhiên, nhiều hơn, GAM sẽ sử dụng mã giả để biểu diễn các biến phân loại làm công cụ dự đoán. Không rõ OP muốn gì khi tìm kiếm một mô hình sử dụng các dự đoán phân loại là phân loại nhưng không đại diện cho chúng bằng các mã giả, nhưng điều này không có khả năng là nó.
gung - Phục hồi Monica

Chào mừng đến với CV. Lưu ý rằng tên người dùng, nhận dạng và liên kết đến trang người dùng của bạn sẽ tự động được thêm vào mỗi bài đăng bạn thực hiện, do đó không cần phải đăng bài viết của bạn. Trong thực tế, chúng tôi thích bạn không.
gung - Phục hồi Monica

4

Trong khi sự rời rạc biến đổi dữ liệu liên tục thành dữ liệu rời rạc, khó có thể nói rằng các biến giả biến đổi dữ liệu phân loại thành dữ liệu liên tục. Thật vậy, vì các thuật toán có thể chạy trên máy tính, khó có thể có một thuật toán phân loại mà KHÔNG chuyển đổi dữ liệu phân loại thành các biến giả.

Theo nghĩa tương tự, một nhà phân loại cuối cùng biến đổi các yếu tố dự đoán của nó thành một biến rời rạc cho biết lớp thuộc về (ngay cả khi nó đưa ra một xác suất của lớp, cuối cùng bạn chọn một điểm cắt). Trên thực tế, nhiều phân loại như hồi quy logistic, rừng ngẫu nhiên, cây quyết định và SVM đều hoạt động tốt với cả hai loại dữ liệu.

Tôi nghi ngờ rằng thật khó để tìm thấy một thuật toán hoạt động với dữ liệu liên tục nhưng hoàn toàn không thể xử lý dữ liệu phân loại. Thông thường tôi có xu hướng tìm thấy nó làm cho nhiều sự khác biệt về loại dữ liệu bạn có ở bên trái mô hình của bạn.


2
Không, quan điểm của tôi là hồi quy logistic et al không "hoạt động" theo nghĩa tôi đang mô tả với cả hai loại dữ liệu. Họ yêu cầu bạn, ít nhất là trong một số ý nghĩa, coi tất cả các yếu tố dự đoán là số hoặc không ai trong số chúng là số. Tôi biết, chẳng hạn, người ta thường có thể nhận được kết quả tuyệt vời với hồi quy logistic bằng cách mã hóa một cái gì đó như "giới tính" là 1 cho "nam" và 0 cho "nữ". Tuy nhiên, tôi tự hỏi liệu loại quy trình này có thể tránh được với bất kỳ mô hình mô hình đã biết nào không.
Michael McGowan

1

Đây là một câu hỏi triết học sâu sắc thường được giải quyết từ kết thúc thống kê cũng như học máy. Một số người nói, phân loại tốt hơn cho các chỉ số phân loại rời rạc, để các gói có thể dễ dàng tiêu hóa các đầu vào mô hình. Những người khác nói, việc tạo thùng có thể gây mất thông tin, tuy nhiên các biến phân loại có thể / phải được chuyển đổi thành {1,0} biến chỉ báo để lại lớp cuối cùng cho phần dư của mô hình.

Cuốn sách - Ứng dụng hồi quy tuyến tính (Kutner et al.) đề cập đến logic của việc đưa ra các biến chỉ báo trong mô hình trong một vài chương đầu tiên. Có thể có văn bản tương tự khác quá.

Tôi cho rằng điều này có thể hơi quá xa vời: Nếu chúng ta tưởng tượng các biến phân loại như các khối trong thiết kế thử nghiệm, biến chỉ báo là một phần mở rộng tự nhiên để phân tích dữ liệu không dựa trên thử nghiệm. Đối với các thuật toán khai thác dữ liệu (họ cây quyết định), việc phân loại là không thể tránh khỏi (theo cách thủ công hoặc tự động tạo thùng) phải được đưa vào mô hình.

Do đó, có thể không có một mô hình chuyên biệt cho các biến số cũng như các biến phân loại theo cùng một cách (không có binning-numberical hoặc sử dụng các chỉ số-phân loại).

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.