{
  "id": 409498,
  "title": "Feature Construction For Machine Learning Models",
  "url": "/competitions/cafa-5-protein-function-prediction/discussion/409498",
  "author_name": "",
  "post_date": "2023-05-11T10:01:26.648114600Z",
  "votes": 4,
  "comment_count": 3,
  "views": 0,
  "content": "<p>Hey guys, I am new to protein function prediction and would like some guidance on how to construct features optimally for models like n-gram or HMM to get the best embeddings for the protein sequences. I am still not comfortable with deep learning so i am sticking to older approaches. Any guidance is highly appreciated.</p>\n<p>Thanks!</p>",
  "messages": [
    {
      "id": "2254867",
      "postDate": "05/11/2023 10:01:26",
      "content": "<p>Hey guys, I am new to protein function prediction and would like some guidance on how to construct features optimally for models like n-gram or HMM to get the best embeddings for the protein sequences. I am still not comfortable with deep learning so i am sticking to older approaches. Any guidance is highly appreciated.</p>\n<p>Thanks!</p>",
      "rawMarkdown": "Hey guys, I am new to protein function prediction and would like some guidance on how to construct features optimally for models like n-gram or HMM to get the best embeddings for the protein sequences. I am still not comfortable with deep learning so i am sticking to older approaches. Any guidance is highly appreciated.\n\nThanks!",
      "votes": null
    },
    {
      "id": "2254878",
      "postDate": "05/11/2023 10:15:02",
      "content": "<p>You could use transformer protein language model embeddings as features, as I demonstrated in <a href=\"https://www.kaggle.com/code/viktorfairuschin/esm-2-embeddings-starter\" target=\"_blank\">this</a> notebook. In the above example, <a href=\"https://github.com/facebookresearch/esm\" target=\"_blank\">ESM-2</a> embeddings are used. Sergei Fironov has also provided ProtT5 embeddings in <a href=\"https://www.kaggle.com/datasets/sergeifironov/t5embeds\" target=\"_blank\">this</a> dataset.</p>",
      "rawMarkdown": "You could use transformer protein language model embeddings as features, as I demonstrated in [this](https://www.kaggle.com/code/viktorfairuschin/esm-2-embeddings-starter) notebook. In the above example, [ESM-2](https://github.com/facebookresearch/esm) embeddings are used. Sergei Fironov has also provided ProtT5 embeddings in [this](https://www.kaggle.com/datasets/sergeifironov/t5embeds) dataset.",
      "votes": null
    },
    {
      "id": "2255556",
      "postDate": "05/11/2023 19:45:42",
      "content": "<p>Like <a href=\"https://www.kaggle.com/viktorfairuschin\" target=\"_blank\">@viktorfairuschin</a> said, embeddings from language models work well. If you want to read more about it or try an implementation of that idea by people who do this for a living, check out the links below.</p>\n<ul>\n<li><a href=\"https://www.nature.com/articles/s41598-020-80786-0\" target=\"_blank\">https://www.nature.com/articles/s41598-020-80786-0</a></li>\n<li><a href=\"https://github.com/Rostlab/goPredSim\" target=\"_blank\">https://github.com/Rostlab/goPredSim</a></li>\n</ul>",
      "rawMarkdown": "Like @viktorfairuschin said, embeddings from language models work well. If you want to read more about it or try an implementation of that idea by people who do this for a living, check out the links below.\n\n- https://www.nature.com/articles/s41598-020-80786-0\n- https://github.com/Rostlab/goPredSim",
      "votes": null
    },
    {
      "id": "2261826",
      "postDate": "05/16/2023 15:12:28",
      "content": "<p>Hello 👋<br>\nI am going to give my take on non-deep learning approaches as you specifically asked for those. An example would be applying some TF-IDF (term frequency, inverse document frequency) techniques to amino-acids sequences. </p>\n<p>In short: </p>\n<ul>\n<li>TF will enable you to understand which amino-acids are appearing the most in the dataset</li>\n<li>IDF will enable you to give more importance to the ones that appear the least (the rare ones basically)</li>\n</ul>\n<p>After obtaining these two factors for all amino-acids, you can multiply them and get a sort of embedding for an aminoacid sequence. This reasoning can be applied for sequences of amino-acids potentially and can get you some representation for the whole sequences. </p>\n<p>It is a baseline but definitely a start (with its strong limitations).  </p>",
      "rawMarkdown": "Hello 👋\nI am going to give my take on non-deep learning approaches as you specifically asked for those. An example would be applying some TF-IDF (term frequency, inverse document frequency) techniques to amino-acids sequences. \n\nIn short: \n- TF will enable you to understand which amino-acids are appearing the most in the dataset\n- IDF will enable you to give more importance to the ones that appear the least (the rare ones basically)\n\nAfter obtaining these two factors for all amino-acids, you can multiply them and get a sort of embedding for an aminoacid sequence. This reasoning can be applied for sequences of amino-acids potentially and can get you some representation for the whole sequences. \n\nIt is a baseline but definitely a start (with its strong limitations).",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 2254878,
      "author_name": "viktorfairuschin",
      "author_url": "",
      "post_date": "05/11/2023 10:15:02",
      "content": "<p>You could use transformer protein language model embeddings as features, as I demonstrated in <a href=\"https://www.kaggle.com/code/viktorfairuschin/esm-2-embeddings-starter\" target=\"_blank\">this</a> notebook. In the above example, <a href=\"https://github.com/facebookresearch/esm\" target=\"_blank\">ESM-2</a> embeddings are used. Sergei Fironov has also provided ProtT5 embeddings in <a href=\"https://www.kaggle.com/datasets/sergeifironov/t5embeds\" target=\"_blank\">this</a> dataset.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2255556,
      "author_name": "tilii7",
      "author_url": "",
      "post_date": "05/11/2023 19:45:42",
      "content": "<p>Like <a href=\"https://www.kaggle.com/viktorfairuschin\" target=\"_blank\">@viktorfairuschin</a> said, embeddings from language models work well. If you want to read more about it or try an implementation of that idea by people who do this for a living, check out the links below.</p>\n<ul>\n<li><a href=\"https://www.nature.com/articles/s41598-020-80786-0\" target=\"_blank\">https://www.nature.com/articles/s41598-020-80786-0</a></li>\n<li><a href=\"https://github.com/Rostlab/goPredSim\" target=\"_blank\">https://github.com/Rostlab/goPredSim</a></li>\n</ul>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2261826,
      "author_name": "wadgek",
      "author_url": "",
      "post_date": "05/16/2023 15:12:28",
      "content": "<p>Hello 👋<br>\nI am going to give my take on non-deep learning approaches as you specifically asked for those. An example would be applying some TF-IDF (term frequency, inverse document frequency) techniques to amino-acids sequences. </p>\n<p>In short: </p>\n<ul>\n<li>TF will enable you to understand which amino-acids are appearing the most in the dataset</li>\n<li>IDF will enable you to give more importance to the ones that appear the least (the rare ones basically)</li>\n</ul>\n<p>After obtaining these two factors for all amino-acids, you can multiply them and get a sort of embedding for an aminoacid sequence. This reasoning can be applied for sequences of amino-acids potentially and can get you some representation for the whole sequences. </p>\n<p>It is a baseline but definitely a start (with its strong limitations).  </p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2254867": "Hey guys, I am new to protein function prediction and would like some guidance on how to construct features optimally for models like n-gram or HMM to get the best embeddings for the protein sequences. I am still not comfortable with deep learning so i am sticking to older approaches. Any guidance is highly appreciated.\n\nThanks!",
    "2254878": "You could use transformer protein language model embeddings as features, as I demonstrated in [this](https://www.kaggle.com/code/viktorfairuschin/esm-2-embeddings-starter) notebook. In the above example, [ESM-2](https://github.com/facebookresearch/esm) embeddings are used. Sergei Fironov has also provided ProtT5 embeddings in [this](https://www.kaggle.com/datasets/sergeifironov/t5embeds) dataset.",
    "2255556": "Like @viktorfairuschin said, embeddings from language models work well. If you want to read more about it or try an implementation of that idea by people who do this for a living, check out the links below.\n\n- https://www.nature.com/articles/s41598-020-80786-0\n- https://github.com/Rostlab/goPredSim",
    "2261826": "Hello 👋\nI am going to give my take on non-deep learning approaches as you specifically asked for those. An example would be applying some TF-IDF (term frequency, inverse document frequency) techniques to amino-acids sequences. \n\nIn short: \n- TF will enable you to understand which amino-acids are appearing the most in the dataset\n- IDF will enable you to give more importance to the ones that appear the least (the rare ones basically)\n\nAfter obtaining these two factors for all amino-acids, you can multiply them and get a sort of embedding for an aminoacid sequence. This reasoning can be applied for sequences of amino-acids potentially and can get you some representation for the whole sequences. \n\nIt is a baseline but definitely a start (with its strong limitations)."
  },
  "source": "meta"
}