2014-04-15 41 views
6

Sự khác nhau giữa type="class"type="response" trong hàm predict là gì?Tham số kiểu của hàm predict()

Ví dụ giữa:

predict(modelName, newdata=testData, type = "class") 

predict(modelName, newdata=testData, type = "response") 
+4

Chức năng 'dự đoán' nào? 'dự đoán' là một hàm chung cho các dự đoán từ các kết quả của các hàm mô hình khác nhau. Hàm này gọi các phương thức cụ thể phụ thuộc vào lớp của đối số đầu tiên. – shadow

Trả lời

2

thấy ?predict.lm: predict.lm tạo ra một vector của các dự đoán hoặc một ma trận của các dự đoán vọt với tên cột fit, lwr, và upr nếu khoảng thời gian được đặt. Đối với type = "terms", đây là ma trận có cột trên mỗi cụm từ và có thể có thuộc tính "hằng số".

> d <- data.frame(x1=1:10,x2=rep(1:5,each=2),y=1:10+rnorm(10)+rep(1:5,each=2)) 
> l <- lm(y~x1+x2,d) 
> predict(l) 
     1   2   3   4   5   6   7   8   9  10 
2.254772 3.811761 4.959634 6.516623 7.664497 9.221486 10.369359 11.926348 13.074222 14.631211 

> predict(l,type="terms") 
      x1   x2 
1 -7.0064511 0.8182315 
2 -5.4494620 0.8182315 
3 -3.8924728 0.4091157 
4 -2.3354837 0.4091157 
5 -0.7784946 0.0000000 
6 0.7784946 0.0000000 
7 2.3354837 -0.4091157 
8 3.8924728 -0.4091157 
9 5.4494620 -0.8182315 
10 7.0064511 -0.8182315 
attr(,"constant") 
[1] 8.442991 

ví dụ predict(l) là số tiền hàng predict(l,type="terms") + hằng

+0

Bạn đang đề cập đến mô hình tuyến tính đúng không? (guess.lm) nhưng theo tôi biết, kiểu lớp và kiểu trả lời có liên quan đến các mô hình Phân loại. Bạn có giải thích về các giá trị tham số này không? – kuz

+0

Xem nhận xét của shadow - Tôi nghĩ rằng modelName có nhiều khả năng trở thành một đối tượng lm, nhưng nếu không bạn sẽ cần phải cho chúng tôi biết class (ModelName) đưa ra, hoặc xem helpfile cho predict_đôi.class(). – Miff

+0

Cảm ơn bạn đã trả lời, nhận câu trả lời trong? Predict.glm và? Predict định.rpart. Tôi hoàn toàn phớt lờ sự hào phóng đối xử với họ như những phương pháp quá tải. – kuz

0

type = "response" được sử dụng trong GLM mô hình và type = "class" được sử dụng trong rpart mô hình (Toán). Xem:

3

đáp ứng cung cấp cho bạn kết quả số trong khi lớp cung cấp cho bạn các nhãn được gán cho giá trị đó.

Phản hồi cho phép bạn xác định ngưỡng của mình. Ví dụ,

glm.fit = glm(Direction~., data=data, family = binomial, subset = train) 
glm.probs = predict(glm.fit, test, type = "response") 

Trong glm.probs chúng tôi có một số giá trị số giữa 0 và 1. Bây giờ chúng ta có thể xác định giá trị ngưỡng, giả sử 0.6. Hướng có hai kết quả có thể, lên hoặc xuống.

glm.pred = rep("Down",length(test)) 
glm.pred[glm.probs>.6] = "Up" 
Các vấn đề liên quan