Lar Finanças Pessoais Como criar um modelo de aprendizagem supervisionado com regressão logística - manequins

Como criar um modelo de aprendizagem supervisionado com regressão logística - manequins

Índice:

Vídeo: Regressão Logística em Python 2024

Vídeo: Regressão Logística em Python 2024
Anonim

Depois de criar seu primeiro modelo de classificação preditivo para análise dos dados, criar mais modelos, como é uma tarefa muito direta no scikit. A única diferença real de um modelo para o outro é que você pode ter que ajustar os parâmetros do algoritmo ao algoritmo.

Como carregar seus dados

Esta lista de códigos irá carregar o conjunto de dados da íris na sua sessão: >>>> da sklearn. datasets import load_iris >>> iris = load_iris ()

Como criar uma instância do classificador

As duas linhas de código a seguir criam uma instância do classificador. A primeira linha importa a biblioteca de regressão logística. A segunda linha cria uma instância do algoritmo de regressão logística. >>>> de sklearn import linear_model >>> logClassifier = linear_model. LogisticRegression (C = 1, random_state = 111)

Observe o parâmetro (parâmetro de regularização) no construtor. O

parâmetro de regularização

é usado para evitar a superposição. O parâmetro não é estritamente necessário (o construtor funcionará bem sem ele porque será padrão para C = 1). Criar um classificador de regressão logística usando C = 150 cria um gráfico melhor da superfície de decisão. Você pode ver ambos os gráficos abaixo.

Como executar os dados de treinamento

Você precisará dividir o conjunto de dados em conjuntos de treinamento e teste antes de criar uma instância do classificador de regressão logistica. O código a seguir executará essa tarefa: >>>> da sklearn importar cross_validation >>> X_train, X_test, y_train, y_test = cross_validation. Train_test_split (íris. data, íris. target, test_size = 0. 10, random_state = 111) >>> classificador de log. caber (X_train, y_train)

A linha 1 importa a biblioteca que permite dividir o conjunto de dados em duas partes.

A Linha 2 chama a função da biblioteca que divide o conjunto de dados em duas partes e atribui os conjuntos de dados agora divididos a dois pares de variáveis.

A linha 3 leva a instância do classificador de regressão logistica que você acabou de criar e chama o método de ajuste para treinar o modelo com o conjunto de dados de treinamento.

Como visualizar o classificador

Olhando para a área de superfície de decisão no gráfico, parece que alguns ajustes precisam ser feitos. Se você olhar perto do meio do enredo, você pode ver que muitos dos pontos de dados pertencentes à área do meio (Versicolor) estão na área ao lado direito (Virginica).

Esta imagem mostra a superfície de decisão com um valor C de 150. Aparentemente parece melhor, então escolher usar esta configuração para o seu modelo de regressão logística parece apropriado.

Como executar os dados de teste

No código a seguir, a primeira linha alimenta o conjunto de dados de teste para o modelo e a terceira linha exibe a saída: >>>> predito = classificador de logs. Prever (X_test) >>> preditoarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2])

Como avaliar o modelo < Você pode fazer uma referência cruzada da saída da previsão em relação à matriz y_test. Como resultado, você pode ver que previu todos os pontos de dados de teste corretamente. Aqui está o código: >>>> a partir de métricas de importação de sklearn >>> preditoarray ([0, 0, 2, 2, 1, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> y_testarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> métricas. accuracy_score (y_test, predito) 1. 0 # 1. 0 é 100 por cento de precisão >>> predito == y_testarray ([Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro], dtype = bool)

Então, como o modelo de regressão logística com o parâmetro C = 150 se compara com isso? Bem, você não pode vencer 100 por cento. Aqui está o código para criar e avaliar o classificador logístico com C = 150: >>>> logClassifier_2 = linear_model. LogisticRegression (C = 150, random_state = 111) >>> logClassifier_2. fit (X_train, y_train) >>> predito = logClassifier_2. Prever (X_test) >>> métricas. accuracy_score (y_test, predito) 0. 93333333333333335 >>> métricas. array confusion_matrix (y_test, predito) ([[5, 0, 0], [0, 2, 0], [0, 1, 7]])

Esperamos melhor, mas foi realmente pior. Houve um erro nas previsões. O resultado é o mesmo que o modelo Support Vector Machine (SVM).

Aqui está a lista completa do código para criar e avaliar um modelo de classificação de regressão logística com os parâmetros padrão: >>>> da sklearn. datasets import load_iris >>> de sklearn importar linear_model >>> de sklearn importar cross_validation >>> de sklearn importar métricas >>> iris = load_iris () >>> X_train, X_test, y_train, y_test = cross_validation. train_test_split (íris. data, íris. target, test_size = 0. 10, random_state = 111) >>> logClassifier = linear_model. LogisticRegression (, random_state = 111) >>> logClassifier. fit (X_train, y_train) >>> predito = logClassifier. Prever (X_test) >>> preditoarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> y_testarray ([0, 0, 2, 2, 1, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> métricas. accuracy_score (y_test, predito) 1. 0 # 1. 0 é 100 por cento de precisão >>> predito == y_testarray ([Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro, Verdadeiro], dtype = bool)
Como criar um modelo de aprendizagem supervisionado com regressão logística - manequins

Escolha dos editores

Origem e Design de Hadoop - dummies

Origem e Design de Hadoop - dummies

Então, o que é exatamente isso com o nome engraçado - Hadoop? No seu núcleo, o Hadoop é uma estrutura para armazenar dados em grandes clusters de hardware de commodities - hardware de computador todos os dias acessível e facilmente disponível - e executando aplicativos contra esses dados. Um cluster é um grupo de computadores interligados (conhecido como ...

A arquitetura do porco em Hadoop - dummies

A arquitetura do porco em Hadoop - dummies

"Simples" geralmente significa "elegante" quando se trata de desenhos arquitetônicos para Essa nova mansão do Vale do Silício que você planejou quando o dinheiro começa a rolar depois de implementar o Hadoop. O mesmo princípio se aplica à arquitetura de software. O porco é composto por dois componentes (count 'em, two): O próprio idioma: como prova de que os programadores ...

MapReduce Application Flow em Hadoop - dummies

MapReduce Application Flow em Hadoop - dummies

No seu núcleo, MapReduce é um modelo de programação para o processamento de conjuntos de dados que são armazenados de forma distribuída nos nós de escravo de um cluster Hadoop. O conceito-chave aqui é dividir e conquistar. Especificamente, você deseja quebrar um grande conjunto de dados em muitas peças menores e processá-las em paralelo com o mesmo algoritmo. ...

Escolha dos editores

Apoiando a sua campanha PPC com análise de palavras-chave - manequins

Apoiando a sua campanha PPC com análise de palavras-chave - manequins

A base de todo o trabalho do mecanismo de pesquisa é uma análise de palavras-chave. Fazer uma análise de palavras-chave realmente não é tão complicado e pode significar a diferença entre sucesso e falha em sua campanha PPC. Comece digitando as palavras-chave óbvias em um editor de texto ou processador de texto - aqueles que você já pensou ou, se você ...

Envie seu site para Yahoo! Search Directory - dummies

Envie seu site para Yahoo! Search Directory - dummies

Envios para o Yahoo! O diretório costumava ser muito difícil. Pesquisas mostraram que as pessoas que conseguiram obter seus sites listados no diretório tiveram que tentar várias vezes em questão de meses. Era grátis, mas era um aborrecimento. A boa notícia: você pode obter seu site listado em Yahoo! Diretório ...

Dicas para criar e otimizar conteúdo para objetos e indústrias difíceis - manequins

Dicas para criar e otimizar conteúdo para objetos e indústrias difíceis - manequins

Em A superfície, a criação de conteúdo não soa tão difícil até você se sentar e tentar escrever. Sua estratégia de SEO depende desse conteúdo. É ainda pior se você estiver escrevendo conteúdo para o que muitas pessoas podem considerar uma indústria chata. A boa notícia é que é possível transformar indivíduos potencialmente chatos em bons ...

Escolha dos editores

Componentes eletrônicos: transistores como um potenciômetro mágico - manequins

Componentes eletrônicos: transistores como um potenciômetro mágico - manequins

Um transistor dentro de um O circuito eletrônico funciona como uma combinação de um diodo e um resistor variável, também chamado de potenciômetro ou pote. Mas isso não é apenas um pote comum; é um pote mágico cujo botão é misteriosamente conectado ao diodo por raios invisíveis, tipo desse tipo: quando a tensão direta é aplicada em ...

Componentes eletrônicos: Resistores - manequins

Componentes eletrônicos: Resistores - manequins

Um resistor é um pequeno componente projetado para fornecer um específico quantidade de resistência em um circuito eletrônico. Como a resistência é um elemento essencial de quase todos os circuitos eletrônicos, você usará resistores em quase todos os circuitos que você constrói. Embora os resistores venham em uma variedade de tamanhos e formas, o tipo mais comum ...