2012-07-29 32 views
5

Tôi đang cố gắng kết hợp mô hình hồi quy tuyến tính nhưng một số tính năng của tôi không phải là số, ví dụ: "Màu ô tô" trong khi khác là ví dụ: "Kích thước động cơ". Trong các trường hợp không phải số, tôi không chắc chắn về cách thể hiện điều này khi thêm làm tính năng nhập. Cách duy nhất tôi có thể nghĩ là làm điều này sẽ đại diện cho mỗi màu với một giá trị khác, ví dụ: (red = 1, blue = 2, green = 3 ...) tuy nhiên điều này dường như không được chấp nhận vì điều này ngụ ý rằng màu xanh lá cây "tốt hơn" so với màu đỏ.hồi quy tuyến tính sử dụng các danh mục làm tính năng

Ai có thể giúp ... Tôi đang thực hiện điều này trong Java vì vậy tôi đánh giá cao một thuật toán được thể hiện bằng ngôn ngữ này hoặc là ngôn ngữ độc lập.

+0

Cho đến nay ... Tôi chỉ sử dụng tính năng không phân loại. – JLove

Trả lời

9

Một cách để thực hiện việc này là sử dụng mã hóa giả giả một kỹ thuật khác là mã hóa hiệu ứng.

Vui lòng tham khảo bài viết này để biết thêm chi tiết, tôi nghĩ tác giả đã giải thích tốt hơn những gì tôi có thể làm ở đây.

Coding Categorical Variables in Regression Models: Dummy and Effect Coding by Resmi Gupta

Tôi đoán giải pháp này sẽ rơi vào ngôn ngữ thể loại độc lập của bạn;)

Để mã hóa màu sắc xe (tôi giả sử xe màu sắc có thể chỉ mất 3 giá trị: đỏ, xanh dương, xanh lá cây)

Bạn có thể mã hóa nó như sau:

Color Dummy_Var_One Dummy_Var_Two 

Red  1    0 
Blue  0    1 
Green  0    0 

Trong bảng trên Green sẽ trở thành tài liệu tham khảo lev el. Trong trường hợp của bạn nếu màu của bạn mất n giá trị bạn sẽ cần phải bao gồm n-1 biến giả.

Thực hiện trong Java có thể được tìm thấy trong bộ lọc WekaNominalToBinary, mặc dù điều này sẽ tạo ra các biến số n cho các loại n.

+0

Phản hồi tuyệt vời ... chúc mừng – JLove

+0

Xin vui lòng tôi cần biết nếu tôi sử dụng các biến giả định ..IS_RED, IS_GREEN & IS_BLUE ... điều này có cho kết quả độc lập hơn hoặc không có sự khác biệt. –

Các vấn đề liên quan