Cet article explique les fonctionnalités d'interaction. Cet article est principalement basé sur "Ingénierie de la quantité de fonctionnalités pour l'apprentissage automatique". S'il vous plaît vérifier si vous devenez.
Il s'agit d'une méthode de création d'une nouvelle quantité d'entités en multipliant plusieurs quantités d'entités. Parmi celles-ci, la combinaison des deux fonctionnalités est appelée ** fonctionnalités d'interaction par paires **. Si la quantité de caractéristiques est binaire, ce sera un produit logique. Par exemple, lorsqu'il existe des régions et des groupes d'âge comme quantités caractéristiques, en multipliant les régions et les groupes d'âge, il est possible d'obtenir des informations qui peuvent mieux exprimer la variable objective «20 ans vivant à Tokyo» à partir des informations «20 ans» et «vivant à Tokyo». Vous pouvez le créer.
Cependant, les inconvénients sont que le coût d'apprentissage augmente et que des fonctionnalités inutiles sont créées. Cette augmentation du coût d'apprentissage et le problème des quantités de caractéristiques inutiles peuvent être résolus en effectuant une sélection de quantité de caractéristiques.
Par exemple, supposons que vous disposiez des données d'objet suivantes.
Lorsque la quantité d'entités d'interaction a été créée pour ces données, l'ensemble de données suivant a été créé.
Vous trouverez ci-dessous un exemple de code qui implémente réellement les fonctionnalités d'interaction.
import numpy as np
import pandas as pd
import sklearn.preprocessing as preproc
##Nombre aléatoire fixe
np.random.seed(100)
data_array1 = []
for i in range(1, 100):
s = np.random.randint(0, i * 10, 10)
data_array1.extend(s)
##Nombre aléatoire fixe
np.random.seed(20)
data_array2 = []
for i in range(1, 100):
s = np.random.randint(0, i * 10, 10)
data_array2.extend(s)
data = pd.DataFrame({'A': data_array1, 'B': data_array2})
##Montant de la fonction d'interaction
data2 = pd.DataFrame(preproc.PolynomialFeatures(include_bias=False).fit_transform(data))
## interaction_only=En le définissant sur True, vous pouvez exclure le carré de votre propre valeur.
# data2 = preproc.PolynomialFeatures(include_bias=False, interaction_only=True).fit_transform(data)
Je pense publier une vidéo sur l'informatique sur YouTube. Veuillez aimer, vous abonner à la chaîne et nous donner une note élevée, car cela vous motivera à mettre à jour Youtube et Qiita. YouTube: https://www.youtube.com/channel/UCywlrxt0nEdJGYtDBPW-peg Twitter: https://twitter.com/tatelabo
Recommended Posts