Business Analytics dans le nuage: Créez votre propre tableau de bord

Le Cloud Computing est encore fait son chemin dans le monde des applications d'affaires, et de plus en plus de données sont stockées dans le nuage. Les origines de l'information classique Intelligence plates-formes d'entreprise et d'affaires Analytics sont les bases de données, mais nous les données de plus en plus non structurées pas contrôlés par un moteur relationnel, qui est accessible via des API et des applications, et vous avez également à analyser car ils peuvent être d'une importance vitale pour l'entreprise.

Dans les developerWorks, site Web d'IBM, je ai lu l'article de Cloud Business Analytics: Écrivez votre propre tableau de bord, Noah Gift, expliquant l'importance de mettre l'entreprise analytique aussi le nuage, et fournit un petit exemple pratique de la manière.

Je l'ai trouvé tellement intéressant que je ai trouvé une bonne idée de traduire, si elle est ici:

Business Analytics dans le nuage: Créer votre propre tableau de bord


Business Analytics et le cloud computing sont les dossiers chauds et complexes, et l'idée de les combiner peuvent sembler compliqué. Mais ne vous inquiétez pas: L'auteur fournit un simple à l'histoire complexe de l'analyse d'affaires vision, illumine le terrain commun qu'ils partagent, explique les avantages qu'un environnement de cloud computing peut conduire à des opérations analytiques (et vice versa) et donne un exemple d'écrire leur propre application de l'analyse d'affaires dans le nuage.


 

A un certain stade, l'évaluation de toute nouvelle technologie ou processus devrait inclure la question «Que puis-je faire?" - A la fin, ce qui apporte vraiment d'analyse d'affaires dans le «nuage»?

Maintenant, les entreprises de technologie, les concepteurs et les développeurs système ont favorisé plusieurs définitions légèrement différentes de Cloud Computing, mais presque tous d'accord sur ces points:

  1. Cloud computing permet aux applications et même des systèmes complets séparer partage traditionnelle de ressource informatique.

  2. Cloud computing permet aux systèmes de partage des données et des applications.

  3. Cloud computing se appuie sur le concept de distribution de maintenir une haute disponibilité.

  4. Cloud computing IT a plus d'avantages plus IT traditionnelle, comme son évolutivité des ressources et l'expérience pour les besoins de l'organisation informatique interne.

  5. Pour les entreprises, un des plus grands avantages du cloud computing est la possibilité d'élargir la portée des produits, des services ou des messages d'une organisation d'une manière planifiée, et sachant le coût à l'avance.

  6. Les plus grands avantages du cloud computing pour les utilisateurs de produits et de services sont la capacité de fournir un accès transparent aux programmes à la demande.

  7. Couverture informatique peut être interne, externe, ou une combinaison des deux.

  8. La plupart des gens sont déjà impliqués dans le cloud computing chaque fois qu'ils se connectent sur Internet ... seulement que vous ne pouvez pas savoir.

Définition # 2 est la définition (pardonnez le calembour) les critères liés à l'informatique en nuage et d'analyse à partir d'une immense bibliothèque de données intéressantes résidant dans le nuage, ou déjà disponibles pour les systèmes de cloud computing. La structure du nuage offre conteneur de données pratiquement illimitée, idéal pour une entrée de l'outil d'analyse.

Et puisque les données sont là, la prochaine étape est d'apprendre à analyser où ils vivent. Dans cet article, je vais vous montrer comment créer un tableau de bord pour commencer l'analyse d'affaires dans le nuage, mais d'abord, je tiens à définir mon concept de l'analyse d'affaires.

 

Ce que je veux dire par l'analyse d'affaires?

Business Analytics peut signifier beaucoup de choses, comme le Cloud Computing. Dans le code dans cet article, montrer un client de courriels analysant par le «ton» de l'exemple de service à la clientèle de la correspondance.

Je aime utiliser deux exemples pour souligner une définition de l'analyse d'affaires:

  • Robert McNamara et l'introduction de l'analyse des systèmes dans les politiques publiques (maintenant connu commel'analyse des politiques).

  • La théorie des jeux, la théorie de l'IA, et l'analyse statistique.

Systèmes McNamara et d'analyse

Business Analytics dans sa forme actuelle doit beaucoup aux efforts de pionniers de gens comme Robert McNamara, le huitième secrétaire à la Défense, avec les présidents Kennedy et Johnson, qui a utilisé l'analyse quantitative pour aider à l'effort de la Seconde Guerre mondiale. Dans sa définition la plus large, l'analyse d'affaires est tout - y compris les outils, les processus et techniques - qui fournit une analyse des données d'entreprise. (Donc la partie "affaires" business analytics, changent les données de «scientifique» ou «sociologique» et vous obtenez une analyse correspondant à différentes disciplines Le même cadre, différents E / S.).

Principalement le nom de Robert McNamara est connu pour son association avec les tragédies de la guerre du Vietnam, mais son héritage est plus complexe et nuancée que ce qui peut être vu dans la notice nécrologique du New York Timescomme «l'architecte d'une guerre ratée ».

Après avoir reçu un MBA de Harvard en 1939, l'analyse quantitative McNamara appliquée aux efforts de l'armée pendant la Seconde Guerre mondiale pour analyser l'efficacité des bombardiers B-29 dans le cadre d'une équipe d'élite appelée contrôle statistique. En 1946, il rejoint Ford dans le cadre d'une équipe de "Whiz Kids", qui a réalisé de nombreuses améliorations des systèmes de contrôle de gestion modernes. Il a aidé autour de la Ford Motor Company, et, finalement, est devenu en 1960 le premier président de Ford qui ne était pas la famille.

McNamara est peut-être un exemple de deux succès potentiels de analytique - produire rendement effectif sur le coût Ford Motor Company - et l'échec potentiel de l'analyse d'affaires - en ne incluant pas certains ensembles de l'entrée clé dans l'analyse de la façon de procéder sur la guerre du Vietnam.

 

Jeux et analyse statistique

Il existe des logiciels d'analyse d'affaires qui fait usage de la théorie de l'intelligence artificielle (sous la forme d'exploration de données), la théorie des jeux (comme le dilemme du prisonnier et de l'équilibre de Nash), et l'analyse statistique.

Intelligence artificielle

Lorsque la discipline de l'intelligence artificielle à l'ordinateur combinée, vous rendre à la pratique de l'extraction de données, ce qui est tout simplement le processus d'extraction de schémas de données.

Ce ne est pas un nouveau concept. Voici deux précurseurs minières données utilisées pour découvrir des modèles dans les données:

  • Théorème de Bayes (Thomas Bayes, 1702-1761) montre la relation entre deux probabilités conditionnelles (la probabilité de A étant donné l'apparition de B), qui est l'inverse de l'autre.

  • L'analyse de régression (première forme, la méthode des moindres carrés, Adrien-Marie Legendre en 1805, Carl Friedrich Gauss en 1809) contient les techniques de modélisation et de l'analyse de plusieurs variables (où l'on est dépendant et d'autres sont indépendants), idéal pour créer des modèles prédictifs basés sur les modèles trouvés dans les données.

Technologies de l'information (comme le cloud computing) a augmenté la capacité de recueillir, stocker, accéder et manipuler des données. Merci aux énormes volumes de données disponibles, l'analyse directe des données / manuel maintenant améliore presque toujours avec des données automatisés de manutention certaines techniques de haut niveau, tels que les réseaux de neurones, le regroupement, algorithmes génétiques, arbres de décision, et le soutien machines à vecteurs.

En dehors de l'évidence - exploration de données permet aux gens de développer la quantité de données utilisées dans l'analyse par découvrir les modèles de grandes quantités de données - pour des fins liées à l'analyse d'affaires dans le nuage, la composante minière données IA est très pratique pour aider le chercheur à incorporer et intégrer différents types de données, par exemple, des données structurées et les données non structurées. 

La théorie des jeux

La théorie des jeux est une branche des mathématiques appliquées qui est mathématiquement capturent comportement dans des situations stratégiques où la réussite d'un individu à faire des choix dépend des choix que les autres participants prennent.

"Le dilemme du prisonnier" est peut-être le plus célèbre problème de la théorie des jeux. Ce est un scénario dans lequel la stratégie «dominante» conduit à un résultat non-optimale pour tous les participants. Cela concerne également légèrement au problème appelé la «tragédie des biens communs» dans laquelle l'intérêt assure un résultat pire pour la communauté.

De nombreux problèmes de la théorie des jeux sont appliqués directement sur les processus d'affaires. Par exemple:

  • "Le dilemme du prisonnier» démontre pourquoi deux personnes ne devraient pas coopérer, même si les deux ont le plus grand intérêt à le faire. Dans l'exemple classique, deux suspects sont arrêtés par la police. Les policiers ont pas suffisamment de preuves pour une condamnation, et, après avoir séparé les prisonniers, visiter chacun d'entre eux pour offrir la même affaire. Si l'on témoigne de la poursuite contre l'autre (non coopératif) et l'autre reste silencieux (coopère), le transfuge est gratuite et le silencieux complice reçoit 10 années en prison. Si les deux restent silencieux, les deux prisonniers sont condamnés à six mois de prison pour une infraction mineure. Si chaque trahit l'autre, chacun reçoit une peine de cinq années. Chaque détenu doit choisir de trahir l'autre ou de garder le silence.

  • Le "équilibre de Nash" (après l'inventeur John Forbes Nash) est une solution d'un match entre deux joueurs ou plus dans laquelle on suppose que chaque joueur connaît les stratégies des autres joueurs d'équilibre et aucun joueur ne peut gagner en changeant seulement son propre stratégie unilatéralement. Si chaque joueur a choisi une stratégie et aucun joueur ne peut bénéficier en modifiant sa stratégie alors que les autres joueurs gardent leur, l'ensemble actuel des options stratégiques et les gains correspondants constituent un équilibre de Nash.

  • La «tragédie des biens communs» est un dilemme résultant de la situation dans laquelle plusieurs personnes, agissant de manière indépendante, et uniquement et rationnellement servir leurs propres intérêts, éventuellement épuiser une ressource limitée partagée, même quand il ne est clairement pas intéressé à longue dans l'une des personnes.

Le pouvoir réel que la théorie des jeux fournit le nuage analytique est sur ​​le rôle du développement d'algorithmes en ligne,des algorithmes qui peuvent traiter pièce par pièce en série (dans l'entrée de commande arrive) sans entrée disponibles remplir au début du processus. L'utilisation de ce type d'algorithme, les motifs peuvent découler de l'analyse des données existantes et des informations supplémentaires ils peuvent prendre des décisions et dans les premiers stades de l'analyse, puis être révisée que de nouvelles données deviennent disponibles.

 

L'analyse statistique

Langages de programmation statistiques définis simplement comme auqellos conçus pour des applications statistiques, sont évidemment un élément important de l'analyse d'affaires dans ne importe quel environnement.

La norme de facto pour le programme d'analyse statistique est le langage de programmation R. R est une implémentation du langage de programmation de S en combinaison avec le schéma sémantique lexicale dans des environnements inspirés; fait partie du projet GNU et son code source est librement disponible sous la licence GNU General Public License. Versions binaires précompilés sont disponibles pour différents systèmes d'exploitation. Vous pouvez manipuler directement les objets avec R et C du code Java.

Le langage R offre de nombreuses bibliothèques utiles pour effectuer des analyses statistiques sur les grands et petits ensembles de données.

Selon l'expert David Mertz - L'environnement de R ne est pas destiné à être un langage de programmation lui-même, mais plutôt un outil interactif pour explorer les ensembles de données, y compris la production d'une large gamme de représentations graphiques des propriétés de données .- «programmation statistique avec R" série 

 

 


Une question ouverte qui affecte tout nouveau développement de logiciels, se il rend solution de bon sens "do it yourself" ou d'acheter dans le commerce. Je ne vais pas répondre à cette question dans cet article.

Maintenant regardons la façon de démarrer votre propre programme en Python boîte de contrôle analytique.

 

 

Créez votre propre boîte de contrôle analytique

Cet exemple montre comment lire un compte de messagerie, transformer les données en rapport les parties marqué, et ensuite utiliser cette information pour créer des phrases de trois mots qui sont classés par nombre d'occurrences.

Enfin, ces données sont présentées dans un graphique en utilisant l'API de visualisation de Google. Parce que le code de l'échantillon est longue, est décomposé en étapes et chaque étape est expliquée séparément. Vous pouvez télécharger l'exemple de code complet et continuer avec votre propre serveur de messagerie (comme Gmail).

 

La figure 1 montre le pipeline de traitement de données.

 

Figure 1. Le moyen de traitement de données

Le pipeline de traitement de données

 

  1. Accès au serveur de courrier électronique. Listing 1 montre comment.

    Listing 1. Accès programmé votre programme de messagerie

     

     importation email
    
     username = "myaccount@example.com"
     password = "asecretpassword"
     server = "imap.example.com"
     folder = "INBOX"
    
     connect_inbox def ():
     "Données Grab"
     mail = imaplib.IMAP4_SSL (serveur, 993)
     mail.login (nom d'utilisateur, mot de passe)
     mail.select (dossier)
     état, count = mail.search (Aucun, 'ALL')
     essayer:
     num pour la numération [0] .split ():
     état, données = mail.fetch (num, '(RFC822)')
     rendement email.message_from_string (données [0] [1])
     enfin:
     mail.close ()
     mail.logout ()
    
     def get_plaintext (messages): 
    "" "Récupérer text / version simple du message" ""
    pour un message en messages:
    pour une partie dans message.walk ():
    si part.get_content_type () == "text / plain":
    rendement partie

    Dans cet extrait, une connexion est établie à un serveur IMAP et chaque message est redistribué à une autre fonction qui recherche l'messages texte brut type de contenu, et est ensuite retourné. 

  2. Traitement et l'étiquetage des parties de données de message à l'aide Toolkit Python langage naturel. La bibliothèque NLTK est utilisé pour transformer le texte brut en phrases, puis des mots, et enfin, en paires de mots dans la catégorie avec la fonction dans la phrase, comme un verbe, nom, etc. Cette information est ensuite utilisée pour créer une phrase de trois mots composé d'un verbe de chaque côté du mot «TO»; Lorsque ce motif correspond, les trois-mot la phrase est retourné avec l'entier 1, de sorte qu'il peut être sumarizada tard (Listing 2).

    Listing 2. étiquetage et la transformation

     Importer NLTK 

    transformer def (messages):
    "" "Transforme les données par tokensizing et parties du discours marquage" ""
    pour un message en messages:
    phrases = nltk.sent_tokenize (str (message))
    phrases = [nltk.word_tokenize (envoyé) pour envoyés dans des phrases]
    phrases = [nltk.pos_tag (envoyé) pour envoyés dans des phrases]
    peines de rendement

    def three_letter_phrase (messages):
    "" "Donne un trois mots phrase Avec SUR" ""
    pour un message en messages:
    pour peine dans un message:
    pour (w1, t1), (w2, t2), (w3 t3) dans nltk.trigrams (phrase):
    if (t1.startswith ('V') et t2 == «TO» et t3.startswith ('V')):
    rendement ((w1, w2, w3), 1)

     

  3. Récapitulation des données. Un certain nombre de fonctions en utilisant le style de MapReduce pour extraire, partition, puis résumer l'apparition de ces phrases de trois mots (annexe 3). Notez que ce est écrit d'une manière totalement séquentielle, mais avec un peu d'effort pourrait être converti pour fonctionner plus en parallèle

    Listing 3. Les données Résumer utilisant MapReduce

     def mapper (): 
    = messages connect_inbox ()
    text_messages = get_plaintext (messages)
    Transformées = transformer (text_messages)
    pour l'article, compter en three_letter_phrase (transformé):
    donner article, compter

    def phrase_partition (phrases):
    partitioned_data = defaultdict (liste)
    pour la phrase, comptez dans les phrases:
    partitioned_data [expression] .append (comptage)
    partitioned_data.items retour ()

    def réducteur (phrase_key_val):
    phrase, count = phrase_key_val
    retourner [phrase somme (compte)]

    start_mr def (mapper_func, reducer_func, processus = 1):
    Piscine = Piscine (Processus)
    map_output mapper_func = ()
    partitioned_data = phrase_partition (map_output)
    reduced_output = pool.map (reducer_func, partitioned_data)
    retourner reduced_output

     

  4. Trier les résultats et l'utilisation de Google Chart API pour afficher les résultats dans un graphique circulaire (Fiche 4).

    Listing 4. Affichage des résultats

     page_template = "" " 
    <Html>
    <Head>
    <! - Chargez l'API AJAX ->
    <Type Script = "text / javascript" src = "https://www.google.com/jsapi"> </ script>
    <Type Script = "text / javascript">

    // Charge l'API de visualisation et le paquet de piechart.
    google.load ('visualisation', '1', {«paquets»: ['corechart']});

    // Définir un rappel à exécuter l'API de visualisation de Google Lorsque est chargé.
    google.setOnLoadCallback (drawChart);

    // Rappel qui crée et remplit un tableau de données,
    // Instancie le graphique circulaire, passe dans les données et
    // Dessine.
    drawChart fonction () {

    // Création notre table de données.
    var data = new google.visualization.DataTable ();
    data.addColumn ('string', '3 mot "to" Phrase ");
    data.addColumn ('numéro', 'occurrences dans la boîte de réception ");
    data.addRows (% s

    );

    // Instancier et tracer notre tableau, en passant quelques options.
    var tableau =
    nouvelle google.visualization.PieChart (document.getElementById ('chart_div'));
    chart.draw (données, {width: 1000, hauteur: 700, is3D: true, titre:
    'Service à la clientèle Email Phrases'});
    }
    </ Script>
    </ Head>

    <Body>
    <! - Div qui tiendra le graphique ->
    <Div id = "chart_div"> </ div>
    </ Body>
    </ Html>


    "" "

    def Print_Report (liste_tri, num = 25):
    Résultats = []
    pour les éléments de liste_tri [0: num]:
    phrase = "" .join (articles [0])
    Résultat = [phrase, articles [1]]
    results.append (résultat)
    page = page_template% des résultats
    imprimer cette page

    def main ():
    phrase_stats = start_mr (mapper, réducteur)
    sorted_phrase_stats = triés (phrase_stats, key = itemgetter (1), inverse = True)
    Affiche_rapport (sorted_phrase_stats)

     

    Ce dernier écran de l'étape est plus facile qu'il n'y paraît parce que les résultats du rapport sont tout simplement une chaîne remplacé dans un modèle HTML et JavaScript. Comme on le voit sur la figure 2, les résultats montrent proprement dans un diagramme à secteurs.

Figure 2. Les résultats d'un camembert

Les résultats dans un graphique circulaire

Conclusion

Dans cet article, nous avons passé en revue quelques-unes des théories derrière l'analyse et des affaires analyse quantitative, et a également fourni un exemple de code de preuve de concept. L'analyse de la "tonalité" et "l'humeur" des pourparlers, cet exemple peut facilement devenir un indicateur de l'humeur des clients pour une entreprise qui fournit des services à la clientèle. Avec un peu plus de travail, vous pouvez vous connecter à ne importe quel autre moteur de logique qui peut être enchaîné à un autre moteur, et ainsi de suite.

L'analyse des données dans le nuage est inévitable future adresse Internet; ainsi que les entreprises de plus en plus orientée vers des solutions de cloud computing, la nécessité de construire ou d'acheter des logiciels d'analyse d'affaires ne fera qu'augmenter. Je espère que cet article vous a donné quelques idées sur ce que vous pouvez construire pour votre entreprise, que ce soit la création ou l'achat.

 

 

 Attaché   
emailbi.zip 1.71 KB