Tạo ngẫu nhiên tập train/test
Trong một vài bài tập tiếp theo, bạn sẽ dùng dữ liệu mpg từ gói ggplot2. Bộ dữ liệu mô tả các đặc điểm của nhiều hãng và mẫu xe qua các năm. Mục tiêu là dự đoán mức tiêu thụ nhiên liệu trong thành phố dựa trên mức tiêu thụ trên xa lộ.
Trong bài này, bạn sẽ chia mpg thành tập huấn luyện mpg_train (75% dữ liệu) và tập kiểm tra mpg_test (25% dữ liệu). Một cách để làm điều này là tạo một cột số ngẫu nhiên đồng đều trong khoảng 0 đến 1, dùng hàm runif() (docs).
Nếu bạn có một tập dữ liệu dframe kích thước \(N\), và bạn muốn một tập con ngẫu nhiên có kích thước xấp xỉ \(100 * X\)% của \(N\) (với \(X\) nằm giữa 0 và 1), thì:
- Tạo một vector số ngẫu nhiên đồng đều:
gp = runif(N). dframe[gp < X,]sẽ có kích thước xấp xỉ mong muốn.dframe[gp >= X,]sẽ là phần bù còn lại.
Bài tập này là một phần của khóa học
Học có giám sát với R: Hồi quy
Hướng dẫn bài tập
- Dùng hàm
nrow(docs) để lấy số hàng của data framempg. Gán con số này vào biếnNvà in ra. - Tính xem 75% của N xấp xỉ bao nhiêu hàng. Gán vào biến
targetvà in ra. - Dùng
runif()để tạo một vector gồmNsố ngẫu nhiên đồng đều, gọi làgp. - Dùng
gpđể chiampgthànhmpg_trainvàmpg_test(trong đómpg_trainchứa khoảng 75% dữ liệu). - Dùng
nrow()để kiểm tra kích thước củampg_trainvàmpg_test. Chúng có xấp xỉ kích thước mong muốn không?
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# mpg is available
summary(mpg)
dim(mpg)
# Use nrow to get the number of rows in mpg (N) and print it
(N <- ___)
# Calculate how many rows 75% of N should be and print it
# Hint: use round() to get an integer
(target <- ___)
# Create the vector of N uniform random variables: gp
gp <- ___
# Use gp to create the training set: mpg_train (75% of data) and mpg_test (25% of data)
mpg_train <- ___
mpg_test <- ___
# Use nrow() to examine mpg_train and mpg_test
___
___