Hướng dẫn k fold cross validation decision tree python - k gấp chéo xác thực cây quyết định python
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ữ. Show
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 Sự kết luận Người giới thiệuXử 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.
Output:
Nguồn hình ảnh: Blog học tập tuyệt vời
Output:
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. Tiền xử lý dữ liệuChú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 # Separate features and target variable X = dataset.iloc[:, 2:-1].values y = dataset. iloc [:, 1].values print("Matrix of features", X, sep='\n') print("--------------------------------------------------") print("Target Variable", y, sep='\n') 9 từ mô-đun thư viện Scikit-learn ____ ____20.Hàm 1 tùy chỉnh trong mã trên sẽ thực hiện xác thực chéo 5 lần. Nó trả về kết quả của các số liệu được chỉ định ở trên.
Output: Tham số 2 của hàm 9 nhận được thuật toán chúng tôi muốn sử dụng để đào tạo. Tham số 4 lấy ma trận của các tính năng. Tham số 5 lấy biến mục tiêu. Tham số 6 lấy các số liệu chúng tôi muốn sử dụng để đánh giá. Chúng tôi vượt qua một danh sách có chứa các số liệu mà chúng tôi muốn sử dụng để kiểm tra mô hình của chúng tôi.Đối với hướng dẫn này, chúng tôi sẽ sử dụng độ chính xác, độ chính xác, thu hồi và điểm F1. Đặt 7 thành 8 sẽ cho chúng tôi kết quả đào tạo.
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. 0Đào tạo mô hình 1Bâ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 9 từ mô -đun 0 của thư viện 1. Chúng tôi cũng gọi chức năng 1 mà chúng tôi đã tạo trước đó để thực hiện xác thực chéo 5 lần.
2________số 8 Để 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 3 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. 3Output: 4Chú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. Hã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. 5Cuố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. 6Cá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 ____34 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ố 4 là 2. Chúng tôi tăng giá trị lên 5.Hãy để chúng tôi hình dung kết quả của mô hình thứ hai. 8Độ chính xác của đào tạo và độ chính xác xác nhận trong mỗi lần: 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 Làm thế nào để bạn làm kDưới đây là các bước cho nó:.. Phân chia ngẫu nhiên toàn bộ bộ dữ liệu của bạn thành Kiêu Folds. Đối với mỗi lần K trong bộ dữ liệu của bạn, hãy xây dựng mô hình của bạn trên K-1 lần của bộ dữ liệu. .... Ghi lại lỗi bạn thấy trên từng dự đoán .. Lặp lại điều này cho đến khi mỗi lần K đã phục vụ như bộ thử nghiệm .. Làm thế nào để bạn xác nhận một cây quyết định?Giúp hiểu được xác nhận chéo và cây quyết định.. Quyết định số lượng nếp gấp bạn muốn (k). Chia nhỏ bộ dữ liệu của bạn thành k nếp gấp .. Sử dụng các nếp gấp K-1 cho một bộ huấn luyện để xây dựng một cây .. Sử dụng bộ kiểm tra để ước tính số liệu thống kê về lỗi trong cây của bạn .. Lưu kết quả của bạn cho sau .. K là gì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.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.the number of folds into which you want to split your data. If we use 5-folds, the data set divides into five sections. In different iterations, one part becomes the validation set. In the first iteration, we use the first part of the data for validation.
Làm thế nào để bạn làm kxác thực chéo K-Fold.. Chọn một số nếp gấp - k..... Chia bộ dữ liệu thành các phần k bằng nhau (nếu có thể) (chúng được gọi là nếp gấp). Chọn K - 1 lần làm bộ đào tạo..... Huấn luyện mô hình trên bộ đào tạo..... Xác thực trên bộ kiểm tra .. Lưu kết quả xác nhận .. Lặp lại các bước 3 - 6 k lần .. |