В настоящее время я работаю над набором данных Kaggle, касающимся аналитики человеческих ресурсов.
Я очистил набор данных, протестировал некоторые модели. Лучшим из них является RandomForestClassifier, который с хорошей точностью (около 99%) предсказывает, покинул ли сотрудник компанию или нет.
Теперь я хотел бы найти наиболее вероятного сотрудника, все еще работающего в компании, который может уйти. Я использовал метод predict_proba
для модели поезда, но это дает мне вероятность того, что сотрудник ушел или нет. Это не вероятность того, что работник уйдет. Более того, набор данных используется для обучения.
Я понятия не имею, как предсказать такого рода информацию. Например, в линейной регрессии я бы искал ближайшую точку к оценщику, но с ансамблем я не знаю.
Я прикрепил ниже фрагмент кода, если вы хотите попробовать:
dataset = pd.read_csv("HR.csv")
# Cleanup/Preparation datas
convert_dict = {"high" : 3, "medium": 2, "low": 1}
dataset = dataset.replace({"salary": convert_dict})
dataset = pd.get_dummies(dataset)
X = dataset.drop("left", axis=1)
y = dataset["left"]
scaler = MinMaxScaler()
X = scaler.fit_transform(X)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# training best model (I pass the benchmark part)
model = RandomForestClassifier(bootstrap=False, n_estimators=50)
model.fit(X_train, y_train)
acc = model.score(X_test, y_test)
print(acc)
# Eval
eval_dataset = dataset[dataset["left"] == 0]
X = eval_dataset.drop("left", axis=1)
y = eval_dataset["left"]
X = scaler.transform(X)
y_pred = model.predict_proba(X) # => This is wrong
Спасибо за поддержку,