{"id":15832132,"url":"https://github.com/victor-lis/regression-ai-model","last_synced_at":"2025-04-01T12:10:08.358Z","repository":{"id":215019577,"uuid":"737906257","full_name":"Victor-Lis/Regression-AI-Model","owner":"Victor-Lis","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-03T18:01:43.000Z","size":110,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-05T12:41:08.031Z","etag":null,"topics":["ai","data-analysis","python","regression-model"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Victor-Lis.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":"2024-01-01T23:14:00.000Z","updated_at":"2024-01-16T00:57:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"86c0a450-6281-40d5-9be7-28fcc4bff434","html_url":"https://github.com/Victor-Lis/Regression-AI-Model","commit_stats":null,"previous_names":["victor-lis/regression-ai-model"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Victor-Lis%2FRegression-AI-Model","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Victor-Lis%2FRegression-AI-Model/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Victor-Lis%2FRegression-AI-Model/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Victor-Lis%2FRegression-AI-Model/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Victor-Lis","download_url":"https://codeload.github.com/Victor-Lis/Regression-AI-Model/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246635983,"owners_count":20809333,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ai","data-analysis","python","regression-model"],"created_at":"2024-10-05T12:40:53.254Z","updated_at":"2025-04-01T12:10:08.336Z","avatar_url":"https://github.com/Victor-Lis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Regression-AI-Model\n\nEsse é meu primeiro projeto trabalhando com IA na \"mão\", pois esse é o primeiro projeto que eu desenvolvo o código de uma IA. \n\nNas outras vezes que tive contato com a construção de IAs havia usado plataformas que fizessem isso por mim.\n# Desafios\n\n- Entender a sintaxe do Python;\n- Utilizar bibliotecas que até aqui não conhecia.\n# Aprendizados\n\nPor final aprendi algumas coisas interessantes como: \n# Na prática\n\n## Imports\nAbaixo está o trecho de código responsável por importar as libs usadas\n```python\nimport pandas as pd\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.linear_model import LinearRegression\nfrom sklearn.metrics import mean_squared_error, r2_score\nfrom sklearn.ensemble import RandomForestRegressor\nimport matplotlib.pyplot as plt\nimport numpy as np\n```\n\n## Carregando Data(Dados)\nEstou retirando os dados do Github do \"DataProfessor\", na qual foi quem eu também vi o vídeo da montagem desse projeto para aprender.\nVou deixar no final o Github dele para todos acessarem.\n```python\ndf = pd.read_csv('https://raw.githubusercontent.com/dataprofessor/data/master/delaney_solubility_with_descriptors.csv')\n```\n\n## Preparando Data\nNas linhas abaixo irei ajustar X e Y,\ncolando Y como a coluna \"logS\" e X como o restante das colunas, necessárias para chegar em Y\n```python\ny = df[\"logS\"]\n\nx = df.drop(\"logS\", axis=1)\n```\n\n## Data Splitting\n```python\nx_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=100)\n```\n\n# Model Building \n\n## Linear Regression\n### Training the model\n\n```python\nlr = LinearRegression()\nlr.fit(x_train, y_train)\n```\n\n### Applying the model to make a prediction\n```python\ny_lr_train_pred = lr.predict(x_train)\ny_lr_test_pred = lr.predict(x_test)\n```\n\n### Evaluate Model Performace\n```python\nlr_train_mse = mean_squared_error(y_train, y_lr_train_pred)\nlr_train_r2 = r2_score(y_train, y_lr_train_pred)\n\nlr_test_mse = mean_squared_error(y_test, y_lr_test_pred)\nlr_test_r2 = r2_score(y_test, y_lr_test_pred)\n\nlr_results = pd.DataFrame([\"Linear Regression\", lr_train_mse, lr_train_r2, lr_test_mse, lr_test_r2]).transpose()\nlr_results.columns = ['Method', 'Training MSE', 'Training R2', 'Test MSE', 'Test R2']\nprint(lr_results)\n```\n\n## Random Forest\n\n### Training Model\n\n```python\nrf = RandomForestRegressor(max_depth=2, random_state=100)\nrf.fit(x_train, y_train)\n```\n\n### Applying the model to make a prediction\n\n```python\ny_rf_train_pred = rf.predict(x_train)\ny_rf_test_pred = rf.predict(x_test)\n```\n\n### Evaluate Model Performace\n```python\nrf_train_mse = mean_squared_error(y_train, y_rf_train_pred)\nrf_train_r2 = r2_score(y_train, y_rf_train_pred)\n\nrf_test_mse = mean_squared_error(y_test, y_rf_test_pred)\nrf_test_r2 = r2_score(y_test, y_rf_test_pred)\n\nrf_results = pd.DataFrame([\"Random Forest\", rf_train_mse, rf_train_r2, rf_test_mse, rf_test_r2]).transpose()\nrf_results.columns = ['Method', 'Training MSE', 'Training R2', 'Test MSE', 'Test R2']\nprint(rf_results)\n```\n\n# Model Comparison\n\n## Table Comparison\n\n```python\ndf_models = pd.concat([lr_results, rf_results], axis=0).reset_index(drop=True)\nprint(df_models)\n```\n\n## Visual Comparison\n\n```python\nplt.figure(figsize=(5,5))\nplt.scatter(x=y_train, y=y_lr_train_pred, c=\"#7CAE00\", alpha=0.3)\n\nz = np.polyfit(y_train, y_lr_train_pred, 1)\np = np.poly1d(z)\n\nplt.plot(y_train, p(y_train), \"#F8766D\")\nplt.ylabel(\"Predict logS\")\nplt.xlabel(\"Experimental logS\")\n\nplt.plot()\n\nplt.show()\n```\n\n## Screenshots\n![Result](https://github.com/Victor-Lis/Regression-AI-Model/blob/master/Images/Result.png)\n\n## Autor\n- [@Victor-Lis](https://github.com/Victor-Lis)\n\n## Conta do Data-Professor \nConta em que vi o vídeo do projeto e usei os dados disponibilizados por ele\n- [@Data-Professor](https://github.com/dataprofessor)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictor-lis%2Fregression-ai-model","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvictor-lis%2Fregression-ai-model","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictor-lis%2Fregression-ai-model/lists"}