【发布时间】:2018-02-06 08:56:07
【问题描述】:
我目前正在使用具有分类和连续特征的数据框,如下所示:
我想运行逻辑回归来预测目标值。本例中的目标值是种族,可以是“A”、“W”、“B”、“H”、“N”或“O”,分别代表“亚洲人”、“白人”、“黑人” ”、“西班牙裔”、“美国原住民”或“其他”。
我已将所有特征转换为虚拟变量(“种族”列除外),位于一个名为“虚拟”的新数据框中。为了训练模型,我使用以下代码:
from sklearn import linear_model, metrics
X = dummies.drop("race", axis=1)
y = dummies["race"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=101)
from sklearn.linear_model import LogisticRegression
logmodel = LogisticRegression()
logmodel.fit(X_train, y_train)
predictions = logmodel.predict(X_test)
我没有得到任何错误,但是,当我查看分类矩阵时,我的准确率、召回率和 f1 分数都得到了 1.00 的满分。这似乎有点好得令人难以置信……我做错了什么吗?
这是我用来转换假人的代码:
dummies = pd.get_dummies(df[["date", "armed", "age", "gender", "city", "state", "signs_of_mental_illness", "threat_level", "flee", "body_camera", "total_population"]], drop_first=True)
dummies = pd.concat([df, dummies], axis=1)
dummies.drop(df[["date", "armed", "age", "gender", "city", "state", "signs_of_mental_illness", "threat_level", "flee", "body_camera", "total_population"]], axis=1, inplace=True)
【问题讨论】:
-
数据呢?请填写完整的mvce example
标签: python scikit-learn logistic-regression