{
  "id": 213429,
  "title": "Errores corriendo benchmark3",
  "url": "/competitions/interbank20/discussion/213429",
  "author_name": "",
  "post_date": "2021-01-22T19:09:04.242069600Z",
  "votes": null,
  "comment_count": 4,
  "views": 0,
  "content": "<p>Estimadxs,</p>\n<p>Estoy teniendo el siguiente inconveniente, agradecería mucho si me pueden orientar al respecto.</p>\n<p>Considerando que estoy corriendo el script 'benchmark3':</p>\n<ol>\n<li>En principio, tal como está corre en Kaggle (naturalmente)</li>\n<li>Cuando intento en Kaggle hacer algunas modificaciones (feature engineering o sobre el mismo algoritmo de lightGBM) ya kaggle me dice que se excede en la capacidad de memoria, entonces intento ejecutar el script en otros entornos.</li>\n<li>Corro mi script modificado de benchmark3 .py en el entorno de R y en anaconda y me salen errores.</li>\n<li>Para descartar que mi código sea el que genera los errores, trato de correr el script original tanto en R como en Anaconda, y me sigue dando los mismos errores. Pero estos no aparecían en Kaggel.</li>\n<li>Limpio los entornos (por si algo de lo que ejecuté me daña la ejecución) pero los errores siguen apareciendo.</li>\n</ol>\n<p>Tengo la sensación (sin certeza que no soy muy técnica al respecto) que es como si me faltara alguna librería tanto en miniconda (que es lo que entiendo usa R para correr .py) como en Anaconda.</p>\n<p>Los errores son (recordar que en este punto son los errores de correr el script original de benchmark3):<br>\nEn el entorno R, al correr el algoritmo me dice que<br>\n<code>\"Passing list-likes to .loc or [] with any missing labels is no longer supported...</code><br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5693856%2F4dcb60b0781edbaa070237770e734b50%2Funo2.png?generation=1611342350661001&amp;alt=media\" alt=\"\"></p>\n<p>Me sugiere ir a la <a href=\"https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike\" target=\"_blank\">pandas.pydata.org</a> e intenté con las soluciones que sugieren pero no soluciona el error.</p>\n<p>En Jupiter de Anaconda corre todo, pero cuando necesito exportar los resultados me dice que 'name' y 'to_csv' no existen.</p>\n<p><code>AttributeError: 'list' object has no attribute 'name'</code></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5693856%2Ff16dec43c83bc441d219e6062bdf8bd6%2Funo1.png?generation=1611341488656532&amp;alt=media\" alt=\"\"></p>\n<p>(En este punto me llama la atención que al imprimir 'best_probs' en Anaconda me muestra los resultados de todos los folds, no así cuando imprimo el resultado en Kaggle, no sé si tiene que ver, lo menciono por si acaso).</p>\n<p>Mi gran problema es que considerando un único script en (1) Kaggle corre, pero tiene un límite de memoria con lo cual me obliga a moverme a otros entornos, (2) en Anaconda corre todo pero no logro exportar los resultados; y, (3) en R el entorno falla al correr lightGBM. Pero es el mismo script!! :/</p>\n<p>Desde ya, muchísimas gracias,<br>\nDiana</p>",
  "messages": [
    {
      "id": "1165200",
      "postDate": "01/22/2021 19:09:04",
      "content": "<p>Estimadxs,</p>\n<p>Estoy teniendo el siguiente inconveniente, agradecería mucho si me pueden orientar al respecto.</p>\n<p>Considerando que estoy corriendo el script 'benchmark3':</p>\n<ol>\n<li>En principio, tal como está corre en Kaggle (naturalmente)</li>\n<li>Cuando intento en Kaggle hacer algunas modificaciones (feature engineering o sobre el mismo algoritmo de lightGBM) ya kaggle me dice que se excede en la capacidad de memoria, entonces intento ejecutar el script en otros entornos.</li>\n<li>Corro mi script modificado de benchmark3 .py en el entorno de R y en anaconda y me salen errores.</li>\n<li>Para descartar que mi código sea el que genera los errores, trato de correr el script original tanto en R como en Anaconda, y me sigue dando los mismos errores. Pero estos no aparecían en Kaggel.</li>\n<li>Limpio los entornos (por si algo de lo que ejecuté me daña la ejecución) pero los errores siguen apareciendo.</li>\n</ol>\n<p>Tengo la sensación (sin certeza que no soy muy técnica al respecto) que es como si me faltara alguna librería tanto en miniconda (que es lo que entiendo usa R para correr .py) como en Anaconda.</p>\n<p>Los errores son (recordar que en este punto son los errores de correr el script original de benchmark3):<br>\nEn el entorno R, al correr el algoritmo me dice que<br>\n<code>\"Passing list-likes to .loc or [] with any missing labels is no longer supported...</code><br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5693856%2F4dcb60b0781edbaa070237770e734b50%2Funo2.png?generation=1611342350661001&amp;alt=media\" alt=\"\"></p>\n<p>Me sugiere ir a la <a href=\"https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike\" target=\"_blank\">pandas.pydata.org</a> e intenté con las soluciones que sugieren pero no soluciona el error.</p>\n<p>En Jupiter de Anaconda corre todo, pero cuando necesito exportar los resultados me dice que 'name' y 'to_csv' no existen.</p>\n<p><code>AttributeError: 'list' object has no attribute 'name'</code></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5693856%2Ff16dec43c83bc441d219e6062bdf8bd6%2Funo1.png?generation=1611341488656532&amp;alt=media\" alt=\"\"></p>\n<p>(En este punto me llama la atención que al imprimir 'best_probs' en Anaconda me muestra los resultados de todos los folds, no así cuando imprimo el resultado en Kaggle, no sé si tiene que ver, lo menciono por si acaso).</p>\n<p>Mi gran problema es que considerando un único script en (1) Kaggle corre, pero tiene un límite de memoria con lo cual me obliga a moverme a otros entornos, (2) en Anaconda corre todo pero no logro exportar los resultados; y, (3) en R el entorno falla al correr lightGBM. Pero es el mismo script!! :/</p>\n<p>Desde ya, muchísimas gracias,<br>\nDiana</p>",
      "rawMarkdown": "Estimadxs,\n\nEstoy teniendo el siguiente inconveniente, agradecería mucho si me pueden orientar al respecto.\n\nConsiderando que estoy corriendo el script 'benchmark3':\n\n1. En principio, tal como está corre en Kaggle (naturalmente)\n2. Cuando intento en Kaggle hacer algunas modificaciones (feature engineering o sobre el mismo algoritmo de lightGBM) ya kaggle me dice que se excede en la capacidad de memoria, entonces intento ejecutar el script en otros entornos.\n3. Corro mi script modificado de benchmark3 .py en el entorno de R y en anaconda y me salen errores.\n4. Para descartar que mi código sea el que genera los errores, trato de correr el script original tanto en R como en Anaconda, y me sigue dando los mismos errores. Pero estos no aparecían en Kaggel.\n5. Limpio los entornos (por si algo de lo que ejecuté me daña la ejecución) pero los errores siguen apareciendo.\n\nTengo la sensación (sin certeza que no soy muy técnica al respecto) que es como si me faltara alguna librería tanto en miniconda (que es lo que entiendo usa R para correr .py) como en Anaconda.\n\nLos errores son (recordar que en este punto son los errores de correr el script original de benchmark3):\nEn el entorno R, al correr el algoritmo me dice que\n`\"Passing list-likes to .loc or [] with any missing labels is no longer supported...`\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5693856%2F4dcb60b0781edbaa070237770e734b50%2Funo2.png?generation=1611342350661001&alt=media)\n\nMe sugiere ir a la [pandas.pydata.org](https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike) e intenté con las soluciones que sugieren pero no soluciona el error.\n\n\n\nEn Jupiter de Anaconda corre todo, pero cuando necesito exportar los resultados me dice que 'name' y 'to_csv' no existen.\n\n`AttributeError: 'list' object has no attribute 'name'`\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5693856%2Ff16dec43c83bc441d219e6062bdf8bd6%2Funo1.png?generation=1611341488656532&alt=media)\n\n(En este punto me llama la atención que al imprimir 'best_probs' en Anaconda me muestra los resultados de todos los folds, no así cuando imprimo el resultado en Kaggle, no sé si tiene que ver, lo menciono por si acaso).\n\n\nMi gran problema es que considerando un único script en (1) Kaggle corre, pero tiene un límite de memoria con lo cual me obliga a moverme a otros entornos, (2) en Anaconda corre todo pero no logro exportar los resultados; y, (3) en R el entorno falla al correr lightGBM. Pero es el mismo script!! :/\n\n\nDesde ya, muchísimas gracias,\nDiana",
      "votes": null
    },
    {
      "id": "1165726",
      "postDate": "01/23/2021 07:36:26",
      "content": "<p>Efectivamente el benchmark en kaggle corre peligrosamente al limite de la memoria permitida.</p>\n<p>El error que te sale es porque \"best_probs\" es una lista y no un objecto Series de Pandas, tal vez modificaste algo que hace que no se asigne bien la variable. En tu primer screenshot veo la definición de \"train_probs\" pero no de \"test_probs\" </p>\n<p>\"test_probs = pd.concat(test_probs, axis=1).mean(axis=1)\"</p>\n<p>Que se usa después:<br>\n\"best_probs = test_probs\"</p>\n<p>De hecho veo que la linea esta ahi pero con otro nombre:<br>\n\"c = pd.concat(test_probs, axis=1).mean(axis=1)\"</p>\n<p>Como le cambiaste el nombre a esa variable a \"c\", Tambien hay que cambiar el nombre en los en lo que resta del script</p>",
      "rawMarkdown": "Efectivamente el benchmark en kaggle corre peligrosamente al limite de la memoria permitida.\n\nEl error que te sale es porque \"best_probs\" es una lista y no un objecto Series de Pandas, tal vez modificaste algo que hace que no se asigne bien la variable. En tu primer screenshot veo la definición de \"train_probs\" pero no de \"test_probs\" \n\n\"test_probs = pd.concat(test_probs, axis=1).mean(axis=1)\"\n\nQue se usa después:\n\"best_probs = test_probs\"\n\n\nDe hecho veo que la linea esta ahi pero con otro nombre:\n\"c = pd.concat(test_probs, axis=1).mean(axis=1)\"\n\nComo le cambiaste el nombre a esa variable a \"c\", Tambien hay que cambiar el nombre en los en lo que resta del script",
      "votes": null
    },
    {
      "id": "1166944",
      "postDate": "01/23/2021 23:37:44",
      "content": "<p>Te agradezco tanto Oscar que hayas visto en detalle las imágenes. Efectivamente, se ve que en algún momento pisé el nombre de la variable 'test_probs' sin darme cuenta y eso me hizo lío. Lo corregí-corrí y todo bien.</p>\n<p>Infinitas gracias por detenerte en el detalle.</p>",
      "rawMarkdown": "Te agradezco tanto Oscar que hayas visto en detalle las imágenes. Efectivamente, se ve que en algún momento pisé el nombre de la variable 'test_probs' sin darme cuenta y eso me hizo lío. Lo corregí-corrí y todo bien.\n\nInfinitas gracias por detenerte en el detalle.",
      "votes": null
    },
    {
      "id": "1170043",
      "postDate": "01/25/2021 23:12:12",
      "content": "<p>Hola, yo también tenía el problema de memoria, pero eso sucede por el tipo de variable de los datos, si lo optimizas vas a reducir a la mitad o menos.</p>\n<p>Con estas dos funciones podrás optimizar,</p>\n<pre><code>def optimize_floats(df):\n    floats = df.select_dtypes(include=['float64']).columns.tolist()\n    df[floats] = df[floats].apply(pd.to_numeric, downcast='float')\n    return df\n\ndef optimize_ints(df):\n    ints = df.select_dtypes(include=['int64']).columns.tolist()\n    df[ints] = df[ints].apply(pd.to_numeric, downcast='integer')\n    return df\n</code></pre>\n<p>Espero que te ayude,<br>\nSaludos.</p>",
      "rawMarkdown": "Hola, yo también tenía el problema de memoria, pero eso sucede por el tipo de variable de los datos, si lo optimizas vas a reducir a la mitad o menos.\n\nCon estas dos funciones podrás optimizar,\n\n    def optimize_floats(df):\n        floats = df.select_dtypes(include=['float64']).columns.tolist()\n        df[floats] = df[floats].apply(pd.to_numeric, downcast='float')\n        return df\n\n    def optimize_ints(df):\n        ints = df.select_dtypes(include=['int64']).columns.tolist()\n        df[ints] = df[ints].apply(pd.to_numeric, downcast='integer')\n        return df\n\nEspero que te ayude,\nSaludos.",
      "votes": null
    },
    {
      "id": "1174719",
      "postDate": "01/28/2021 16:53:05",
      "content": "<p>Hola José,<br>\nHoy recién vuelvo a la competencia, corrí tu propuesta y la complementé con la que brindo <a href=\"https://www.kaggle.com/oscargarciaf\" target=\"_blank\">@oscargarciaf</a> en otro post y una maravilla!!!</p>\n<p>Infinitas gracias a los dos!!!, ♥</p>\n<p>Diana,</p>",
      "rawMarkdown": "Hola José,\nHoy recién vuelvo a la competencia, corrí tu propuesta y la complementé con la que brindo @oscargarciaf en otro post y una maravilla!!!\n\nInfinitas gracias a los dos!!!, ♥\n\nDiana,",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1165726,
      "author_name": "oscargarciaf",
      "author_url": "",
      "post_date": "01/23/2021 07:36:26",
      "content": "<p>Efectivamente el benchmark en kaggle corre peligrosamente al limite de la memoria permitida.</p>\n<p>El error que te sale es porque \"best_probs\" es una lista y no un objecto Series de Pandas, tal vez modificaste algo que hace que no se asigne bien la variable. En tu primer screenshot veo la definición de \"train_probs\" pero no de \"test_probs\" </p>\n<p>\"test_probs = pd.concat(test_probs, axis=1).mean(axis=1)\"</p>\n<p>Que se usa después:<br>\n\"best_probs = test_probs\"</p>\n<p>De hecho veo que la linea esta ahi pero con otro nombre:<br>\n\"c = pd.concat(test_probs, axis=1).mean(axis=1)\"</p>\n<p>Como le cambiaste el nombre a esa variable a \"c\", Tambien hay que cambiar el nombre en los en lo que resta del script</p>",
      "votes": null,
      "replies": [
        {
          "id": 1166944,
          "author_name": "dianabohorquez",
          "author_url": "",
          "post_date": "01/23/2021 23:37:44",
          "content": "<p>Te agradezco tanto Oscar que hayas visto en detalle las imágenes. Efectivamente, se ve que en algún momento pisé el nombre de la variable 'test_probs' sin darme cuenta y eso me hizo lío. Lo corregí-corrí y todo bien.</p>\n<p>Infinitas gracias por detenerte en el detalle.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1170043,
      "author_name": "josechipanatica",
      "author_url": "",
      "post_date": "01/25/2021 23:12:12",
      "content": "<p>Hola, yo también tenía el problema de memoria, pero eso sucede por el tipo de variable de los datos, si lo optimizas vas a reducir a la mitad o menos.</p>\n<p>Con estas dos funciones podrás optimizar,</p>\n<pre><code>def optimize_floats(df):\n    floats = df.select_dtypes(include=['float64']).columns.tolist()\n    df[floats] = df[floats].apply(pd.to_numeric, downcast='float')\n    return df\n\ndef optimize_ints(df):\n    ints = df.select_dtypes(include=['int64']).columns.tolist()\n    df[ints] = df[ints].apply(pd.to_numeric, downcast='integer')\n    return df\n</code></pre>\n<p>Espero que te ayude,<br>\nSaludos.</p>",
      "votes": null,
      "replies": [
        {
          "id": 1174719,
          "author_name": "dianabohorquez",
          "author_url": "",
          "post_date": "01/28/2021 16:53:05",
          "content": "<p>Hola José,<br>\nHoy recién vuelvo a la competencia, corrí tu propuesta y la complementé con la que brindo <a href=\"https://www.kaggle.com/oscargarciaf\" target=\"_blank\">@oscargarciaf</a> en otro post y una maravilla!!!</p>\n<p>Infinitas gracias a los dos!!!, ♥</p>\n<p>Diana,</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1165200": "Estimadxs,\n\nEstoy teniendo el siguiente inconveniente, agradecería mucho si me pueden orientar al respecto.\n\nConsiderando que estoy corriendo el script 'benchmark3':\n\n1. En principio, tal como está corre en Kaggle (naturalmente)\n2. Cuando intento en Kaggle hacer algunas modificaciones (feature engineering o sobre el mismo algoritmo de lightGBM) ya kaggle me dice que se excede en la capacidad de memoria, entonces intento ejecutar el script en otros entornos.\n3. Corro mi script modificado de benchmark3 .py en el entorno de R y en anaconda y me salen errores.\n4. Para descartar que mi código sea el que genera los errores, trato de correr el script original tanto en R como en Anaconda, y me sigue dando los mismos errores. Pero estos no aparecían en Kaggel.\n5. Limpio los entornos (por si algo de lo que ejecuté me daña la ejecución) pero los errores siguen apareciendo.\n\nTengo la sensación (sin certeza que no soy muy técnica al respecto) que es como si me faltara alguna librería tanto en miniconda (que es lo que entiendo usa R para correr .py) como en Anaconda.\n\nLos errores son (recordar que en este punto son los errores de correr el script original de benchmark3):\nEn el entorno R, al correr el algoritmo me dice que\n`\"Passing list-likes to .loc or [] with any missing labels is no longer supported...`\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5693856%2F4dcb60b0781edbaa070237770e734b50%2Funo2.png?generation=1611342350661001&alt=media)\n\nMe sugiere ir a la [pandas.pydata.org](https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike) e intenté con las soluciones que sugieren pero no soluciona el error.\n\n\n\nEn Jupiter de Anaconda corre todo, pero cuando necesito exportar los resultados me dice que 'name' y 'to_csv' no existen.\n\n`AttributeError: 'list' object has no attribute 'name'`\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5693856%2Ff16dec43c83bc441d219e6062bdf8bd6%2Funo1.png?generation=1611341488656532&alt=media)\n\n(En este punto me llama la atención que al imprimir 'best_probs' en Anaconda me muestra los resultados de todos los folds, no así cuando imprimo el resultado en Kaggle, no sé si tiene que ver, lo menciono por si acaso).\n\n\nMi gran problema es que considerando un único script en (1) Kaggle corre, pero tiene un límite de memoria con lo cual me obliga a moverme a otros entornos, (2) en Anaconda corre todo pero no logro exportar los resultados; y, (3) en R el entorno falla al correr lightGBM. Pero es el mismo script!! :/\n\n\nDesde ya, muchísimas gracias,\nDiana",
    "1165726": "Efectivamente el benchmark en kaggle corre peligrosamente al limite de la memoria permitida.\n\nEl error que te sale es porque \"best_probs\" es una lista y no un objecto Series de Pandas, tal vez modificaste algo que hace que no se asigne bien la variable. En tu primer screenshot veo la definición de \"train_probs\" pero no de \"test_probs\" \n\n\"test_probs = pd.concat(test_probs, axis=1).mean(axis=1)\"\n\nQue se usa después:\n\"best_probs = test_probs\"\n\n\nDe hecho veo que la linea esta ahi pero con otro nombre:\n\"c = pd.concat(test_probs, axis=1).mean(axis=1)\"\n\nComo le cambiaste el nombre a esa variable a \"c\", Tambien hay que cambiar el nombre en los en lo que resta del script",
    "1166944": "Te agradezco tanto Oscar que hayas visto en detalle las imágenes. Efectivamente, se ve que en algún momento pisé el nombre de la variable 'test_probs' sin darme cuenta y eso me hizo lío. Lo corregí-corrí y todo bien.\n\nInfinitas gracias por detenerte en el detalle.",
    "1170043": "Hola, yo también tenía el problema de memoria, pero eso sucede por el tipo de variable de los datos, si lo optimizas vas a reducir a la mitad o menos.\n\nCon estas dos funciones podrás optimizar,\n\n    def optimize_floats(df):\n        floats = df.select_dtypes(include=['float64']).columns.tolist()\n        df[floats] = df[floats].apply(pd.to_numeric, downcast='float')\n        return df\n\n    def optimize_ints(df):\n        ints = df.select_dtypes(include=['int64']).columns.tolist()\n        df[ints] = df[ints].apply(pd.to_numeric, downcast='integer')\n        return df\n\nEspero que te ayude,\nSaludos.",
    "1174719": "Hola José,\nHoy recién vuelvo a la competencia, corrí tu propuesta y la complementé con la que brindo @oscargarciaf en otro post y una maravilla!!!\n\nInfinitas gracias a los dos!!!, ♥\n\nDiana,"
  },
  "source": "meta"
}