image

Unlimited bootcamps + English course forever

80
%OFF
Yuri Brasil
Yuri Brasil15/05/2025 11:21
Share
Microsoft 50 Anos - Prompts InteligentesRecommended for youMicrosoft 50 Anos - Prompts Inteligentes

Machine Learning do Zero com Python: Da Teoria à Prática com Scikit-Learn (Exemplo com Diabetes)

    🧠 Machine Learning do Zero com Python: Da Teoria à Prática com Scikit-Learn (Exemplo com Diabetes)

    Introdução

    A Inteligência Artificial está em todos os lugares: de recomendações da Netflix a diagnósticos médicos. Mas como essas "máquinas inteligentes" realmente aprendem? Neste artigo, você vai aprender os conceitos básicos de Machine Learning (ML) na prática, usando a linguagem Python e a biblioteca scikit-learn, com um exemplo real: a previsão de progressão da diabetes.

    O que é Machine Learning?

    Machine Learning (aprendizado de máquina) é um ramo da IA que permite que algoritmos aprendam padrões a partir de dados, sem serem explicitamente programados. Os principais tipos são:

    • Supervisionado: aprende com dados rotulados (ex: prever o preço de uma casa).
    • Não supervisionado: descobre padrões ocultos em dados não rotulados (ex: agrupamento de clientes).
    • Reforço: aprende por tentativa e erro (ex: jogos e robôs).

    Neste artigo, focaremos em aprendizado supervisionado com regressão linear.

    Por que usar scikit-learn?

    O scikit-learn é uma das bibliotecas mais populares para ML em Python. Ela oferece:

    ✅ Algoritmos prontos

    ✅ Ferramentas de avaliação

    ✅ Facilidade de uso com NumPy e pandas

    Mãos à obra: Previsão de Diabetes

    Vamos usar um conjunto de dados real disponível no próprio scikit-learn.

    1. Instalação e Importações

    pip install scikit-learn matplotlib pandas
    
    from sklearn.datasets import load_diabetes
    from sklearn.model_selection import train_test_split
    from sklearn.linear_model import LinearRegression
    from sklearn.metrics import mean_squared_error, r2_score
    import pandas as pd
    import matplotlib.pyplot as plt
    

    2. Carregando os dados

    diabetes = load_diabetes()
    X = diabetes.data
    y = diabetes.target
    
    
    print(diabetes.feature_names)
    

    As features incluem idade, IMC, pressão arterial, etc. A variável y representa uma medida da progressão da diabetes após 1 ano.

    3. Separando treino e teste

    X_train, X_test, y_train, y_test = train_test_split(
      X, y, test_size=0.2, random_state=42
    )
    

    Treino (80%): o modelo aprende.

    Teste (20%): avaliamos se ele aprendeu bem.

    4. Treinando o modelo

    model = LinearRegression()
    model.fit(X_train, y_train)
    

    5. Avaliando o desempenho

    y_pred = model.predict(X_test)
    
    
    mse = mean_squared_error(y_test, y_pred)
    r2 = r2_score(y_test, y_pred)
    
    
    print(f"Erro quadrático médio (MSE): {mse:.2f}")
    print(f"Coeficiente de determinação (R²): {r2:.2f}")
    

    MSE: quanto menor, melhor.

    : varia de 0 a 1; indica quão bem o modelo explica os dados.

    6. Visualizando os resultados

    plt.scatter(y_test, y_pred)
    plt.xlabel("Valores Reais")
    plt.ylabel("Valores Preditos")
    plt.title("Previsão de Progressão da Diabetes")
    plt.grid(True)
    plt.show()
    

    Conclusão

    Neste artigo, você viu como:

    • Entender a base do Machine Learning supervisionado;
    • Usar o scikit-learn para treinar um modelo de regressão;
    • Avaliar e visualizar o desempenho do modelo.

    Mesmo com um modelo simples como regressão linear, é possível obter bons insights. O próximo passo seria experimentar modelos mais complexos como RandomForestRegressor ou XGBoost, além de melhorar os dados com engenharia de features.

    Share
    Recommended for you
    WEX - End to End Engineering
    Microsoft 50 Anos - Prompts Inteligentes
    Microsoft 50 Anos - GitHub Copilot
    Comments (1)
    DIO Community
    DIO Community - 15/05/2025 15:36

    Excelente artigo, Yuri! A forma como você desmistificou o Machine Learning, conectando a teoria à prática com um exemplo real e relevante como a previsão da progressão da diabetes, torna o conteúdo muito acessível e didático. A escolha do scikit-learn é perfeita para quem está começando, e a explicação clara sobre conceitos como MSE e R² ajuda a entender os critérios de avaliação do modelo.

    A visualização dos resultados com gráfico também é fundamental para que os iniciantes percebam a relação entre os valores reais e os preditos, facilitando a interpretação dos dados.

    Na sua opinião, quais seriam os principais cuidados para quem quer avançar para modelos mais complexos, como Random Forest ou XGBoost, especialmente ao trabalhar com dados de saúde sensíveis?

    Recommended for youMicrosoft 50 Anos - Prompts Inteligentes