[PYTHON] J'ai essayé de visualiser l'ensemble de données de préférence de boisson par décomposition tenseur.

Cet article est l'article du 9ème jour de Furukawa Lab Advent_calendar. Cet article a été rédigé par un étudiant du Furukawa Lab dans le cadre de leur apprentissage. Le contenu peut être ambigu ou l'expression peut être légèrement différente.

introduction

Je voulais dessiner un article pour présenter Ensemble de données de préférence de boisson, mais le programme n'est pas encore en cours d'exécution. , Je vais le modifier de temps en temps.

Beverage Preference Data Set

L'ensemble de données sur les préférences en matière de boissons est constitué des données réelles des données connexes publiées par le laboratoire Furukawa. Veuillez consulter le lien pour les règles détaillées.

Données d'une enquête menée auprès de 604 utilisateurs sur la façon d'évaluer 14 types d'eau potable dans chacune des 11 situations.

En d'autres termes, ce sont les données relationnelles observées par la combinaison des éléments des trois populations (personne) x (eau potable) x (situation). image.png

import La procédure d'importation de l'ensemble de données de préférence de boisson est la suivante. Les méthodes download_file et zip_extract Astuces Python: je souhaite télécharger un fichier zip sur Internet et l'utiliser J'ai emprunté à.

import pandas as pd
import numpy as np

filename = download_file('http://www.brain.kyutech.ac.jp/~furukawa/beverage-e/BeveragePreferenceDataset.zip')
zip_extract(filename)
df = pd.read_table('./BeveragePreferenceDataset/Beverage604.txt', header=None, delim_whitespace=True)
df.shape
# (8456, 11)

Convertissez ce Dataframe en données de tenseur cubique.


X = np.zeros((604, 14, 11))
for i in range(X.shape[0]):
  Before = i * 14
  X[i] = df.iloc[Before:(14*(i+1))].values
X.shape
# (604, 14, 11)

Décomposition Tensol

Décomposition CP

À propos de la décomposition CP Pioneer (décomposition tenseur avec pytorch (décomposition CP)) est ici, donc je vais l'expliquer légèrement.

La décomposition CP est une généralisation simple de la décomposition matricielle, qui décompose le tenseur cubique $ X $ en utilisant trois vecteurs comme suit:

X = \sum_{r=1}^R u_r \circ v_r \circ w_r

image.png

R=1 image.png

R=2 image.png

image.png

U (utilisateur) est pulvérisé sous une forme ovale, et V (eau potable) est susceptible d'être différent des autres par seulement deux types.

Résumé

J'aimerais essayer HOSVD et Tucker. Je réessayerai quand j'aurai le temps. Cette fois, j'ai essayé une méthode de décomposition tenseur linéaire, mais il existe aussi un * Tensor SOM * qui correspond à une décomposition tenseur non linéaire. Si vous êtes intéressé, essayez de jouer avec le lien ci-dessous.

TensorSOM3 Viewer (données sur l'eau potable) ver japonais

Recommended Posts

J'ai essayé de visualiser l'ensemble de données de préférence de boisson par décomposition tenseur.
J'ai essayé de visualiser les informations spacha de VTuber
[Python] J'ai essayé de visualiser la relation de suivi de Twitter
[TF] J'ai essayé de visualiser le résultat de l'apprentissage en utilisant Tensorboard
J'ai essayé d'expliquer l'ensemble de données de Pytorch
J'ai essayé de déplacer le ballon
J'ai essayé d'estimer la section.
J'ai essayé de résumer les commandes utilisées par les ingénieurs débutants aujourd'hui
J'ai fait apprendre à RNN la vague de péché et j'ai essayé de prédire
J'ai essayé de visualiser Boeing de la performance du violon par estimation de pose
J'ai essayé de résoudre le problème de planification des équipes par diverses méthodes
J'ai essayé de visualiser la condition commune des téléspectateurs de la chaîne VTuber
J'ai essayé de résumer la commande umask
J'ai essayé de visualiser AutoEncoder avec TensorFlow
J'ai essayé de reconnaître le mot de réveil
J'ai essayé de résumer la modélisation graphique.
J'ai essayé d'estimer le rapport de circonférence π de manière probabiliste
J'ai essayé de toucher l'API COTOHA
[Python] J'ai essayé de visualiser la nuit du chemin de fer de la galaxie avec WordCloud!
J'ai essayé de déplacer l'image vers le dossier spécifié en faisant un clic droit et un clic gauche
J'ai essayé de visualiser la tranche d'âge et la distribution des taux d'Atcoder
J'ai essayé de résumer moi-même le flux général jusqu'à la création de services.
765 J'ai essayé d'identifier les trois familles professionnelles par CNN (avec Chainer 2.0.0)
J'ai essayé de trouver l'itinéraire optimal du pays des rêves par recuit (quantique)
J'ai essayé de vérifier et d'analyser l'accélération de Python par Cython
J'ai essayé de visualiser le texte du roman "Weather Child" avec Word Cloud
J'ai essayé de visualiser le modèle avec la bibliothèque d'apprentissage automatique low-code "PyCaret"
J'ai essayé de résumer les commandes Linux utilisées par les ingénieurs débutants aujourd'hui - Partie 1-
J'ai essayé de vérifier le résultat du test A / B avec le test du chi carré
J'ai essayé d'analyser la carte du Nouvel An par moi-même en utilisant python
J'ai essayé de programmer la bulle de tri par langue
J'ai essayé Web Scraping pour analyser les paroles.
J'ai essayé d'implémenter la lecture de Dataset avec PyTorch
J'ai essayé d'obtenir une image en grattant
J'ai essayé de corriger la forme trapézoïdale de l'image
J'ai essayé d'utiliser le module Datetime de Python
Qiita Job J'ai essayé d'analyser le travail
LeetCode j'ai essayé de résumer les plus simples
J'ai essayé de classer les boules de dragon par adaline
J'ai essayé de mettre en œuvre le problème du voyageur de commerce
J'ai essayé de vectoriser les paroles de Hinatazaka 46!
J'ai essayé de visualiser facilement les tweets de JAWS DAYS 2017 avec Python + ELK
J'ai essayé de prédire la présence ou l'absence de neige par apprentissage automatique.
J'ai essayé de prédire l'évolution de la quantité de neige pendant 2 ans par apprentissage automatique
J'ai essayé de récupérer les données de l'ordinateur portable en le démarrant sur Ubuntu
J'ai essayé de passer le test G et la qualification E en m'entraînant à partir de 50
J'ai essayé d'entraîner la fonction péché avec chainer
J'ai essayé de représenter graphiquement les packages installés en Python
[Introduction] J'ai essayé de l'implémenter moi-même tout en expliquant l'arbre de dichotomie
J'ai essayé de détecter l'iris à partir de l'image de la caméra
J'ai essayé de résumer la forme de base de GPLVM
[Première science des données ⑤] J'ai essayé d'aider mon ami à trouver la première propriété par analyse de données
J'ai essayé de prédire le match de la J League (analyse des données)
J'ai essayé de résoudre Soma Cube avec python
J'ai essayé de comprendre comment utiliser les pandas et la colinéarité multiple en utilisant l'ensemble de données Affaires comme thème.
J'ai essayé de déboguer.
J'ai essayé d'approcher la fonction sin en utilisant le chainer
J'ai essayé de mettre Pytest dans la bataille réelle