Trên trang này, W3Schools.com hợp tác với Học viện Khoa học Dữ liệu NYC, để cung cấp nội dung đào tạo kỹ thuật số cho sinh viên của chúng tôi. Show Hồi quy logisticHồi quy logistic nhằm mục đích giải quyết các vấn đề phân loại. Nó thực hiện điều này bằng cách dự đoán kết quả phân loại, không giống như hồi quy tuyến tính dự đoán kết quả liên tục. Trong trường hợp đơn giản nhất, có hai kết quả, được gọi là nhị thức, một ví dụ trong đó dự đoán nếu một khối u là ác tính hoặc lành tính. Các trường hợp khác có nhiều hơn hai kết quả để phân loại, trong trường hợp này, nó được gọi là đa hình. Một ví dụ phổ biến cho hồi quy logistic đa hình sẽ dự đoán lớp của một bông hoa mống mắt giữa 3 loài khác nhau. Ở đây chúng tôi sẽ sử dụng hồi quy logistic cơ bản để dự đoán một biến nhị thức. Điều này có nghĩa là nó chỉ có hai kết quả có thể. Làm thế nào nó hoạt động?Trong Python, chúng tôi có các mô -đun sẽ thực hiện công việc cho chúng tôi. Bắt đầu bằng cách nhập mô -đun Numpy.
Lưu trữ các biến độc lập trong X. Lưu trữ biến phụ thuộc trong y. Dưới đây là bộ dữ liệu mẫu:
Chúng tôi sẽ sử dụng một phương thức từ mô -đun Sklearn, vì vậy chúng tôi cũng sẽ phải nhập mô -đun đó:
Từ mô -đun sklearn, chúng tôi sẽ sử dụng phương thức logisticRegress () để tạo đối tượng hồi quy logistic. Đối tượng này có một phương thức gọi là
Bây giờ chúng ta có một đối tượng hồi quy logistic đã sẵn sàng cho dù khối u có ung thư dựa trên kích thước khối u:
Thí dụXem toàn bộ ví dụ trong hành động: Nhập Numpy từ Sklearn Nhập Linear_Model #Reshaped cho chức năng logistic. X = numpy.array ([3.78, 2.44, 2.09, 0.14, 1.72, 1.65, 4.92, 4.37, 4.96, 4.52, 3.69, 5,88]). , 0, 0, 0, 0, 1, 1, 1, 1, 1, 1]) logr = linear_model.logisticRegress () logr.fit (x, y) #Predict Nếu khối u là ung thư trong đó kích thước là 3,46mm: dự đoán = logro.predict (numpy.array ([3.46]). reshape (-1,1)) in (dự đoán) Kết quảChạy ví dụ » Chúng tôi đã dự đoán rằng một khối u có kích thước 3,46mm sẽ không bị ung thư. QUẢNG CÁO Hệ sốTrong hồi quy logistic, hệ số là sự thay đổi dự kiến trong các ODD log của việc có kết quả trên mỗi đơn vị thay đổi trong X. Điều này không có sự hiểu biết trực quan nhất vì vậy chúng ta hãy sử dụng nó để tạo ra một cái gì đó có ý nghĩa hơn, tỷ lệ cược. Thí dụXem toàn bộ ví dụ trong hành động: Nhập Numpy từ Sklearn Nhập Linear_Model #Reshaped cho chức năng logistic. X = numpy.array ([3.78, 2.44, 2.09, 0.14, 1.72, 1.65, 4.92, 4.37, 4.96, 4.52, 3.69, 5,88]). , 0, 0, 0, 0, 1, 1, 1, 1, 1, 1]) logr = linear_model.logisticRegress () logr.fit (x, y) #Predict Nếu khối u là ung thư trong đó kích thước là 3,46mm: dự đoán = logro.predict (numpy.array ([3.46]). reshape (-1,1)) in (dự đoán) Kết quả Kết quảChạy ví dụ » Chúng tôi đã dự đoán rằng một khối u có kích thước 3,46mm sẽ không bị ung thư. QUẢNG CÁOHệ số Trong hồi quy logistic, hệ số là sự thay đổi dự kiến trong các ODD log của việc có kết quả trên mỗi đơn vị thay đổi trong X.
Điều này không có sự hiểu biết trực quan nhất vì vậy chúng ta hãy sử dụng nó để tạo ra một cái gì đó có ý nghĩa hơn, tỷ lệ cược.log_odds = logr.coef_ actds = numpy.exp (log_odds)
in (tỷ lệ cược)
Điều này cho chúng ta biết rằng khi kích thước của một khối u tăng 1mm, tỷ lệ cược của nó là một khối u tăng 4 lần.
Xác suất Thí dụXem toàn bộ ví dụ trong hành động: Nhập Numpy từ Sklearn Nhập Linear_Model #Reshaped cho chức năng logistic. X = numpy.array ([3.78, 2.44, 2.09, 0.14, 1.72, 1.65, 4.92, 4.37, 4.96, 4.52, 3.69, 5,88]). , 0, 0, 0, 0, 1, 1, 1, 1, 1, 1]) logr = linear_model.logisticRegress () logr.fit (x, y) #Predict Nếu khối u là ung thư trong đó kích thước là 3,46mm: dự đoán = logro.predict (numpy.array ([3.46]). reshape (-1,1)) in (dự đoán) Kết quả Chạy ví dụ »[[0.60749955] [0.19268876] [0.12775886] [0.00955221] [0.08038616] [0.07345637] [0.88362743] [0.77901378] [0.88924409] [0.81293497] [0.57719129] [0.96664243]] Chạy ví dụ » Chúng tôi đã dự đoán rằng một khối u có kích thước 3,46mm sẽ không bị ung thư.QUẢNG CÁO Hệ số Trong hồi quy logistic, hệ số là sự thay đổi dự kiến trong các ODD log của việc có kết quả trên mỗi đơn vị thay đổi trong X. |