R語言實現資料抽樣 建立訓練集和測試集

2021-06-28 04:41:40 字數 2069 閱讀 4780

主要參考《資料探勘:r語言實戰》(黃文,王正林編著)

在收集資料過程中,絕大多數情況下,並不採取普查的方式獲取總體中所有樣本的資料資訊,而是以各類抽樣方法抽取其中若干代表性樣本來進行資料獲取和分析。在獲得待分析資料集後,需要再次通過抽樣技術選取出訓練集和測試集,以便比較選擇出最優的挖掘演算法。

這裡主要介紹簡單隨機抽樣、分層抽樣、整群抽樣三種基本抽樣方法。

用到的軟體包及函式

軟體包函式

函式意義

base(無需載入,預設含有)

sample()

簡單隨機抽樣

stratr()

分層抽樣

cluster()

整群抽樣

sample(x, size, replace = false, prob =null)

x: 帶抽取物件

size: 想要抽取的樣本數量

replace: 是否為有放回,預設為false,即無放回

prob: 設定個抽取樣本的抽樣概率,預設為無取值,即等概率抽樣

例子,以mass包中的insurance資料集為例:

實現無放回抽樣時,只需不對replace引數進行設定即可,此時size的取值不可以超過x的長度。

strata(data, stratanames=null, size, method=c("srswor","srswr","poisson","systematic"),pik,description=false)

data: 帶抽樣資料

stratanames: 進行分層所依據的變數名稱

size: 各層中要抽出的觀測樣本數

method: 選擇4中抽樣方法,分別為無放回、有放回、泊松、系統抽樣,預設為srswor

pik: 設定各層中樣本的抽樣概率

description: 選擇是否輸出含有各層基本資訊的結果

令description = t, 會給出共有多少層,每層中帶抽樣本總數及實際抽採樣本數。

clustername: 用來劃分群的變數名稱

size:需要抽取的群數

抽中了district = 2,4的兩個整群(下圖只顯示了一部分)

x為輸入變數,y為輸出變數。利用訓練集中的x,y建立模型。

將測試集中的x帶入模型,來**測試集目標輸出變數y的值,設為y』,將訓練集的x帶入模型,來**訓練集目標輸出變數y的值,設為y』』。那麼y』』與y的誤差評價了模型的擬合程度,即自己對自己的契合程度;而y』與y的誤差則評價了模型的推廣程度,即與別人的契合程度。當我們說乙個模型相對較好時,往往指該模型的擬合程度和推廣程度綜合最優。

一般控制訓練集與測試集之比為3:1:

R語言 資料抽樣的實現

這裡主要介紹簡單隨機抽樣 分層抽樣 整群抽樣三種基本抽樣方法。用到的軟體包及函式 軟體包函式 函式意義 base 無需載入,預設含有 sample 簡單隨機抽樣 stratr 分層抽樣 cluster 整群抽樣 實現簡單的三七原則分割資料集和驗證集 x 帶抽取物件 size 想要抽取的樣本數量 re...

《資料科學 R語言實現》 1 2 建立R函式

r語言是函式的集合 使用者可以在專案中使用各個程式包中的內建函式,或者為專門的目的定義新的函式。在本教程中,我們會展示如何建立乙個r函式。執行下列步驟來建立你的第乙個r函式。1.在r控制台中鍵入下列 建立第乙個函式 2.使用下列命令,執行使用者定義的函式addnum 或者,你也可以不使用return...

R語言之建立資料集

資料集通常是由資料構成的乙個矩形陣列,行表示觀測,列表示變數。r中有許多用於儲存資料的結構,包括標量 向量 陣列 資料框和列表。在r中,物件 object 是指可以賦值給變數的任何事物,包括常量 資料結構 函式 甚至是圖形。因子 factor 是名義型變數或有序型變數,在r中被特殊地儲存和處理。r中...