Trộn dữ liệu liên tục và nhị phân với SVM tuyến tính?


15

Vì vậy, tôi đã chơi xung quanh với các SVM và tôi tự hỏi liệu đây có phải là một điều tốt để làm không:

Tôi có một bộ các tính năng liên tục (0 đến 1) và một bộ các tính năng phân loại mà tôi đã chuyển đổi thành các biến giả. Trong trường hợp cụ thể này, tôi mã hóa ngày của phép đo trong một biến giả:

Có 3 giai đoạn tôi có dữ liệu và tôi dành 3 số tính năng cho chúng:

20: 21: 22:

Vì vậy, tùy thuộc vào thời gian dữ liệu đến từ đâu, các tính năng khác nhau sẽ được gán 1; những người khác sẽ nhận được 0.

SVM sẽ hoạt động đúng với điều này hay đây là một điều xấu phải làm?

Tôi sử dụng SVMLight và một kernel tuyến tính.


Điều này hoạt động tốt.
Marc Claesen

Những gì bạn đã làm là đủ tốt. Tôi đã đưa ra một câu trả lời hơi chi tiết ở đây - quora.com/Machine-Learning/ từ
TenaliRaman

@TenaliRaman vui lòng không đăng liên kết đến các trang web yêu cầu một người đăng nhập trước khi có thể thực sự đọc bất cứ điều gì.
Marc Claesen

@MarcClaesen Tôi đã sao chép câu trả lời dưới đây.
TenaliRaman

Câu trả lời:


8

Các SVM sẽ xử lý cả biến nhị phân và biến liên tục miễn là bạn thực hiện một số tiền xử lý: tất cả các tính năng nên được thu nhỏ hoặc chuẩn hóa. Sau bước đó, từ quan điểm của các thuật toán, không có vấn đề gì nếu các tính năng là liên tục hoặc nhị phân: đối với các nhị phân, nó thấy các mẫu "ở xa" hoặc rất giống nhau; cho liên tục cũng có giữa các giá trị. Kernel không quan trọng đối với loại biến.


1
và những gì sẽ là kỹ thuật bình thường hóa tốt nhất?
Shlomi Schwartz

23

Sao chép câu trả lời của tôi từ http://www.quora.com/Machine-Learning/What-are-good-ways-to-handle-discittle-and-continupt-inputs-together RUB/Arun-Iyer-1

  • Rescale tính năng liên tục giới hạn: Tất cả các đầu vào liên tục được giới hạn, bán lại chúng thành thông qua x = 2 x - max - min[-1,1]x= =2x-tối đa-tối thiểutối đa-tối thiểu .
  • Chuẩn hóa tất cả các tính năng liên tục: Tất cả đầu vào liên tục nên được chuẩn hóa và bởi tôi này có nghĩa là, đối với mọi tính năng liên tục, tính trung bình của nó ( ) và độ lệch chuẩn ( σ ) và làm x = x -μσx= =x-μσ .
  • Binarize tính năng phân loại / rời rạc: Đối với tất cả các tính năng phân loại, đại diện cho chúng dưới dạng nhiều tính năng boolean. Ví dụ: thay vì có một tính năng được gọi là kết hôn_status, có 3 tính năng boolean - kết hôn_status_single, kết hôn_status_married, kết hôn_status_divorced và đặt một cách thích hợp các tính năng này thành 1 hoặc -1. Như bạn có thể thấy, với mỗi tính năng phân loại, bạn đang thêm tính năng nhị phân k trong đó k là số lượng giá trị mà tính năng phân loại lấy.

Rn

Rn


Vâng, bài viết này là khá thú vị liên quan đến các tính năng phân loại. Người ta không nói rằng mã hóa một nóng là sự lựa chọn tốt nhất cho các tính năng phân loại là những gì tôi đang thoát khỏi nó.
hiển thị

1
Đây là một câu trả lời tuyệt vời, tôi đọc liên kết trong bình luận @displayname và nó là một so sánh hữu ích. Từ bài báo, có vẻ như mã hóa nhị phân là tốt nhất, (không phải là mã nóng được mô tả trong câu trả lời này) và khá đơn giản) Từ liên kết "Nhị phân: đầu tiên các danh mục được mã hóa dưới dạng thứ tự, sau đó các số nguyên đó được chuyển đổi thành nhị phân mã, sau đó các chữ số từ chuỗi nhị phân đó được chia thành các cột riêng biệt. Điều này mã hóa dữ liệu theo ít kích thước hơn một lần, nhưng với một số biến dạng của khoảng cách. "
Shelbypereira

Bài viết được cung cấp bởi @displayname là một bài viết hay, nhưng không nên lấy theo mệnh giá. Điều đầu tiên cần nhớ là hầu hết tất cả các phương thức ML đều hoạt động với độ tương tự hoặc đo khoảng cách. Sự lựa chọn phương pháp mã hóa ảnh hưởng trực tiếp đến cách đo khoảng cách hoặc điểm tương đồng giữa hai điểm. Mã hóa 1 nóng nói rằng một đối tượng của một danh mục chỉ tương tự với chính nó hoặc tương đương, nó đặt tất cả các danh mục ở khoảng cách bằng nhau. Tuy nhiên, có những trường hợp mà một số loại nhất định gần hơn những loại khác. Trong trường hợp đó, một mã hóa khác nhau có thể giúp đỡ.
TenaliRaman
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.