[PYTHON] J'ai essayé de découvrir les grandes lignes de Big Gorilla

Ce que j'ai fait

Lorsque j'étais intéressé par le prétraitement des données et que je cherchais du matériel, [Recruit Institute of Artificial Intelligence lance "Big Gorilla", un écosystème open source pour l'intégration et la préparation des données | Recruit Holdings --Recruit Holdings](http: // www) J'ai trouvé un communiqué de presse appelé .recruit.jp / news_data / release / 2017 / 0630_17541.html).

À première vue, je n'étais pas sûr de ce que c'était, alors j'ai regardé le contour.

Ce que j'ai trouvé

Qu'est-ce que Big Gorilla

BigGorilla - Data Integration & Preparation in Python

--Un environnement python avec une bibliothèque recommandée pour le prétraitement des données --Avec quelques bibliothèques propriétaires

D'après la dénomination et la figure sur le site officiel, cela semblait être un énorme cadre, Pour ainsi dire, c'est un assortiment de bibliothèques. (Il semble qu'il n'héritera pas de la classe propre à BigGorilla)

Pour effectuer réellement le prétraitement, vous devez programmer normalement avec python.

Recommandation pour la création d'un environnement Python portable avec conda --Qiita

Comment installer

$mettre anaconda
$ conda env create biggorilla/py3gorilla
#Si vous utilisez pyenv, vous devez spécifier la commande conda activate avec le chemin complet. Avec la source activée Py3 Gorilla, la coquille tombe.
$ source /Users/kkanazaw/.pyenv/versions/anaconda3-4.2.0/envs/Py3Gorilla/bin/activate Py3Gorilla

Référence: Commençons | BigGorilla

~~ Addendum: Lorsque je l'ai essayé à partir du 07/12/2017, l'erreur suivante n'apparaissait pas avec cette méthode. (Peut-être que le nom du fichier mis à jour en juin est erroné, je pense que l'ancien yml est appliqué. Il sera probablement corrigé par la mise à jour à partir de maintenant) ~~

2017/07/21 Addendum: Le fichier a été mis à jour. Cela devrait fonctionner comme documenté.

Registre de travail de l'installation forcée au 7/12

$ conda env create biggorilla/py3gorilla
Collecting urllib==1.21.1
Downloading urllib-1.21.1.tar.gz (226kB)
100% |████████████████████████████████| 235kB 640kB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/bx/k4yrl_bd3nb0v8pz7fm60t8r0000gp/T/pip-build-58rsg5li/urllib/setup.py", line 191
s.connect((base64.b64decode(rip), 017620))
                                  ^
SyntaxError: invalid token
 ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/bx/k4yrl_bd3nb0v8pz7fm60t8r0000gp/T/pip-build-58rsg5li/urllib/
CondaValueError: Value error: pip returned an error.

Vous pouvez l'installer en téléchargeant yml depuis Files :: Anaconda Cloud et en supprimant la ligne qui spécifie urllib.

###Effacez l'environnement une fois
$ conda env remove -n Py3Gorilla

#Recréez l'environnement en spécifiant le fichier yml modifié localement
$ conda env create --name test --file ~/Downloads/Py3Gorilla.yml

#Si vous utilisez pyenv, vous devez spécifier la commande conda activate avec le chemin complet. Avec la source activée Py3 Gorilla, la coquille tombe.
$ source /Users/kkanazaw/.pyenv/versions/anaconda3-4.2.0/envs/test/bin/activate test

#Déposez le notebook pour le contrôle de fonctionnement et démarrez
$ anaconda download biggorilla/hi_gorilla
$ jupyter notebook hi_gorilla.ipynb

Que pouvez-vous faire? Découvrez les bibliothèques qu'il contient

Il y avait une liste de paquets installés dans Files :: Anaconda Cloud, alors jetez un œil. Bien qu'il soit introduit dans la liste des composants sur le site officiel, il s'avère que seule une petite partie est installée. Par rapport à l'explication sur le site, la composition est étonnamment minimale. S'il n'est pas inclus, installez-le vous-même.

Collecte de données

--urllib http accède à la bibliothèque standard --https accède à la bibliothèque plus riche que les requêtes urllib

Extraction de données

--beautifulsoup4 Chargement et analyse de la page Web --lxml xml parser --nltk Traitement du langage naturel (analyse morphologique, etc.)

Correspondance et fusion de schémas

--FlexMatcher (fabriqué par Recruit Institute)

Correspondance et fusion de données

--Magellan (développé par l'Université du Wisconsin) --Fourni dans le cadre d'une bibliothèque appelée py-entitymatching, py-stringmatching

Conversion de données

--xlrd opération Excel

Mappage de schéma

―― N'est-il pas inclus simplement parce qu'il dispose d'outils commerciaux?

Gestion des flux de travail

―― N'est-ce pas inclus?

Autre

C'est peut-être une dépendance, scikit-learn et jupyter-notebook sont inclus.

À propos de la bibliothèque implémentée à l'origine

Selon le Communiqué de presse, les trois bibliothèques suivantes sont implémentées indépendamment.


Actuellement, RIT est disponible dans des packages appelés KOKO et FlexMatcher.)Et d)Est en cours de développement et l'équipe du professeur Doan a un package appelé Magellan.)Se développe.

FlexMatcher --Bibliothèque de correspondance de schéma créée par le laboratoire de recrutement ――Même si le nom de l'élément de données est différent entre les deux données, il trouvera automatiquement la correspondance.

Magellan

KOKO

Que faire ensuite

--Conda env et essayez de créer réellement l'environnement

Recommended Posts

J'ai essayé de découvrir les grandes lignes de Big Gorilla
J'ai essayé de vérifier le théorème du Big Bang [Est-il sur le point de revenir?]
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ②
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ④
J'ai essayé de savoir comment rationaliser le flux de travail avec Excel x Python ⑤
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ①
J'ai utilisé Python pour découvrir les choix de rôle des 51 "Yachts" dans le monde.
J'ai essayé de m'organiser à propos de MCMC.
les débutants en python ont essayé de le découvrir
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ③
J'ai essayé de déplacer le ballon
J'ai essayé d'estimer la section.
J'ai essayé de savoir si ReDoS est possible avec Python
J'ai essayé de couper une image fixe de la vidéo
J'ai essayé de résumer la commande umask
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
J'ai essayé de savoir comment rationaliser le flux de travail avec Excel × Python, mon résumé d'article ★
J'ai essayé de trouver la différence entre A + = B et A = A + B en Python, alors notez
J'ai essayé de vérifier la meilleure façon de trouver un bon partenaire de mariage
J'ai essayé de résumer la manière logique de penser l'orientation objet.
J'ai essayé de trouver l'itinéraire optimal du pays des rêves par recuit (quantique)
J'ai essayé de savoir ce que je pouvais faire car le tranchage est pratique
J'ai essayé Web Scraping pour analyser les paroles.
J'ai essayé d'optimiser le séchage du linge
J'ai essayé de sauvegarder les données avec discorde
J'ai essayé de trouver le rapport de circonférence par 100 millions de chiffres
J'ai essayé de corriger la forme trapézoïdale de l'image
Qiita Job J'ai essayé d'analyser le travail
LeetCode j'ai essayé de résumer les plus simples
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é d'en savoir le plus possible sur GIL que vous devriez savoir si vous faites un traitement parallèle avec Python
J'ai utilisé gawk pour connaître la valeur maximale qui entre dans NF.
Un débutant en programmation a essayé de vérifier le temps d'exécution du tri, etc.
Découvrez SVM
J'ai essayé de déboguer.
J'ai essayé d'entraîner la fonction péché avec chainer
J'ai essayé de faire un "putain de gros convertisseur de littérature"
J'ai essayé de représenter graphiquement les packages installés en Python
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
J'ai essayé de toucher un fichier CSV avec Python
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é d'approcher la fonction sin en utilisant le chainer
J'ai essayé de mettre Pytest dans la bataille réelle
[Python] J'ai essayé de représenter graphiquement le top 10 des ombres à paupières
J'ai essayé de visualiser les informations spacha de VTuber
J'ai essayé d'effacer la partie négative de Meros
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai essayé de simuler la méthode de calcul de la moyenne des coûts en dollars
J'ai essayé de refaire la factorisation matricielle non négative (NMF)