2014-11-04 38 views
6

Tôi phải sử dụng WEKA trong mã java để dự đoán. Về cơ bản tôi phải nghiên cứu một mã đã cho và sử dụng lại nó.Chỉ số lớp trong WEKA là gì?

testdata.setClassIndex(data.numAttributes() - 1);

Tôi không thể hiểu ý nghĩa của dòng trên. Chỉ số Lớp là gì?

testdatadata là đối tượng Intances.

Trả lời

8

Như đã nêu here, setClassIndex được sử dụng để xác định thuộc tính sẽ đại diện cho lớp (cho mục đích dự đoán). Cho rằng chỉ mục bắt đầu ở số không, data.numAttributes() - 1 đại diện cho thuộc tính cuối cùng của tập hợp testdata.

Hy vọng trợ giúp này!

+0

Cảm ơn bạn đã trả lời. Mặc dù tôi vẫn chưa rõ về điều này. Giả sử tôi có thuộc tính A, B, C, D trong Tập dữ liệu đào tạo và trong tệp TestData của mình, tôi cần dự đoán thuộc tính D (với các giá trị A, B, C tương ứng cho tất cả các trường hợp trong DataSet thử nghiệm). Làm cách nào để chọn 'chỉ mục lớp'. Nó có thể là bất kỳ ai thuộc tính không? Nên một trong số họ được ưu tiên dựa trên một số tài sản? – GiriB

+0

Chỉ mục lớp cho biết thuộc tính đích được sử dụng để phân loại. Theo mặc định, trong tệp ARFF, nó là thuộc tính cuối cùng, giải thích tại sao nó được đặt thành numAttributes-1. –

3

Khi bạn sử dụng trình phân loại để phân loại tập hợp dữ liệu thành một số giá trị lớp, bạn cung cấp một cá thể có thuộc tính của dữ liệu và thuộc tính có giá trị lớp. Ví dụ: bạn nghĩ rằng bạn đã đặt e-mail làm dữ liệu, bạn phải phân loại chúng thành spam/không phải spam. Vì vậy, thuộc tính lớp của bạn có hai giá trị lớp (spam, không phải spam).

Thông thường, thuộc tính lớp thêm làm thuộc tính cuối cùng của cá thể (không phải là phải). Vì vậy, bạn phải chỉ ra classifier thuộc tính nào là thuộc tính class và thuộc tính nào khác. Vì vậy, dòng bạn đã đề cập thực hiện công việc này. Cho biết chỉ mục lớp của đối tượng đối tượng dữ liệu của bạn là gì.

Nếu bạn muốn giải thích thêm, vui lòng đăng mã của bạn tại đây. chúc mừng ..!

0

Chỉ mục lớp cho biết thuộc tính đích được sử dụng để phân loại. Theo mặc định, trong tệp ARFF, nó là thuộc tính cuối cùng, giải thích tại sao nó được đặt thành numAttributes-1.