Как разделить данные на обучение и тестирование в Python без sklearn
Здесь мы узнаем, как разделить набор данных на наборы для обучения и тестирования в Python без использования sklearn. Основной концепцией, которая будет использоваться здесь, будет нарезка. Мы можем использовать функции нарезки, чтобы разбить данные на отдельные части (обучение и тестирование). Если бы мы использовали sklearn, эта задача была бы очень простой, но она может быть немного утомительной, если бы нам не разрешили использовать sklearn.
Шаги для разделения данных на обучение и тестирование:
- Создайте набор данных или создайте фрейм данных с помощью Pandas.
- Перетасуйте фрейм данных, используя примерную функцию Pandas.
- Выберите соотношение, чтобы разделить фрейм данных на тестовые и обучающие наборы.
- Разделите фреймы данных на обучающие и тестовые фреймы данных с помощью срезов.
- Рассчитайте общее количество строк во фрейме данных, используя функцию формы Pandas.
Давайте реализуем эти части на примере.
Python3
import pandas as pd # Creating sample dataset df = pd.DataFrame({ "Roll Number" : [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ], "Name" : [ " ANUJ" , "APOORV" , "CHAITANYA" , "HARSH" , " SNEHA" , " SHREYA" , "VAIBHAV" , "YASH" , "AKSHAY" , "ANCHIT" ], "Age" : [ 16 , 17 , 19 , 21 , 20 , 18 , 22 , 20 , 18 , 20 ], "Section" : [ "A" , "J" , "H" , "F" , "C" , "E" , "K" , "M" , "I" , "J" ] }) df |
Выход:
Одна из проблем при вводе данных заключается в том, что мы хотели бы выбирать строки случайным образом для обучения, а также для данных обучения. Эта функциональность может быть реализована с помощью функции sample(). метод, как показано ниже.
Python3
# Shuffle dataframe using sample function df = df.sample(frac = 1 ) df |
Выход:
Python3
# Select ratio ratio = 0.75 total_rows = df.shape[ 0 ] train_size = int (total_rows * ratio) # Split data into test and train train = df[ 0 :train_size] test = df[train_size:] |
Распечатаем обучающую и тестовую часть данных.
Python3
# print train set print ( "Train dataframe" ) print (train) # print test set print ( "Test dataframe" ) print (test) |
Выход:
Python3
train.shape, test.shape |
Выход:
((7, 4), (3, 4))