Hướng dẫn cross validation decision tree python - xác thực chéo cây quyết định python
Trong mã của bạn, bạn đang tạo ra một bài kiểm tra đào tạo tĩnh. Nếu bạn muốn chọn độ sâu tốt nhất bằng cách xác thực chéo, bạn có thể sử dụng 1 bên trong vòng lặp cho. Show
Bạn có thể đọc tài liệu của Sklearn để biết thêm thông tin. Dưới đây là bản cập nhật mã của bạn với CV:
Ngoài ra, bạn có thể sử dụng 2 và không tự viết vòng lặp, đặc biệt nếu bạn muốn tối ưu hóa cho nhiều hơn một tham số siêu.
Chỉnh sửa: Đã thay đổi cách nhập gridSearchCV để đáp ứng nhận xét của Learn2Day. changed how GridSearchCV is imported to accommodate learn2day's comment. Chiến lược điển hình nhất trong học máy là chia một tập dữ liệu thành tập huấn luyện và xác nhận. 70:30 hoặc 80:20 có thể là tỷ lệ phân chia. Đó là phương pháp nắm giữ. Vấn đề với chiến lược này là chúng tôi không biết nếu độ chính xác xác thực cao cho thấy một mô hình tốt. Điều gì sẽ xảy ra nếu phần dữ liệu chúng tôi sử dụng để xác thực hóa ra là một thành công? Mô hình của chúng tôi sẽ vẫn chính xác nếu chúng tôi sử dụng một phần khác của tập dữ liệu làm bộ xác thực? Đây là một số câu hỏi mà K-Fold CV trả lời. Điều kiện tiên quyếtĐể làm theo với hướng dẫn này, bạn cần phải có:
Đề cương
Giới thiệuTiền xử lý dữ liệu Xác thực chéo 5 lần Đào tạo mô hình Xử lý chéo K-Fold là một kỹ thuật vượt trội để xác nhận hiệu suất của mô hình của chúng tôi. Nó đánh giá mô hình bằng cách sử dụng các khối khác nhau của tập dữ liệu làm tập xác thực. Chúng tôi chia tập dữ liệu của chúng tôi thành K-Fold. K đại diện cho số lượng nếp gấp mà bạn muốn phân chia dữ liệu của mình. Nếu chúng ta sử dụng 5 lần, tập dữ liệu chia thành năm phần. Trong các lần lặp khác nhau, một phần trở thành bộ xác thực.Nguồn hình ảnh: Blog học tập tuyệt vời
Trong lần lặp đầu tiên, chúng tôi sử dụng phần đầu tiên của dữ liệu để xác thực. Như được minh họa trong hình trên, chúng tôi sử dụng các phần khác của tập dữ liệu để đào tạo.
Output:
Tiền xử lý dữ liệu
Output:
Chúng tôi nhập tất cả các thư viện có liên quan cho dự án và tải tập dữ liệu. Biến mục tiêu là cột chẩn đoán. Nó có chỉ số 1. Các tính năng là tất cả các cột ngoại trừ ID, chẩn đoán và không tên: 32 cột.Biến mục tiêu chứa chuỗi, chúng ta phải thay đổi chuỗi thành số.
Số 0 đại diện cho Benign, trong khi 1 đại diện cho ác tính. Xác thực chéo 5 lần Chúng tôi sử dụng chức năng 3 từ mô-đun thư viện Scikit-learn ____ ____24.Chúng tôi tạo ra một chức năng để trực quan hóa kết quả đào tạo và xác nhận trong mỗi lần. Hàm sẽ hiển thị một biểu đồ thanh được nhóm.
Đào tạo mô hìnhBây giờ chúng tôi có thể đào tạo thuật toán học máy của chúng tôi. Chúng tôi sẽ sử dụng thuật toán cây quyết định. Chúng tôi nhập 3 từ mô -đun 4 của thư viện 5. Chúng tôi cũng gọi chức năng 5 mà chúng tôi đã tạo trước đó để thực hiện xác thực chéo 5 lần.
Output: 0Để hiểu kết quả tốt hơn, chúng ta có thể hình dung chúng. Chúng tôi sử dụng chức năng 7 mà chúng tôi đã tạo trước đó. Chúng tôi bắt đầu bằng cách hình dung độ chính xác của đào tạo và độ chính xác xác nhận trong mỗi lần. 1Chúng ta cũng có thể hình dung độ chính xác đào tạo và độ chính xác xác nhận trong mỗi lần. 2Hãy để chúng tôi hình dung việc thu hồi đào tạo và thu hồi xác nhận trong mỗi lần. 3Cuối cùng, chúng tôi hình dung điểm F1 và điểm xác thực F1 trong mỗi lần. 4Các trực quan hóa cho thấy độ chính xác đào tạo, độ chính xác, thu hồi và điểm F1 trong mỗi lần là 100%. Nhưng độ chính xác xác nhận, độ chính xác, thu hồi và điểm F1 không cao. Chúng tôi gọi đây là sự phù hợp quá mức. Mô hình thực hiện đáng ngưỡng mộ trên dữ liệu đào tạo. Nhưng không quá nhiều trên bộ xác nhận. Hình dung kết quả của bạn như thế này có thể giúp bạn xem liệu mô hình của bạn có phù hợp quá mức hay không. Chúng tôi điều chỉnh các tham số siêu ____38 trong thuật toán cây quyết định. Nó sẽ khắc phục vấn đề quá mức. Giá trị mặc định của tham số 8 là 2. Chúng tôi tăng giá trị lên 5. 5Output: 6Hãy để chúng tôi hình dung kết quả của mô hình thứ hai. Độ chính xác của đào tạo và độ chính xác xác nhận trong mỗi lần: 7Độ chính xác và xác nhận độ chính xác xác nhận trong mỗi lần: 8Việc thu hồi và thu hồi xác nhận đào tạo trong mỗi lần: 9Điểm F1 và Xác thực F1 trong mỗi lần: 0Chúng ta có thể thấy rằng kết quả xác thực của mô hình thứ hai trong mỗi nếp gấp tốt hơn. Nó có độ chính xác xác thực trung bình là 93,85% và điểm F1 xác thực trung bình là 91,69%. Bạn có thể tìm thấy repo GitHub cho dự án này ở đây. Sự kết luậnKhi đào tạo một mô hình trên một bộ dữ liệu nhỏ, kỹ thuật xác thực chéo K có ích. Bạn có thể không cần sử dụng xác thực chéo K-gấp K nếu việc thu thập dữ liệu của bạn rất lớn. Lý do là bạn có đủ hồ sơ trong bộ xác thực của mình để kiểm tra mô hình học máy. Phải mất rất nhiều thời gian để sử dụng xác thực chéo K trên một bộ sưu tập dữ liệu lớn. Cuối cùng, sử dụng nhiều nếp gấp để kiểm tra mô hình của bạn tiêu thụ nhiều tài nguyên điện toán hơn. Giá trị của K càng cao, càng mất nhiều thời gian để đào tạo mô hình. Nếu K = 5, mô hình đào tạo năm lần bằng năm nếp gấp khác nhau làm bộ xác thực. Nếu k = 10, mô hình đào tạo mười lần. Người giới thiệu
Đóng góp đánh giá ngang hàng của: Wilkister Mumbi Bạn có thể sử dụng chéoXác thực chéo được sử dụng trong một loạt các phương pháp học máy, chẳng hạn như học tập dựa trên trường hợp, mạng lưới thần kinh nhân tạo hoặc cảm ứng cây quyết định..
Cross là gìCó thể sử dụng xác thực cây chéo để giảm tỷ lệ lỗi của mô hình cây phân loại 'cắt tỉa'. Đây là một kỹ thuật xác thực chéo cung cấp kích thước của cây và độ lệch hoặc lỗi tương ứng. Sử dụng kích thước có độ lệch thấp nhất, chúng ta có thể xây dựng mô hình cây cho kích thước đó và cải thiện độ chính xác.a cross-validation technique which gives the size of tree and the corresponding deviance or error. Using the size that has the lowest deviance we can build the tree model for that size and improve accuracy.
Làm cách nào để sử dụng chéoCó nhiều phương pháp để xác nhận chéo, chúng tôi sẽ bắt đầu bằng cách nhìn vào xác thực chéo K gấp K ... K-gấp.Dữ liệu đào tạo được sử dụng trong mô hình được chia, thành số k của các bộ nhỏ hơn, được sử dụng để xác nhận mô hình..... Phân tầng K-Fold..... Rời khỏi một (loo) .... Rời khỏi-p-out (LPO) .... Shuffle Split .. Làm thế nào để bạn kiểm tra độ chính xác của cây quyết định trong Python?Bạn nên thực hiện xác thực chéo nếu bạn muốn kiểm tra độ chính xác của hệ thống.Bạn phải chia cho bạn tập dữ liệu thành hai phần.Cái đầu tiên được sử dụng để tìm hiểu hệ thống của bạn.Sau đó, bạn thực hiện quy trình dự đoán trên phần thứ hai của tập dữ liệu và so sánh các kết quả dự đoán với các kết quả tốt.perform a cross validation if you want to check the accuracy of your system. You have to split you data set into two parts. The first one is used to learn your system. Then you perform the prediction process on the second part of the data set and compared the predicted results with the good ones. |