{
  "id": 156153,
  "title": "Extract image features (w/ ImageNet weights)",
  "url": "/competitions/siim-isic-melanoma-classification/discussion/156153",
  "author_name": "",
  "post_date": "2020-06-04T15:58:10.981226500Z",
  "votes": 4,
  "comment_count": 2,
  "views": 0,
  "content": "<p>Link: <a href=\"https://www.kaggle.com/nxrprime/siim-extract-image-features-fully-commented\">https://www.kaggle.com/nxrprime/siim-extract-image-features-fully-commented</a></p>\n\n<p>I decided to try out image feature extraction from @christofhenkel 's notebook and decided to explain @cdeotte 's application of it (do upvote both notebooks BTW).</p>\n\n<p>Feature extraction's output can be applied to LGBM, XGBoost etc. for tabular models which Chris Deotte has already used.</p>",
  "messages": [
    {
      "id": "874057",
      "postDate": "06/04/2020 15:58:10",
      "content": "<p>Link: <a href=\"https://www.kaggle.com/nxrprime/siim-extract-image-features-fully-commented\">https://www.kaggle.com/nxrprime/siim-extract-image-features-fully-commented</a></p>\n\n<p>I decided to try out image feature extraction from @christofhenkel 's notebook and decided to explain @cdeotte 's application of it (do upvote both notebooks BTW).</p>\n\n<p>Feature extraction's output can be applied to LGBM, XGBoost etc. for tabular models which Chris Deotte has already used.</p>",
      "rawMarkdown": "Link: https://www.kaggle.com/nxrprime/siim-extract-image-features-fully-commented\n\nI decided to try out image feature extraction from @christofhenkel 's notebook and decided to explain @cdeotte 's application of it (do upvote both notebooks BTW).\n\nFeature extraction's output can be applied to LGBM, XGBoost etc. for tabular models which Chris Deotte has already used.",
      "votes": null
    },
    {
      "id": "874069",
      "postDate": "06/04/2020 16:09:28",
      "content": "<p>Awesome job. This is something i want to explore too. </p>\n\n<p>What does the line <code>x = AveragePooling1D(4)(x)</code> do? Does this combine every 4 features? So for example if <code>x = GlobalAveragePooling2D()(x)</code> reduced to 1024 features then the <code>AveragePooling1D</code> reduced that to 256?</p>\n\n<p>I'm not sure groups of 4 features are related such that we can do this. Maybe it's better to put the 1024 through PCA and reduce to 256 (if you want 256 instead of 1024).</p>",
      "rawMarkdown": "Awesome job. This is something i want to explore too. \n\nWhat does the line `x = AveragePooling1D(4)(x)` do? Does this combine every 4 features? So for example if `x = GlobalAveragePooling2D()(x)` reduced to 1024 features then the `AveragePooling1D` reduced that to 256?\n\nI'm not sure groups of 4 features are related such that we can do this. Maybe it's better to put the 1024 through PCA and reduce to 256 (if you want 256 instead of 1024).",
      "votes": null
    },
    {
      "id": "874073",
      "postDate": "06/04/2020 16:13:05",
      "content": "<p>Nice observation!</p>\n\n<p>On its own, the DenseNet outputs 1024 features: then after that the global pooling cuts it down. the Lambda reduces it to 1-dimension and the Average Pooling then whittles it down to the minimum for each image (just 1 final feature, because in the output there is 1 feature per image)</p>\n\n<p>I will need to investigate further about the images and features before taking any decisive conclusion on the merits of these strategies; it seems risky as in different types of growths, even Lentigo and Atypical Melanocytic Proliferation have huge variances. </p>",
      "rawMarkdown": "Nice observation!\n\nOn its own, the DenseNet outputs 1024 features: then after that the global pooling cuts it down. the Lambda reduces it to 1-dimension and the Average Pooling then whittles it down to the minimum for each image (just 1 final feature, because in the output there is 1 feature per image)\n\nI will need to investigate further about the images and features before taking any decisive conclusion on the merits of these strategies; it seems risky as in different types of growths, even Lentigo and Atypical Melanocytic Proliferation have huge variances.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 874069,
      "author_name": "cdeotte",
      "author_url": "",
      "post_date": "06/04/2020 16:09:28",
      "content": "<p>Awesome job. This is something i want to explore too. </p>\n\n<p>What does the line <code>x = AveragePooling1D(4)(x)</code> do? Does this combine every 4 features? So for example if <code>x = GlobalAveragePooling2D()(x)</code> reduced to 1024 features then the <code>AveragePooling1D</code> reduced that to 256?</p>\n\n<p>I'm not sure groups of 4 features are related such that we can do this. Maybe it's better to put the 1024 through PCA and reduce to 256 (if you want 256 instead of 1024).</p>",
      "votes": null,
      "replies": [
        {
          "id": 874073,
          "author_name": "nxrprime",
          "author_url": "",
          "post_date": "06/04/2020 16:13:05",
          "content": "<p>Nice observation!</p>\n\n<p>On its own, the DenseNet outputs 1024 features: then after that the global pooling cuts it down. the Lambda reduces it to 1-dimension and the Average Pooling then whittles it down to the minimum for each image (just 1 final feature, because in the output there is 1 feature per image)</p>\n\n<p>I will need to investigate further about the images and features before taking any decisive conclusion on the merits of these strategies; it seems risky as in different types of growths, even Lentigo and Atypical Melanocytic Proliferation have huge variances. </p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "874057": "Link: https://www.kaggle.com/nxrprime/siim-extract-image-features-fully-commented\n\nI decided to try out image feature extraction from @christofhenkel 's notebook and decided to explain @cdeotte 's application of it (do upvote both notebooks BTW).\n\nFeature extraction's output can be applied to LGBM, XGBoost etc. for tabular models which Chris Deotte has already used.",
    "874069": "Awesome job. This is something i want to explore too. \n\nWhat does the line `x = AveragePooling1D(4)(x)` do? Does this combine every 4 features? So for example if `x = GlobalAveragePooling2D()(x)` reduced to 1024 features then the `AveragePooling1D` reduced that to 256?\n\nI'm not sure groups of 4 features are related such that we can do this. Maybe it's better to put the 1024 through PCA and reduce to 256 (if you want 256 instead of 1024).",
    "874073": "Nice observation!\n\nOn its own, the DenseNet outputs 1024 features: then after that the global pooling cuts it down. the Lambda reduces it to 1-dimension and the Average Pooling then whittles it down to the minimum for each image (just 1 final feature, because in the output there is 1 feature per image)\n\nI will need to investigate further about the images and features before taking any decisive conclusion on the merits of these strategies; it seems risky as in different types of growths, even Lentigo and Atypical Melanocytic Proliferation have huge variances."
  },
  "source": "meta"
}