После того, как вы закончили с мантингом и выбором функций. Вы захотите разбить свои переменные X и y на отдельные обучающие и тестовые сплит-наборы. Мне нравится делать это в альтернативном блокноте Jupyter, помеченном как предварительная обработка.

Эти разбиения представляют собой фрагменты ваших данных, которые будут использоваться для определения обобщаемости вашей модели. Набор поездов представляет данные, которые ваша модель будет использовать для обучения. Набор тестов представляет невидимые данные для прогнозирования вашей модели. Вот как мы начинаем интерпретировать производительность нашей модели.

Шаг 1. Импортируйте раздельный модуль тренировочного теста из

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
import pickle
import re

Шаг 2. Назначьте переменные X и Y. Обратите внимание, что по соглашению X пишется с большой буквы, чтобы указать, что мы имеем дело с вектором.

# casting my y as a list was an approach I had to follow for my 
# particular classification problem. It's usually not necessary
lib = pd.read_json('./data/lib_1.json')
lsc = pd.read_json('./data/lsc_1.json')
combined = pd.concat([lib,lsc])
combined.body = combined.body.map(lambda x:re.sub('/r/LateStageCapitalism', '', x))
combined.body = combined.body.map(lambda x: re.sub('/r/Libertarian', '', x))
X = combined['body']
y = list(combined['subreddit'])

Шаг 3. Назначьте X и Y отдельным обучающим и тестовым наборам. Я продемонстрирую быстрый способ сделать это. Здесь мы можем указать, как мы хотели бы разделить наши данные. Я решил использовать test_size 33%, что означает, что мои данные будут обучаться на оставшихся 67%.

X_train, X_test, y_train, y_test = train_test_split(X,y,test_size = .33,random_state=42)

Шаг 4. Выберите результаты и сохраните их в папку с ресурсами. Теперь вы можете получить доступ к этим данным в любом месте вашего проекта. Это особенно полезно, если вы планируете иметь несколько блокнотов для моделирования.

pd.to_pickle(X_test,'./assets/X_test.pkl')
pd.to_pickle(X_train,'./assets/X_train.pkl')
pd.to_pickle(y_test,'./assets/y_test.pkl')
pd.to_pickle(y_train,'./assets/y_train.pkl')
pd.to_pickle(combined,'./data/combined.pkl')