Scikit-learn: min_weight_fraction_leaf sugestões de melhorias

Criado em 28 jun. 2016  ·  3Comentários  ·  Fonte: scikit-learn/scikit-learn

Descrição

Tenho usado o parâmetro min_weight_fraction_leaf de DecisionTreeClassifier e RandomForestClassifier incorretamente e acho que provavelmente outras pessoas estão fazendo a mesma coisa que eu.

Por exemplo, a documentação para min_weight_fraction_leaf em DecisionTreeClassifier diz

A fração mínima ponderada das amostras de entrada necessárias para estar em um nó folha.

Não estava muito claro para mim o que os documentos queriam dizer com "fração ponderada das amostras de entrada". Inicialmente pensei que fosse uma ponderação baseada no tamanho das classes ou nos valores dados por class_weight . Acho que uma ligeira mudança na descrição do parâmetro poderia esclarecer essa confusão. Talvez algo como

A fração mínima ponderada das amostras de entrada necessárias para estar em um nó folha onde os pesos são determinados por sample_weight no método fit ().

Além disso, parece que min_weight_fraction_leaf só se aplica se sample_weight for fornecido na chamada fit() . Se sample_weight não for fornecido na chamada para fit() , min_weight_fraction_leaf será ignorado silenciosamente. Aqui, eu acho que min_weight_fraction_leaf ainda deve ser aplicado sob a suposição de que todas as amostras são igualmente ponderadas OU um aviso deve ser fornecido de que min_weight_fraction_leaf não será usado porque sample_weight não foi fornecido.

Versões

Darwin-15.5.0-x86_64-i386-64bit
Python 3.5.1 | Continuum Analytics, Inc. | (padrão, 7 de dezembro de 2015, 11:24:55)
[GCC 4.2.1 (Apple Inc. build 5577)]
NumPy 1.11.0
SciPy 0.17.1
Scikit-Learn 0.17.1

Além disso, adoraria fazer as alterações que sugeri (se forem consideradas valiosas), mas tenho pouca experiência em contribuir com bibliotecas de código aberto. Pode ser necessário um pouco de ajuda, se alguém estiver disposto a me ajudar.

Bug

Comentários muito úteis

Eu acho que se min_weight_fraction_leaf for definido e nenhum sample_weights fornecido, ele deve gerar um erro ou assumir pesos uniformes. Nesse caso, é um pouco redundante com min_samples_leaf mas acho que assumir pesos uniformes ainda seria melhor.

Todos 3 comentários

Envie um PR

Em 29 de junho de 2016 às 06h09, Ben [email protected] escreveu:

Descrição

Estou usando o parâmetro min_weight_fraction_leaf de
DecisionTreeClassifier e RandomForestClassifier incorretamente e eu acho
é provável que outras pessoas estejam fazendo a mesma coisa que eu.

Por exemplo, a documentação para min_weight_fraction_leaf em
DecisionTreeClassifier
http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html
diz

A fração mínima ponderada das amostras de entrada necessárias para estar em um
Nó da folha.

Não estava muito claro para mim o que os documentos queriam dizer com "fração ponderada de
as amostras de entrada ". Inicialmente pensei que era uma ponderação baseada no
tamanho das classes ou os valores dados por class_weight. Eu acho um ligeiro
a mudança na descrição do parâmetro pode esclarecer essa confusão. Talvez
algo como

A fração mínima ponderada das amostras de entrada necessárias para estar em um
nó folha onde os pesos são determinados por sample_weight no método fit ().

Além disso, parece que min_weight_fraction_leaf só se aplica se
sample_weight é fornecido na chamada fit (). Se sample_weight não for
fornecido na chamada para fit (), min_weight_fraction_leaf é silenciosamente
ignorado. Aqui, acho que min_weight_fraction_leaf ainda deve ser aplicado em
a suposição de que todas as amostras são igualmente ponderadas OU um aviso deve ser
dado que min_weight_fraction_leaf não será usado desde sample_weight
não foi fornecido.
Versões

Darwin-15.5.0-x86_64-i386-64bit
Python 3.5.1 | Continuum Analytics, Inc. | (padrão, 7 de dezembro de 2015, 11:24:55)
[GCC 4.2.1 (Apple Inc. build 5577)]
NumPy 1.11.0
SciPy 0.17.1
Scikit-Learn 0.17.1

-
Você está recebendo isto porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/scikit-learn/scikit-learn/issues/6945 ou desative o
fio
https://github.com/notifications/unsubscribe/AAEz6xE2BmEJHo6hGgTWoigsPutoD4_nks5qQX9zgaJpZM4JAe96
.

Eu acho que se min_weight_fraction_leaf for definido e nenhum sample_weights fornecido, ele deve gerar um erro ou assumir pesos uniformes. Nesse caso, é um pouco redundante com min_samples_leaf mas acho que assumir pesos uniformes ainda seria melhor.

Acho que isso é semelhante a min_samples_leaf . Em vez de exigir um número absoluto de amostras em cada nó folha, min_weight_fraction_leaf oferece a opção de exigir uma fração de amostras (ou pesos) em cada folha. Se o modelo está usando pesos para amostras depende de class_weight .

Esta página foi útil?
0 / 5 - 0 avaliações