Spaces:
Build error
Build error
| package nn | |
| import ( | |
| "math" | |
| "math/rand" | |
| ) | |
| // implement train test split function | |
| func (nn *NN) trainTestSplit() { | |
| // now we split the data into training | |
| // and testing based on user specified | |
| // nn.TestSize. | |
| nRows := nn.Df.Nrow() | |
| testRows := int(math.Floor(float64(nRows) * nn.TestSize)) | |
| // subset the testing data | |
| // randomly select trainRows number of rows | |
| randStrt := rand.Intn(int(math.Floor(float64(nRows) * nn.TestSize))) | |
| test := nn.Df.Subset([]int{randStrt, randStrt + testRows}) | |
| // use what is left for training | |
| allIndices := make([]int, nRows) | |
| for i := range allIndices { | |
| allIndices[i] = i | |
| } | |
| // Remove the test indices using slice append and variadic parameter | |
| trainIndices := append(allIndices[:randStrt], allIndices[randStrt+testRows:]...) | |
| // Create the train DataFrame using the trainIndices | |
| train := nn.Df.Subset(trainIndices) | |
| nn.XTrain = train.Select(nn.Features) | |
| nn.YTrain = train.Select(nn.Target) | |
| nn.XTest = test.Select(nn.Features) | |
| nn.YTest = test.Select(nn.Target) | |
| } | |