{
  "id": 492864,
  "title": "Bird Sound Denoising  & Rating Predict Model",
  "url": "/competitions/birdclef-2024/discussion/492864",
  "author_name": "lhwcv",
  "post_date": "2024-04-11T07:29:16.942000",
  "votes": 17,
  "comment_count": 15,
  "views": 0,
  "content": "<p>Update 2024-04-12<br>\nRating indicates the quality level of the audio (specifically for bird sounds), but I found that the labels are not necessarily accurate, for example, some samples with rating = 0 actually sound quite good.</p>\n<p>In this notebook: <a href=\"https://www.kaggle.com/code/lihaoweicvch/rating-pred-unlabeled-soundscapes-prediction\" target=\"_blank\">Rating Pred &amp; unlabeled_soundscapes prediction</a></p>\n<p>I developed a model to regress the Rating, and the Mean Squared Error (MSE) for validation is 1.01.</p>\n<p>This way, we can observe the difference between the model's prediction and the actual labels.</p>\n<p>At the same time,we can make predictions on the unlabeled data, select relatively high-quality data, and use them for subsequent tasks.</p>\n<hr>\n<p>We have a bird sound denoising model, which I think is important and interesting for this task. I have made some attempts in the following notebook, and we need to further improve it.<br>\n<a href=\"https://www.kaggle.com/code/lihaoweicvch/bird-sound-denoise-by-deep-model\" target=\"_blank\">bird-sound-denoise-by-deep-model</a></p>\n<p>In this notebook, we will explore the following questions:</p>\n<ul>\n<li>Introduce a deep denoising model to estimate the Signal-to-Noise Ratio (SNR) of audio.</li>\n<li>Review the distribution of SNR in the training data and observe its correlation with rating.</li>\n<li>Review the distribution of SNR in the test data (unlabeled_soundscapes).</li>\n</ul>\n<p>Areas for improvement: The denoising model is designed for human voices, maybe we should train one specifically for enhancing bird sounds. If you know of a source for clean bird sound data, please let me know.</p>",
  "messages": [
    {
      "id": 2746376,
      "postDate": "2024-04-11T07:29:16.943Z",
      "content": "<p>Update 2024-04-12<br>\nRating indicates the quality level of the audio (specifically for bird sounds), but I found that the labels are not necessarily accurate, for example, some samples with rating = 0 actually sound quite good.</p>\n<p>In this notebook: <a href=\"https://www.kaggle.com/code/lihaoweicvch/rating-pred-unlabeled-soundscapes-prediction\" target=\"_blank\">Rating Pred &amp; unlabeled_soundscapes prediction</a></p>\n<p>I developed a model to regress the Rating, and the Mean Squared Error (MSE) for validation is 1.01.</p>\n<p>This way, we can observe the difference between the model's prediction and the actual labels.</p>\n<p>At the same time,we can make predictions on the unlabeled data, select relatively high-quality data, and use them for subsequent tasks.</p>\n<hr>\n<p>We have a bird sound denoising model, which I think is important and interesting for this task. I have made some attempts in the following notebook, and we need to further improve it.<br>\n<a href=\"https://www.kaggle.com/code/lihaoweicvch/bird-sound-denoise-by-deep-model\" target=\"_blank\">bird-sound-denoise-by-deep-model</a></p>\n<p>In this notebook, we will explore the following questions:</p>\n<ul>\n<li>Introduce a deep denoising model to estimate the Signal-to-Noise Ratio (SNR) of audio.</li>\n<li>Review the distribution of SNR in the training data and observe its correlation with rating.</li>\n<li>Review the distribution of SNR in the test data (unlabeled_soundscapes).</li>\n</ul>\n<p>Areas for improvement: The denoising model is designed for human voices, maybe we should train one specifically for enhancing bird sounds. If you know of a source for clean bird sound data, please let me know.</p>",
      "rawMarkdown": "Update 2024-04-12\nRating indicates the quality level of the audio (specifically for bird sounds), but I found that the labels are not necessarily accurate, for example, some samples with rating = 0 actually sound quite good.\n\nIn this notebook: [Rating Pred & unlabeled_soundscapes prediction](https://www.kaggle.com/code/lihaoweicvch/rating-pred-unlabeled-soundscapes-prediction)\n\nI developed a model to regress the Rating, and the Mean Squared Error (MSE) for validation is 1.01.\n\nThis way, we can observe the difference between the model's prediction and the actual labels.\n\nAt the same time,we can make predictions on the unlabeled data, select relatively high-quality data, and use them for subsequent tasks.\n\n----\n\nWe have a bird sound denoising model, which I think is important and interesting for this task. I have made some attempts in the following notebook, and we need to further improve it.\n[bird-sound-denoise-by-deep-model](https://www.kaggle.com/code/lihaoweicvch/bird-sound-denoise-by-deep-model)\n\nIn this notebook, we will explore the following questions:\n\n- Introduce a deep denoising model to estimate the Signal-to-Noise Ratio (SNR) of audio.\n- Review the distribution of SNR in the training data and observe its correlation with rating.\n- Review the distribution of SNR in the test data (unlabeled_soundscapes).\n\nAreas for improvement: The denoising model is designed for human voices, maybe we should train one specifically for enhancing bird sounds. If you know of a source for clean bird sound data, please let me know.",
      "votes": 17
    },
    {
      "id": 2777359,
      "postDate": "2024-04-26T16:04:47.627Z",
      "content": "<p>Thanks for starting the discussion!<br>\nI've been working on implementing noise reduction during both inference and training phases, but it seems like it hasn't made much of a difference in the scores. Here's the link to my notebook.<br>\ntrain : <a href=\"https://www.kaggle.com/code/kmatsu01/birdclef-24-pytorch-noise-reduction-train\" target=\"_blank\">https://www.kaggle.com/code/kmatsu01/birdclef-24-pytorch-noise-reduction-train</a><br>\ninference : <a href=\"https://www.kaggle.com/code/kmatsu01/birdclef-24-infererence-with-noise-reduction\" target=\"_blank\">https://www.kaggle.com/code/kmatsu01/birdclef-24-infererence-with-noise-reduction</a></p>",
      "rawMarkdown": "Thanks for starting the discussion!\nI've been working on implementing noise reduction during both inference and training phases, but it seems like it hasn't made much of a difference in the scores. Here's the link to my notebook.\ntrain : https://www.kaggle.com/code/kmatsu01/birdclef-24-pytorch-noise-reduction-train\ninference : https://www.kaggle.com/code/kmatsu01/birdclef-24-infererence-with-noise-reduction",
      "votes": 1,
      "replies": [
        {
          "id": 2778171,
          "postDate": "2024-04-27T02:10:54.540Z",
          "content": "<p>Thank you for sharing, I”ll learn that</p>",
          "rawMarkdown": "Thank you for sharing, I”ll learn that",
          "votes": 1
        }
      ]
    },
    {
      "id": 2747025,
      "postDate": "2024-04-11T15:57:39.337Z",
      "content": "<p>Did you get improvement when applying your denoiser ?  in your CV maybe ?</p>",
      "rawMarkdown": "Did you get improvement when applying your denoiser ?  in your CV maybe ?",
      "votes": 1,
      "replies": [
        {
          "id": 2747541,
          "postDate": "2024-04-12T00:12:06.783Z",
          "content": "<p>I haven't tried it yet, but I anticipate it will perform worse, because the current model is targeted towards human voice.</p>",
          "rawMarkdown": "I haven't tried it yet, but I anticipate it will perform worse, because the current model is targeted towards human voice.",
          "votes": 1
        }
      ]
    },
    {
      "id": 2746410,
      "postDate": "2024-04-11T07:47:16.753Z",
      "content": "<p>I believe we can develop such a model to make better use of unlabeled_soundscapes, for instance, assessing the quality of these data. Enhancements in noise reduction could possibly result in better pseudo-labels. For example, we could extract the noise to utilize it even more effectively. After all, they are recorded at the same place as the test data, and their distributions are likely to be similar.</p>",
      "rawMarkdown": "I believe we can develop such a model to make better use of unlabeled_soundscapes, for instance, assessing the quality of these data. Enhancements in noise reduction could possibly result in better pseudo-labels. For example, we could extract the noise to utilize it even more effectively. After all, they are recorded at the same place as the test data, and their distributions are likely to be similar.",
      "votes": 1
    },
    {
      "id": 2746390,
      "postDate": "2024-04-11T07:36:28.137Z",
      "content": "<p>Hey, that's a good idea, <br>\nWill you be able to infer a Denoising model then a classification on top of it in 2 hours of Runtime ? I refrain from 2 stages approach because of the contrains.</p>",
      "rawMarkdown": "Hey, that's a good idea, \nWill you be able to infer a Denoising model then a classification on top of it in 2 hours of Runtime ? I refrain from 2 stages approach because of the contrains.",
      "votes": 1,
      "replies": [
        {
          "id": 2746395,
          "postDate": "2024-04-11T07:40:48.997Z",
          "content": "<p>The time might potentially exceed, but this is not absolute. I believe we can develop such a model to better use unlabeled_soundscapes, such as evaluating the quality of these datasets. Denoising enhancements may produce better pseudo-labels.</p>",
          "rawMarkdown": "The time might potentially exceed, but this is not absolute. I believe we can develop such a model to better use unlabeled_soundscapes, such as evaluating the quality of these datasets. Denoising enhancements may produce better pseudo-labels.",
          "replies": [
            {
              "id": 2746485,
              "postDate": "2024-04-11T08:47:29.937Z",
              "content": "<p>Won't the pseudo labels then be closer to the training data and further from the test ? What you need is a model trained on adding noise to the training data so that it matches the distribution of the unlabeled soundscapes, train a model on them and then infer normally. The other way around means you are making all of your training data too clean for the test no ?</p>",
              "rawMarkdown": "Won't the pseudo labels then be closer to the training data and further from the test ? What you need is a model trained on adding noise to the training data so that it matches the distribution of the unlabeled soundscapes, train a model on them and then infer normally. The other way around means you are making all of your training data too clean for the test no ?",
              "votes": 1
            },
            {
              "id": 2746522,
              "postDate": "2024-04-11T09:26:58.300Z",
              "rawMarkdown": "",
              "isDeleted": true
            },
            {
              "id": 2746523,
              "postDate": "2024-04-11T09:27:19.247Z",
              "content": "<p>My basic idea is to extract the bird sounds from the noise via a denoising model, and separate the noise. Perhaps when creating pseudo-labels with the clean, isolated bird sounds, the results may be more accurate. Furthermore, one can separately take the clean bird sounds and noise to create diverse mixtures. Finally, during inference, the model is still capable of handling audio with noise.</p>",
              "rawMarkdown": "My basic idea is to extract the bird sounds from the noise via a denoising model, and separate the noise. Perhaps when creating pseudo-labels with the clean, isolated bird sounds, the results may be more accurate. Furthermore, one can separately take the clean bird sounds and noise to create diverse mixtures. Finally, during inference, the model is still capable of handling audio with noise.",
              "votes": 1
            },
            {
              "id": 2746670,
              "postDate": "2024-04-11T11:58:08Z",
              "content": "<blockquote>\n  <p>Finally, during inference, the model is still capable of handling audio with noise.</p>\n</blockquote>\n<p>How do you come up to this conclusion ? From what I understand, there will still be a major domain shift</p>",
              "rawMarkdown": "> Finally, during inference, the model is still capable of handling audio with noise.\n\nHow do you come up to this conclusion ? From what I understand, there will still be a major domain shift"
            },
            {
              "id": 2747611,
              "postDate": "2024-04-12T02:13:21.083Z",
              "content": "<p>Maybe you are right, let think about it and do some experiments</p>",
              "rawMarkdown": "Maybe you are right, let think about it and do some experiments"
            }
          ]
        }
      ]
    },
    {
      "id": 2747698,
      "postDate": "2024-04-12T02:58:24.757Z",
      "content": "<p>Rating pred model can be used to look the data quality on unlabeled data:<br>\n<img src=\"https://www.kaggleusercontent.com/kf/171600333/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..O8f-Z7IOPl5t5O8EuObKxw.gAnp0P-heBHCNGqFTE8q2M9lz_WPzZQhNIYEQKZc7-8j6ZR9POp0rkVzJJ4DNgv-6g24j8MhsYdmT3PMKyL8MhHViCdwJGK09LmY0GJMmN5W78llCYIXUZmfxpG6tmobn60hNxTYgr9lwUtvk4BcFot9caN1OPkyol8NsV7GsyasdWP6cTpDniR6h5FNN6cBGeYl6JIUpSQhXfm-VUf-cmLtahiaZu2QfI7DLad9ki5qSP0700FTT0iDPlTDPFF38FVq2QtglrxRauX92msueauaOfiZ0sDoyEslUXWGgOIlKtL0iNLswSxfjYNx1BjLw2Fg38ypSAQVpwMhSN7z8GOCdcKdjTu5ZEwwNwet7-Vl7pPnmQg_Ahp74oziwhRJJarGx7TinSUewAhLLHt4XFC0GPii7wlpoK2uvWtX6XPtfACKliCfEPrWfDzx5vtaTKz69_2E5wqI3T9rAvNsqnkc8us6bs9yGHuN8vlFKe7a5NCdpERmmFGQxJFTd2CSJghGkM-StOe1f-IUSEeBDnBRsBtEvTDA_rejVbEmLBpUdLmIXZHBvgmOsGFJe7U3uajjwGFSxE553W8wXc1zY7TXWNC_Gisb4wSzuf-LmVSU71GBmlpYBfMjLLlifpuyNOSjqcf-lgVKDhDYG8it3n_fYOcxC8dOczDlI4bUv6M.iZwid3t91Y9E7mUDJr1O_A/__results___files/__results___19_0.png\"></p>\n<p>Unlabeled data quality is worse than train<br>\n<img src=\"https://www.kaggleusercontent.com/kf/171600333/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..O8f-Z7IOPl5t5O8EuObKxw.gAnp0P-heBHCNGqFTE8q2M9lz_WPzZQhNIYEQKZc7-8j6ZR9POp0rkVzJJ4DNgv-6g24j8MhsYdmT3PMKyL8MhHViCdwJGK09LmY0GJMmN5W78llCYIXUZmfxpG6tmobn60hNxTYgr9lwUtvk4BcFot9caN1OPkyol8NsV7GsyasdWP6cTpDniR6h5FNN6cBGeYl6JIUpSQhXfm-VUf-cmLtahiaZu2QfI7DLad9ki5qSP0700FTT0iDPlTDPFF38FVq2QtglrxRauX92msueauaOfiZ0sDoyEslUXWGgOIlKtL0iNLswSxfjYNx1BjLw2Fg38ypSAQVpwMhSN7z8GOCdcKdjTu5ZEwwNwet7-Vl7pPnmQg_Ahp74oziwhRJJarGx7TinSUewAhLLHt4XFC0GPii7wlpoK2uvWtX6XPtfACKliCfEPrWfDzx5vtaTKz69_2E5wqI3T9rAvNsqnkc8us6bs9yGHuN8vlFKe7a5NCdpERmmFGQxJFTd2CSJghGkM-StOe1f-IUSEeBDnBRsBtEvTDA_rejVbEmLBpUdLmIXZHBvgmOsGFJe7U3uajjwGFSxE553W8wXc1zY7TXWNC_Gisb4wSzuf-LmVSU71GBmlpYBfMjLLlifpuyNOSjqcf-lgVKDhDYG8it3n_fYOcxC8dOczDlI4bUv6M.iZwid3t91Y9E7mUDJr1O_A/__results___files/__results___21_0.png\"></p>",
      "rawMarkdown": "Rating pred model can be used to look the data quality on unlabeled data:\n![](https://www.kaggleusercontent.com/kf/171600333/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..O8f-Z7IOPl5t5O8EuObKxw.gAnp0P-heBHCNGqFTE8q2M9lz_WPzZQhNIYEQKZc7-8j6ZR9POp0rkVzJJ4DNgv-6g24j8MhsYdmT3PMKyL8MhHViCdwJGK09LmY0GJMmN5W78llCYIXUZmfxpG6tmobn60hNxTYgr9lwUtvk4BcFot9caN1OPkyol8NsV7GsyasdWP6cTpDniR6h5FNN6cBGeYl6JIUpSQhXfm-VUf-cmLtahiaZu2QfI7DLad9ki5qSP0700FTT0iDPlTDPFF38FVq2QtglrxRauX92msueauaOfiZ0sDoyEslUXWGgOIlKtL0iNLswSxfjYNx1BjLw2Fg38ypSAQVpwMhSN7z8GOCdcKdjTu5ZEwwNwet7-Vl7pPnmQg_Ahp74oziwhRJJarGx7TinSUewAhLLHt4XFC0GPii7wlpoK2uvWtX6XPtfACKliCfEPrWfDzx5vtaTKz69_2E5wqI3T9rAvNsqnkc8us6bs9yGHuN8vlFKe7a5NCdpERmmFGQxJFTd2CSJghGkM-StOe1f-IUSEeBDnBRsBtEvTDA_rejVbEmLBpUdLmIXZHBvgmOsGFJe7U3uajjwGFSxE553W8wXc1zY7TXWNC_Gisb4wSzuf-LmVSU71GBmlpYBfMjLLlifpuyNOSjqcf-lgVKDhDYG8it3n_fYOcxC8dOczDlI4bUv6M.iZwid3t91Y9E7mUDJr1O_A/__results___files/__results___19_0.png)\n\nUnlabeled data quality is worse than train\n![](https://www.kaggleusercontent.com/kf/171600333/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..O8f-Z7IOPl5t5O8EuObKxw.gAnp0P-heBHCNGqFTE8q2M9lz_WPzZQhNIYEQKZc7-8j6ZR9POp0rkVzJJ4DNgv-6g24j8MhsYdmT3PMKyL8MhHViCdwJGK09LmY0GJMmN5W78llCYIXUZmfxpG6tmobn60hNxTYgr9lwUtvk4BcFot9caN1OPkyol8NsV7GsyasdWP6cTpDniR6h5FNN6cBGeYl6JIUpSQhXfm-VUf-cmLtahiaZu2QfI7DLad9ki5qSP0700FTT0iDPlTDPFF38FVq2QtglrxRauX92msueauaOfiZ0sDoyEslUXWGgOIlKtL0iNLswSxfjYNx1BjLw2Fg38ypSAQVpwMhSN7z8GOCdcKdjTu5ZEwwNwet7-Vl7pPnmQg_Ahp74oziwhRJJarGx7TinSUewAhLLHt4XFC0GPii7wlpoK2uvWtX6XPtfACKliCfEPrWfDzx5vtaTKz69_2E5wqI3T9rAvNsqnkc8us6bs9yGHuN8vlFKe7a5NCdpERmmFGQxJFTd2CSJghGkM-StOe1f-IUSEeBDnBRsBtEvTDA_rejVbEmLBpUdLmIXZHBvgmOsGFJe7U3uajjwGFSxE553W8wXc1zY7TXWNC_Gisb4wSzuf-LmVSU71GBmlpYBfMjLLlifpuyNOSjqcf-lgVKDhDYG8it3n_fYOcxC8dOczDlI4bUv6M.iZwid3t91Y9E7mUDJr1O_A/__results___files/__results___21_0.png)",
      "votes": 2,
      "replies": [
        {
          "id": 2777408,
          "postDate": "2024-04-26T16:24:23.883Z",
          "content": "<blockquote>\n  <p>Unlabeled data quality is worse than train</p>\n</blockquote>\n<p>LB scores confirm that unfortunately.</p>",
          "rawMarkdown": "> Unlabeled data quality is worse than train\n\nLB scores confirm that unfortunately.",
          "votes": 2
        }
      ]
    },
    {
      "id": 2746381,
      "postDate": "2024-04-11T07:32:34.207Z",
      "content": "<p>demo data before denoise <br>\n<img src=\"https://www.kaggleusercontent.com/kf/171470843/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..JcYSEtHj9SSKje2bibNpEw.4BBtBqf59hARgYPoBdBnyj3UxfTHDMupYqMO73WYFxaHKgMxPgnKOpTSpCzthu8M0OS3okqv2USPHxF7roE4xEHG6YoyNdYT41GnYnx9BIKzONIrXKbngHxFQb0EIajfQbIwwUMEjT2xZGfJFG50s7Gn-OrFjy23zu0JhbMtjnqVxs30uEOWGQx7hAjMqfV7WWINWQxYh9oKuIboMFpM3rBPqvDEQNU9_Bj-CxNvSUl_rzoE1MvCWyaCRTqCUIuZ67R5bx8nBNHCk2z8RZZotNWMnaHYsdxjCj_nMuAoBWgMMJ39pUxD9X805XpPEBZHQJ4IjLYZIrl5WgAZ6e2IN8RulYizgNsSD8Asd9Hz3hTICs-Il8fnSp-LXK641460quugBkvPEMwHG-AEmwgSmbHrlNPlisvBz5jLFnhk3ppdyMP6UXfAR1FKw-PbRBGmz1lPUkiyd1UdXUrhq6qDwh6tbgbhTR5T_f_JifXUfISqIJwy6QlvgfycUbmyYwcqlYzsePFgoSLIyKolF60T3_rzYjOoeGgy9IILCqTpV_jPLydBNf8vOrEsmTQlQR4SMl3ilN3dC40g6PFSaMWl5wdqgaafU5JQQ8yWpZ0MX4vQrowsLwdKw5VD1JHPv_Vi5DUJX8kTrNYnKP4o14gZoJu3YLhBAuylx5D1ckcV3lg.oI_O9Uya9nnzJfBy8YUsjw/__results___files/__results___7_2.png\"></p>\n<p>after denoise</p>\n<p><img src=\"https://www.kaggleusercontent.com/kf/171470843/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..JcYSEtHj9SSKje2bibNpEw.4BBtBqf59hARgYPoBdBnyj3UxfTHDMupYqMO73WYFxaHKgMxPgnKOpTSpCzthu8M0OS3okqv2USPHxF7roE4xEHG6YoyNdYT41GnYnx9BIKzONIrXKbngHxFQb0EIajfQbIwwUMEjT2xZGfJFG50s7Gn-OrFjy23zu0JhbMtjnqVxs30uEOWGQx7hAjMqfV7WWINWQxYh9oKuIboMFpM3rBPqvDEQNU9_Bj-CxNvSUl_rzoE1MvCWyaCRTqCUIuZ67R5bx8nBNHCk2z8RZZotNWMnaHYsdxjCj_nMuAoBWgMMJ39pUxD9X805XpPEBZHQJ4IjLYZIrl5WgAZ6e2IN8RulYizgNsSD8Asd9Hz3hTICs-Il8fnSp-LXK641460quugBkvPEMwHG-AEmwgSmbHrlNPlisvBz5jLFnhk3ppdyMP6UXfAR1FKw-PbRBGmz1lPUkiyd1UdXUrhq6qDwh6tbgbhTR5T_f_JifXUfISqIJwy6QlvgfycUbmyYwcqlYzsePFgoSLIyKolF60T3_rzYjOoeGgy9IILCqTpV_jPLydBNf8vOrEsmTQlQR4SMl3ilN3dC40g6PFSaMWl5wdqgaafU5JQQ8yWpZ0MX4vQrowsLwdKw5VD1JHPv_Vi5DUJX8kTrNYnKP4o14gZoJu3YLhBAuylx5D1ckcV3lg.oI_O9Uya9nnzJfBy8YUsjw/__results___files/__results___9_2.png\"></p>",
      "rawMarkdown": "demo data before denoise \n![](https://www.kaggleusercontent.com/kf/171470843/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..JcYSEtHj9SSKje2bibNpEw.4BBtBqf59hARgYPoBdBnyj3UxfTHDMupYqMO73WYFxaHKgMxPgnKOpTSpCzthu8M0OS3okqv2USPHxF7roE4xEHG6YoyNdYT41GnYnx9BIKzONIrXKbngHxFQb0EIajfQbIwwUMEjT2xZGfJFG50s7Gn-OrFjy23zu0JhbMtjnqVxs30uEOWGQx7hAjMqfV7WWINWQxYh9oKuIboMFpM3rBPqvDEQNU9_Bj-CxNvSUl_rzoE1MvCWyaCRTqCUIuZ67R5bx8nBNHCk2z8RZZotNWMnaHYsdxjCj_nMuAoBWgMMJ39pUxD9X805XpPEBZHQJ4IjLYZIrl5WgAZ6e2IN8RulYizgNsSD8Asd9Hz3hTICs-Il8fnSp-LXK641460quugBkvPEMwHG-AEmwgSmbHrlNPlisvBz5jLFnhk3ppdyMP6UXfAR1FKw-PbRBGmz1lPUkiyd1UdXUrhq6qDwh6tbgbhTR5T_f_JifXUfISqIJwy6QlvgfycUbmyYwcqlYzsePFgoSLIyKolF60T3_rzYjOoeGgy9IILCqTpV_jPLydBNf8vOrEsmTQlQR4SMl3ilN3dC40g6PFSaMWl5wdqgaafU5JQQ8yWpZ0MX4vQrowsLwdKw5VD1JHPv_Vi5DUJX8kTrNYnKP4o14gZoJu3YLhBAuylx5D1ckcV3lg.oI_O9Uya9nnzJfBy8YUsjw/__results___files/__results___7_2.png)\n\nafter denoise\n\n![](https://www.kaggleusercontent.com/kf/171470843/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..JcYSEtHj9SSKje2bibNpEw.4BBtBqf59hARgYPoBdBnyj3UxfTHDMupYqMO73WYFxaHKgMxPgnKOpTSpCzthu8M0OS3okqv2USPHxF7roE4xEHG6YoyNdYT41GnYnx9BIKzONIrXKbngHxFQb0EIajfQbIwwUMEjT2xZGfJFG50s7Gn-OrFjy23zu0JhbMtjnqVxs30uEOWGQx7hAjMqfV7WWINWQxYh9oKuIboMFpM3rBPqvDEQNU9_Bj-CxNvSUl_rzoE1MvCWyaCRTqCUIuZ67R5bx8nBNHCk2z8RZZotNWMnaHYsdxjCj_nMuAoBWgMMJ39pUxD9X805XpPEBZHQJ4IjLYZIrl5WgAZ6e2IN8RulYizgNsSD8Asd9Hz3hTICs-Il8fnSp-LXK641460quugBkvPEMwHG-AEmwgSmbHrlNPlisvBz5jLFnhk3ppdyMP6UXfAR1FKw-PbRBGmz1lPUkiyd1UdXUrhq6qDwh6tbgbhTR5T_f_JifXUfISqIJwy6QlvgfycUbmyYwcqlYzsePFgoSLIyKolF60T3_rzYjOoeGgy9IILCqTpV_jPLydBNf8vOrEsmTQlQR4SMl3ilN3dC40g6PFSaMWl5wdqgaafU5JQQ8yWpZ0MX4vQrowsLwdKw5VD1JHPv_Vi5DUJX8kTrNYnKP4o14gZoJu3YLhBAuylx5D1ckcV3lg.oI_O9Uya9nnzJfBy8YUsjw/__results___files/__results___9_2.png)"
    }
  ],
  "comments": [
    {
      "id": 2777359,
      "author_name": "kmn",
      "author_url": "",
      "post_date": "2024-04-26T16:04:47.627000",
      "content": "<p>Thanks for starting the discussion!<br>\nI've been working on implementing noise reduction during both inference and training phases, but it seems like it hasn't made much of a difference in the scores. Here's the link to my notebook.<br>\ntrain : <a href=\"https://www.kaggle.com/code/kmatsu01/birdclef-24-pytorch-noise-reduction-train\" target=\"_blank\">https://www.kaggle.com/code/kmatsu01/birdclef-24-pytorch-noise-reduction-train</a><br>\ninference : <a href=\"https://www.kaggle.com/code/kmatsu01/birdclef-24-infererence-with-noise-reduction\" target=\"_blank\">https://www.kaggle.com/code/kmatsu01/birdclef-24-infererence-with-noise-reduction</a></p>",
      "votes": 1,
      "replies": [
        {
          "id": 2778171,
          "author_name": "lhwcv",
          "author_url": "",
          "post_date": "2024-04-27T02:10:54.540000",
          "content": "<p>Thank you for sharing, I”ll learn that</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 2747025,
      "author_name": "yukiya",
      "author_url": "",
      "post_date": "2024-04-11T15:57:39.337000",
      "content": "<p>Did you get improvement when applying your denoiser ?  in your CV maybe ?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 2747541,
          "author_name": "lhwcv",
          "author_url": "",
          "post_date": "2024-04-12T00:12:06.783000",
          "content": "<p>I haven't tried it yet, but I anticipate it will perform worse, because the current model is targeted towards human voice.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 2746410,
      "author_name": "lhwcv",
      "author_url": "",
      "post_date": "2024-04-11T07:47:16.753000",
      "content": "<p>I believe we can develop such a model to make better use of unlabeled_soundscapes, for instance, assessing the quality of these data. Enhancements in noise reduction could possibly result in better pseudo-labels. For example, we could extract the noise to utilize it even more effectively. After all, they are recorded at the same place as the test data, and their distributions are likely to be similar.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 2746390,
      "author_name": "JEANMPIA",
      "author_url": "",
      "post_date": "2024-04-11T07:36:28.137000",
      "content": "<p>Hey, that's a good idea, <br>\nWill you be able to infer a Denoising model then a classification on top of it in 2 hours of Runtime ? I refrain from 2 stages approach because of the contrains.</p>",
      "votes": 1,
      "replies": [
        {
          "id": 2746395,
          "author_name": "lhwcv",
          "author_url": "",
          "post_date": "2024-04-11T07:40:48.997000",
          "content": "<p>The time might potentially exceed, but this is not absolute. I believe we can develop such a model to better use unlabeled_soundscapes, such as evaluating the quality of these datasets. Denoising enhancements may produce better pseudo-labels.</p>",
          "votes": 0,
          "replies": [
            {
              "id": 2746485,
              "author_name": "JEANMPIA",
              "author_url": "",
              "post_date": "2024-04-11T08:47:29.937000",
              "content": "<p>Won't the pseudo labels then be closer to the training data and further from the test ? What you need is a model trained on adding noise to the training data so that it matches the distribution of the unlabeled soundscapes, train a model on them and then infer normally. The other way around means you are making all of your training data too clean for the test no ?</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 2746522,
              "author_name": "",
              "author_url": "",
              "post_date": "2024-04-11T09:26:58.300000",
              "content": "",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2746523,
              "author_name": "lhwcv",
              "author_url": "",
              "post_date": "2024-04-11T09:27:19.247000",
              "content": "<p>My basic idea is to extract the bird sounds from the noise via a denoising model, and separate the noise. Perhaps when creating pseudo-labels with the clean, isolated bird sounds, the results may be more accurate. Furthermore, one can separately take the clean bird sounds and noise to create diverse mixtures. Finally, during inference, the model is still capable of handling audio with noise.</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 2746670,
              "author_name": "JEANMPIA",
              "author_url": "",
              "post_date": "2024-04-11T11:58:08",
              "content": "<blockquote>\n  <p>Finally, during inference, the model is still capable of handling audio with noise.</p>\n</blockquote>\n<p>How do you come up to this conclusion ? From what I understand, there will still be a major domain shift</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2747611,
              "author_name": "lhwcv",
              "author_url": "",
              "post_date": "2024-04-12T02:13:21.083000",
              "content": "<p>Maybe you are right, let think about it and do some experiments</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 2747698,
      "author_name": "lhwcv",
      "author_url": "",
      "post_date": "2024-04-12T02:58:24.757000",
      "content": "<p>Rating pred model can be used to look the data quality on unlabeled data:<br>\n<img src=\"https://www.kaggleusercontent.com/kf/171600333/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..O8f-Z7IOPl5t5O8EuObKxw.gAnp0P-heBHCNGqFTE8q2M9lz_WPzZQhNIYEQKZc7-8j6ZR9POp0rkVzJJ4DNgv-6g24j8MhsYdmT3PMKyL8MhHViCdwJGK09LmY0GJMmN5W78llCYIXUZmfxpG6tmobn60hNxTYgr9lwUtvk4BcFot9caN1OPkyol8NsV7GsyasdWP6cTpDniR6h5FNN6cBGeYl6JIUpSQhXfm-VUf-cmLtahiaZu2QfI7DLad9ki5qSP0700FTT0iDPlTDPFF38FVq2QtglrxRauX92msueauaOfiZ0sDoyEslUXWGgOIlKtL0iNLswSxfjYNx1BjLw2Fg38ypSAQVpwMhSN7z8GOCdcKdjTu5ZEwwNwet7-Vl7pPnmQg_Ahp74oziwhRJJarGx7TinSUewAhLLHt4XFC0GPii7wlpoK2uvWtX6XPtfACKliCfEPrWfDzx5vtaTKz69_2E5wqI3T9rAvNsqnkc8us6bs9yGHuN8vlFKe7a5NCdpERmmFGQxJFTd2CSJghGkM-StOe1f-IUSEeBDnBRsBtEvTDA_rejVbEmLBpUdLmIXZHBvgmOsGFJe7U3uajjwGFSxE553W8wXc1zY7TXWNC_Gisb4wSzuf-LmVSU71GBmlpYBfMjLLlifpuyNOSjqcf-lgVKDhDYG8it3n_fYOcxC8dOczDlI4bUv6M.iZwid3t91Y9E7mUDJr1O_A/__results___files/__results___19_0.png\"></p>\n<p>Unlabeled data quality is worse than train<br>\n<img src=\"https://www.kaggleusercontent.com/kf/171600333/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..O8f-Z7IOPl5t5O8EuObKxw.gAnp0P-heBHCNGqFTE8q2M9lz_WPzZQhNIYEQKZc7-8j6ZR9POp0rkVzJJ4DNgv-6g24j8MhsYdmT3PMKyL8MhHViCdwJGK09LmY0GJMmN5W78llCYIXUZmfxpG6tmobn60hNxTYgr9lwUtvk4BcFot9caN1OPkyol8NsV7GsyasdWP6cTpDniR6h5FNN6cBGeYl6JIUpSQhXfm-VUf-cmLtahiaZu2QfI7DLad9ki5qSP0700FTT0iDPlTDPFF38FVq2QtglrxRauX92msueauaOfiZ0sDoyEslUXWGgOIlKtL0iNLswSxfjYNx1BjLw2Fg38ypSAQVpwMhSN7z8GOCdcKdjTu5ZEwwNwet7-Vl7pPnmQg_Ahp74oziwhRJJarGx7TinSUewAhLLHt4XFC0GPii7wlpoK2uvWtX6XPtfACKliCfEPrWfDzx5vtaTKz69_2E5wqI3T9rAvNsqnkc8us6bs9yGHuN8vlFKe7a5NCdpERmmFGQxJFTd2CSJghGkM-StOe1f-IUSEeBDnBRsBtEvTDA_rejVbEmLBpUdLmIXZHBvgmOsGFJe7U3uajjwGFSxE553W8wXc1zY7TXWNC_Gisb4wSzuf-LmVSU71GBmlpYBfMjLLlifpuyNOSjqcf-lgVKDhDYG8it3n_fYOcxC8dOczDlI4bUv6M.iZwid3t91Y9E7mUDJr1O_A/__results___files/__results___21_0.png\"></p>",
      "votes": 2,
      "replies": [
        {
          "id": 2777408,
          "author_name": "CPMP",
          "author_url": "",
          "post_date": "2024-04-26T16:24:23.883000",
          "content": "<blockquote>\n  <p>Unlabeled data quality is worse than train</p>\n</blockquote>\n<p>LB scores confirm that unfortunately.</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 2746381,
      "author_name": "lhwcv",
      "author_url": "",
      "post_date": "2024-04-11T07:32:34.207000",
      "content": "<p>demo data before denoise <br>\n<img src=\"https://www.kaggleusercontent.com/kf/171470843/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..JcYSEtHj9SSKje2bibNpEw.4BBtBqf59hARgYPoBdBnyj3UxfTHDMupYqMO73WYFxaHKgMxPgnKOpTSpCzthu8M0OS3okqv2USPHxF7roE4xEHG6YoyNdYT41GnYnx9BIKzONIrXKbngHxFQb0EIajfQbIwwUMEjT2xZGfJFG50s7Gn-OrFjy23zu0JhbMtjnqVxs30uEOWGQx7hAjMqfV7WWINWQxYh9oKuIboMFpM3rBPqvDEQNU9_Bj-CxNvSUl_rzoE1MvCWyaCRTqCUIuZ67R5bx8nBNHCk2z8RZZotNWMnaHYsdxjCj_nMuAoBWgMMJ39pUxD9X805XpPEBZHQJ4IjLYZIrl5WgAZ6e2IN8RulYizgNsSD8Asd9Hz3hTICs-Il8fnSp-LXK641460quugBkvPEMwHG-AEmwgSmbHrlNPlisvBz5jLFnhk3ppdyMP6UXfAR1FKw-PbRBGmz1lPUkiyd1UdXUrhq6qDwh6tbgbhTR5T_f_JifXUfISqIJwy6QlvgfycUbmyYwcqlYzsePFgoSLIyKolF60T3_rzYjOoeGgy9IILCqTpV_jPLydBNf8vOrEsmTQlQR4SMl3ilN3dC40g6PFSaMWl5wdqgaafU5JQQ8yWpZ0MX4vQrowsLwdKw5VD1JHPv_Vi5DUJX8kTrNYnKP4o14gZoJu3YLhBAuylx5D1ckcV3lg.oI_O9Uya9nnzJfBy8YUsjw/__results___files/__results___7_2.png\"></p>\n<p>after denoise</p>\n<p><img src=\"https://www.kaggleusercontent.com/kf/171470843/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..JcYSEtHj9SSKje2bibNpEw.4BBtBqf59hARgYPoBdBnyj3UxfTHDMupYqMO73WYFxaHKgMxPgnKOpTSpCzthu8M0OS3okqv2USPHxF7roE4xEHG6YoyNdYT41GnYnx9BIKzONIrXKbngHxFQb0EIajfQbIwwUMEjT2xZGfJFG50s7Gn-OrFjy23zu0JhbMtjnqVxs30uEOWGQx7hAjMqfV7WWINWQxYh9oKuIboMFpM3rBPqvDEQNU9_Bj-CxNvSUl_rzoE1MvCWyaCRTqCUIuZ67R5bx8nBNHCk2z8RZZotNWMnaHYsdxjCj_nMuAoBWgMMJ39pUxD9X805XpPEBZHQJ4IjLYZIrl5WgAZ6e2IN8RulYizgNsSD8Asd9Hz3hTICs-Il8fnSp-LXK641460quugBkvPEMwHG-AEmwgSmbHrlNPlisvBz5jLFnhk3ppdyMP6UXfAR1FKw-PbRBGmz1lPUkiyd1UdXUrhq6qDwh6tbgbhTR5T_f_JifXUfISqIJwy6QlvgfycUbmyYwcqlYzsePFgoSLIyKolF60T3_rzYjOoeGgy9IILCqTpV_jPLydBNf8vOrEsmTQlQR4SMl3ilN3dC40g6PFSaMWl5wdqgaafU5JQQ8yWpZ0MX4vQrowsLwdKw5VD1JHPv_Vi5DUJX8kTrNYnKP4o14gZoJu3YLhBAuylx5D1ckcV3lg.oI_O9Uya9nnzJfBy8YUsjw/__results___files/__results___9_2.png\"></p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2746376": "Update 2024-04-12\nRating indicates the quality level of the audio (specifically for bird sounds), but I found that the labels are not necessarily accurate, for example, some samples with rating = 0 actually sound quite good.\n\nIn this notebook: [Rating Pred & unlabeled_soundscapes prediction](https://www.kaggle.com/code/lihaoweicvch/rating-pred-unlabeled-soundscapes-prediction)\n\nI developed a model to regress the Rating, and the Mean Squared Error (MSE) for validation is 1.01.\n\nThis way, we can observe the difference between the model's prediction and the actual labels.\n\nAt the same time,we can make predictions on the unlabeled data, select relatively high-quality data, and use them for subsequent tasks.\n\n----\n\nWe have a bird sound denoising model, which I think is important and interesting for this task. I have made some attempts in the following notebook, and we need to further improve it.\n[bird-sound-denoise-by-deep-model](https://www.kaggle.com/code/lihaoweicvch/bird-sound-denoise-by-deep-model)\n\nIn this notebook, we will explore the following questions:\n\n- Introduce a deep denoising model to estimate the Signal-to-Noise Ratio (SNR) of audio.\n- Review the distribution of SNR in the training data and observe its correlation with rating.\n- Review the distribution of SNR in the test data (unlabeled_soundscapes).\n\nAreas for improvement: The denoising model is designed for human voices, maybe we should train one specifically for enhancing bird sounds. If you know of a source for clean bird sound data, please let me know.",
    "2777359": "Thanks for starting the discussion!\nI've been working on implementing noise reduction during both inference and training phases, but it seems like it hasn't made much of a difference in the scores. Here's the link to my notebook.\ntrain : https://www.kaggle.com/code/kmatsu01/birdclef-24-pytorch-noise-reduction-train\ninference : https://www.kaggle.com/code/kmatsu01/birdclef-24-infererence-with-noise-reduction",
    "2747025": "Did you get improvement when applying your denoiser ?  in your CV maybe ?",
    "2746410": "I believe we can develop such a model to make better use of unlabeled_soundscapes, for instance, assessing the quality of these data. Enhancements in noise reduction could possibly result in better pseudo-labels. For example, we could extract the noise to utilize it even more effectively. After all, they are recorded at the same place as the test data, and their distributions are likely to be similar.",
    "2746390": "Hey, that's a good idea, \nWill you be able to infer a Denoising model then a classification on top of it in 2 hours of Runtime ? I refrain from 2 stages approach because of the contrains.",
    "2747698": "Rating pred model can be used to look the data quality on unlabeled data:\n![](https://www.kaggleusercontent.com/kf/171600333/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..O8f-Z7IOPl5t5O8EuObKxw.gAnp0P-heBHCNGqFTE8q2M9lz_WPzZQhNIYEQKZc7-8j6ZR9POp0rkVzJJ4DNgv-6g24j8MhsYdmT3PMKyL8MhHViCdwJGK09LmY0GJMmN5W78llCYIXUZmfxpG6tmobn60hNxTYgr9lwUtvk4BcFot9caN1OPkyol8NsV7GsyasdWP6cTpDniR6h5FNN6cBGeYl6JIUpSQhXfm-VUf-cmLtahiaZu2QfI7DLad9ki5qSP0700FTT0iDPlTDPFF38FVq2QtglrxRauX92msueauaOfiZ0sDoyEslUXWGgOIlKtL0iNLswSxfjYNx1BjLw2Fg38ypSAQVpwMhSN7z8GOCdcKdjTu5ZEwwNwet7-Vl7pPnmQg_Ahp74oziwhRJJarGx7TinSUewAhLLHt4XFC0GPii7wlpoK2uvWtX6XPtfACKliCfEPrWfDzx5vtaTKz69_2E5wqI3T9rAvNsqnkc8us6bs9yGHuN8vlFKe7a5NCdpERmmFGQxJFTd2CSJghGkM-StOe1f-IUSEeBDnBRsBtEvTDA_rejVbEmLBpUdLmIXZHBvgmOsGFJe7U3uajjwGFSxE553W8wXc1zY7TXWNC_Gisb4wSzuf-LmVSU71GBmlpYBfMjLLlifpuyNOSjqcf-lgVKDhDYG8it3n_fYOcxC8dOczDlI4bUv6M.iZwid3t91Y9E7mUDJr1O_A/__results___files/__results___19_0.png)\n\nUnlabeled data quality is worse than train\n![](https://www.kaggleusercontent.com/kf/171600333/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..O8f-Z7IOPl5t5O8EuObKxw.gAnp0P-heBHCNGqFTE8q2M9lz_WPzZQhNIYEQKZc7-8j6ZR9POp0rkVzJJ4DNgv-6g24j8MhsYdmT3PMKyL8MhHViCdwJGK09LmY0GJMmN5W78llCYIXUZmfxpG6tmobn60hNxTYgr9lwUtvk4BcFot9caN1OPkyol8NsV7GsyasdWP6cTpDniR6h5FNN6cBGeYl6JIUpSQhXfm-VUf-cmLtahiaZu2QfI7DLad9ki5qSP0700FTT0iDPlTDPFF38FVq2QtglrxRauX92msueauaOfiZ0sDoyEslUXWGgOIlKtL0iNLswSxfjYNx1BjLw2Fg38ypSAQVpwMhSN7z8GOCdcKdjTu5ZEwwNwet7-Vl7pPnmQg_Ahp74oziwhRJJarGx7TinSUewAhLLHt4XFC0GPii7wlpoK2uvWtX6XPtfACKliCfEPrWfDzx5vtaTKz69_2E5wqI3T9rAvNsqnkc8us6bs9yGHuN8vlFKe7a5NCdpERmmFGQxJFTd2CSJghGkM-StOe1f-IUSEeBDnBRsBtEvTDA_rejVbEmLBpUdLmIXZHBvgmOsGFJe7U3uajjwGFSxE553W8wXc1zY7TXWNC_Gisb4wSzuf-LmVSU71GBmlpYBfMjLLlifpuyNOSjqcf-lgVKDhDYG8it3n_fYOcxC8dOczDlI4bUv6M.iZwid3t91Y9E7mUDJr1O_A/__results___files/__results___21_0.png)",
    "2746381": "demo data before denoise \n![](https://www.kaggleusercontent.com/kf/171470843/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..JcYSEtHj9SSKje2bibNpEw.4BBtBqf59hARgYPoBdBnyj3UxfTHDMupYqMO73WYFxaHKgMxPgnKOpTSpCzthu8M0OS3okqv2USPHxF7roE4xEHG6YoyNdYT41GnYnx9BIKzONIrXKbngHxFQb0EIajfQbIwwUMEjT2xZGfJFG50s7Gn-OrFjy23zu0JhbMtjnqVxs30uEOWGQx7hAjMqfV7WWINWQxYh9oKuIboMFpM3rBPqvDEQNU9_Bj-CxNvSUl_rzoE1MvCWyaCRTqCUIuZ67R5bx8nBNHCk2z8RZZotNWMnaHYsdxjCj_nMuAoBWgMMJ39pUxD9X805XpPEBZHQJ4IjLYZIrl5WgAZ6e2IN8RulYizgNsSD8Asd9Hz3hTICs-Il8fnSp-LXK641460quugBkvPEMwHG-AEmwgSmbHrlNPlisvBz5jLFnhk3ppdyMP6UXfAR1FKw-PbRBGmz1lPUkiyd1UdXUrhq6qDwh6tbgbhTR5T_f_JifXUfISqIJwy6QlvgfycUbmyYwcqlYzsePFgoSLIyKolF60T3_rzYjOoeGgy9IILCqTpV_jPLydBNf8vOrEsmTQlQR4SMl3ilN3dC40g6PFSaMWl5wdqgaafU5JQQ8yWpZ0MX4vQrowsLwdKw5VD1JHPv_Vi5DUJX8kTrNYnKP4o14gZoJu3YLhBAuylx5D1ckcV3lg.oI_O9Uya9nnzJfBy8YUsjw/__results___files/__results___7_2.png)\n\nafter denoise\n\n![](https://www.kaggleusercontent.com/kf/171470843/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..JcYSEtHj9SSKje2bibNpEw.4BBtBqf59hARgYPoBdBnyj3UxfTHDMupYqMO73WYFxaHKgMxPgnKOpTSpCzthu8M0OS3okqv2USPHxF7roE4xEHG6YoyNdYT41GnYnx9BIKzONIrXKbngHxFQb0EIajfQbIwwUMEjT2xZGfJFG50s7Gn-OrFjy23zu0JhbMtjnqVxs30uEOWGQx7hAjMqfV7WWINWQxYh9oKuIboMFpM3rBPqvDEQNU9_Bj-CxNvSUl_rzoE1MvCWyaCRTqCUIuZ67R5bx8nBNHCk2z8RZZotNWMnaHYsdxjCj_nMuAoBWgMMJ39pUxD9X805XpPEBZHQJ4IjLYZIrl5WgAZ6e2IN8RulYizgNsSD8Asd9Hz3hTICs-Il8fnSp-LXK641460quugBkvPEMwHG-AEmwgSmbHrlNPlisvBz5jLFnhk3ppdyMP6UXfAR1FKw-PbRBGmz1lPUkiyd1UdXUrhq6qDwh6tbgbhTR5T_f_JifXUfISqIJwy6QlvgfycUbmyYwcqlYzsePFgoSLIyKolF60T3_rzYjOoeGgy9IILCqTpV_jPLydBNf8vOrEsmTQlQR4SMl3ilN3dC40g6PFSaMWl5wdqgaafU5JQQ8yWpZ0MX4vQrowsLwdKw5VD1JHPv_Vi5DUJX8kTrNYnKP4o14gZoJu3YLhBAuylx5D1ckcV3lg.oI_O9Uya9nnzJfBy8YUsjw/__results___files/__results___9_2.png)"
  }
}