【问题标题】:Machine Learning (Python) - Unusual Accuracy 99.9%机器学习 (Python) - 异常准确率 99.9%
【发布时间】:2018-06-21 10:46:16
【问题描述】:

我最近在 kaggle (Shape : 1646801, 150) 的这个数据集上建立了一个预测模型(逻辑回归)。然而,经过简单的预处理后,我得到了非常不寻常的 99.9% 的准确率。资料:https://www.kaggle.com/wordsforthewise/lending-club

采取的步骤:

  • 映射不同的loan_status ('Fully_Paid'、'Default'、'Charged Off')default (0,1)
  • 查找每列的 null 值的计数,如果 null > 10000remove column
  • 删除其他空值的行,形状为左(814392, 51)
  • 删除成绩并将 sub_grade ('A1', 'A3') 映射为 integer (0, 2)时间>
  • 单热编码
  • 使用逻辑回归建模(类标签比例为 1:4)

对于建模部分,我首先使用 train-test split 并获得 99.9% 的准确率。我还检查了混淆矩阵,TP 和 TN 都很高。我还检查了功能的重要性,这些功能看起来很正常,似乎没有任何功能明显优于其他功能。我也试过5折和10折交叉验证,准确率还是很高的。

以下是建模代码,如果它似乎有助于解决问题,我将显示任何预处理代码。

    y = df2[['default']].values.ravel()
    X = df2.drop(columns = 'default').values
    X_train, X_test, y_train, y_test=train_test_split(X, y, test_size=.2)
    features = df2.drop(columns = 'default').columns.tolist()
    LR = model.LogisticRegression()
    LR.fit(X_train,y_train)
    y_pred = LR.predict(X_test)
    print('Accuracy : ', metrics.accuracy_score(y_test, y_pred))
    print('\n', metrics.classification_report(y_test, y_pred))
    print('Confusion Matrix')
    print(metrics.confusion_matrix(y_test, y_pred))

似乎是什么问题?那是我做错了什么吗?

【问题讨论】:

  • 你有几节课?还有什么比例
  • 2个班级和4:1的比例

标签: python machine-learning logistic-regression prediction


【解决方案1】:

您需要小心拆分数据的方式以及使用的列。数据里好像有一个小的time series。这意味着对于一个客户来说,可能有多个数据点。我会确保删除 id 字段。

如果这仍然没有帮助,请按客户划分数据并将客户分成训练/测试。

然后寻找与loan_status 高度相关的字段。有些可能与该人已经违约有关。相反,您可以根据客户上个月的数据预测客户的默认状态。

您还删除了很多行 - 这可能没问题,但您也可以选择易于分类的案例。

【讨论】:

  • 每个客户只有一个唯一的记录,不是时间序列。同样如前所述,特征重要性看起来很正常,即使我删除了一些重要特征,准确度仍然很高。
【解决方案2】:

这个说法是错误的 - scores = cross_val_score(LR, X, y, cv=5)。在交叉验证步骤中,您将模型暴露给 X_testy_test。您的模型在训练或交叉验证期间永远无法看到您的测试数据。相反,您可以使用scores = cross_val_score(LR, X_train, y_train, cv=5) 并对您的测试集进行预测。

另一种方法是使用验证集方法而不是 k-fold CV。

查看 scikit-learn 的 GridSearchCV

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-13
    • 2019-01-01
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 2021-02-17
    • 2013-11-21
    • 2017-03-03
    相关资源
    最近更新 更多