Python hồi quy logistic youtube

Phương trình hồi quy Logistic có thể được lấy từ phương trình hồi quy tuyến tính. Các bước toán học để có được phương trình hồi quy logistic được đưa ra dưới đây

  • Chúng ta biết phương trình của đường thẳng có thể được viết là
  • Trong hồi quy logistic, y chỉ có thể nằm trong khoảng từ 0 đến 1, vì vậy, hãy chia phương trình trên cho [1-y]
  • Nhưng chúng ta cần phạm vi từ -[infinity] đến +[infinity], sau đó lấy logarit của phương trình, nó sẽ trở thành

Phương trình trên là phương trình cuối cùng của hồi quy logistic

Loại hồi quy logistic

Trên cơ sở các loại, Hồi quy logistic có thể được phân thành ba loại

  • nhị thức. Trong hồi quy Logistic nhị thức, chỉ có thể có hai loại biến phụ thuộc, chẳng hạn như 0 hoặc 1, Đạt hoặc Không đạt, v.v.
  • đa thức. Trong hồi quy Logistic đa thức, có thể có 3 hoặc nhiều loại biến phụ thuộc không có thứ tự, chẳng hạn như "mèo", "chó" hoặc "cừu"
  • thông thường. Trong hồi quy Logistic thứ tự, có thể có 3 hoặc nhiều loại biến phụ thuộc được sắp xếp theo thứ tự, chẳng hạn như "thấp", "Trung bình" hoặc "Cao"

Python Triển khai hồi quy logistic [Nhị thức]

Để hiểu việc triển khai Hồi quy logistic trong Python, chúng tôi sẽ sử dụng ví dụ dưới đây

Ví dụ. Có một bộ dữ liệu được cung cấp chứa thông tin của nhiều người dùng khác nhau thu được từ các trang mạng xã hội. Có một công ty sản xuất ô tô gần đây đã tung ra một chiếc ô tô SUV mới. Vì vậy, công ty muốn kiểm tra xem có bao nhiêu người dùng từ bộ dữ liệu, muốn mua xe

Đối với bài toán này, chúng ta sẽ xây dựng mô hình Machine Learning bằng thuật toán hồi quy Logistic. Bộ dữ liệu được hiển thị trong hình ảnh bên dưới. Trong bài toán này, chúng ta sẽ dự đoán biến được mua [Biến phụ thuộc] bằng cách sử dụng tuổi và tiền lương [Biến độc lập]

Các bước trong hồi quy logistic. Để triển khai Hồi quy logistic bằng Python, chúng tôi sẽ sử dụng các bước tương tự như chúng tôi đã thực hiện trong các chủ đề Hồi quy trước đây. Dưới đây là các bước

  • Bước tiền xử lý dữ liệu
  • Khớp hồi quy logistic với tập huấn luyện
  • Dự đoán kết quả kiểm tra
  • Kiểm tra độ chính xác của kết quả [Tạo ma trận nhầm lẫn]
  • Trực quan hóa kết quả bộ kiểm tra

1. Bước tiền xử lý dữ liệu. Trong bước này, chúng tôi sẽ xử lý trước/chuẩn bị dữ liệu để chúng tôi có thể sử dụng dữ liệu đó trong mã của mình một cách hiệu quả. Nó sẽ giống như chúng ta đã làm trong chủ đề Tiền xử lý dữ liệu. Mã cho điều này được đưa ra dưới đây

Bằng cách thực hiện các dòng mã trên, chúng tôi sẽ nhận được tập dữ liệu làm đầu ra. Xét hình đã cho

Bây giờ, chúng tôi sẽ trích xuất các biến phụ thuộc và biến độc lập từ tập dữ liệu đã cho. Dưới đây là mã cho nó

Trong đoạn mã trên, chúng tôi đã lấy [2, 3] cho x vì các biến độc lập của chúng tôi là tuổi và tiền lương, nằm ở chỉ số 2, 3. Và chúng tôi đã lấy 4 cho biến y vì biến phụ thuộc của chúng tôi ở chỉ số 4. đầu ra sẽ là

Bây giờ chúng ta sẽ chia tập dữ liệu thành tập huấn luyện và tập kiểm tra. Dưới đây là mã cho nó

Đầu ra cho điều này được đưa ra dưới đây

Đối với bộ kiểm tra.

Đối với tập huấn luyện

Trong hồi quy logistic, chúng tôi sẽ thực hiện chia tỷ lệ tính năng vì chúng tôi muốn kết quả dự đoán chính xác. Ở đây chúng ta sẽ chỉ chia tỷ lệ cho biến độc lập vì biến phụ thuộc chỉ có giá trị 0 và 1. Dưới đây là mã cho nó

Đầu ra được chia tỷ lệ được đưa ra dưới đây

2. Khớp hồi quy logistic với tập huấn luyện

Chúng tôi đã chuẩn bị tốt tập dữ liệu của mình và bây giờ chúng tôi sẽ huấn luyện tập dữ liệu bằng cách sử dụng tập huấn luyện. Để cung cấp đào tạo hoặc điều chỉnh mô hình cho tập huấn luyện, chúng tôi sẽ nhập lớp LogisticRegression của thư viện sklearn

Sau khi nhập lớp, chúng ta sẽ tạo một đối tượng phân loại và sử dụng nó để khớp mô hình với hồi quy logistic. Dưới đây là mã cho nó

đầu ra. Bằng cách thực thi đoạn mã trên, chúng ta sẽ nhận được đầu ra bên dưới

Ra[5]

Do đó, mô hình của chúng tôi rất phù hợp với tập huấn luyện

3. Dự đoán kết quả kiểm tra

Mô hình của chúng tôi được đào tạo tốt trên tập huấn luyện, vì vậy bây giờ chúng tôi sẽ dự đoán kết quả bằng cách sử dụng dữ liệu của tập kiểm tra. Dưới đây là mã cho nó

Trong đoạn mã trên, chúng tôi đã tạo một vectơ y_pred để dự đoán kết quả của bộ kiểm tra

đầu ra. Bằng cách thực thi đoạn mã trên, một vectơ mới [y_pred] sẽ được tạo trong tùy chọn trình khám phá biến. Nó có thể được coi là

Hình ảnh đầu ra ở trên cho thấy những người dùng được dự đoán tương ứng muốn mua hoặc không mua xe

4. Độ chính xác của kết quả

Bây giờ chúng ta sẽ tạo ma trận nhầm lẫn ở đây để kiểm tra độ chính xác của việc phân loại. Để tạo được chúng ta cần import hàm mess_matrix của thư viện sklearn. Sau khi nhập hàm, chúng ta sẽ gọi nó bằng biến cm mới. Hàm nhận hai tham số, chủ yếu là y_true[giá trị thực tế] và y_pred [giá trị được nhắm mục tiêu trả về bởi trình phân loại]. Dưới đây là mã cho nó

đầu ra

Bằng cách thực thi mã trên, một ma trận nhầm lẫn mới sẽ được tạo. Hãy xem xét hình ảnh dưới đây

Chúng ta có thể tìm thấy độ chính xác của kết quả dự đoán bằng cách giải thích ma trận nhầm lẫn. Theo kết quả trên, chúng ta có thể hiểu rằng 65+24= 89 [Kết quả đúng] và 8+3= 11[Kết quả sai]

5. Trực quan hóa kết quả tập huấn luyện

Cuối cùng, chúng ta sẽ trực quan hóa kết quả tập huấn luyện. Để trực quan hóa kết quả, chúng tôi sẽ sử dụng lớp ListedColormap của thư viện matplotlib. Dưới đây là mã cho nó

Trong đoạn mã trên, chúng tôi đã nhập lớp ListedColormap của thư viện Matplotlib để tạo bản đồ màu để hiển thị kết quả. Chúng tôi đã tạo hai biến mới x_set và y_set để thay thế x_train và y_train. Sau đó, chúng tôi đã sử dụng nm. lệnh meshgrid để tạo lưới hình chữ nhật, có phạm vi từ -1[tối thiểu] đến 1 [tối đa]. Các điểm pixel chúng tôi đã lấy là 0. 01 độ phân giải

Để tạo một đường viền đầy, chúng tôi đã sử dụng mtp. lệnh contourf, nó sẽ tạo các vùng có màu được cung cấp [tím và xanh lá cây]. Trong chức năng này, chúng tôi đã thông qua bộ phân loại. dự đoán để hiển thị các điểm dữ liệu dự đoán được dự đoán bởi bộ phân loại

đầu ra. Bằng cách thực thi đoạn mã trên, chúng ta sẽ nhận được đầu ra bên dưới

Biểu đồ có thể được giải thích trong các điểm dưới đây

  • Trong biểu đồ trên, chúng ta có thể thấy rằng có một số điểm Màu xanh lá cây trong vùng màu lục và các điểm Màu tím trong vùng màu tím
  • Tất cả các điểm dữ liệu này là các điểm quan sát từ tập huấn luyện, hiển thị kết quả cho các biến đã mua
  • Biểu đồ này được tạo bằng cách sử dụng hai biến độc lập i. e. , Tuổi trên trục x và Mức lương ước tính trên trục y
  • Các quan sát điểm màu tím được mua [biến phụ thuộc] có thể là 0, i. e. , người dùng không mua xe SUV
  • Các quan sát điểm màu xanh lá cây đã mua [biến phụ thuộc] có thể là 1 có nghĩa là người dùng đã mua xe SUV
  • Chúng ta cũng có thể ước tính từ biểu đồ rằng những người dùng trẻ hơn với mức lương thấp đã không mua ô tô, trong khi những người dùng lớn tuổi hơn với mức lương ước tính cao đã mua ô tô
  • Nhưng có một số điểm màu tím trong vùng màu xanh lục [Mua ô tô] và một số điểm màu xanh lá cây trong vùng màu tím [Không mua ô tô]. Vì vậy, chúng tôi có thể nói rằng những người dùng trẻ tuổi có mức lương ước tính cao đã mua ô tô, trong khi người dùng lớn tuổi có mức lương ước tính thấp đã không mua ô tô

Mục tiêu của bộ phân loại

Chúng tôi đã trực quan hóa thành công kết quả của tập huấn luyện cho hồi quy logistic và mục tiêu của chúng tôi đối với việc phân loại này là phân chia người dùng đã mua ô tô SUV và những người không mua ô tô. Vì vậy, từ biểu đồ đầu ra, chúng ta có thể thấy rõ hai vùng [Tím và Xanh lục] với các điểm quan sát. Vùng Tím dành cho những người dùng chưa mua ô tô và Vùng Xanh lục dành cho những người dùng đã mua ô tô

Phân loại tuyến tính

Như chúng ta có thể thấy từ biểu đồ, bộ phân loại có bản chất là Đường thẳng hoặc tuyến tính vì chúng ta đã sử dụng mô hình Tuyến tính cho Hồi quy Logistic. Trong các chủ đề tiếp theo, chúng ta sẽ tìm hiểu về Bộ phân loại phi tuyến tính

Trực quan hóa kết quả bộ kiểm tra

Mô hình của chúng tôi được đào tạo tốt bằng cách sử dụng tập dữ liệu đào tạo. Bây giờ, chúng ta sẽ trực quan hóa kết quả cho các quan sát mới [Bộ kiểm tra]. Mã cho bộ kiểm tra sẽ vẫn giống như trên ngoại trừ ở đây chúng tôi sẽ sử dụng x_test và y_test thay vì x_train và y_train. Dưới đây là mã cho nó

đầu ra

Biểu đồ trên cho thấy kết quả của bộ kiểm tra. Như chúng ta có thể thấy, biểu đồ được chia thành hai vùng [Tím và Xanh lục]. Và các quan sát Màu lục nằm trong vùng màu lục và các quan sát Màu tím nằm trong vùng màu tím. Vì vậy, chúng tôi có thể nói đó là một dự đoán tốt và mô hình. Một số điểm dữ liệu màu xanh lá cây và màu tím nằm ở các vùng khác nhau, có thể bỏ qua vì chúng tôi đã tính toán lỗi này bằng ma trận nhầm lẫn [11 Đầu ra không chính xác]

Chủ Đề