दिलचस्प पोस्ट
window.onload () पहले शॉट में आईई 8 के साथ फायरिंग नहीं कर रहा है क्षैतिज स्क्रॉल देखें अंदर SwipeRefresh लेआउट जब दो जंजीरें स्थिर_कास्ट अपनी नौकरी कर सकती हैं तो हम सी ++ में पुन: संदर्भित करते हैं? दो खोज शब्द (एकाधिक लुकअप) के साथ एक्सेल की खोज करना Vba मैक्रो का इस्तेमाल करना क्या सीओआरएस क्रॉस-डोमेन AJAX अनुरोध करने का एक सुरक्षित तरीका है? कंसोल में पाठ प्रगति पट्टी एक क्वेरी की कुंजी में MongoDB वाइल्डकार्ड JSF में वर्ग स्तर की बीन सत्यापन बाधाओं को मान्य करें एंड्रॉइड और एमजेपीईजी टूलबार एंड्रॉइड में SearchView का उपयोग कैसे करें जीआईटी रिपॉजिटरी में लाइनों की संख्या की गणना करें बिटमैप फ़ॉन्ट (.FON) को ट्रू टाइप फ़ॉन्ट (.टीटीएफ) में कैसे परिवर्तित करें? JavaFX में `<fx: root>` को समझने और उपयोग करने का तरीका क्या है? एंड्रॉइड में दो पीएनजी फाइलों के संयोजन आईफ़ोन पर एनएसएक्सएलएल पार्सर, मैं इसका इस्तेमाल एक्सएमएल फाइल में कैसे करूँ?

नमूना फ़ंक्शन का उपयोग करके प्रशिक्षण / परीक्षण सेट में डेटा को कैसे विभाजित करें I

मैंने अभी आर का उपयोग करना शुरू कर दिया है और मुझे यकीन नहीं है कि मेरे डेटासेट को निम्न नमूना कोड से कैसे शामिल किया जाए:

sample(x, size, replace = FALSE, prob = NULL) 

मेरे पास एक डाटासेट है जिसे मुझे प्रशिक्षण (75%) और परीक्षण (25%) सेट करने की आवश्यकता है। मुझे यकीन नहीं है कि मुझे किस जानकारी को एक्स और आकार में रखना चाहिए था? क्या एक्स डेटासेट फ़ाइल है, और मेरे पास कितने नमूनों का आकार है?

Solutions Collecting From Web of "नमूना फ़ंक्शन का उपयोग करके प्रशिक्षण / परीक्षण सेट में डेटा को कैसे विभाजित करें I"

डेटा विभाजन हासिल करने के लिए कई तरीके हैं। अधिक पूर्ण दृष्टिकोण के लिए caret पैकेज में createDataPartition फ़ंक्शन पर नज़र डालें।

यहाँ एक सरल एक है:

 data(mtcars) ## 75% of the sample size smp_size <- floor(0.75 * nrow(mtcars)) ## set the seed to make your partition reproductible set.seed(123) train_ind <- sample(seq_len(nrow(mtcars)), size = smp_size) train <- mtcars[train_ind, ] test <- mtcars[-train_ind, ] 

इसे आसानी से किया जा सकता है:

 set.seed(101) # Set Seed so that same sample can be reproduced in future also # Now Selecting 75% of data as sample from total 'n' rows of the data sample <- sample.int(n = nrow(data), size = floor(.75*nrow(data)), replace = F) train <- data[sample, ] test <- data[-sample, ] 

कैटूल पैकेज का उपयोग करके:

 require(caTools) set.seed(101) sample = sample.split(data$anycolumn, SplitRatio = .75) train = subset(data, sample == TRUE) test = subset(data, sample == FALSE) 

यह लगभग समान कोड है, लेकिन अधिक अच्छी लग रही है

 bound <- floor((nrow(df)/4)*3) #define % of training and test set df <- df[sample(nrow(df)), ] #sample rows df.train <- df[1:bound, ] #get training set df.test <- df[(bound+1):nrow(df), ] #get test set 

मैं 'ए' को ट्रेन (70%) और परीक्षण (30%) में विभाजित कर दूँगा

  a # original data frame library(dplyr) train<-sample_frac(a, 0.7) sid<-as.numeric(rownames(train)) # because rownames() returns character test<-a[-sid,] 

किया हुआ

मेरा समाधान मूल रूप से डिको के समान है, लेकिन व्याख्या करने में थोड़ा आसान है:

 data(mtcars) n = nrow(mtcars) trainIndex = sample(1:n, size = round(0.7*n), replace=FALSE) train = mtcars[trainIndex ,] test = mtcars[-trainIndex ,] 
 library(caret) intrain<-createDataPartition(y=sub_train$classe,p=0.7,list=FALSE) training<-m_train[intrain,] testing<-m_train[-intrain,] 

मैं इसके लिए dplyr उपयोग करेगा, यह सुपर सरल बनाता है आपके डेटा सेट में यह एक आईडी वैरिएबल की आवश्यकता होती है, जो कि एक अच्छा विचार है वैसे ही, न केवल सेट बनाने के लिए बल्कि आपके प्रोजेक्ट के दौरान ट्रेसबिलिटी के लिए भी। पहले से ही शामिल नहीं है अगर इसे जोड़ें

 mtcars$id <- 1:nrow(mtcars) train <- mtcars %>% dplyr::sample_frac(.75) test <- dplyr::anti_join(mtcars, train, by = 'id') 

यदि आप टाइप करते हैं:

 ?sample 

अगर नमूना फ़ंक्शन के मापदंडों का अर्थ समझने के लिए सहायता मेनू लॉन्च किया जाता है।

मैं एक विशेषज्ञ नहीं हूं, लेकिन मेरे पास कुछ कोड है:

 data <- data.frame(matrix(rnorm(400), nrow=100))<br> splitdata <- split(data[1:nrow(data),],sample(rep(1:4,as.integer(nrow(data)/4))))<br> test <- splitdata[[1]]<br> train <- rbind(splitdata[[1]],splitdata[[2]],splitdata[[3]])<br> 

यह आपको 75% ट्रेन और 25% परीक्षा देगा।

फ़ंक्शन के नीचे जो समान आकार के उप-नमूनों की एक list बनाते हैं, जो कि वास्तव में आप नहीं चाहते थे, लेकिन दूसरों के लिए उपयोगी साबित हो सकता है मेरे मामले में छोटे नमूनों पर अधिक वृक्षारोपण के पेड़ बनाने के लिए ओवरफीटिंग का परीक्षण करने के लिए:

 df_split <- function (df, number){ sizedf <- length(df[,1]) bound <- sizedf/number list <- list() for (i in 1:number){ list[i] <- list(df[((i*bound+1)-bound):(i*bound),]) } return(list) } 

उदाहरण :

 x <- matrix(c(1:10), ncol=1) x # [,1] # [1,] 1 # [2,] 2 # [3,] 3 # [4,] 4 # [5,] 5 # [6,] 6 # [7,] 7 # [8,] 8 # [9,] 9 #[10,] 10 x.split <- df_split(x,5) x.split # [[1]] # [1] 1 2 # [[2]] # [1] 3 4 # [[3]] # [1] 5 6 # [[4]] # [1] 7 8 # [[5]] # [1] 9 10 

आर नमूना कोड में caTools पैकेज का प्रयोग निम्नानुसार होगा: –

 data split = sample.split(data$DependentcoloumnName, SplitRatio = 0.6) training_set = subset(data, split == TRUE) test_set = subset(data, split == FALSE) 

बेस आर फ़ंक्शन runif प्रयोग 0 से 1 तक समान रूप से वितरित मूल्यों को बनाते हैं। कटआउट मूल्य में भिन्न (नीचे उदाहरण के लिए train.size), आप हमेशा कटऑफ वैल्यू के नीचे यादृच्छिक रिकॉर्ड का लगभग एक प्रतिशत रहेंगे।

 data(mtcars) set.seed(123) train.size<-.7 train.ind<-runif(nrow(mtcars))>train.size