Ayant récemment commencé à m'enseigner moi-même l'apprentissage automatique et l'analyse des données, je me retrouve à frapper un mur de briques sur la nécessité de créer et d'interroger de grands ensembles de données. Je voudrais prendre des données que j'ai agrégées dans ma vie professionnelle et personnelle et les analyser, mais je ne suis pas sûr de la meilleure façon de procéder comme suit:
Comment dois-je stocker ces données? Exceller? SQL? ??
Quelle est la bonne façon pour un débutant de commencer à essayer d'analyser ces données? Je suis un programmeur informatique professionnel donc la complexité n'est pas dans l'écriture de programmes mais plus ou moins spécifique au domaine de l'analyse de données.
EDIT: Toutes mes excuses pour mon imprécision, lorsque vous commencez à apprendre quelque chose, il est difficile de savoir ce que vous ne savez pas, vous savez? ;)
Cela dit, mon objectif est d'appliquer cela à deux sujets principaux:
Mesures de l'équipe logicielle (pensez à la vitesse agile, à la quantification du risque, à la probabilité d'une itération réussie compte tenu du nombre de points d'histoire)
Apprentissage automatique (par exemple, des exceptions système se sont produites dans un ensemble donné de modules, quelle est la probabilité qu'un module lève une exception sur le terrain, combien cela coûtera-t-il, que peuvent me dire les données sur les modules clés à améliorer qui obtiendront me le meilleur rapport qualité-prix, prédisez quelle partie du système l'utilisateur voudra utiliser ensuite pour commencer à charger les données, etc.).
la source
Réponses:
Si vous avez de grands ensembles de données - ceux qui font charger Excel ou le Bloc-notes lentement, alors une base de données est un bon moyen de procéder. Postgres est open-source et très bien fait, et il est facile de se connecter avec JMP, SPSS et d'autres programmes. Vous voudrez peut-être échantillonner dans ce cas. Vous n'avez pas à normaliser les données de la base de données. Sinon, CSV est convivial.
Considérez Apache Hive si vous avez plus de 100 millions de lignes.
En termes d'analyse, voici quelques points de départ:
Décrivez une variable:
Décrivez la relation entre les variables:
Des valeurs aberrantes? vérifier la distance Mahalanobis
Graphique en mosaïque pour catégorique
Prédire un nombre réel (comme le prix): régression
Techniques de régression OLS ou de régression d'apprentissage automatique
lorsque la technique utilisée pour prédire est compréhensible par l'homme, cela s'appelle la modélisation. Par exemple, un réseau neuronal peut faire des prédictions, mais n'est généralement pas compréhensible. Vous pouvez également utiliser la régression pour trouver des indicateurs de performance clés.
Prédire l'appartenance à une classe ou la probabilité d'appartenance à une classe (comme réussi / échoué): classification
Mettre les observations en groupes «naturels»: regroupement
Mettre les attributs en groupes "naturels": factorisation
Quantifier le risque = écart type, ou proportion de fois où de «mauvaises choses» se produisent x à quel point elles sont mauvaises
Probabilité d'une itération réussie étant donné x nombre de points d'histoire = régression logistique
Bonne chance!
la source
Si vous recherchez des défaillances du système, vous pourriez être intéressé par le document suivant utilisant des techniques d'apprentissage automatique pour le diagnostic des défaillances sur eBay. Cela peut vous donner une idée du type de données à collecter ou de la façon dont une équipe a abordé un problème spécifique dans un domaine similaire.
Si vous débutez, quelque chose comme RapidMiner ou Orange pourrait être un bon système logiciel pour commencer à jouer avec vos données assez rapidement. Les deux peuvent accéder aux données dans une variété de formats (fichier csv, base de données, entre autres).
la source
Votre question est si large que la réponse est: cela dépend. Pourtant, pour donner une réponse plus utile, je vais indiquer ce que je pense sont communs dans la recherche.
Le stockage des données se fait très souvent dans des fichiers texte. Lorsque vous effectuez des analyses statistiques, vous travaillez principalement avec une collection d'un type de vecteurs. Cela peut être vu comme un tableau et écrit au format csv. La raison pour laquelle les minces sont souvent stockées en texte brut, c'est que tout outil peut les lire et qu'il est facile de les transformer.
Concernant l'analyse, il est un peu plus difficile d'être précis. S'il est bidimensionnel, faites un nuage de points. S'il est de grande dimension, effectuez l'ACP et voyez où se trouvent les premiers composants principaux pour découvrir les variables importantes. Si vous avez des données de temps, tracez-les. Tout cela est si général que pour être utile, vous devez vraiment mieux indiquer quelles sont vos données.
la source
La seule chose à laquelle ROOT est vraiment bon est de stocker d'énormes quantités de données. ROOT est une bibliothèque C ++ utilisée en physique des particules; il est également livré avec des liaisons Ruby et Python, vous pouvez donc utiliser des packages dans ces langages (par exemple NumPy ou Scipy) pour analyser les données lorsque vous constatez que ROOT offre peu de possibilités dès le départ.
Le format de fichier ROOT peut stocker des arbres ou des tuples, et les entrées peuvent être lues séquentiellement, vous n'avez donc pas besoin de conserver toutes les données en mémoire en même temps. Cela permet d'analyser des pétaoctets de données, ce que vous ne voudriez pas essayer avec Excel ou R.
La documentation ROOT I / O est accessible à partir d' ici .
la source