Я тренирую модель, используя sklearn, обученную на данных в кадре данных панд.Ниже приведен фрагмент кода, который может воспроизвести модель, которую я тренирую.
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
dataset = load_iris()
X = pd.DataFrame(dataset['data'], columns=dataset['feature_names'])
y = pd.DataFrame(dataset['target'], columns=['target_names'])
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
logistic_regression = LogisticRegression()
logistic_regression.fit(X_train, y_train)
Теперь, когда я хочу делать прогнозы, пользователь отправляет прогнозы через словарь, где каждый ключ - это имя функции, а каждое значение - это значение для этой функции.
Кажется, что нет никакого принуждения, чтобы объекты в прогнозе были названы согласно функциям в DataFrame.Я понимаю это, но вопрос в том, когда функции именуются пользователем, как я могу узнать, как они упорядочены?
example = {
'a':1, # randomly named features
'b':2,
'c':3,
'd':4
}
logistic_regression.predict(pd.DataFrame.from_records(example, index=[0])) # works
Как узнать, отправил ли прогноз эти значения как [1,2,3,4]
или [2,1,3,4]
и т. Д.