O Tensorflow suporta um classificador de árvore de decisão?

7

Estou tentando implementar o classificador de árvore de decisão para classificar meu conjunto de dados. Eu estou usando Python. Agora é fácil implementar no scikit learn, mas como posso implementar isso no tensorflow.

Taimur Islam
fonte
Mesmo que as Árvores de Decisão fossem oferecidas para o TensorFlow (o que não acontece), eu não sugeriria usá-lo. Existe muita sobrecarga técnica na obtenção de um modelo de fluxo tensor comparado ao sklearn ... Escolha a ferramenta certa para o trabalho! < scikit-learn.org/stable/modules/tree.html >
Michael Higgins

Respostas:

7

Basicamente, eu acho TensorFlowque não suporta árvores de decisão. Eu cito daqui ,

Essa é uma grande simplificação excessiva, mas existem hoje essencialmente dois tipos de bibliotecas de aprendizado de máquina Deep learning (CNN, RNN, redes totalmente conectadas, modelos lineares) e tudo o mais (SVM, GBMs, florestas aleatórias, Naive Bayes, K-NN, etc. ) A razão para isso é que o aprendizado profundo é muito mais intensivo em termos computacionais do que outros métodos de treinamento mais tradicionais e, portanto, requer intensa especialização da biblioteca (por exemplo, usando uma GPU e recursos distribuídos). Se você estiver usando Python e estiver procurando por um pacote com a maior variedade de algoritmos, tente o scikit-learn. Na realidade, se você quiser usar o aprendizado profundo e métodos mais tradicionais, precisará usar mais de uma biblioteca. Não há pacote "completo".

Você pode ver aqui que existem outros algoritmos de aprendizado implementados nos TensorFlowquais não são modelos profundos.

Você pode conferir aqui os algoritmos de rastreamento implementados no TensorFlow.

meios de comunicação
fonte
Estou empolgado com isso: estou a bordo do raciocínio da sua citação, mas por outro lado: Random Forrest é uma espécie de aprendiz de árvore.
precisa
@SvanBalen Não entendo o que você quer dizer.
Meios
O Tensorflow suporta forrest aleatório (conforme documentado no link que você forneceu), o forrest aleatório é um tipo especial de aprendiz de árvore. Portanto, mesmo que o Tensorflow pareça não apoiar os alunos comuns (CART ou C45) e mesmo que seja principalmente uma biblioteca para aprendizado profundo, e mesmo que eu também usasse o sklearn, ele tecnicamente suporta um aluno da árvore, tornando sua declaração falsa.
S van Balen
11
@SvanBalen Agradeço se realmente cometi um erro ao me anunciar, mas não sei onde estou errado. Eu disse TensorFlowque não suporta árvores de decisão, o que é realmente o caso. Qual parte estou errada?
Meios
O TF suporta floresta aleatória, floresta aleatória é uma árvore de decisão (um tipo específico), portanto, o TF suporta árvores de decisão. Mas, como eu disse: estou impressionado se sua afirmação está errada: tecnicamente está, mas para todos os efeitos práticos não está.
precisa
3

Semelhante ao que escrevi no outro post , o TensorFlow tem de fato implementações de Random Forest e Gradient Boosting, além de outros algoritmos de aprendizado não aprofundado. Os links podem ser encontrados nesse post.

Adam Erickson
fonte
0

A principal diferença é que o fluxo tensor é baseado em métodos numéricos (ou seja, descidas de gradiente). Não há gradiente nos métodos baseados em árvores. A exceção é a árvore de regressão gradiente.

SZ
fonte