Приведите значения всех признаков к единой шкале. Затем обучите логистическую регрессию и найдите самый значимый признак для модели. Выведите коэффициенты при признаках в сравнимом виде.
import math
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
# создание константы RANDOM_STATE
RANDOM_STATE = 42
df = pd.read_csv('car_loan.csv')
X = df.drop(columns='default')
y = df['default']
X_train, X_test, y_train, y_test = train_test_split(
X,
y,
random_state=RANDOM_STATE
)
# приводим значения всех признаков к единой шкале
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train) # ваш код
X_test_scaled = scaler.transform(X_test) # ваш код
clf = LogisticRegression()
# ваш код
clf = clf.fit(X_train_scaled, y_train)
y_pred = clf.predict(X_test_scaled)
# выводим веса коэффициентов
for feature_number, feature_name in enumerate(X.columns):
exp_weight = math.exp(clf.coef_[0, feature_number])
print(f"{feature_name:<20}: {exp_weight:+.2f}")