{
  "id": 114276,
  "title": "Calculating RocAuc",
  "url": "/competitions/rsna-intracranial-hemorrhage-detection/discussion/114276",
  "author_name": "DecentMakeover",
  "post_date": "2019-10-25T08:59:49.328000",
  "votes": 1,
  "comment_count": 2,
  "views": 0,
  "content": "<p>My code for calculating Precision,Recall and RocAuc.If someone has more efficient way please do share. </p>\n\n<pre><code>import pandas as pd \nimport numpy as np \nfrom sklearn.metrics import precision_score, recall_score\nfrom sklearn.metrics import roc_auc_score\n\ndf = pd.read_csv('val.csv')\ncols =['epidural', 'intraparenchymal', 'intraventricular', 'subarachnoid', 'subdural', 'any']\ndf = df[cols]\n\ny_true = df.loc[:, df.columns != 'Image'].values\npreds = np.load('exp_0prediction.npy')\n\ny_pred = np.where(preds &amp;gt; 0.5, 1, 0)\nlabel_names = ['epidural', 'intraparenchymal', 'intraventricular', 'subarachnoid', 'subdural', 'any']\nfor index in range(6):\n    precision_s = precision_score(y_true[:, index], y_pred[:,index])\n    print('Precision for {} '.format(label_names[index]), precision_s)\nprint()\n\nfor index in range(6):\n    precision_s = recall_score(y_true[:, index], y_pred[:,index])\n    print('Recall for {} '.format(label_names[index]), precision_s)\nprint()\nfor index in range(6):\n    precision_s = roc_auc_score(y_true[:, index], y_pred[:,index])\n    print('RocAucScore for {} '.format(label_names[index]), precision_s)\n</code></pre>",
  "messages": [
    {
      "id": 657578,
      "postDate": "2019-10-25T08:59:49.330Z",
      "content": "<p>My code for calculating Precision,Recall and RocAuc.If someone has more efficient way please do share. </p>\n\n<pre><code>import pandas as pd \nimport numpy as np \nfrom sklearn.metrics import precision_score, recall_score\nfrom sklearn.metrics import roc_auc_score\n\ndf = pd.read_csv('val.csv')\ncols =['epidural', 'intraparenchymal', 'intraventricular', 'subarachnoid', 'subdural', 'any']\ndf = df[cols]\n\ny_true = df.loc[:, df.columns != 'Image'].values\npreds = np.load('exp_0prediction.npy')\n\ny_pred = np.where(preds &amp;gt; 0.5, 1, 0)\nlabel_names = ['epidural', 'intraparenchymal', 'intraventricular', 'subarachnoid', 'subdural', 'any']\nfor index in range(6):\n    precision_s = precision_score(y_true[:, index], y_pred[:,index])\n    print('Precision for {} '.format(label_names[index]), precision_s)\nprint()\n\nfor index in range(6):\n    precision_s = recall_score(y_true[:, index], y_pred[:,index])\n    print('Recall for {} '.format(label_names[index]), precision_s)\nprint()\nfor index in range(6):\n    precision_s = roc_auc_score(y_true[:, index], y_pred[:,index])\n    print('RocAucScore for {} '.format(label_names[index]), precision_s)\n</code></pre>",
      "rawMarkdown": "My code for calculating Precision,Recall and RocAuc.If someone has more efficient way please do share. \n\n\timport pandas as pd \n\timport numpy as np \n\tfrom sklearn.metrics import precision_score, recall_score\n\tfrom sklearn.metrics import roc_auc_score\n\n\tdf = pd.read_csv('val.csv')\n\tcols =['epidural', 'intraparenchymal', 'intraventricular', 'subarachnoid', 'subdural', 'any']\n\tdf = df[cols]\n\n\ty_true = df.loc[:, df.columns != 'Image'].values\n\tpreds = np.load('exp_0prediction.npy')\n\n\ty_pred = np.where(preds &gt; 0.5, 1, 0)\n\tlabel_names = ['epidural', 'intraparenchymal', 'intraventricular', 'subarachnoid', 'subdural', 'any']\n\tfor index in range(6):\n\t\tprecision_s = precision_score(y_true[:, index], y_pred[:,index])\n\t\tprint('Precision for {} '.format(label_names[index]), precision_s)\n\tprint()\n\n\tfor index in range(6):\n\t\tprecision_s = recall_score(y_true[:, index], y_pred[:,index])\n\t\tprint('Recall for {} '.format(label_names[index]), precision_s)\n\tprint()\n\tfor index in range(6):\n\t\tprecision_s = roc_auc_score(y_true[:, index], y_pred[:,index])\n\t\tprint('RocAucScore for {} '.format(label_names[index]), precision_s)\n",
      "votes": 1
    },
    {
      "id": 665813,
      "postDate": "2019-11-05T12:30:35.287Z",
      "content": "<p>Hello, in the tensorflow2.0.0 version already has its own function to calculate ROC. You can try it. Thank you for sharing, you are great~</p>",
      "rawMarkdown": "Hello, in the tensorflow2.0.0 version already has its own function to calculate ROC. You can try it. Thank you for sharing, you are great~"
    },
    {
      "id": 659165,
      "postDate": "2019-10-27T07:32:43.487Z",
      "content": "<p>Thanks</p>",
      "rawMarkdown": "Thanks"
    }
  ],
  "comments": [
    {
      "id": 665813,
      "author_name": "Yiyuan",
      "author_url": "",
      "post_date": "2019-11-05T12:30:35.287000",
      "content": "<p>Hello, in the tensorflow2.0.0 version already has its own function to calculate ROC. You can try it. Thank you for sharing, you are great~</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 659165,
      "author_name": "Mishunyayev Nikita",
      "author_url": "",
      "post_date": "2019-10-27T07:32:43.487000",
      "content": "<p>Thanks</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "657578": "My code for calculating Precision,Recall and RocAuc.If someone has more efficient way please do share. \n\n\timport pandas as pd \n\timport numpy as np \n\tfrom sklearn.metrics import precision_score, recall_score\n\tfrom sklearn.metrics import roc_auc_score\n\n\tdf = pd.read_csv('val.csv')\n\tcols =['epidural', 'intraparenchymal', 'intraventricular', 'subarachnoid', 'subdural', 'any']\n\tdf = df[cols]\n\n\ty_true = df.loc[:, df.columns != 'Image'].values\n\tpreds = np.load('exp_0prediction.npy')\n\n\ty_pred = np.where(preds &gt; 0.5, 1, 0)\n\tlabel_names = ['epidural', 'intraparenchymal', 'intraventricular', 'subarachnoid', 'subdural', 'any']\n\tfor index in range(6):\n\t\tprecision_s = precision_score(y_true[:, index], y_pred[:,index])\n\t\tprint('Precision for {} '.format(label_names[index]), precision_s)\n\tprint()\n\n\tfor index in range(6):\n\t\tprecision_s = recall_score(y_true[:, index], y_pred[:,index])\n\t\tprint('Recall for {} '.format(label_names[index]), precision_s)\n\tprint()\n\tfor index in range(6):\n\t\tprecision_s = roc_auc_score(y_true[:, index], y_pred[:,index])\n\t\tprint('RocAucScore for {} '.format(label_names[index]), precision_s)\n",
    "665813": "Hello, in the tensorflow2.0.0 version already has its own function to calculate ROC. You can try it. Thank you for sharing, you are great~",
    "659165": "Thanks"
  }
}