5.3.1 The Validation Set ApproachWe explore the use of the validation  dịch - 5.3.1 The Validation Set ApproachWe explore the use of the validation  Việt làm thế nào để nói

5.3.1 The Validation Set ApproachWe

5.3.1 The Validation Set Approach
We explore the use of the validation set approach in order to estimate the
test error rates that result from fitting various linear models on the Auto
data set.
Before we begin, we use the set.seed() function in order to set a seed for seed
R’s random number generator, so that the reader of this book will obtain
precisely the same results as those shown below. It is generally a good idea
to set a random seed when performing an analysis such as cross-validation
that contains an element of randomness, so that the results obtained can
be reproduced precisely at a later time.
We begin by using the sample() function to split the set of observations sample() into two halves, by selecting a random subset of 196 observations out of
the original 392 observations. We refer to these observations as the training
set.
> library(ISLR)
> set.seed(1)
> train=sample (392,196)
(Here we use a shortcut in the sample command; see ?sample for details.)
We then use the subset option in lm() to fit a linear regression using only
the observations corresponding to the training set.
> lm.fit=lm(mpg∼horsepower ,data=Auto ,subset=train)
We now use the predict() function to estimate the response for all 392
observations, and we use the mean() function to calculate the MSE of the
196 observations in the validation set. Note that the -train index below
selects only the observations that are not in the training set.
> attach(Auto)
> mean((mpg -predict (lm.fit ,Auto))[-train ]^2)
[1] 26.14
Therefore, the estimated test MSE for the linear regression fit is 26.14. We
can use the poly() function to estimate the test error for the polynomial
and cubic regressions.
> lm.fit2=lm(mpg∼poly(horsepower ,2),data=Auto , subset=train)
> mean((mpg -predict (lm.fit2 ,Auto ))[- train]^2)
[1] 19.82
> lm.fit3=lm(mpg∼poly(horsepower ,3),data=Auto , subset=train)
> mean((mpg -predict (lm.fit3 ,Auto ))[- train]^2)
[1] 19.78
These error rates are 19.82 and 19.78, respectively. If we choose a different
training set instead, then we will obtain somewhat different errors on the
validation set.
> set.seed(2)
> train=sample (392,196)
> lm.fit=lm(mpg∼horsepower ,subset=train)
192 5. Resampling Methods
> mean((mpg -predict (lm.fit ,Auto))[-train ]^2)
[1] 23.30
> lm.fit2=lm(mpg∼poly(horsepower ,2),data=Auto , subset=train)
> mean((mpg -predict (lm.fit2 ,Auto ))[- train]^2)
[1] 18.90
> lm.fit3=lm(mpg∼poly(horsepower ,3),data=Auto , subset=train)
> mean((mpg -predict (lm.fit3 ,Auto ))[- train]^2)
[1] 19.26
Using this split of the observations into a training set and a validation
set, we find that the validation set error rates for the models with linear,
quadratic, and cubic terms are 23.30, 18.90, and 19.26, respectively.
These results are consistent with our previous findings: a model that
predicts mpg using a quadratic function of horsepower performs better than
a model that involves only a linear function of horsepower, and there is
little evidence in favor of a model that uses a cubic function of horsepower.
5.3.2 Leave-One-Out Cross-Validation
The LOOCV estimate can be automatically computed for any generalized
linear model using the glm() and cv.glm() functions. In the lab for Chap- cv.glm() ter 4, we used the glm() function to perform logistic regression by passing
in the family="binomial" argument. But if we use glm() to fit a model
without passing in the family argument, then it performs linear regression,
just like the lm() function. So for instance,
> glm.fit=glm(mpg∼horsepower ,data=Auto)
> coef(glm.fit)
(Intercept ) horsepower
39.936 -0.158
and
> lm.fit=lm(mpg∼horsepower ,data=Auto)
> coef(lm.fit)
(Intercept ) horsepower
39.936 -0.158
yield identical linear regression models. In this lab, we will perform linear
regression using the glm() function rather than the lm() function because
the latter can be used together with cv.glm(). The cv.glm() function is
part of the boot library.
> library(boot)
> glm.fit=glm(mpg∼horsepower ,data=Auto)
> cv.err=cv.glm(Auto ,glm.fit)
> cv.err$delta
1 1
24.23 24.23
The cv.glm() function produces a list with several components. The two
numbers in the delta vector contain the cross-validation results. In this
5.3 Lab: Cross-Validation and the Bootstrap 193
case the numbers are identical (up to two decimal places) and correspond
to the LOOCV statistic given in (5.1). Below, we discuss a situation in
which the two numbers differ. Our cross-validation estimate for the test
error is approximately 24.23.
We can repeat this procedure for increasingly complex polynomial fits.
To automate the process, we use the for() function to initiate a for loop for()
for loop which iteratively fits polynomial regressions for polynomials of order i = 1
to i = 5, computes the associated cross-validation error, and stores it in
the ith element of the vector cv.error. We begin by initializing the vector.
This command will lik
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
5.3.1 xác nhận thiết lập phương pháp tiếp cậnChúng tôi khám phá việc sử dụng các phương pháp tiếp cận thiết lập xác nhận để ước tính cáckiểm tra tỷ lệ lỗi mà kết quả từ lắp mô hình tuyến tính khác nhau vào tự độngtập dữ liệu.Trước khi chúng tôi bắt đầu, chúng tôi sử dụng chức năng set.seed() để thiết lập một hạt giống cho hạt giốngR của ngẫu nhiên số máy phát điện, do đó người đọc cuốn sách này sẽ có đượcchính xác kết quả tương tự như những người được hiển thị dưới đây. Nó nói chung là một ý tưởng tốtđể thiết lập một hạt giống ngẫu nhiên khi thực hiện một phân tích như cross-xác nhậncó chứa một phần tử ngẫu nhiên, do đó kết quả thu được có thểđược sao chép chính xác tại một thời gian sau đó.Chúng tôi bắt đầu bằng cách sử dụng chức năng sample() để chia tập hợp các quan sát sample() thành hai nửa, bằng cách chọn một tập hợp ngẫu nhiên của các quan sát 196 ra củaCác quan sát 392 ban đầu. Chúng tôi đề cập đến các quan sát như đào tạothiết lập.> library(ISLR)> set.seed(1)> Đào tạo = mẫu (392,196)(Ở đây chúng tôi sử dụng một phím tắt trong mẫu lệnh; xem? mẫu để biết chi tiết.)Chúng tôi sau đó sử dụng các tùy chọn tập con lm() để phù hợp với một hồi quy tuyến tính bằng cách sử dụng chỉCác quan sát tương ứng với tập huấn luyện.> lm.fit=lm (mpg∼horsepower, dữ liệu = tự động, tập hợp con = train)Chúng tôi bây giờ sử dụng các chức năng predict() để ước tính các phản ứng cho tất cả 392quan sát, và chúng tôi sử dụng hàm mean() để tính toán MSE của các196 quan sát trong các thiết lập xác nhận. Lưu ý rằng - đào tạo chỉ số dưới đâychọn chỉ các quan sát mà không phải được tập huấn luyện.> attach(Auto)> có nghĩa là ((mpg-dự đoán (lm.fit, Auto)) [-đào tạo] ^ 2)[1] 26.14Do đó, các thử nghiệm ước MSE cho phù hợp với hồi qui tuyến tính là 26.14. Chúng tôicó thể sử dụng chức năng poly() để ước tính các bài kiểm tra lỗi cho đa thứcvà khối regressions.> lm.fit2=lm (mpg∼poly (mã lực, 2), dữ liệu = tự động, tập hợp con = train)> có nghĩa là ((mpg-dự đoán (lm.fit2, Auto)) [-đào tạo] ^ 2)[1] 19.82> lm.fit3=lm (mpg∼poly (mã lực, 3), dữ liệu = tự động, tập hợp con = train)> có nghĩa là ((mpg-dự đoán (lm.fit3, Auto)) [-đào tạo] ^ 2)[1] 19.78Tỷ giá lỗi này là 19.82 và 19.78, tương ứng. Nếu chúng tôi chọn một khác nhauđào tạo đặt thay vào đó, sau đó chúng tôi sẽ nhận được lỗi hơi khác nhau trên cácthiết lập xác nhận.> set.seed(2)> Đào tạo = mẫu (392,196)> lm.fit=lm (mpg∼horsepower, tập hợp con = train)192 5. Phương phương pháp> có nghĩa là ((mpg-dự đoán (lm.fit, Auto)) [-đào tạo] ^ 2)[1] 23,30> lm.fit2=lm (mpg∼poly (mã lực, 2), dữ liệu = tự động, tập hợp con = train)> có nghĩa là ((mpg-dự đoán (lm.fit2, Auto)) [-đào tạo] ^ 2)[1] 18,90> lm.fit3=lm (mpg∼poly (mã lực, 3), dữ liệu = tự động, tập hợp con = train)> có nghĩa là ((mpg-dự đoán (lm.fit3, Auto)) [-đào tạo] ^ 2)[1] 19,26Bằng cách sử dụng này phân chia của các quan sát vào bộ đào tạo và một xác nhậnthiết lập, chúng tôi thấy rằng xác nhận thiết lập tỷ lệ lỗi cho các mô hình với tuyến tính,điều kiện bậc hai, và khối có 23,30, 18,90, 19,26, tương ứng.Những kết quả này là phù hợp với chúng tôi phát hiện trước đó: một mô hình màdự báo mpg bằng cách sử dụng một hàm bậc hai của công suất hoạt động tốt hơn so vớimột mô hình có liên quan đến chỉ là một hàm tuyến tính của mã lực, và cóít bằng chứng ủng hộ của một mô hình sử dụng một hàm khối mã lực.5.3.2 để lại-một-Out Cross-xác nhậnDân số ước tính LOOCV có thể được tự động tính cho bất kỳ tổng quátMô hình tuyến tính bằng cách sử dụng các chức năng glm() và cv.glm(). Trong các phòng thí nghiệm cho Chap-cv.glm() ter 4, chúng tôi sử dụng chức năng glm() để thực hiện hồi quy logistic bằng cách đi quatrong gia đình = "nhị thức" đối số. Nhưng nếu chúng tôi sử dụng glm() để phù hợp với một mô hìnhmà không đi qua trong các đối số gia đình, sau đó nó thực hiện hồi qui tuyến tính,giống như chức năng lm(). Vì vậy, ví dụ,> glm.fit=glm (mpg∼horsepower, dữ liệu = Auto)> coef(glm.fit)Mã lực (đánh chặn)39.936-0.158và> lm.fit=lm (mpg∼horsepower, dữ liệu = Auto)> coef(lm.fit)Mã lực (đánh chặn)39.936-0.158sản lượng mô hình hồi qui tuyến tính giống hệt nhau. Trong phòng thí nghiệm này, chúng tôi sẽ thực hiện các tuyến tínhhồi qui bằng cách sử dụng chức năng glm() chứ không phải là chức năng lm() vìsau này có thể được sử dụng cùng với cv.glm(). Chức năng cv.glm()một phần của thư viện khởi động.> library(boot)> glm.fit=glm (mpg∼horsepower, dữ liệu = Auto)> cv.err=cv.glm (tự động, glm.fit)> cv.err$delta1 124.23 24.23Chức năng cv.glm() sản xuất một danh sách với một số thành phần. Haisố lượng trong vectơ delta chứa kết quả xác nhận qua. Trong này5.3 phòng thí nghiệm: Cross-xác nhận và Bootstrap 193trường hợp những con số giống nhau (lên đến hai chữ số thập phân) và tương ứngđể thống kê LOOCV được đưa ra trong (5.1). Dưới đây, chúng tôi thảo luận về một tình huống trongmà hai con số khác nhau. Chúng tôi ước lượng xác nhận qua các bài kiểm tralỗi là khoảng 24.23.Chúng ta có thể lặp lại quy trình này cho ngày càng phức tạp đa thức phù hợp.Để tự động hoá các quy trình, chúng tôi sử dụng chức năng for() để bắt đầu một cho vòng lặp for()cho vòng lặp đi lặp lại phù hợp với regressions đa thức cho đa thức lệnh của tôi = 1i = 5, tính liên kết chéo-xác nhận lỗi và mua sắm nó trongphần tử thứ i của vector cv.error. Chúng tôi bắt đầu bằng cách khởi tạo vector.Này sẽ chỉ huy LDS
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
5.3.1 Các Validation Set Approach
Chúng tôi khám phá việc sử dụng các phương pháp xác nhận thiết lập để ước tính
tỷ lệ lỗi thử nghiệm mà kết quả từ phù hợp mô hình tuyến tính khác nhau trên Auto
bộ dữ liệu.
Trước khi chúng tôi bắt đầu, chúng tôi sử dụng các set.seed () chức năng để thiết lập một hạt giống cho hạt giống
số ngẫu nhiên R, sao cho người đọc về cuốn sách này sẽ được
chính xác kết quả tương tự như những hình dưới đây. Nó thường là một ý tưởng tốt
để thiết lập một hạt giống ngẫu nhiên khi thực hiện một phân tích như cross-validation
có chứa một yếu tố ngẫu nhiên, do đó, các kết quả thu được có thể
được sao chép một cách chính xác tại một thời gian sau đó.
Chúng ta bắt đầu bằng cách sử dụng mẫu) chức năng ( để phân chia các tập hợp các mẫu quan sát () thành hai nửa, bằng cách chọn một tập hợp con ngẫu nhiên của 196 quan sát ra của
392 quan sát ban đầu. Chúng tôi đề cập đến những quan sát này là đào tạo
. Bộ
> thư viện (ISLR)
> set.seed (1)
> = tàu mẫu (392.196)
(Ở đây chúng tôi sử dụng một phím tắt trong lệnh mẫu;?. Xem mẫu để biết chi tiết)
sau đó chúng tôi sử dụng tùy chọn tập con trong lm () để phù hợp với mô hình hồi quy tuyến tính chỉ sử dụng
các quan sát tương ứng với tập huấn luyện.
> lm.fit = lm (mpg~horsepower, dữ liệu = Auto, tập hợp con = tàu)
Chúng tôi hiện đang sử dụng các dự đoán () để ước lượng đáp ứng cho tất cả 392
quan sát, và chúng tôi sử dụng trung bình () để tính toán MSE của
196 quan sát trong tập xác nhận. Lưu ý rằng chỉ số -train dưới đây
chọn chỉ quan sát mà không phải là trong tập huấn luyện.
> Đính kèm (Auto)
> có nghĩa là ((mpg -predict (lm.fit, Auto)) [- tàu] ^ 2)
[1] 26.14
Do đó, các thử nghiệm MSE ước tính cho phù hợp với hồi quy tuyến tính là 26.14. Chúng tôi
có thể sử dụng nhiều chức năng () để ước tính kiểm tra lỗi cho các đa thức
hồi quy và khối.
> Lm.fit2 = lm (mpg~poly (mã lực, 2), dữ liệu = Auto, tập hợp con = tàu)
> bình ((mpg - dự đoán (lm.fit2, Auto)) [- tàu] ^ 2)
[1] 19,82
> lm.fit3 = lm (mpg~poly (mã lực, 3), dữ liệu = Auto, tập hợp con = tàu)
> bình ((mpg - dự đoán (lm.fit3, Auto)) [- tàu] ^ 2)
[1] 19,78
Các tỷ lệ lỗi là 19,82 và 19,78, tương ứng. Nếu chúng ta chọn một khác nhau
đào tạo thiết thay vào đó, sau đó chúng ta sẽ có lỗi phần nào khác nhau trên các
thiết lập xác nhận.
> Set.seed (2)
> = tàu mẫu (392.196)
> lm.fit = lm (mpg~horsepower, tập hợp con = tàu)
192 5. cỡ ảnh Phương
> bình ((mpg -predict (lm.fit, Auto)) [- tàu] ^ 2)
[1] 23.30
> lm.fit2 = lm (mpg~poly (mã lực, 2), dữ liệu = Auto , tập hợp con = tàu)
> bình ((mpg -predict (lm.fit2, Auto)) [- tàu] ^ 2)
[1] 18.90
> lm.fit3 = lm (mpg~poly (mã lực, 3), dữ liệu = Auto , tập hợp con = tàu)
> bình ((mpg -predict (lm.fit3, Auto)) [- tàu] ^ 2)
[1] 19,26
Sử dụng phân chia này của các quan sát vào một tập huấn luyện và một xác nhận
thiết lập, chúng ta thấy rằng xác nhận thiết lập tỷ lệ lỗi cho các mô hình với tuyến tính,
. bậc hai, và các điều khoản khối là 23.30, 18.90, và 19,26, tương ứng
các kết quả này phù hợp với những phát hiện trước đây của chúng tôi: một mô hình
dự đoán mpg sử dụng một hàm bậc hai của mã lực thực hiện tốt hơn so với
một mô hình mà chỉ liên quan đến một hàm tuyến tính của mã lực, và có
rất ít bằng chứng ủng hộ một mô hình có sử dụng một phương trình bậc ba mã lực.
5.3.2 Leave-một-Out Cross-Validation
ước tính LOOCV có thể được tự động tính toán cho bất kỳ khái quát
mô hình tuyến tính bằng cách sử dụng () chức năng GLM () và cv.glm. Trong phòng thí nghiệm cho Chap- cv.glm () ter 4, chúng tôi sử dụng các GLM () để thực hiện hồi quy logistic bằng cách truyền
trong gia đình = luận "nhị thức". Nhưng nếu chúng ta sử dụng GLM () để phù hợp với một mô hình
mà không đi trong đối số gia đình, sau đó nó thực hiện hồi quy tuyến tính,
giống như lm function (). Vì vậy, ví dụ,
> = glm.fit GLM (mpg~horsepower, dữ liệu = Auto)
> coef (glm.fit)
(Intercept) mã lực
39,936 -0,158

> = lm.fit lm (mpg~horsepower, dữ liệu = Auto)
> coef (lm.fit)
(Intercept) mã lực
39,936 -0,158
năng suất giống hệt mô hình hồi quy tuyến tính. Trong thí nghiệm này, chúng tôi sẽ thực hiện tuyến tính
hồi quy sử dụng các chức năng GLM () thay vì hàm lm () bởi vì
sau này có thể được sử dụng cùng với cv.glm (). Các cv.glm () chức năng là
một phần của thư viện khởi động.
> Thư viện (khởi động)
> glm.fit = GLM (mpg~horsepower, dữ liệu = Auto)
> cv.err = cv.glm (tự động, glm.fit)
> cv.err đồng bằng $
1 1
24,23 24,23
Các cv.glm () chức năng sản xuất một danh sách với một số thành phần. Hai
con số trong vector đồng bằng có các kết quả qua xác nhận. Trong này
5.3 Lab: Cross-Validation và Bootstrap 193
trường hợp những con số giống hệt nhau (lên đến hai chữ số thập phân) và tương ứng
với các số liệu thống kê LOOCV cho trong (5.1). Dưới đây, chúng tôi thảo luận về một tình huống trong
đó hai con số này khác. Ước tính qua xác nhận của chúng tôi cho kiểm tra
lỗi là khoảng 24,23.
Chúng tôi có thể lặp lại quy trình này cho phù hợp đa thức ngày càng phức tạp.
Để tự động hóa quá trình này, chúng tôi sử dụng cho () để bắt đầu một vòng lặp for ()
vòng lặp đó lặp đi lặp lại phù hợp với đa thức hồi quy đa thức cho trật tự i = 1
i = 5, tính toán các lỗi cross-validation liên quan, và lưu nó trong
các yếu tố thứ i của cv.error vector. Chúng ta bắt đầu bằng cách khởi tạo các vector.
Lệnh này sẽ LDS
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: