Сохранение функции для подготовки данных для модели машинного обучения для последующего использования - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть модель машинного обучения, которую я сохранил в файле рассола. Когда я использую файл pickle, чтобы получить прогноз для других данных, мне нужно подготовить данные для модели. Как я могу сохранить функцию для подготовки данных в файле, таком как файл рассола, чтобы я только импортировал файл и подготовил данные?

Итак, скажем, мне нужно сделать следующее для того, чтобычтобы подготовить данные:

  1. Замените значения inf на nan
  2. Удалите ненужные столбцы
  3. Измените тип с плавающей точкой на int
  4. Заполните пустые ячейки встолбец с числом, скажем, 100
  5. Отбросить все значения nan в данных
  6. Отдельный элемент и целевой столбец

Вот объяснение данных:

  • Столбцы: 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)
...