{ "metadata": { "name": "", "signature": "sha256:d6518e1c90e79d27032c85780d2319feec7cd102f9b1752ea84d0c71b26b65b0" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "#!/usr/bin/env python\n", "# -*- coding: latin-1 -*-\n", "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import scipy\n", "import seaborn as sns\n", "\n", "from sklearn import ensemble\n", "from sklearn import feature_extraction\n", "from sklearn import linear_model\n", "from sklearn import pipeline\n", "from sklearn import cross_validation\n", "from sklearn import metrics\n", "\n", "# Load module that will load the instances\n", "import load" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "X, y, label_names = load.get_instances_from_directory('data/text')\n", "\n", "X_train, X_test, y_train, y_test = cross_validation.train_test_split(X,\n", " y,\n", " test_size=0.2,\n", " random_state=0)\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "print(X[0])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\u0648\u064a\u0643\u064a\u0628\u064a\u062f\u064a\u0627 (\u062a\u0644\u0641\u0638 [wi\u02d0ki\u02d0bi\u02d0dija\u02d0] \u0648\u062a\u0644\u062d\u0646 [wikipi\u02d0dia] \u061b \u062a\u0644\u0641\u0638 \u0628\u0627\u0644\u0625\u0646\u062c\u0644\u064a\u0632\u064a\u0629 /\u02ccw\u026aki\u02c8pi\u02d0di.\u0259/ ) \u0647\u064a \u0645\u0634\u0631\u0648\u0639 \u0645\u0648\u0633\u0648\u0639\u0629 \u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0644\u063a\u0627\u062a\u060c \u0645\u0628\u0646\u064a\u0629 \u0639\u0644\u0649 \u0627\u0644\u0648\u064a\u0628 \u060c \u0630\u0627\u062a \u0645\u062d\u062a\u0648\u0649 \u062d\u0631\u060c \u062a\u0634\u063a\u0644\u0647\u0627 \u0645\u0624\u0633\u0633\u0629 \u0648\u064a\u0643\u064a\u0645\u064a\u062f\u064a\u0627 \u060c \u0627\u0644\u062a\u064a \u0647\u064a \u0645\u0646\u0638\u0645\u0629 \u063a\u064a\u0631 \u0631\u0628\u062d\u064a\u0629 . \u0648\u064a\u0643\u064a\u0628\u064a\u062f\u064a\u0627 \u0647\u064a \u0645\u0648\u0633\u0648\u0639\u0629 \u064a\u0645\u0643\u0646 \u0644\u0623\u064a \u0645\u0633\u062a\u062e\u062f\u0645 \u062a\u0639\u062f\u064a\u0644 \u0648\u062a\u062d\u0631\u064a\u0631 \u0648\u0625\u0646\u0634\u0627\u0621 \u0645\u0642\u0627\u0644\u0627\u062a \u062c\u062f\u064a\u062f\u0629 \u0641\u064a\u0647\u0627.\n", "\n" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "print(X[2000])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Am 28. J\u00e4nner 1756 \u2013 einen Tag nach seiner Geburt \u2013 wurde Mozart auf die Namen Joannes Chrysostomus Wolfgangus Theophilus getauft. Der erste und letzte der genannten Vornamen verweisen auf den Taufpaten Joannes Theophilus Pergmayr, Senator et Mercator Civicus , der mittlere Vorname Wolfgang auf Mozarts Gro\u00dfvater Wolfgang Nicolaus Pertl. Das griechische Theophilus (\u201e Gottlieb \u201c) hat Mozart sp\u00e4ter in seine franz\u00f6sische Entsprechung Amad\u00e9 bzw. (selten) latinisierend Amadeus \u00fcbersetzt.\n", "\n" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "print(X[1000])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\u6545\u5bab\n", "\n" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "print(X[3000])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "195,046 foreign nationals became British citizens in 2010, [ 348 ] compared to 54,902 in 1999. [ 348 ] [ 349 ] A record 241,192 people were granted permanent settlement rights in 2010, of whom 51 per cent were from Asia and 27 per cent from Africa. [ 350 ] 25.5 per cent of babies born in England and Wales in 2011 were born to mothers born outside the UK, according to official statistics released in 2012. [ 351 ]\n", "\n" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "print(X[4000])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "La intervenci\u00f3n romana se produjo en la Segunda Guerra P\u00fanica (218 a. C.), que inici\u00f3 una paulatina conquista romana de Hispania , no completada hasta casi doscientos a\u00f1os m\u00e1s tarde. La derrota cartaginesa permiti\u00f3 una relativamente r\u00e1pida incorporaci\u00f3n de las zonas este y sur, que eran las m\u00e1s ricas y con un nivel de desarrollo econ\u00f3mico, social y cultural m\u00e1s compatible con la propia civilizaci\u00f3n romana. Mucho m\u00e1s dificultoso se demostr\u00f3 el sometimiento de los pueblos de la Meseta, m\u00e1s pobres ( guerras lusitanas y guerras celt\u00edberas ), que exigi\u00f3 enfrentarse a planteamientos b\u00e9licos totalmente diferentes a la guerra cl\u00e1sica (la guerrilla liderada por Viriato \u2014asesinado el 139 a. C.\u2014, resistencias extremas como la de Numancia \u2014vencida el 133 a. C.\u2014). En el siglo siguiente, las provincias romanas de Hispania , convertidas en fuente de enriquecimiento de funcionarios y comerciantes romanos y de materias primas y mercenarios, estuvieron entre los principales escenarios de las guerras civiles romanas , con la presencia de Sertorio , Pompeyo y Julio C\u00e9sar . La pacificaci\u00f3n ( pax romana ) fue el prop\u00f3sito declarado de Augusto , que pretendi\u00f3 dejarla definitivamente asentada con el sometimiento de c\u00e1ntabros y astures (29\u201419 a. C.), aunque no se produjo su efectiva romanizaci\u00f3n. En el resto del territorio, la romanizaci\u00f3n de Hispania fue tan profunda como para que algunas familias hispanorromanas alcanzaran la dignidad imperial ( Trajano , Adriano y Teodosio ) y hubiera hispanos entre los m\u00e1s importantes intelectuales romanos (el fil\u00f3sofo Lucio Anneo S\u00e9neca , los poetas Lucano , Quintiliano o Marcial , el ge\u00f3grafo Pomponio Mela o el agr\u00f3nomo Columela ), si bien, como escribi\u00f3 Tito Livio en tiempos de Augusto, \"aunque fue la primera provincia importante invadida por los romanos fue la \u00faltima en ser dominada completamente y ha resistido hasta nuestra \u00e9poca\", atribuy\u00e9ndolo a la naturaleza del territorio y al car\u00e1cter recalcitrante de sus habitantes. La asimilaci\u00f3n del modo de vida romano, larga y costosa, ofreci\u00f3 una gran diversidad desde los grados avanzados en la B\u00e9tica a la incompleta y superficial romanizaci\u00f3n del norte peninsular.\n", "\n" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "print(X[6000])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Il est, par la suite, d\u00e9chu par le S\u00e9nat le 3 avril et exil\u00e9 \u00e0 l\u2019 \u00eele d\u2019Elbe , selon le trait\u00e9 de Fontainebleau sign\u00e9 le 11 avril, conservant le titre d\u2019Empereur [ 45 ] mais ne r\u00e9gnant que sur cette petite \u00eele. Son convoi de Fontainebleau jusqu'\u00e0 la M\u00e9diterran\u00e9e avant son embarquement pour l'\u00eele d'Elbe passe par des villages proven\u00e7aux royalistes qui le conspuent, il risque d'\u00eatre lynch\u00e9 \u00e0 Orgon , ce qui l'oblige \u00e0 se d\u00e9guiser [ 46 ] .\n", "\n" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "print(X[8000])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\u0422\u0430\u043a\u0436\u0435 \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f 7 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0438 9 \u043d\u0435\u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 . \u041a \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u043c \u0438\u0441\u043a\u043e\u043d\u043d\u043e \u0430\u0444\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u0438\u043c \u044f\u0437\u044b\u043a\u0430\u043c \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u044f\u0437\u044b\u043a\u0438 \u0431\u0430\u043d\u0442\u0443 ( \u0441\u0443\u0430\u0445\u0438\u043b\u0438 , \u043a\u043e\u043d\u0433\u043e ), \u0444\u0443\u043b\u0430 .\n", "\n" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "print(X[-10])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Yerel \u00e7e\u015fitlere ve bunlar\u0131n aras\u0131nda kar\u015f\u0131l\u0131kl\u0131 al\u0131\u015fveri\u015f ve zenginle\u015ftirmeye dayal\u0131 olmas\u0131 d\u00fcnyan\u0131n herhangi bir b\u00fcy\u00fck mutfa\u011f\u0131 i\u00e7in ola\u011fand\u0131r. Ama ayn\u0131 zamanda b\u00fcy\u00fck\u015fehir gelene\u011finin zarif tad\u0131 ile homojenize ve uyumludur. [129]\n", "\n" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "vectorizer = feature_extraction.text.TfidfVectorizer(ngram_range=(1, 6),\n", " analyzer='char',)\n", "# use_idf=False)\n", "\n", "pipe = pipeline.Pipeline([\n", " ('vectorizer', vectorizer),\n", " ('clf', linear_model.LogisticRegression())\n", "])\n", "\n", "pipe.fit(X_train, y_train)\n", "\n", "y_predicted = pipe.predict(X_test)\n", "\n", "cm = metrics.confusion_matrix(y_test, y_predicted)\n", "\n", "# Predict the result on some short new sentences:\n", "sentences = [\n", " u'Je ne dis pas ce que je faisais',\n", " u'Ich habe nich erzahlt was ich gemacht habe',\n", " u'Ne yapt\u0131\u011f\u0131m\u0131 s\u00f6ylemedim',\n", " u'Yo no dije lo que hice'\n", "]\n", "# We could pass not \"feature\" but raw data, pretty neat!\n", "predicted_languages = pipe.predict(sentences)\n", "\n", "for sentence, lang in zip(sentences, predicted_languages):\n", " print(u'{} ----> {}'.format(sentence, label_names[lang]))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Je ne dis pas ce que je faisais ----> fr\n", "Ich habe nich erzahlt was ich gemacht habe ----> de\n", "Ne yapt\u0131\u011f\u0131m\u0131 s\u00f6ylemedim ----> tr\n", "Yo no dije lo que hice ----> es\n" ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure(figsize=(16, 16))\n", "sns.heatmap(cm, annot=True, fmt='', xticklabels=label_names, yticklabels=label_names);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nAFCIJYIAAEBXrVgi2AsTLAAAgEIELAAAgEIELAAAgELswQIAALpyTHtvTLAAAAAKEbAAAAAKEbAA\nAAAKEbAAAAAKEbAAAAAKEbAAAAAKcUw7AADQVcsx7T0xwQIAAChEwAIAACjEEkEAAKCrtiWCPTHB\nAgAAKETAAgAAKETAAgAAKMQeLAAAoKtW7MHqhQkWAABAISZYK4yNjeXE087I7XfcmaGhoRx/zJHZ\nfNasfpc1Yf1q/t25dO41efdur1n1uRt+c2uuuvNnef+er0uSXPWLm/PDX89Nkrz4qc/JMzZ7Sl9q\nHSTu4+bp8fjQ5+bpcfP0uHl6zJqo6wSrqqo3VlV1a1VVv1rx8cvxKGy8XXHl1RkdHc0lsz+dww89\nJKefeU6/S5qwvlPfmC/89LtZumzZqs/99oH7cv2v5616/cjSJfnu7T/O+/d4Xd65y6vzlZuv7EOl\ng8d93Dw9Hh/63Dw9bp4eN0+Px1e71ZpwH33pUw/vOSLJy5Nss+LjaY1W1Cc33TwnOz3vuUmS7bZ9\neubdelufK5q4Hr/ejLz1eS9PZ8XrhxcvytfnXZt9t9991edWruFdvHRJHlk66vcqFOI+bp4ejw99\nbp4eN0+Pm6fHrIl6WSL4i7qu72y8kj4bGRnJesPDq15ParczNjaWdts2tb/UDpttlfkjDyVJxjqd\nXPKT7+Qft9s9606atOo9k9dZN8/avMqHv3NRxjqdvPipz+5XuQPFfdw8PR4f+tw8PW6eHjdPj1kT\n9RKwFlVVdXmSnyUZS5K6ro9qtKo+GB4ezsjChatej411/MtZwG8euDf3Pfxg/vWm72V02bLcvWB+\nvnrzldlhs63zy/l358SXHJhOp5Nzrvla/nbmptnicZv0u+QJzX3cPD0eH/rcPD1unh43T49ZE/Vy\nB/40ybeS3JZk/yR/aLSiPtlh++1yzXXXJ0luvmVutt5qyz5XNBi2eNwmOfaFb8y7d3tNDnjOS/PE\n6TPzj9vvniXLRjM0aZ2s056UdSetk2lDk7NodHG/y53w3MfN0+Pxoc/N0+Pm6XHz9Jg1US8TrH9M\n8tq6ru+squrqJBcl+VizZY2/5++xW354w43Z/4CDkyQnHHt0nyua+P77rqrOqs9t84Qn59Z778pp\n3/9i2q1WnrLRZtnmCU8e3wIHkPu4eXo8PvS5eXrcPD1unh6zJmp1Op3VvqGqquvrut7xUa+vrOt6\n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\n9+Upf/s3/S5roHheNE+Pm6fHrIm6BqyqqqYn2TvJlBWf6tR1fXGjVfXBFVdendHR0Vwy+9OZM3de\nTj/znJx9xmn9LmvgjC5dmhNOOyNTp07tdykDyX1c1vZ7PCMjD43kf5/xlUxZb0re8Yl35o93/zH/\n8clv5N5f35Nn7v2s7LLvrrn8gm/liU/ZNBcd/dksenhRv8seCFdfe31a7VYu+swn8+Of3pRzzvt0\nzjr9lH6XNVA8L5qnx83TY9ZEvUywvp7kd0l+23AtfXXTzXOy0/OemyTZbtunZ96tt/W5osH0sXM+\nmde86hW58KIv9LuUgeQ+LmvuNbdk3rVzkyStVitjy5bly6d+KSMPPpwkaU+alNElS5MkMzedmVe8\n65VZb8P18pNv/zg3ffenfat7EOyx2y7ZdecdkyS/u/ueTF9//T5XNHg8L5qnx83T4/HVsgmrJ70E\nrFZd129ovJI+GxkZyXrDw6teT2q3MzY2lnbbNrVSvv4f38qGM2Zkx+c8Oxde9IV0Op1+lzRw3Mdl\njS4eTZIMTR3Ka4/6p3zvou+uClebb/OkPOflz80F7/tUhqYM5Uf/5/pc/7Xr0p7UzptPOzC/v+N3\nuffX9/az/Alv0qRJOebDJ+WKK6/JR085od/lDBzPi+bpcfP0mDVRLwFrTlVVz01yU5JOktR1vaTR\nqvpgeHg4IwsXrno9NtbxL2dhl172zbTSyv+98Se57Y47csyHT87ZHzk5M2c+rt+lDQz3cXnTN9og\nr/vQ63PDN36UW66akyTZdte/y2777Z7Pf+hzWfSnRWm1WvnR13+YpaNLk9HkVzf/Ipv8zRMFrAJO\nPPbozH/HH/P6Aw7OpV+6JFOmTO53SQPD86J5etw8PWZN1MsduHuSf01yf5I7kgzk7HWH7bfLNddd\nnyS5+Za52XqrLftc0eD57HnnZPZ5Z+fCT56Vp261VU76l6OFq8Lcx2UNz1gvbzrpzfnOhZfnpu8t\nX/K3/R7PyHNe9txceMRn8uB9DyZJNpq1UQ48461ptVppT2rnSU/bIr+/83f9LH3C+8Y3L88Fn/t8\nkmTy5MnLe9u2NKUkz4vm6XHz9Hh8tVoT76MfeplgvTPJJ5IsTvJvGdC9WM/fY7f88IYbs/8BBydJ\nTjj26D5XBH8593FZu+23eyYPT8nu/7Rndv+nPdNut7LxFk/Ig/c+kNcds3zl9K/n/DI/+OIV+dn3\nb8pBH3tbxpYty03f+0nu/+39fa5+YnvBnnvkQyecnDe/7dAsXbosR7znXRkaGup3WQPF86J5etw8\nPWZN1Or0nOOgAAAgAElEQVS2D6aqqquTvDLJV5P8Q5Kr6rr++x6v31myYP5fVyGPaWj6zCTJ4gcs\nQ2rS5A2fkCRxLzdn5b38ob2P6nMlg+uEb52cJFn84H19rmSwTZ6xcRLPiyatfF7ocXP0uHkrejzh\nxvJfOeTMCbeBft/zDh/3PveyRLBT1/X8JKnr+k9JFjRbEgAAwMTUyxLBO6uqOjXJzKqqPpjkroZr\nAgAA1jCOae9NLxOst2V5qLo2ycNJDmq0IgAAgAmq6wSrruvRJOeNQy0AAAATml8UAAAAUIiABQAA\nUIiABQAAUIiABQAAUEgvx7QDAABrOae098YECwAAoBABCwAAoBBLBAEAgK7a1gj2xAQLAACgEAEL\nAACgEAELAACgEHuwAACArmzB6o0JFgAAQCECFgAAQCGWCAIAAF21rBHsiQkWAABAIQIWAABAIQIW\nAABAIQIWAABAIQIWAABAIQIWAABAIY5pBwAAunJKe29MsAAAAAoRsAAAAAqxRBAAAOiqZY1gT0yw\nAAAAChGwAAAAChGwAAAACrEHCwAA6MoWrN6YYAEAABQiYAEAABRiiSAAANCVY9p7Y4IFAABQiIAF\nAABQiIAFAABQiIAFAABQiIAFAABQiIAFAABQiGPaAQCArpzS3hsTLAAAgEIELAAAgEIELAAAgELs\nwQIAALpq2YTVExMsAACAQgQsAACAQiwRBAAAurJCsDcmWAAAAIW0Op1Ok9dv9OIAADBBTbh50OXv\n/+SE+97+xae/fdz7bIIFAABQSON7sJYsmN/0X7HWGpo+M0nyyPx7+lzJYJsyc5Mk7uUmrbyXF/7+\nV32uZHBN2/RvkiSH7nZ4nysZbOdedWYSz4smrXxe6HFz9Lh5K3s80bRtwuqJCRYAAEAhAhYAAEAh\njmkHAAC6skKwNyZYAAAAhQhYAAAAhQhYAAAAhQhYAAAAhQhYAAAAhQhYAAAAhTimHQAA6KrlnPae\nmGABAAAUImABAAAUImABAAAUYg8WAADQlS1YvTHBAgAAKETAAgAAKMQSQQAAoKtW2xrBXphgAQAA\nFCJgAQAAFCJgAQAAFGIPFgAA0JVj2ntjggUAAFCIgAUAAFCIgAUAAFCIgAUAAFCIgAUAAFCIgAUA\nAFCIY9oBAICuWs5p74kJFgAAQCECFgAAQCGWCAIAAF1ZIdgbEywAAIBCBCwAAIBCBCwAAIBC7MEC\nAAC6ckx7b0ywAAAAChGwAAAACrFEEAAA6MoKwd6YYAEAABQiYAEAABQiYAEAABQiYAEAABQiYAEA\nABQiYAEAABTimHYAAKA757T3xAQLAACgEAELAACgEAELAACgEHuwAACArlr2YPXEBAsAAKCQv2iC\nVVXV5nVd/7apYvppbGwsJ552Rm6/484MDQ3l+GOOzOazZvW7rIGz35sOzHrrDSdJZm26aY4/6og+\nVzSY5sydlzPPPS+zzz+336UMlFt+flvO/szsfObjH8ltd9yZdx11XJ40a9Mkyb7/8LK8cI9d+1zh\nxNOe1M4bjnxdHveEx2WdddfJ5Z//TuZePy9J8sy9/j67vnKXfOwdZyVJdt1n5zz7xc9KOsn3/+2K\n3HTlzf0sfWB4XjTH9xbN02PWRF0DVlVVH0jyYJIZSd5UVdW367p+d+OVjbMrrrw6o6OjuWT2pzNn\n7rycfuY5OfuM0/pd1kBZvHhxkuTCc8/qcyWDbfbFl+Q/vvXtTJs6td+lDJTP/etX8s3vfT9TV/T1\n57ffkTfs+8rs/5pX97myie1ZL3hmHn5wJBef9IVMXW9qPnjh+zP3+nmZtdVmee7ez1n1vuENhrPz\nK3bMKQecnnUnr5tjLvqggFWA50WzfG/RPD0eX1YI9qaXJYKvTvK5JHsneXqSZzRZUL/cdPOc7PS8\n5yZJttv26Zl36219rmjw1Hf+Io88sjhvO/x9Oeiwd2fOvJ/3u6SB9KRZs3LmR05JJ51+lzJQNt/s\niTnjw8em01ne11tvvzPX/ujGHPCu9+f40z+ehYsW9bnCiemmK3+W/5j9zSRJu93KsqXLMm39aXn5\ngS/N/z7331et9x95aCSnvOX0dMY62eBx07N0yWg/yx4YnhfN8r1F8/SYNVEvAWtpkk2S3FPXdSfJ\nQP6Ya2RkJOsND696PandztjYWB8rGjxTp0zJG1//2px/5hk55gPvzVHHnajHDdhrz90zadKkfpcx\ncJ6/685ZZ9J/PTL/bpsq7z7kwFx41umZ9cQn5lMXXdLH6iauJY8syZJFSzJ56uS85fg35bLPfiuv\nP+J1+donLs3iRUv+v/d2Op3sus/Oee8nD88N3/lxnyoeLJ4XzfK9RfP0mDVRLwHryhUf51VVdVaS\ny5osqF+Gh4czsnDhqtdjY520284AKWmLJ22el75wryTJkzeflQ02mJ7758/vc1XwP7PHzjvlqVs9\nJUmy+87Py213/KLPFU1cMx4/I+888x254ds/zn3/eX8ev9lG2e89++bNx/5zNnnyE/Kqd+yz6r1X\nX3ptjnrVsXnK9ltmq2c8pY9VQ3e+t2ieHrMm6uUO/E6SRUk+lWQkye8brahPdth+u1xz3fVJkptv\nmZutt9qyzxUNnksv+1Y+es4nkyT33f+HjIyM5PEzZ/a5KvifeccRR2febXWS5Iaf/ixPq7buc0UT\n0/obrpdDP3pILj3//+T/Xn5DfnPbb3Pym0/L2Yd/IrOPvyj33HVvvvaJS7Px5hvnwBPenCQZWzaW\npaNL/ZSaNZ7vLZqnx+Or1W5NuI9+6OUUwROT7Jrkq0lOSXJVkgubLKofnr/HbvnhDTdm/wMOTpKc\ncOzRfa5o8LzyZS/JsSedmjcfcliS5MNHH+mnTA1qxU7UJqzcE3T0u9+ZU886N+uss042etzj8qH3\nvavPlU1ML3zDCzJ1eEr2fuOLsvcbX5Qk+eQHPpWlS5am1Wqt2vN232/vy3/e+fu895OHp9PpZN6P\nfp5fzPllP0sfKJ4XzfC9RfP0mDVRa+X/eT2Wqqququt6t6qqflDX9R5VVV1Z1/XuPV6/s2SBJWBN\nGZq+fPrzyPx7+lzJYJsyc5MkiXu5OSvv5YW//1WfKxlc0zb9myTJobsd3udKBtu5V52ZxPOiSSuf\nF3rcHD1u3ooeT7ifbFx/0uwJdyLOjke/Zdz73Mv44M6qqk5NMrOqqg8muavhmgAAACakXgLW27I8\nVF2b5OEkBzVaEQAAwATVdQ9WXdejSc4bh1oAAAAmNCcMAAAAFNLLKYIAAMBarjXhjuXoDxMsAACA\nQgQsAACAQiwRBAAAumpZI9gTEywAAIBCBCwAAIBCBCwAAIBC7MECAAC6sgWrNyZYAAAAhQhYAAAA\nhVgiCAAAdOWY9t6YYAEAABQiYAEAABQiYAEAABQiYAEAABQiYAEAABQiYAEAABTimHYAAKArp7T3\nxgQLAACgEAELAACgEAELAACgEHuwAACArlo2YfXEBAsAAKAQAQsAAKAQSwQBAIDujGZ6ok0AAACF\nCFgAAACFCFgAAACF2IMFAAB05Zj23phgAQAAFCJgAQAAFCJgAQAAFGIPFgAAsFaqquo5SU6t63qP\nqqqekeTsJMuSLE7yz3Vd31dV1UFJ3ppkaZIT67q+bHXXNMECAADWOlVVfSDJZ5JMXvGpM5McWtf1\nHkm+luSIqqqekOSwJDsmeVGSU6qqGlrddQUsAABgbXRnklclWXk84mvrup6z4p/XTbIoybOTXFfX\n9Whd1wtW/JntVndRAQsAAOiq1Zp4H6tT1/XXsnzZ38rX9yRJVVU7JnlHko8nmZ7koUf9sT8l2WB1\n1xWwAAAAklRVtV+S85K8pK7r+UkWJFn/UW9ZP8kDq7uGQy4AAIC1XlVVb8jywyx2r+t6ZYi6IclJ\nVVVNTjIlyTZJ5q7uOgIWAADQVavbmruJq1NVVTvJWUnuSvK1qqqS5Mq6ro+vqursJNdk+eq/o+q6\nXrK6iwlYAADAWqmu619n+QmBSTLzMd5zQZILer2mPVgAAACFCFgAAACFWCIIAAB0NbhbsMoywQIA\nAChEwAIAACjEEkEAAKA7awR7YoIFAABQSKvT6TR5/UYvDgAAE9SEGwf97OxLJtz39s945xvGvc8m\nWAAAAIU0vgdryYL5Tf8Va62h6ct/2bQeN0ufm6fHzdPj8bGyz7s+9RV9rmRwXX3b15O4l5vkedG8\nlT1mMJlgAQAAFCJgAQAAFOKYdgAAoKtWe8Kdy9EXJlgAAACFCFgAAACFWCIIAAB01bJCsCcmWAAA\nAIUIWAAAAIUIWAAAAIXYgwUAAHTVsgmrJyZYAAAAhQhYAAAAhVgiCAAAdGWFYG9MsAAAAAoRsAAA\nAAoRsAAAAAoRsAAAAAoRsAAAAAoRsAAAAApxTDsAANCdc9p7YoIFAABQiIAFAABQiIAFAABQiD1Y\nAABAV622PVi9MMECAAAoRMACAAAoxBJBAACgK6e098YECwAAoBABCwAAoBABCwAAoBB7sAAAgO5s\nwuqJCRYAAEAhAhYAAEAhAhYAAEAhAhYAAEAhAhYAAEAhAhYAAEAhjmkHAAC6ckp7b0ywAAAAChGw\nAAAACrFEEAAA6KrVtkawFyZYAAAAhQhYAAAAhQhYAAAAhdiDBQAAdNVyTntPTLAAAAAKEbAAAAAK\nsUQQAADozgrBnphgAQAAFGKCtcLY2FhOPO2M3H7HnRkaGsrxxxyZzWfN6ndZA2nO3Hk589zzMvv8\nc/tdysBxHzdPj8eHPpczaZ1JOfKkw7LJphtn3aF1c/H5X869v78/7z3+kCxbuiz/edfd+ehx52Xp\n6NK8bN8X5OWveVGWLVuWi8/7cn501U/6Xf6E5j5unh6zJjLBWuGKK6/O6OhoLpn96Rx+6CE5/cxz\n+l3SQJp98SU57qRTs2TJkn6XMpDcx83T4/Ghz+W84OW75cEHFuSw/Y/K+w46Lu/+0MH5wAnvyLmn\nXJjD3nBU/nDv/LzydXvncRvNyKvf8LK8/XVH5H0HHJeD3/PPWWddP4f9a7iPm6fHrIkErBVuunlO\ndnrec5Mk22379My79bY+VzSYnjRrVs78yCnppNPvUgaS+7h5ejw+9LmcKy+/LrPP/mKSpN1uZ+nS\npXn8Jhvl5zffniSZe9Nt2f5Z2+apf7dVbvnprVm2dFkWjizK7+66O1tWW/Sx8onPfdw8PWZN1DVg\nVVX11PEopN9GRkay3vDwqteT2u2MjY31saLBtNeeu2fSpEn9LmNguY+bp8fjQ5/LeWTR4ixa+Eim\nDk/Nh8/8QC446wv5/W/vyfbPfFqSZMc9npWp0yZneHhaRv60cNWfW7hwUYbXm9avsgeC+7h5esya\nqJfZ/4VJdmq6kH4bHh7OyML/+j+WsbFO2m0DPiYW93Hz9Hh86HNZG2+yUU4458j8+xe/me9fdk3q\neb/IO486MG98+zqZ85N5WW/6cEZGFmba8NRVf2batKl5eMHDfax64nMfN0+PWRM95h1YVdUGK/5x\npKqqj1dVdUhVVQdXVfXWcaptXO2w/Xa55rrrkyQ33zI3W2+1ZZ8rgr+c+7h5ejw+9LmcDWdukI9e\neFzOP+OiXP7vVyRJdtz9mTnh/R/Le95ybKbPmJ4br70pt865Pds982lZd911MrzetDx5y1n55R2/\n6XP1E5v7uHl6PL5ardaE++iH1U2wLkuyc5JfJnkwycYrPj+Qm2eev8du+eENN2b/Aw5Okpxw7NF9\nrmiwtfwihUa4j5unx+NDn8vZ/+B9M7z+cN749v3yxrfvlyT5t89emo/P/nCWjI7mtjl35PJLf5Ak\n+ern/yPnfuGUtNrtfPrjl2Tp6NJ+lj7huY+bp8esiVqdzp/PS1VV/SDJ+km2SvLzR3+truvn9Xj9\nzpIF8/+qAnlsQ9NnJkn0uFn63Dw9bp4ej4+Vfd71qa/ocyWD6+rbvp7Evdwkz4vmrejxhPtp8+0X\nf3XCDVq2/ud/HPc+r26CtVeSzZKcn+SQ/NdNMOEaCwAAMB4eM2DVdb0syW+SvGT8ygEAANZE/drT\nNNE4ZgUAAKAQAQsAAKCQXn4PFgAAsLYzmumJNgEAABQiYAEAABQiYAEAABRiDxYAANCVY9p7Y4IF\nAABQiIAFAABQiIAFAABQiIAFAABQiIAFAABQiIAFAABQiGPaAQCArhzT3hsTLAAAgEIELAAAgEIs\nEQQAALqzQrAnJlgAAACFCFgAAACFCFgAAACF2IMFAAB01WrbhNULEywAAIBCBCwAAIBCLBEEAAC6\na1ki2AsTLAAAgEIELAAAgEIELAAAgEIELAAAgEIELAAAgEIELAAAgEIc0w4AAPy/9u49yNKyvhP4\n9zRM41wYUIhLdJQEVp9VzIDBFCK3AXQSE4jgRksTNURIomahjG5cQBaWgl3FyMqKUQIrIkUkVi5q\nvIXykpGLIokRBkZ4uQlRo7CAYcJAmIE++8fpGUYCnjPM8553+vTnU9XVnO7m7d/86p0z59u/53l6\nKKe0j8YECwAAoBIBCwAAoBIBCwAAoBJ7sAAAgKF6NmGNxAQLAACgEgELAACgEksEAQCA4aYsERyF\nCRYAAEAlAhYAAEAlAhYAAEAl9mABAABDOaZ9NCZYAAAAlQhYAAAAlQhYAAAAlQhYAAAAlQhYAAAA\nlQhYAAAAlTimHQAAGM4p7SMxwQIAAKik1+/327x+qxcHAIA5as7Ng+78zOfm3Gv73V91xNj7bIkg\nAAAwVK835zJhJ1oPWOvX3tv2t5i3ppfukiRZf/89HVcy2aZ32jWJe7lNm+5lPW6NHo+HPrdvY4+X\n735Ix5VMrtV3fi2J+7hNG+9jJpM9WAAAAJUIWAAAAJXYgwUAAAzVm7IHaxQmWAAAAJUIWAAAAJVY\nIggAAAznmPaRmGABAABUImABAABUImABAABUYg8WAAAwVM8erJGYYAEAAFQiYAEAAFQiYAEAAFQi\nYAEAAFQiYAEAAFQiYAEAAFTimHYAAGA4p7SPxAQLAACgEgELAACgEksEAQCAoXpT1giOwgQLAACg\nEgELAACgEgELAACgEnuwAACA4Xr2YI3CBAsAAKASAQsAAKASSwQBAIChepYIjsQECwAAoBIBCwAA\noBIBCwAAoBIBCwAAoBIBCwAAoBIBCwAAoBLHtAMAAMNNOaZ9FCZYAAAAlQhYAAAAlVgiCAAADNXr\nWSI4ChMsAACASgQsAACASgQsAACASuzBAgAAhrMFayQmWAAAAJUIWAAAAJVYIggAAAw1ice0l1JO\nSnJkkgVJPpTkqiQXJZlJckOSP2iapr8l1zTBAgAA5p1Syook+zdN87IkK5LskeTsJCc3TXNwBrvO\nXrWl1xWwAACA+WhlkutLKZ9O8tkkf5Nk36ZpLp/9/BeTvHxLL2qJIAAAMB/9TJLnJDkig+nVZ/OT\nZyU+kGSnLb2ogAUAAMxH9yS5sWmaR5LcXEr5tyTP3uzzOyb5ly29qCWCAADAfHRlkl9JklLKs5Is\nSvKVUsohs59/ZZLLn+T/fVImWLNmZmZy5lnvz8233Jrp6emcfsqJec6yZV2XNVE2PPJITj3jf+Wf\nf/ijbNiwIb/35t/OioMO7LqsieI+bp8ej4c+j8/qG9bknA99JBee96GuS5nTpqamctpZf5Tdf35Z\n0k/OOPnsrF+/IWecfWL6M/3cevN38z9P+UCS5I3HvTZHHP2KPPzw+lx60V/ni3/zlY6rn7s8V7A1\nmqb5fCnl4FLKNRkMnt6W5I4kF5RSppN8J8lfbul1hwas2QT3E0cTbrbxa2J8ddXl2bBhQy658Pys\nvmFN/vicc/PB95/VdVkT5fN/e1mevvPOec/pp+b+tWvzmjccI2BV5j5unx6Phz6Px4UXX5LPffGy\nLFq4sOtS5ryDD98//ZmZHPMbx2ff/fbOCe/63STJue+7IN+6ZnVOOfMdOXTlgfneHT/Ika9emd98\n1VvS6/Xyyc+dn29+/R9z3z0/7vhPMDd5rhizqck7pr1pmv/2BB9esTXXHGWC9dYMAlYvyV4ZpLqJ\nC1jfvm51Dtj/pUmS5S/aK2tuvKnjiibPysMPy8rDDk2S9Gf62W677TquaPK4j9unx+Ohz+Px3GXL\ncs773pOTTju961LmvFVfuiqXf+UbSZJnL9sta+//17z0wH3zrWtWJ0muXHV19j/4l7L99tvnH66+\nNo9seCRJckvz3Sx/8Quz6ktXdVb7XOa5gm3R0D1YTdO8rmma1zdN87ok+2bwS7cmzrp167Jk8eJN\nj7ebmsrMzET+UTuzaOHCLFq0KOvWrcs7TzolJ7z197suaeK4j9unx+Ohz+Px8sNW+GFXRTMzMznj\n/SfmXacdn89/+svJZr+Udd26h7JkxyW5pbk9++63dxYuWpiddl6affZ9URYufFqHVc9tnivYFm3p\nHqwFGRxhOHEWL16cdQ8+uOnxzEw/U1POAKntR3fdlbe/6+S87jWvzitXbvGvFWAI93H79Hg89Jm5\n6r//1/fmGbs+PZ/4zHnZYYfpTR9fvGRR/nXtA7njtn/KpR//VD5y8fvyo3++O9dfe2N+fN/9HVY8\nt3muYFs09A4spdxdSvlhKeWHSe5M8sn2yxq/F++9PFdc9fUkyXXX35DnP2/PjiuaPPfce19+7/g/\nzDuOf1uOOuLXui5nIrmP26fH46HPzDVHHL0yx77tt5IkD//bw5mZmcma1U323W/vJMmBK/bLt755\nXXZ++k5ZsmRRjvmN43Pmu/939nje7ln97TVdlj6nea4Yr16vN+feujDKBKtpmuag1ivp2OGHHpJv\nXPP3eeOxg2VrZ5z67o4rmjz/96KL88ADD+S8j34s5330Y0mSj5xzdnbYYYeOK5sc7uP26fF46PN4\n9TJ5G9fH7UtfWJUzzj4pF37y/2T7BdvnrP9xbr5725057b1/lAXTC3L7LXfkS19YlST5uT2emz/7\nzHnpz8zkA+85Lw+ue6jb4ucwzxVsi3r9fv+nfkEp5fIk9yZpMjjsot80zckjXr+/fu29W1chT2p6\n6S5JkvX339NxJZNteqddkyTu5fZsupf1uDV6PB763L6NPV6++yFDvpKnavWdX0viPm7T7H08536y\ncdcVq356cNgG/YeDVoy9z6NMsC6cfb/xJME511gAAGArdbTkbq4ZGrCaprloDHUAAADMeY5ZAQAA\nqETAAgAAqGRLfw8WAAAwD3V17PlcY4IFAABQiYAFAABQiYAFAABQiYAFAABQiYAFAABQiYAFAABQ\niWPaAQCA4aYc0z4KEywAAIBKBCwAAIBKLBEEAACG6vUsERyFCRYAAEAlAhYAAEAlAhYAAEAl9mAB\nAADD2YM1EhMsAACASgQsAACASiwRBAAAhupNWSI4ChMsAACASgQsAACASgQsAACASgQsAACASgQs\nAACASgQsAACAShzTDgAADNdzTPsoTLAAAAAqEbAAAAAqEbAAAAAqsQcLAAAYqmcP1khMsAAAACoR\nsAAAACqxRBAAABjOEsGRmGABAABUImABAABUImABAABUYg8WAAAwVG/KHqxRmGABAABUImABAABU\nImABAABUImABAABUImABAABUImABAABU4ph2AABguJ5j2kdhggUAAFCJgAUAAFCJJYIAAMBwlgiO\nxAQLAACgkl6/32/z+q1eHAAA5qg5Nw66b/U/zLnX9s9Y/pKx99kECwAAoJLW92CtX3tv299i3ppe\n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\ni5JckmTXJLcl2S/Ja5N8MINf9n1vkjc3TbO2syInQCllQZLzkvzHDPp6agY9XpVkeZJ+klfp81P3\nuB5PJTklycokKzL4geBfNU3zvs4KnCCllC8kOSDJpUn2SLI4ybFN09zUaWETpJRyTJI3Z/B8UZqm\neebsx/88yUeapvlah+VNjFLKBRn8m7ckyZdn37uX6dR8XyK4Z5I/b5rmlzP4R/ydGbxI+kTTNK8Q\nrqp4S5Lbm6Z5WQbh9aEkS5umOTLJryc5scviJsRbkqxpmubgJO/NIMhekOQPmqY5NMkXk7yrw/om\nxXFJ/l/TNIckOTqDH8jsmMHzxYokP0jyyu7Kmwib9/ioJB9O8vrZt4OS/EuHtU2atyb5TpIfZvD8\ncYAXpK24t2mag5I8utnH+rNv1HFmBvfy6Um+415mWzDflwjeneTtpZRXJ1mbx/rRdFfSxHl+Bi/w\n0zTNraWU+5NcO/u57yd5WleFTZCS5AtJ0jRNU0q5J8kLkny4lJIkC5Lc3F15E+MXkhxYStlv9vF2\nSXZJ8u3Zx9+L+3lrPb7HU0mOSXJWkt0y+1xCFb3N/tvzQzv6eeLXE70n+BhPXW+z9+5ltgnzfYL1\njiTfaJrmjRksXdv4l9RPluq5MckvJUkpZY8kZyQxGazrOxks9UkpZc8MlgrelORNsxOsk5N8trvy\nJsaNSS6d7emvJ/lkkh/H80VNj+/xp5L856ZpXp/ksCTHlFKe02WBE8pzcjt6eez5YUEpZXEpZTrJ\nXh3WNIkezWOvZ93LbBPm+wTrs0nOLaUcnWRNkgcyWF7lBVM9f5rkwlLKqgx+4v+BDALARnq99c7L\noMdXJrkjgz1Xb0tycSll+wx6/ObuypsYf5rkgtl7eWkGy9cefdzXuJ+3zuN7/CdJnlVKuTqD5cWX\nNU3zvQ7rmyT9zd67b9uxeW/PSXJ1ktszeJ6mnrszeO32tLiX2UbM60MuAAAAaprvSwQBAACqEbAA\nAAAqEbAAAAAqEbAAAAAqEbAAAAAqEbAAAAAqEbAAAAAqEbAAAAAq+f9l3B0uD6AJAgAAAABJRU5E\nrkJggg==\n", "text": [ "" ] } ], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "print(metrics.classification_report(y_test, y_predicted,\n", " target_names=label_names))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " precision recall f1-score support\n", "\n", " ar 1.00 0.99 0.99 152\n", " cn 0.91 1.00 0.95 148\n", " de 1.00 0.98 0.99 217\n", " en 0.93 0.97 0.95 232\n", " es 0.98 0.92 0.95 265\n", " fr 0.99 1.00 0.99 291\n", " ru 1.00 0.99 1.00 312\n", " tr 1.00 1.00 1.00 117\n", "\n", "avg / total 0.98 0.98 0.98 1734\n", "\n" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 } ], "metadata": {} } ] }