{"id":19719377,"url":"https://github.com/vhnegrisoli/machine-learning-linguagens-programacao","last_synced_at":"2026-04-07T23:31:53.721Z","repository":{"id":127127584,"uuid":"379088656","full_name":"vhnegrisoli/machine-learning-linguagens-programacao","owner":"vhnegrisoli","description":"Projeto de Data Science e Machine Learning de análise de linguagens de programação de 2004 a 2021","archived":false,"fork":false,"pushed_at":"2021-06-29T12:02:04.000Z","size":668,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-27T23:36:38.649Z","etag":null,"topics":["data-science","jupyter-notebook","machine-learning","matplotlib","pandas","python","scikit-learn","seaborn"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vhnegrisoli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-21T23:32:28.000Z","updated_at":"2021-06-29T12:02:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"9eb2ed4c-0db6-4755-9668-6f90a4122b42","html_url":"https://github.com/vhnegrisoli/machine-learning-linguagens-programacao","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vhnegrisoli/machine-learning-linguagens-programacao","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhnegrisoli%2Fmachine-learning-linguagens-programacao","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhnegrisoli%2Fmachine-learning-linguagens-programacao/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhnegrisoli%2Fmachine-learning-linguagens-programacao/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhnegrisoli%2Fmachine-learning-linguagens-programacao/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vhnegrisoli","download_url":"https://codeload.github.com/vhnegrisoli/machine-learning-linguagens-programacao/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhnegrisoli%2Fmachine-learning-linguagens-programacao/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31533823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-science","jupyter-notebook","machine-learning","matplotlib","pandas","python","scikit-learn","seaborn"],"created_at":"2024-11-11T23:08:07.990Z","updated_at":"2026-04-07T23:31:53.705Z","avatar_url":"https://github.com/vhnegrisoli.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Projeto: Machine Learning: Linguagens de Programacao 2004-2001\n\nProjeto de Data Science e Machine Learning de análise de linguagens de programação de 2004 a 2021 obtidos a partir do seguinte dataset do [Kaggle](https://www.kaggle.com/muhammadkhalid/most-popular-programming-languages-since-2004).\n\n### Tecnologias\n\n* Python 3\n* Jupyter Notebook\n* Pandas\n* NumPy\n* Matplotlib\n* Seaborn\n* Scikit-Learn\n* Requests\n* REST API Call (Github API)\n\n### Algoritmos\n\n* Regressão Linear\n\nInicialmente, serão visualizados dados de séries temporais e regressão linear.\n\n### Tratamento de dados\n\n```python\ndf = pd.read_csv('Most Popular Programming Languages from 2004 to 2021 V4.csv')\n\ndef createDataFrameFor(df, colunas, colunaAtual):\n    return pd.DataFrame(\n        {\n            'Date': df.Date,\n            'Timestamp': map(lambda i : datetime.strptime(df[\"Date\"][i], '%B %Y'), range(len(df.Date))),\n            'Language': colunas[colunaAtual],\n            'Value': df[df.columns[colunaAtual]]\n        }\n    )\n\ncolunas = df.columns\n\ndados_tratados = createDataFrameFor(df, colunas, 1)\n\nfor coluna in range(1, len(colunas)):\n    dados_tratados = pd.concat([dados_tratados, createDataFrameFor(df, colunas, coluna)])\n\ndados_tratados.reset_index(drop=True, inplace=True)\n\ndados_tratados['UnixTime'] = list(map(lambda i: (pd.to_datetime([dados_tratados['Timestamp'][i]]).astype(int) / 10**9)[0], range(len(dados_tratados['Date']))))\n\n```\n\n### Visualização dos dados\n\n```python\ndf_java = dados_tratados[dados_tratados['Language'] == 'Java']\nsns.regplot(x=\"UnixTime\", y=\"Value\", data= df_java)\nplt.gcf().set_size_inches(16, 6)\nplt.ylabel('% de uso da linguagem Java')\nplt.xlabel('Anos em Unix Time de 2004 a 2021')\nplt.show()\n\nX = df_java.UnixTime.values.reshape(-1, 1)\ny = df_java.Value.values.reshape(-1, 1)\n\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)\n\nreg = linear_model.LinearRegression()\nreg.fit(X_train, y_train)\ny_pred = reg.predict(X_test)\n\nplt.scatter(X_test, y_test,  color='blue')\nplt.plot(X_test, y_pred, color='red', linewidth=3)\n\nplt.gcf().set_size_inches(16, 6)\n\nplt.ylabel('% de uso da linguagem Java')\nplt.xlabel('Anos em Unix Time de 2004 a 2021')\n\nplt.show()\n```\n\n### Plots gerados\n\n* Regressão Linear com Seaborn (SNS):\n\n![Seaborn](https://github.com/vhnegrisoli/machine-learning-linguagens-programacao/blob/master/imgs/Figure_1.png)\n\n* Regressão Linear com Scikit-Learn (LinearRegression) e Matplotlib:\n\n![Matplotlib ScikitLearn](https://github.com/vhnegrisoli/machine-learning-linguagens-programacao/blob/master/imgs/Figure_2.png)\n\n### Plots de evolução das linguagens Java, Javascript, Python, C#, PHP, Delphi, Dart e Cobol nos últimos 17 anos\n\n```python\ndados = df\n\ndados['Date'] = pd.to_datetime(dados['Date'])\ndados.set_index('Date', inplace = True) \n\nfig, axes = plt.subplots(nrows=4, ncols=2)\n\ndados['Java'].plot(ax=axes[0,0], title = \"Análise da linguagem Java nos últimos 17 anos\")\ndados['JavaScript'].plot(ax=axes[1,0], title = \"Análise da linguagem JavaScript nos últimos 17 anos\")\ndados['Python'].plot(ax=axes[0,1], title = \"Análise da linguagem Python nos últimos 17 anos\")\ndados['C#'].plot(ax=axes[1,1], title = \"Análise da linguagem C# nos últimos 17 anos\")\ndados['PHP'].plot(ax=axes[2,0], title = \"Análise da linguagem PHP nos últimos 17 anos\")\ndados['Delphi'].plot(ax=axes[2,1], title = \"Análise da linguagem Delphi nos últimos 17 anos\")\ndados['Dart'].plot(ax=axes[3,0], title = \"Análise da linguagem Dart nos últimos 17 anos\")\ndados['Cobol'].plot(ax=axes[3,1], title = \"Análise da linguagem Cobol nos últimos 17 anos\")\n\nplt.gcf().set_size_inches(16, 22)\n\nplt.show()\n```\n\n![17 anos](https://github.com/vhnegrisoli/machine-learning-linguagens-programacao/blob/master/imgs/Compara%C3%A7%C3%A3o%20linguagens%2017%20anos.png)\n\n### Autor\n\n* Victor Hugo Negrisoli\n* Desenvolvedor Back-End Sênior | Analista de Dados\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvhnegrisoli%2Fmachine-learning-linguagens-programacao","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvhnegrisoli%2Fmachine-learning-linguagens-programacao","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvhnegrisoli%2Fmachine-learning-linguagens-programacao/lists"}