У меня есть модель машинного обучения, которую я сохранил в файле рассола. Когда я использую файл pickle, чтобы получить прогноз для других данных, мне нужно подготовить данные для модели. Как я могу сохранить функцию для подготовки данных в файле, таком как файл рассола, чтобы я только импортировал файл и подготовил данные?
Итак, скажем, мне нужно сделать следующее для того, чтобычтобы подготовить данные:
- Замените значения inf на nan
- Удалите ненужные столбцы
- Измените тип с плавающей точкой на int
- Заполните пустые ячейки встолбец с числом, скажем, 100
- Отбросить все значения nan в данных
- Отдельный элемент и целевой столбец
Вот объяснение данных:
- Столбцы:
A,B,C,D,E,F,G
- Типы столбцов:
str,float,float,float,int,int,int
- Целевой столбец
G
, а столбцы объектов C,D,E,F
Вот код для этого:
import pandas as pd
import pickle
# get the saved model :
pickle_in = open("model_inPickle.pkl", "rb")
model = pickle.load(pickle_in)
# get the data :
df = pd.read_csv("aFile.csv")
# 1 :
df = df.replace([np.inf, -np.inf], np.nan)
# 2 :
df.drop(columns=['A', 'B'], inplace=True)
# 3 :
df['C'] = df['C'].astype(int)
df['D'] = df['D'].astype(int)
# 4 :
df['E'] = df['E'].fillna(value=100)
# 5 :
df.dropna(inplace=True)
# 6 :
X = df.drop(columns=['G'], axis=1)
Y = df['G']
Y_prediction = model.predict(X)