Làm thế nào để thực hiện hồi quy logistic trong Python?



Hồi quy logistic trong Python sử dụng sklearn để dự đoán kết quả bằng cách xác định mối quan hệ giữa biến phụ thuộc và một hoặc nhiều biến độc lập.

Hồi quy logistic trong Python là một kỹ thuật phân tích dự đoán. Nó cũng được sử dụng trong Học máy cho các bài toán phân loại nhị phân. Trong blog này, chúng ta sẽ đi qua các chủ đề sau để hiểu về hồi quy logistic trong Python:

  1. Hồi quy là gì?
  2. Hồi quy logistic bằng Python
  3. Hồi quy logistic so với hồi quy tuyến tính
  4. Trường hợp sử dụng
  5. Trình diễn

Bạn cũng có thể tham khảo hướng dẫn chi tiết này về hồi quy logistic trong python với phần trình diễn để hiểu rõ hơn hoặc xem qua để làm chủ hồi quy logistic.





Hồi quy là gì?

phân tích là một kỹ thuật phân tích thống kê mạnh mẽ. A phụ thuộc biến quan tâm của chúng tôi được sử dụng để dự đoán giá trị của biến độc lập trong một tập dữ liệu.

Lúc nào chúng ta cũng bắt gặp hồi quy một cách trực quan. Giống như dự đoán thời tiết bằng cách sử dụng tập dữ liệu về điều kiện thời tiết trong quá khứ.



Nó sử dụng nhiều kỹ thuật để phân tích và dự đoán kết quả, nhưng chủ yếu tập trung vào mối quan hệ giữa biến phụ thuộc và một hoặc nhiều biến độc lập.

phân tích dự đoán kết quả trong một biến nhị phân chỉ có hai kết quả có thể xảy ra.



Hồi quy logistic trong Python

Đây là kỹ thuật phân tích tập dữ liệu có một biến phụ thuộc và một hoặc nhiều biến độc lập để dự đoán kết quả trong một biến nhị phân, nghĩa là nó sẽ chỉ có hai kết quả.

Biến phụ thuộc là phân loại trong thiên nhiên. Biến phụ thuộc còn được gọi là biến mục tiêu và các biến độc lập được gọi là người dự đoán .

Hồi quy logistic là một trường hợp đặc biệt của hồi quy tuyến tính mà chúng ta chỉ dự đoán kết quả trong một biến phân loại. Nó dự đoán xác suất của sự kiện bằng cách sử dụng hàm log.

Chúng tôi sử dụng Hàm / đường cong Sigmoid để dự đoán giá trị phân loại. Giá trị ngưỡng quyết định kết quả (thắng / thua).

Phương trình hồi quy tuyến tính: y = β0 + β1X1 + β2X2…. + βnXn

  • Y là viết tắt của biến phụ thuộc cần được dự đoán.
  • β0 là điểm giao nhau Y, về cơ bản là điểm trên đường thẳng tiếp xúc với trục y.
  • β1 là độ dốc của đường (độ dốc có thể âm hoặc dương tùy thuộc vào mối quan hệ giữa biến phụ thuộc và biến độc lập.)
  • X ở đây đại diện cho biến độc lập được sử dụng để dự đoán giá trị phụ thuộc kết quả của chúng ta.

Chức năng Sigmoid: p = 1/1 + e-Y

Áp dụng hàm sigmoid trên phương trình hồi quy tuyến tính.

hồi quy hậu cần trong python-edureka

Phương trình hồi quy logistic: p = 1/1 + e- (β0 + β1X1 + β2X2…. + βnXn)

Chúng ta hãy xem xét các loại hồi quy logistic.

Các loại hồi quy logistic

cách mở aws cli
    • Hồi quy logistic nhị phân - Nó chỉ có hai kết quả có thể xảy ra. Ví dụ- có hoặc không
    • Hồi quy logistic đa thức - Nó có ba hoặc nhiều danh mục danh nghĩa. Ví dụ: mèo, chó, voi.
    • Hồi quy logistic thứ tự - Nó có ba hoặc nhiều danh mục thứ tự, nghĩa là thứ tự các danh mục sẽ có thứ tự. Ví dụ- xếp hạng người dùng (1-5).

Hồi quy logistic tuyến tính Vs

Trong khi hồi quy tuyến tính có thể có giá trị vô hạn có thể có, hồi quy logistic có kết quả xác định .

Hồi quy tuyến tính được sử dụng khi biến phản hồi có bản chất liên tục, nhưng hồi quy logistic được sử dụng khi biến phản hồi có bản chất phân loại.

Dự đoán một người vỡ nợ trong ngân hàng bằng cách sử dụng các chi tiết giao dịch trong quá khứ là một ví dụ của hồi quy logistic, trong khi sản lượng liên tục như điểm thị trường chứng khoán là một ví dụ của hồi quy tuyến tính.

Trường hợp sử dụng

Sau đây là các trường hợp sử dụng mà chúng ta có thể sử dụng hồi quy logistic.

Dự báo thời tiết

Dự đoán thời tiết là kết quả của hồi quy logic. Ở đây, chúng tôi phân tích dữ liệu của các bản tin thời tiết trước đó và dự đoán kết quả có thể xảy ra cho một ngày cụ thể. Nhưng hồi quy logic sẽ chỉ dự đoán dữ liệu phân loại, như liệu nó có sắp mưa hay không.

Xác định bệnh tật

Chúng ta có thểsử dụnghồi quy logic với sự trợ giúp của bệnh sử của bệnh nhân để dự đoán xem bệnh tình là tích cực hay tiêu cực trong mọi trường hợp.

Cho phép lấy tập dữ liệu mẫu để xây dựng mô hình dự đoán bằng cách sử dụng hồi quy logistic.

Bản giới thiệu

Chúng tôi sẽ xây dựng một mô hình dự đoánsử dụnghồi quy logic trong Python với sự trợ giúpcủamột tập dữ liệu,trong nàychúng ta sẽ trình bày các bước sau để đạt được hồi quy logic.

Thu thập dữ liệu

Bước đầu tiên để thực hiện hồi quy logistic là thu thập dữ liệu. Chúng tôi sẽ tải tệp csv chứa tập dữ liệu vào chương trình bằng cách sử dụng gấu trúc. Chúng tôi đang sử dụng dữ liệu NBA để xây dựng mô hình dự đoán nhằm dự đoán khả năng xảy ra trận đấu trên sân nhà hoặc trận đấu trên sân khách, bằng cách phân tích mối quan hệ giữa các dữ liệu liên quan.

nhập gấu trúc dưới dạng pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt df = pd.read_csv (r'C: UsersMohammadWaseemDocumentsdata.csv ') print (df.head (5))

Bạn sẽ nhận được tất cả dữ liệu ở định dạng có thể đọc được để phân tích dễ dàng hơn. Và sau đó bạn có thể xác định các biến phụ thuộc và độc lập cho mô hình của mình.

Phân tích dữ liệu

Tập dữ liệu được phân tích để xác định mối quan hệ giữa các biến. Bằng cách tạo các ô khác nhau để kiểm tra mối quan hệ giữa các biến.

sns.countplot ('Trang chủ', hue = 'WINorLOSS', data = df) plt.show ()

Trên đây là tương quan giữa tỷ lệ thắng / thua đối với trận đấu sân nhà / sân khách. Svô tìnhchúng ta có thể vẽ biểu đồ mối quan hệ giữa các mục nhập có liên quan khác trong dữ liệu.

chuỗi trong java là bất biến

Dữ liệu Wrangling

Tập dữ liệu được sửa đổi theo biến mục tiêu. Chúng tôi sẽ loại bỏ tất cả các giá trị null và giá trị chuỗi cũng như khỏi DataFrame.

print (df.isnull (). sum ())

Chúng tôi sẽ kiểm tra tất cả các dữ liệu không liên quan như giá trị null và các giá trị không được yêu cầu trong khi xây dựng mô hình dự đoán. Nếu không có giá trị null nào trong tập dữ liệu NBA mà chúng tôi đang sử dụng, chúng tôi sẽ tiến hành tách dữ liệu.

Kiểm tra và đào tạo dữ liệu

Đối với hiệu suất của mô hình, dữ liệu được chia thành dữ liệu thử nghiệm và dữ liệu huấn luyện. Dữ liệu được phân chia bằng cách sử dụng train_test_split . Dữ liệu ở đây được chia theo tỷ lệ 70:30.

Bây giờ, cho dự đoán mô hình chức năng hồi quy logistic được thực hiện bằng cách nhập mô hình hồi quy logistic vào mô-đun sklearn.

Sau đó, mô hình được đặt vừa vặn trên bộ xe lửa bằng cách sử dụng chức năng phù hợp. Sau đó, dự đoán được thực hiện bằng chức năng dự đoán.

từ sklearn.model_selection nhập train_test_split từ sklearn.linear_model import LogisticRegression từ sklearn.metrics nhập phân loại_report từ sklearn.metrics nhập nhầm lẫn_matrix, precision_score x = df.drop ('Trang chủ', axis = 1) y = df ['Trang chủ'] x_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 0.33, random_state = 1) logmodel = LogisticRegression () logmodel.fit (x_train, y_train) dự đoán = logmodel.p Dự đoán (x_test) print (phân loại_report (y_test, dự đoán)) print (nhầm lẫn_matrix (y_test, dự đoán)) print (precision_score (y_test, dự đoán))

Báo cáo phân loại:

Báo cáo phân loại hiển thị Độ chính xác , Nhớ lại, F1 và Hỗ trợ điểm cho mô hình.

Độ chính xác điểm có nghĩa là mức độ chính xác của dự đoán do mô hình đưa ra. Độ chính xác cho một trò chơi trên sân nhà là 0,62 và đối với trò chơi sân khách là 0,58 .

Gợi lại là số tiền mà mô hình có thể dự đoán kết quả. Nhớ lại cho một trò chơi nhà là 0,57 và đối với một trò chơi sân khách là 0,64 . Điểm F1 và Hỗ trợ là lượng dữ liệu được kiểm tra cho các dự đoán. Trong tập dữ liệu NBA, dữ liệu được kiểm tra cho trò chơi trên sân nhà là 1662 và đối với trò chơi sân khách là 1586 .

Ma trận hỗn loạn:

Ma trận nhầm lẫn là một bảng mô tả hiệu suất của một mô hình dự đoán. Ma trận nhầm lẫn chứa các giá trị thực tế và giá trị dự đoán. chúng ta có thể sử dụng các giá trị này để tính điểm chính xác của mô hình.

Bản đồ nhiệt ma trận nhầm lẫn:

Hãy vẽ một bản đồ nhiệt của ma trận nhầm lẫn bằng cách sử dụng seaborn và để hình dung mô hình dự đoán mà chúng tôi đã xây dựng. Để vẽ một bản đồ nhiệt, cú pháp sau là cần thiết.

sns.heatmap (pd.DataFrame (nhầm lẫn_matrix (y_test, dự đoán))) plt.show ()

Bằng cách nhìn vào bản đồ nhiệt, chúng ta có thể kết luận như sau:

  • Trong số tất cả các dự đoán, trình phân loại đã dự đoán có trong tổng số 1730 lần, trong đó có 1012 lần thực sự là có.
  • trong số tất cả các dự đoán, bộ phân loại đã dự đoán không trong tổng số 1518 lần, trong đó 944 lần thực tế là không.

Với phân tích ma trận nhầm lẫn này, chúng tôi có thể kết luận điểm chính xác cho mô hình dự đoán của chúng tôi.

Điểm chính xác:

Điểm chính xác là tỷ lệ phần trăm độ chính xác của các dự đoán được thực hiện bởi mô hình. Đối với mô hình của chúng tôi, điểm chính xác là 0,60, khá chính xác. Nhưng mô hình dự đoán của bạn càng có điểm chính xác càng hiệu quả. Bạn phải luôn hướng tới điểm chính xác cao hơn để có mô hình dự đoán tốt hơn.

Bằng cách làm theo các bước đã thảo luận ở trên, chúng tôi đã dự đoán khả năng có một trận đấu trên sân nhà / sân khách bằng cách sử dụng tập dữ liệu NBA. Sau khi phân tích báo cáo phân loại, chúng ta có thể giả định khả năng xảy ra trận sân nhà / sân khách.

Trong blog này, chúng tôi đã thảo luận về hồi quy logistic trong khái niệm python, nó khác với phương pháp tiếp cận tuyến tính như thế nào. Ngoài ra, chúng tôi đã đề cập đến một cuộc trình diễn bằng cách sử dụng Tập dữ liệu NBA. Để có thêm thông tin chi tiết và thực hành, bạn có thể sử dụng tập dữ liệu mà mình chọn và làm theo các bước đã thảo luận để triển khai hồi quy logistic trong Python.

Ngoài ra, hãy xem các blog Khoa học dữ liệu khác nhau trên nền tảng edureka để làm chủ nhà khoa học dữ liệu trong bạn.

Nếu bạn muốn học Python và xây dựng sự nghiệp trong Khoa học dữ liệu, hãy xem trực tuyến, tương tác của chúng tôi ở đây, đi kèm với hỗ trợ 24 * 7 để hướng dẫn bạn trong suốt thời gian học tập của bạn.
Có một câu hỏi? Vui lòng đề cập đến nó trong phần bình luận và chúng tôi sẽ liên hệ lại với bạn.