{
  "id": 475181,
  "title": "My local metrics",
  "url": "/competitions/home-credit-credit-risk-model-stability/discussion/475181",
  "author_name": "yakorovka",
  "post_date": "2024-02-07T12:34:55.619000",
  "votes": 13,
  "comment_count": 0,
  "views": 0,
  "content": "<p>my piece of code on which I check the local metric that is used in the competition</p>\n<pre><code>data[] = model.predict_proba(data[features])[:, ]\n\nweeks = data[].unique().tolist()\nauc_list = []\ngini_list = []\n\nfor w in weeks:\n    tmp = data[data[] == w].copy()\n    auc = roc_auc_score(tmp[], tmp[])\n    auc_list.append(auc)\n    gini_list.append(*auc)\n\n # chech gini score\nprint(np.mean(gini_list))\n\n# train linear model\ngini_week = pd.(data={: gini_list, : weeks})\n\nlr = ()\nlr.fit(gini_week[[]], gini_week[])\n\n# calc residuals \npred_lr = lr.predict(gini_week[[]])\nresiduals = pred_lr - gini_week[]\n\ncustom_metric = gini_week[].mean() + *min(, lr.coef_) - *np.std(residuals)\n</code></pre>\n<p>Correct me if you know more</p>",
  "messages": [
    {
      "id": 2641323,
      "postDate": "2024-02-07T12:34:55.620Z",
      "content": "<p>my piece of code on which I check the local metric that is used in the competition</p>\n<pre><code>data[] = model.predict_proba(data[features])[:, ]\n\nweeks = data[].unique().tolist()\nauc_list = []\ngini_list = []\n\nfor w in weeks:\n    tmp = data[data[] == w].copy()\n    auc = roc_auc_score(tmp[], tmp[])\n    auc_list.append(auc)\n    gini_list.append(*auc)\n\n # chech gini score\nprint(np.mean(gini_list))\n\n# train linear model\ngini_week = pd.(data={: gini_list, : weeks})\n\nlr = ()\nlr.fit(gini_week[[]], gini_week[])\n\n# calc residuals \npred_lr = lr.predict(gini_week[[]])\nresiduals = pred_lr - gini_week[]\n\ncustom_metric = gini_week[].mean() + *min(, lr.coef_) - *np.std(residuals)\n</code></pre>\n<p>Correct me if you know more</p>",
      "rawMarkdown": "my piece of code on which I check the local metric that is used in the competition\n\n\n```\ndata['proba'] = model.predict_proba(data[features])[:, 1]\n\nweeks = data['WEEK_NUM'].unique().tolist()\nauc_list = []\ngini_list = []\n\nfor w in weeks:\n    tmp = data[data['WEEK_NUM'] == w].copy()\n    auc = roc_auc_score(tmp['target'], tmp['proba'])\n    auc_list.append(auc)\n    gini_list.append(2*auc-1)\n    \n # chech gini score\nprint(np.mean(gini_list))\n\n# train linear model\ngini_week = pd.DataFrame(data={'Gini': gini_list, 'Week': weeks})\n\nlr = LinearRegression()\nlr.fit(gini_week[['Week']], gini_week['Gini'])\n\n# calc residuals \npred_lr = lr.predict(gini_week[['Week']])\nresiduals = pred_lr - gini_week['Gini']\n\ncustom_metric = gini_week['Gini'].mean() + 88.0*min(0, lr.coef_) - 0.5*np.std(residuals)\n```\n\nCorrect me if you know more",
      "votes": 13
    }
  ],
  "comments": [],
  "raw_markdown_by_id": {
    "2641323": "my piece of code on which I check the local metric that is used in the competition\n\n\n```\ndata['proba'] = model.predict_proba(data[features])[:, 1]\n\nweeks = data['WEEK_NUM'].unique().tolist()\nauc_list = []\ngini_list = []\n\nfor w in weeks:\n    tmp = data[data['WEEK_NUM'] == w].copy()\n    auc = roc_auc_score(tmp['target'], tmp['proba'])\n    auc_list.append(auc)\n    gini_list.append(2*auc-1)\n    \n # chech gini score\nprint(np.mean(gini_list))\n\n# train linear model\ngini_week = pd.DataFrame(data={'Gini': gini_list, 'Week': weeks})\n\nlr = LinearRegression()\nlr.fit(gini_week[['Week']], gini_week['Gini'])\n\n# calc residuals \npred_lr = lr.predict(gini_week[['Week']])\nresiduals = pred_lr - gini_week['Gini']\n\ncustom_metric = gini_week['Gini'].mean() + 88.0*min(0, lr.coef_) - 0.5*np.std(residuals)\n```\n\nCorrect me if you know more"
  }
}