Escreva um programa de aprendizado de máquina para verificar a precisão do modelo
<h2>Introdução <p>O texto discute o conceito de modelo em aprendizado de máquina, suas diversas formas e como avaliar sua precisão. Ele explica a precisão como uma métrica de avaliação comum usada no aprendizado de máquina e suas limitações e fornece um exemplo de programa Python que demonstra como verificar a precisão de um modelo de aprendizado de máquina. O texto também explica a precisão do modelo como uma métrica de desempenho para modelos de classificação e sua utilidade na avaliação do desempenho geral de um modelo, ao mesmo tempo que alerta que outras métricas podem ser mais apropriadas em determinadas situações.
Modelo em aprendizado de máquina
No aprendizado de máquina, os modelos são representações matemáticas de sistemas, processos ou conexões que podem ser usados para produzir previsões ou conclusões baseadas em dados. Os dados recebidos são examinados em busca de conexões e padrões, e esses padrões são então usados para prever ou tomar decisões sobre novos dados.
Alguns exemplos de vários modelos são uma árvore de decisão, um modelo de regressão linear, uma rede neural ou uma máquina de vetores de suporte. O modelo utilizado dependerá da natureza do problema e das características dos dados.
A eficácia com que um modelo pode prever ou categorizar dados novos que não foram vistos durante o treinamento é frequentemente usada para avaliar sua qualidade. Para desenvolver um modelo com desempenho ideal, o método correto deve ser escolhido, juntamente com os recursos e hiperparâmetros corretos.
Precisão
Uma estatística de avaliação frequente em aprendizado de máquina para avaliar a eficácia de um modelo de classificação é a precisão. É descrito como a proporção de casos que foram categorizados adequadamente em relação a todas as ocorrências no conjunto de dados.
Em outras palavras, precisão é a proporção de previsões precisas que o modelo gerou com base nos dados de teste. Por exemplo, a precisão de um modelo é de 90% se ele produzir 90 previsões precisas em 100 ocorrências de teste.
Embora a precisão seja uma estatística popular, ela apresenta algumas desvantagens. Faz a suposição de que cada classe é igualmente importante e que a classificação incorreta de uma classe resulta na mesma perda financeira. Dependendo do problema específico e dos custos relacionados a vários tipos de erros, medidas adicionais como precisão, recall, pontuação F1 ou AUC (área sob a curva ROC) podem ser mais apropriadas em algumas situações.
Precisão do modelo
A precisão do modelo é uma estatística que avalia a frequência com que um modelo prevê com precisão o resultado de uma tarefa. É a proporção de eventos previstos corretamente em relação a todos os eventos previstos. A precisão dos modelos de classificação, onde o objetivo é prever um rótulo de categoria para cada instância de entrada, é frequentemente usada como estatística de desempenho em aprendizado de máquina.
Tomemos como exemplo uma questão de classificação binária, em que o objetivo é prever se um consumidor compraria ou não um produto. Uma coleção de características do cliente e históricos de compras anteriores é usada para treinar um modelo. Cada cliente no conjunto de testes recebe uma previsão quando o modelo é executado em um novo lote de dados do cliente. O número de previsões precisas dividido pelo número total de previsões feitas representa a precisão do modelo.
Em geral, a precisão é um bom indicador para avaliar o desempenho global de um modelo. No entanto, em outras circunstâncias, pode ser enganoso. Por exemplo, um modelo que apenas prevê a classe majoritária para cada instância de entrada pode obter alta precisão, mesmo que não esteja realmente fazendo um bom trabalho na geração de previsões se as classes no conjunto de dados estiverem desequilibradas (ou seja, uma classe é significativamente mais frequente). do que o outro). Em determinadas circunstâncias, diferentes medidas para avaliar o desempenho do modelo, como precisão, recall ou pontuação F1, podem ser mais aplicáveis.
Aqui está um programa Python simples que demonstra como verificar a precisão de um modelo de aprendizado de máquina:
Exemplo
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
from sklearn.datasets import make_classification
# Generate synthetic data for classification
num_samples = 20000
X, y = make_classification(n_samples=num_samples, n_features=2, n_informative=2, n_redundant=0, n_clusters_per_class=1)
# Split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=35)
# Train a logistic regression model on the training set
model = LogisticRegression()
model.fit(X_train, y_train)
# Make predictions on the testing set
y_pred = model.predict(X_test)
# Check the accuracy of the model
accuracy = accuracy_score(y_test, y_pred)
print("Model accuracy:", accuracy)
Saída
Model accuracy: 0.9153333333333333
Nesta ilustração, os dados são inicialmente carregados em um dataframe do pandas. A função de divisão de teste de trem do scikit-learn foi então usada para dividir os dados em conjuntos de treinamento e teste.
A classe LogisticRegression do scikit-learn é então usada para construir um modelo de regressão logística nos dados de treinamento. Depois que o modelo for treinado, utilizamos a técnica de predição para fazer previsões no conjunto de teste.
A função de pontuação de precisão do scikit-learn é então usada para determinar a precisão do modelo. Os rótulos reais do conjunto de testes (y test) e os rótulos previstos (y pred) são os dois parâmetros dados a este método. Um float entre 0 e 1 é produzido, com valores maiores significando mais precisão.
É crucial lembrar que a precisão é simplesmente um parâmetro para avaliar o desempenho de um modelo de aprendizado de máquina. Outras medidas podem ser mais apropriadas dependendo do problema que você está tentando resolver. Por exemplo, a precisão não pode ser um indicador preciso de desempenho se as classes do conjunto de dados estiverem desequilibradas. Outras medidas, como precisão, recall ou pontuação F1, podem ser mais úteis em determinadas circunstâncias.
Conclusão
Um sistema, método ou conexão que pode prever o futuro ou fazer escolhas com base em dados é representado matematicamente como um modelo em aprendizado de máquina. A precisão de um modelo de classificação é frequentemente avaliada, embora a precisão tenha várias desvantagens e possa não ser a melhor métrica de avaliação.