У меня есть датафрейм с 5 независимыми переменными и 1 зависимой переменной. Все мои переменные непрерывны, включая зависимую переменную. Есть ли способ, которым я могу вычислить, какая из моих независимых переменных влияет на мою зависимую переменную больше всего в python? Есть ли алгоритм, который я мог бы запустить, чтобы сделать это для меня?
Я попробовал метод получения информации, но это был метод классификации, поэтому мне пришлось использовать labelencoder для преобразования моей зависимой переменной. Я использовал следующий код после разбиения своего набора данных на поезд и набор тестов
#encoding the dependant variable
lab_enc = preprocessing.LabelEncoder()
training_scores_encoded = lab_enc.fit_transform(y_train)
#SelectFromModel will select those features which importance is greater than the mean importance of all the features by default, but we can alter this threshold if we want.
#Firstly, I specify the random forest instance, indicating the number of trees.
#Then I use selectFromModel object from sklearn to automatically select the features.
sel = SelectFromModel(RandomForestClassifier(n_estimators = 100))
sel.fit(X_train, training_scores_encoded)
#We can now make a list and count the selected features.
selected_feat= X_train.columns[(sel.get_support())]
len(selected_feat)
#viewing the importances
import matplotlib.pyplot as plt
importances = sel.estimator_.feature_importances_
indices = np.argsort(importances)[::-1]
# X is the train data used to fit the model
plt.figure()
plt.title("Feature importances")
plt.bar(range(X_train.shape[1]), importances[indices],
color="r", align="center")
plt.xticks(range(X_train.shape[1]), indices)
plt.xlim([-1, X_train.shape[1]])
Хотя я получил результат, я не уверен в этом, потому что мне пришлось кодировать мою (непрерывную) зависимую переменную. Это правильный путь к go? если нет, что я могу сделать?
Заранее благодарим за помощь