Sklearn Seleção de recursos

Sklearn Seleção de recursos
A melhor técnica para resolver um problema de aprendizado de máquina é começar com um conjunto de dados, realizar uma EDA completa e entender muitos na maioria das principais características dos preditores antes de treinar ativamente modelos nessas variáveis. No entanto, nem sempre é possível fazer isso. Às vezes, você precisa de uma abordagem automatizada para escolher um subconjunto de dados apropriado, pois o conjunto de dados inclui muitas variáveis. Técnicas semelhantes encontradas na biblioteca Sklearn são discutidas neste artigo.

O que é seleção de recursos?

O processo de seleção de recursos envolve reduzir o número de variáveis ​​preditivas empregadas nos modelos que você cria. Por exemplo, sua primeira inclinação deve ser selecionar o modelo com menos variáveis ​​quando apresentado com dois modelos com a mesma pontuação ou quase idêntica. Mas o último modelo tem mais variáveis. É menos provável que este modelo seja vazado, mais fácil de executar e mais simples de entender e treinar. Ele vem facilmente como parte do processo de construção de modelos para ajustar o número de parâmetros em um modelo, que é um componente natural da ciência de dados na prática. A seleção de recursos é principalmente um procedimento manual, mesmo quando há poucos recursos, ou você tem tempo para sentar e pensar sobre eles. A seleção de recursos automatizados ou semi-automatizados pode acelerar processos em situações quando há muitas variáveis, ou você não tem muito tempo.

Implementando a seleção de recursos em Sklearn

Primeiro importamos os dados usando pandas. O conjunto de dados pode ser encontrado aqui.

importar pandas como PD
df = pd.read_csv ('íris.CSV ')
df = df.soltar ('id', eixo = 1)
df.cabeça()

Saída

SepaltengthCM SepalWidthCM Petallengthcm PETALWIDTHCM Espécies
0 5.1 3.5 1.4 0.2 Iris-setosa
1 4.9 3.0 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
3 4.6 3.1 1.5 0.2 Iris-setosa
4 5.0 3.6 1.4 0.2 Iris-setosa

Seleção de recursos do limite de variância

Um limite de variação é um método simples para remover recursos, dependendo da variação que antecipamos para cada recurso. Sem considerar quaisquer dados da variável dependente, a seleção de recursos do limite de variância apenas considera os recursos de entrada. Como resultado, é eficaz apenas para modelagem não supervisionada quando os recursos são eliminados. Abaixo está a implementação da abordagem:

de Sklearn.festere_selection importar variações -abriga
df = df.select_dtypes ('número')
Seletor = VarianteChreshold (2)
Seletor.FIT (DF)
df.colunas [seletor.get_support ()]

Saída

ÍNDICE (['petallengthcm'], dtype = "objeto")

SelectkBest

Uma técnica de seleção de recursos chamada seleção de recursos univariados é baseada no teste estatístico univariado. A fundação do "selectKBest" é a combinação de um teste estatístico univariado com a seleção de recursos do número K com base na correlação estatística entre as variáveis ​​dependentes e independentes. Abaixo está a implementação do 'selectKBest'.

X = df.Drop ('espécie', eixo = 1)
y = df ['espécie']
de Sklearn.feste_selection importar selectkbest, mutual_info_regression
da Sklearn Import pré -processamento
codificador = pré -processamento.LabelEncoder ()
y = codificador.fit_transform (y)
Selector = SelectkBest (Mutual_info_regression, k = 2)
Seletor.ajuste (x, y)
X.colunas [seletor.get_support ()]

Saída

ÍNDICE (['petallengthcm', 'petalwidthcm'], dtype = 'objeto')

Conclusão

Discutimos os métodos de seleção de recursos em Sklearn. A seleção de recursos é importante ao trabalhar com muitos recursos e precisamos soltar recursos redundantes para uma melhor compreensão dos dados e melhor desempenho. A Sklearn nos fornece um módulo 'Feature_Selection' usado para implementar esta técnica.