Хотел бы я пометить это как ответ тоже. Ранее я заметил, что в наборе данных было больше нулей. Это объясняет высокую точность оценки. Еще раз спасибо!
ощьюLogisticRegression
класс вscikit-learn
по версиинабор данных задержки рейса.
я используюpandas
выбрать несколько столбцов:
df = df[["MONTH", "DAY_OF_MONTH", "DAY_OF_WEEK", "ORIGIN", "DEST", "CRS_DEP_TIME", "ARR_DEL15"]]
Я заполняюNaN
значения с 0:
df = df.fillna({'ARR_DEL15': 0})
Убедитесь, что категориальные столбцы помечены типом данных «категория»:
df["ORIGIN"] = df["ORIGIN"].astype('category')
df["DEST"] = df["DEST"].astype('category')
Тогда позвониget_dummies()
изpandas
:
df = pd.get_dummies(df)
Сейчас я тренируюсь и проверяю свой набор данных:
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression()
test_set, train_set = train_test_split(df, test_size=0.2, random_state=42)
train_set_x = train_set.drop('ARR_DEL15', axis=1)
train_set_y = train_set["ARR_DEL15"]
test_set_x = test_set.drop('ARR_DEL15', axis=1)
test_set_y = test_set["ARR_DEL15"]
lr.fit(train_set_x, train_set_y)
Однажды я позвонюscore
метод я получаю около 0,867. Тем не менее, когда я звонюroc_auc_score
Метод, который я получаю гораздо меньшее число около 0,583
probabilities = lr.predict_proba(test_set_x)
roc_auc_score(test_set_y, probabilities[:, 1])
Есть ли какая-то причина, почему РПЦ АУК намного ниже, чемscore
метод обеспечивает?