From e40dada301e04934b26128cf398ba68c8e97ec0b Mon Sep 17 00:00:00 2001 From: "Phyks (Lucas Verney)" Date: Sun, 22 Oct 2017 21:22:23 +0200 Subject: [PATCH] Basic prediction webserver --- app.py | 36 + notebook.ipynb | 2268 ++++++++++++++++-------------------------------- 2 files changed, 768 insertions(+), 1536 deletions(-) create mode 100644 app.py diff --git a/app.py b/app.py new file mode 100644 index 0000000..027df5c --- /dev/null +++ b/app.py @@ -0,0 +1,36 @@ +from bottle import hook, request, response, route, run +from sklearn.externals import joblib + +mlb, classifier = joblib.load('offClassifier.pkl') + + +@hook('after_request') +def enable_cors(): + """ + You need to add some headers to each request. + Don't use the wildcard '*' for Access-Control-Allow-Origin in production. + """ + response.headers['Access-Control-Allow-Origin'] = '*' + response.headers['Access-Control-Allow-Methods'] = 'PUT, GET, POST, DELETE, OPTIONS' + response.headers['Access-Control-Allow-Headers'] = 'Origin, Accept, Content-Type, X-Requested-With, X-CSRF-Token' + + +@route('/predict', method=['OPTIONS', 'POST']) +def predict(): + if request.method == 'OPTIONS': + return {} + + products = request.json + predictions = mlb.inverse_transform( + classifier.predict([p['name'] for p in products]) + ) + return { + 'data': [ + product.update({'predictedCategories': categories}) or product + for product, categories in zip(products, predictions) + ] + } + + +if __name__ == '__main__': + run(host='localhost', port=4242) diff --git a/notebook.ipynb b/notebook.ipynb index bb490de..2f2a59e 100644 --- a/notebook.ipynb +++ b/notebook.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 90, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -18,15 +18,13 @@ "from sklearn.externals import joblib\n", "from sklearn.feature_extraction.text import CountVectorizer\n", "from sklearn.feature_extraction.text import TfidfTransformer\n", - "from sklearn.metrics import accuracy_score\n", - "from sklearn.model_selection import train_test_split\n", "from sklearn.multiclass import OneVsRestClassifier\n", "from sklearn.pipeline import Pipeline\n", "from sklearn.preprocessing import MultiLabelBinarizer\n", "from sklearn.svm import LinearSVC\n", "\n", - "MIN_NUMBER_PRODUCTS_PER_CATEGORY = 3000\n", - "TRAINING_DATASET_SIZE = 25 / 100" + "MIN_NUMBER_PRODUCTS_PER_CATEGORY = 25\n", + "TRAINING_DATASET_SIZE = 50 / 100" ] }, { @@ -38,7 +36,7 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ @@ -63,17 +61,9 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 27, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Keeping 33 categories.\n" - ] - } - ], + "outputs": [], "source": [ "# Let's build vectors of products and categories, for training purpose.\n", "categories = [\n", @@ -81,60 +71,31 @@ " for category, count in collections.Counter(\n", " category for category_list in products_with_categories['categories_tags'] for category in category_list\n", " ).items()\n", - " # Filter out categories without enough products\n", " if count > MIN_NUMBER_PRODUCTS_PER_CATEGORY and category != ''\n", "]\n", - "print('Keeping %d categories.' % len(categories))\n", "# Filter out empty lists of categories\n", "XY = products_with_categories.copy()\n", "XY['categories_tags'] = XY['categories_tags'].map(lambda c_list: [c for c in c_list if c in categories])\n", "mask = XY['categories_tags'].str.len() > 0\n", - "XY = XY[mask]" + "XY = XY[mask]\n", + "# TODO: We should ensure each category is sufficiently represented" ] }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 28, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/lverney/.local/share/virtualenvs/machine_learning/lib/python3.6/site-packages/sklearn/model_selection/_split.py:2010: FutureWarning: From version 0.21, test_size will always complement train_size unless both are specified.\n", - " FutureWarning)\n" - ] - }, - { - "data": { - "text/plain": [ - "741" - ] - }, - "execution_count": 93, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "# Select training and testing sample\n", - "X = XY['product_name'].values.astype('U')\n", - "Y = [np.array(c).astype('U') for c in XY['categories_tags'].values]\n", - "\n", - "X_train, X_test, Y_train, Y_test = train_test_split(X, Y, random_state=0, train_size=TRAINING_DATASET_SIZE)\n", - "\n", - "# Check each category is sufficiently represented\n", - "min([\n", - " count\n", - " for _, count in collections.Counter(\n", - " category for category_list in Y_train for category in category_list\n", - " ).items()\n", - "])" + "# Select training sample\n", + "XY_training = XY.sample(frac=0.5)\n", + "X_train = XY_training['product_name'].values.astype('U')\n", + "Y_train = [np.array(c).astype('U') for c in XY_training['categories_tags'].values]" ] }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -144,7 +105,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 335, "metadata": {}, "outputs": [ { @@ -160,7 +121,7 @@ " n_jobs=1))])" ] }, - "execution_count": 95, + "execution_count": 335, "metadata": {}, "output_type": "execute_result" } @@ -170,39 +131,29 @@ "classifier = Pipeline([\n", " ('vectorizer', CountVectorizer()),\n", " ('tfidf', TfidfTransformer()),\n", - " ('clf', OneVsRestClassifier(LinearSVC()))\n", - "])\n", + " ('clf', OneVsRestClassifier(LinearSVC()))])\n", "\n", "classifier.fit(X_train, Y_train_transformed)" ] }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 380, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.52062784115275751" - ] - }, - "execution_count": 96, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "# Compute predictions for testing set\n", - "predicted = classifier.predict(X_test)\n", - "all_labels = mlb.inverse_transform(predicted)\n", + "# Check score on a testing set\n", + "training_indices = np.in1d(XY['product_name'].values.astype('U'), X_train, invert=True)\n", + "X_test = XY['product_name'][training_indices]\n", + "Y_test = [np.array(c).astype('U') for c in XY['categories_tags'][training_indices].values]\n", "\n", - "accuracy_score(mlb.fit_transform(Y_test), predicted)" + "predicted = classifier.predict(X_test)\n", + "all_labels = mlb.inverse_transform(predicted)" ] }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 394, "metadata": {}, "outputs": [ { @@ -233,183 +184,183 @@ " \n", " \n", " \n", - " 0\n", - " Fernandes Cherry Soda - Ga Mee Naar Suruname &...\n", + " 176\n", + " Salade Cesar\n", + " [en:plant-based-foods-and-beverages, en:plant-...\n", + " (en:meals, fr:salades-composees)\n", + " \n", + " \n", + " 184\n", + " lentilles vertes\n", + " [en:plant-based-foods-and-beverages, en:plant-...\n", + " (en:green-lentils, en:legume-seeds, en:legumes...\n", + " \n", + " \n", + " 185\n", + " Root Beer\n", + " [en:beverages, en:carbonated-drinks, en:sodas,...\n", + " (en:alcoholic-beverages, en:beers, en:beverage...\n", + " \n", + " \n", + " 186\n", + " Biscuits sablés fourrage au cacao\n", + " [en:sugary-snacks, en:biscuits-and-cakes, en:b...\n", + " (en:biscuits, en:biscuits-and-cakes, en:chocol...\n", + " \n", + " \n", + " 238\n", + " Blle Pet 50CL Coca Cola Cherry\n", " [en:beverages, en:sugared-beverages]\n", - " (en:beverages, en:plant-based-foods-and-bevera...\n", + " (en:beverages, en:non-sugared-beverages, en:so...\n", " \n", " \n", - " 1\n", - " Compotes allégée en sucres Pommes Carrefour\n", + " 244\n", + " Cauliflower\n", " [en:plant-based-foods-and-beverages, en:plant-...\n", - " (en:desserts, en:fruits-and-vegetables-based-f...\n", + " (en:fruits-and-vegetables-based-foods, en:leaf...\n", " \n", " \n", - " 2\n", - " Tortellini 4 Fromages, LunchBox\n", - " [en:plant-based-foods-and-beverages, en:plant-...\n", - " (en:cereals-and-potatoes, en:cereals-and-their...\n", + " 247\n", + " Salsa de mostaza\n", + " [en:groceries, en:condiments, en:sauces, en:mu...\n", + " (en:condiments, en:groceries, en:mustards, en:...\n", " \n", " \n", - " 3\n", - " Orange and mango squash\n", - " [en:beverages]\n", - " (en:beverages, en:plant-based-foods-and-bevera...\n", - " \n", - " \n", - " 4\n", - " Crackers toast nature\n", - " [en:salty-snacks]\n", - " (en:cereals-and-potatoes, en:salty-snacks)\n", - " \n", - " \n", - " 5\n", - " Miellats du Maquis cru d'été 2016\n", - " [en:spreads, en:breakfasts]\n", - " ()\n", - " \n", - " \n", - " 6\n", - " Cebollas "Juan de Dios"\n", - " [en:plant-based-foods-and-beverages, en:plant-...\n", - " (en:fresh-foods, en:fruits-and-vegetables-base...\n", - " \n", - " \n", - " 7\n", - " Moules fraîches de Hollande\n", - " [en:seafood]\n", - " (en:seafood,)\n", - " \n", - " \n", - " 8\n", - " Thé citron\n", + " 249\n", + " 7Up\n", " [en:plant-based-foods-and-beverages, en:bevera...\n", - " (en:beverages, en:non-sugared-beverages, en:pl...\n", - " \n", - " \n", - " 9\n", - " Rêves de chocolat Assortiment de chocolats fin...\n", - " [en:sugary-snacks, en:confectioneries, en:dess...\n", - " (en:chocolates, en:desserts, en:sugary-snacks)\n", - " \n", - " \n", - " 10\n", - " Noir aux éclats de noisettes\n", - " [en:sugary-snacks, en:chocolates]\n", - " (en:chocolates, en:sugary-snacks)\n", - " \n", - " \n", - " 11\n", - " Couscous royal poulet merguez\n", - " [en:canned-foods, en:meals]\n", - " (en:meals,)\n", - " \n", - " \n", - " 12\n", - " Baguette Céréales Carrefour\n", - " [en:plant-based-foods-and-beverages, en:plant-...\n", - " (en:cereals-and-potatoes, en:plant-based-foods...\n", - " \n", - " \n", - " 13\n", - " Pomme Fraise\n", - " [en:plant-based-foods-and-beverages, en:plant-...\n", - " (en:desserts, en:fruits-and-vegetables-based-f...\n", - " \n", - " \n", - " 14\n", - " Risotto Champignons\n", - " [en:meals]\n", - " (en:meals, en:plant-based-foods, en:plant-base...\n", - " \n", - " \n", - " 15\n", - " Bio Chocolat Noir aux Éclats de Noisettes\n", - " [en:sugary-snacks, en:chocolates]\n", - " (en:chocolates, en:sugary-snacks)\n", - " \n", - " \n", - " 16\n", - " Angeliter Zitronenlimonade\n", - " [en:beverages, en:sugared-beverages]\n", - " ()\n", - " \n", - " \n", - " 17\n", - " Agar-Agar\n", - " [en:plant-based-foods-and-beverages, en:plant-...\n", - " ()\n", - " \n", - " \n", - " 18\n", - " Préparation à l'huile de thym, romarin et laur...\n", - " [en:plant-based-foods-and-beverages, en:plant-...\n", - " (en:plant-based-foods, en:plant-based-foods-an...\n", - " \n", - " \n", - " 19\n", - " Velamints\n", - " [en:sugary-snacks, en:confectioneries]\n", - " ()\n", - " \n", - " \n", - " 20\n", - " Vegemil Black Bean Soymilk\n", - " [en:dairies]\n", - " (en:plant-based-foods-and-beverages,)\n", - " \n", - " \n", - " 21\n", - " Carottes Râpées\n", - " [en:meals]\n", - " (en:meals,)\n", - " \n", - " \n", - " 22\n", - " Budweiser Budvar\n", - " [en:beverages, en:alcoholic-beverages]\n", - " (en:alcoholic-beverages, en:beverages)\n", - " \n", - " \n", - " 23\n", - " Mayonnaise aux oeufs frais\n", - " [en:groceries, en:sauces]\n", - " (en:groceries, en:sauces)\n", - " \n", - " \n", - " 24\n", - " Kremsi krem sir\n", - " [en:dairies, en:cheeses]\n", - " ()\n", - " \n", - " \n", - " 25\n", - " Domaine de l'Echauguette - 2010\n", - " [en:beverages, en:alcoholic-beverages]\n", - " (en:alcoholic-beverages, en:beverages)\n", - " \n", - " \n", - " 26\n", - " Strathmore Still Spring Water\n", - " [en:beverages, en:non-sugared-beverages]\n", " (en:beverages, en:non-sugared-beverages)\n", " \n", " \n", - " 27\n", - " Mousse de Viennois (8 Chocolat)\n", - " [en:fresh-foods, en:sugary-snacks, en:dairies,...\n", - " (en:chocolates, en:dairies, en:desserts, en:fr...\n", + " 276\n", + " Mehrkomponeneten Protein 90 C6 Haselnuß\n", + " [en:dietary-supplements, en:bodybuilding-suppl...\n", + " (en:bodybuilding-supplements, en:dietary-suppl...\n", " \n", " \n", - " 28\n", - " Poulet & Riz basquaise\n", - " [en:meals]\n", - " (en:meals,)\n", + " 292\n", + " Cakes aux Fruits\n", + " [en:sugary-snacks, en:biscuits-and-cakes, en:d...\n", + " (en:biscuits-and-cakes, en:cakes, en:desserts,...\n", " \n", " \n", - " 29\n", - " Le Norvège -25% sel\n", - " [en:seafood]\n", + " 309\n", + " Whey Protein aus Molke 1000 Gramm Vanilla\n", + " [en:dietary-supplements, en:bodybuilding-suppl...\n", + " (en:bodybuilding-supplements, en:dietary-suppl...\n", + " \n", + " \n", + " 310\n", + " Fondants Citron\n", + " [en:sugary-snacks, en:biscuits-and-cakes, en:d...\n", + " ()\n", + " \n", + " \n", + " 369\n", + " Sour Fruit Gummies\n", + " [en:sugary-snacks, en:confectioneries, en:cand...\n", + " (en:candies, en:confectioneries, en:sugary-sna...\n", + " \n", + " \n", + " 421\n", + " Mixed peppers\n", + " [en:plant-based-foods-and-beverages, en:plant-...\n", + " (en:fruits-and-vegetables-based-foods, en:plan...\n", + " \n", + " \n", + " 437\n", + " 30 Panach' Fruits\n", + " [en:sugary-snacks, en:biscuits-and-cakes, en:d...\n", + " (en:fruits-and-vegetables-based-foods, en:frui...\n", + " \n", + " \n", + " 440\n", + " Foie gras de canard du Périgord\n", + " [en:fish-and-meat-and-eggs, fr:foies-gras, fr:...\n", + " (en:fish-and-meat-and-eggs, fr:foies-gras, fr:...\n", + " \n", + " \n", + " 454\n", + " Terrine de caille aux pruneaux d'Agen\n", + " [en:terrine, fr:terrines-de-volailles]\n", + " (en:terrine,)\n", + " \n", + " \n", + " 455\n", + " Foie de canard aux figues\n", + " [en:fish-and-meat-and-eggs, fr:foies-gras, fr:...\n", + " (en:fish-and-meat-and-eggs, en:meats)\n", + " \n", + " \n", + " 458\n", + " Foie gras d'oie Périgord\n", + " [en:fish-and-meat-and-eggs, fr:foies-gras]\n", + " (en:fish-and-meat-and-eggs, fr:foies-gras)\n", + " \n", + " \n", + " 459\n", + " Foie gras d'oie du Périgord\n", + " [en:fish-and-meat-and-eggs, fr:foies-gras]\n", + " (en:fish-and-meat-and-eggs, fr:foies-gras)\n", + " \n", + " \n", + " 464\n", + " All Butter Belgian White Chocolate Chunk Cookies\n", + " [en:sugary-snacks, en:biscuits-and-cakes, en:b...\n", + " (en:biscuits, en:biscuits-and-cakes, en:chocol...\n", + " \n", + " \n", + " 465\n", + " All Butter Fruity Flapjack Cookies\n", + " [en:sugary-snacks, en:biscuits-and-cakes, en:b...\n", + " (en:biscuits, en:biscuits-and-cakes, en:cookie...\n", + " \n", + " \n", + " 467\n", + " All butter Cranberry & Orange Cookies\n", + " [en:sugary-snacks, en:biscuits-and-cakes, en:b...\n", + " (en:biscuits, en:biscuits-and-cakes, en:cookie...\n", + " \n", + " \n", + " 468\n", + " All Butter Triple Belgian Chocolate Chunk Cookies\n", + " [en:sugary-snacks, en:biscuits-and-cakes, en:b...\n", + " (en:biscuits, en:biscuits-and-cakes, en:cookie...\n", + " \n", + " \n", + " 469\n", + " Cookies Stem Ginger\n", + " [en:sugary-snacks, en:biscuits-and-cakes, en:b...\n", + " (en:biscuits, en:biscuits-and-cakes, en:cookie...\n", + " \n", + " \n", + " 472\n", + " Stem Ginger Dunkers\n", + " [en:sugary-snacks, en:biscuits-and-cakes, en:b...\n", + " ()\n", + " \n", + " \n", + " 484\n", + " Reduced Fat Mayonnaise\n", + " [en:groceries, en:sauces, en:mayonnaises]\n", + " (en:dairies, en:groceries, en:milks, en:sauces)\n", + " \n", + " \n", + " 492\n", + " mostly mesquite honey\n", + " [en:spreads, en:breakfasts, en:sweet-spreads, ...\n", + " (en:breakfasts,)\n", + " \n", + " \n", + " 496\n", + " Clam Chowder A Condensed Soup\n", + " [en:meals, en:soups]\n", + " (en:meals, en:soups)\n", + " \n", + " \n", + " 509\n", + " Salade Mac\n", + " [en:plant-based-foods-and-beverages, en:plant-...\n", " ()\n", " \n", " \n", @@ -419,384 +370,384 @@ " ...\n", " \n", " \n", - " 69924\n", - " Cake Release Spray\n", + " 358216\n", + " Sauc Nuoc Mam\n", + " [en:groceries, en:sauces]\n", + " (en:plant-based-foods, en:plant-based-foods-an...\n", + " \n", + " \n", + " 358217\n", + " Sauce piment doux Thaï\n", + " [en:groceries, en:sauces, en:pimented-sauces]\n", + " (en:groceries, en:sauces)\n", + " \n", + " \n", + " 358220\n", + " Sauce Piment Sriracha\n", " [en:plant-based-foods-and-beverages, en:plant-...\n", - " (en:biscuits-and-cakes, en:desserts, en:sugary...\n", + " (en:groceries, en:pimented-sauces, en:sauces)\n", " \n", " \n", - " 69925\n", - " Maxi Quenelles à Gratiner, Jambon sauce béchamel\n", - " [en:canned-foods, en:meals]\n", - " ()\n", + " 358222\n", + " Sauce Thaï Satay\n", + " [en:groceries, en:sauces, en:pimented-sauces]\n", + " (en:groceries, en:sauces)\n", " \n", " \n", - " 69926\n", - " Beurre gastronomique demi-sel\n", - " [en:spreads, en:dairies]\n", - " (en:dairies, en:spreads)\n", - " \n", - " \n", - " 69927\n", - " Jambon à Griller\n", - " [en:meats, en:prepared-meats]\n", - " (en:meats, en:prepared-meats)\n", - " \n", - " \n", - " 69928\n", - " Alpro Oat Almond\n", - " [en:beverages, en:dairies, en:non-sugared-beve...\n", - " ()\n", - " \n", - " \n", - " 69929\n", - " Bière trappiste\n", - " [en:beverages, en:alcoholic-beverages]\n", - " (en:alcoholic-beverages, en:beverages)\n", - " \n", - " \n", - " 69930\n", - " Viré-Clessé 2010\n", - " [en:beverages, en:alcoholic-beverages]\n", - " (en:alcoholic-beverages, en:beverages)\n", - " \n", - " \n", - " 69931\n", - " Cuillers aux œufs frais\n", - " [en:sugary-snacks, en:biscuits-and-cakes, en:b...\n", - " (en:biscuits, en:biscuits-and-cakes, en:sugary...\n", - " \n", - " \n", - " 69932\n", - " Super Smoothie Antioxidant Innocent\n", - " [en:beverages, en:non-sugared-beverages]\n", - " (en:beverages, en:non-sugared-beverages, en:pl...\n", - " \n", - " \n", - " 69933\n", - " 6 petits pains précuits\n", + " 358225\n", + " Crème de coco allégée\n", " [en:plant-based-foods-and-beverages, en:plant-...\n", - " (en:cereals-and-potatoes, en:plant-based-foods...\n", + " (en:plant-based-creams, en:plant-based-foods-a...\n", " \n", " \n", - " 69934\n", - " Indian tonic\n", - " [en:beverages]\n", - " (en:beverages, en:sugared-beverages)\n", - " \n", - " \n", - " 69935\n", - " Merlot 2015\n", - " [en:beverages, en:alcoholic-beverages]\n", - " (en:alcoholic-beverages, en:beverages)\n", - " \n", - " \n", - " 69936\n", - " Jus multivitaminé 11 fruits\n", - " [en:plant-based-foods-and-beverages, en:bevera...\n", - " (en:beverages, en:fruit-based-beverages, en:pl...\n", - " \n", - " \n", - " 69937\n", - " Pain de mie complet\n", - " [en:plant-based-foods-and-beverages, en:plant-...\n", - " (en:cereals-and-potatoes, en:plant-based-foods...\n", - " \n", - " \n", - " 69938\n", - " Farfalle Zebra\n", + " 358226\n", + " Nouilles instantanées\n", " [en:plant-based-foods-and-beverages, en:plant-...\n", " (en:cereals-and-potatoes, en:cereals-and-their...\n", " \n", " \n", - " 69939\n", - " Nectarinas\n", - " [en:plant-based-foods-and-beverages, en:plant-...\n", + " 358231\n", + " Pad Thaï Sauce Wok\n", + " [en:groceries, en:sauces]\n", + " (en:sauces,)\n", + " \n", + " \n", + " 358233\n", + " Pâte de Curry Vert\n", + " [en:groceries, en:sauces]\n", + " (en:curry-pastes, en:groceries)\n", + " \n", + " \n", + " 358234\n", + " Pâte de curry rouge\n", + " [en:groceries, en:sauces, en:curry-pastes]\n", + " (en:groceries,)\n", + " \n", + " \n", + " 358242\n", + " Gula Gula Durian\n", + " [en:sugary-snacks, en:confectioneries, en:cand...\n", " ()\n", " \n", " \n", - " 69940\n", - " Ail et fines herbes fromage à tartiner (27% MG)\n", - " [en:spreads, en:dairies, en:cheeses]\n", - " (en:cheeses, en:dairies, en:spreads)\n", - " \n", - " \n", - " 69941\n", - " Ratatouille cuisinée à la Provençale\n", - " [en:canned-foods, en:meals]\n", - " (en:meals,)\n", - " \n", - " \n", - " 69942\n", - " Confiture De Cerises Noires De Bâle\n", - " [en:plant-based-foods-and-beverages, en:plant-...\n", - " (en:breakfasts, en:fruits-and-vegetables-based...\n", - " \n", - " \n", - " 69943\n", - " Madeleines Marbrees chocolat\n", - " [en:sugary-snacks, en:biscuits-and-cakes, en:d...\n", - " (en:biscuits-and-cakes, en:desserts, en:sugary...\n", - " \n", - " \n", - " 69944\n", - " Filet de poulet (-25% de sel) (4+2 gratuites)\n", - " [en:meats, en:prepared-meats]\n", - " (en:meats,)\n", - " \n", - " \n", - " 69945\n", - " Boisson gazeuse goût framboise\n", + " 358254\n", + " Boisson au chrysanthème\n", " [en:plant-based-foods-and-beverages, en:bevera...\n", - " (en:beverages, en:non-sugared-beverages)\n", + " (en:beverages, en:non-sugared-beverages, en:pl...\n", " \n", " \n", - " 69946\n", - " Mini billes Mozzarella di Bufala Campana AOP\n", - " [en:dairies, en:cheeses]\n", - " (en:cheeses, en:dairies)\n", - " \n", - " \n", - " 69947\n", - " Crème fraîche épaisse de Montagne\n", - " [en:dairies]\n", - " (en:dairies,)\n", - " \n", - " \n", - " 69948\n", - " Cacahuètes grillées et salées\n", - " [en:plant-based-foods-and-beverages, en:plant-...\n", - " (en:plant-based-foods, en:plant-based-foods-an...\n", - " \n", - " \n", - " 69949\n", - " Potato Wedges\n", - " [en:plant-based-foods-and-beverages, en:plant-...\n", - " (en:salty-snacks,)\n", - " \n", - " \n", - " 69950\n", - " Jus d'orange à base de jus d'orange concentré\n", + " 358255\n", + " Lychee Drink\n", " [en:plant-based-foods-and-beverages, en:bevera...\n", " (en:beverages, en:fruit-based-beverages, en:pl...\n", " \n", " \n", - " 69951\n", - " Fleur de Sel aux Épices Grillées\n", - " [en:plant-based-foods-and-beverages, en:plant-...\n", + " 358279\n", + " Pudding nata de coco\n", + " [en:desserts, en:puddings]\n", + " (en:desserts, en:puddings)\n", + " \n", + " \n", + " 358282\n", + " Glinter Soft Drink Orange\n", + " [en:beverages, en:non-sugared-beverages]\n", + " (en:beverages, en:plant-based-foods-and-bevera...\n", + " \n", + " \n", + " 358283\n", + " Soft Drink\n", + " [en:beverages, en:artificially-sweetened-bever...\n", " ()\n", " \n", " \n", - " 69952\n", - " Pétales à la crevette\n", - " [en:salty-snacks]\n", + " 358293\n", + " Healtier palm oil (L'huile de palme)\n", + " [en:plant-based-foods-and-beverages, en:plant-...\n", + " (en:fats, en:plant-based-foods, en:plant-based...\n", + " \n", + " \n", + " 358306\n", + " 100% Pur Jus 4 agrumes\n", + " [en:plant-based-foods-and-beverages, en:bevera...\n", + " (en:beverages, en:fruit-based-beverages, en:fr...\n", + " \n", + " \n", + " 358325\n", + " tuna chunks in spring water\n", + " [en:canned-foods, en:seafood, en:fishes, en:ca...\n", + " (en:canned-fishes, en:canned-foods, en:canned-...\n", + " \n", + " \n", + " 358335\n", + " Santa Cruz Chilli & Lime Dressing\n", + " [en:groceries, en:sauces, en:salad-dressings]\n", + " (en:groceries, en:salad-dressings, en:sauces)\n", + " \n", + " \n", + " 358343\n", + " Fisherman's Friend Miel-Citron\n", + " [en:sugary-snacks, en:confectioneries, en:cand...\n", + " (en:candies, en:confectioneries, en:sugary-sna...\n", + " \n", + " \n", + " 358347\n", + " Dessert Noir (lot de 2)\n", + " [en:sugary-snacks, en:chocolates, en:dark-choc...\n", + " (en:chocolates, en:dark-chocolates, en:dessert...\n", + " \n", + " \n", + " 358351\n", + " Kirkland Purified Drinking Water\n", + " [en:beverages, en:waters, en:non-sugared-bever...\n", + " (en:beverages, en:non-sugared-beverages, en:wa...\n", + " \n", + " \n", + " 358372\n", + " Boîte de saumon frais trouvée à l'extérieur d'...\n", + " [en:seafood, en:fishes, en:salmons]\n", " ()\n", " \n", " \n", - " 69953\n", - " Pommes rissolées Bio\n", + " 358389\n", + " Cervoise Mexicaine\n", + " [en:beverages, en:alcoholic-beverages, en:arti...\n", + " (en:alcoholic-beverages, en:amber-beers, en:be...\n", + " \n", + " \n", + " 358399\n", + " Ma bite\n", + " [en:beverages, en:non-sugared-beverages]\n", + " (en:plant-based-foods, en:plant-based-foods-an...\n", + " \n", + " \n", + " 358400\n", + " Les schtroumpfs & le village des fille\n", + " [en:fats]\n", + " (en:confectioneries, en:sugary-snacks)\n", + " \n", + " \n", + " 358426\n", + " Les Belles Tranches Bacon fumé\n", + " [en:meats, en:pork, en:bacon, en:sliced-bacon]\n", + " (en:bacon, en:meats, en:pork, en:sliced-bacon)\n", + " \n", + " \n", + " 358428\n", + " Tartines craquantes bio au sarrasin\n", " [en:plant-based-foods-and-beverages, en:plant-...\n", - " (en:frozen-foods, en:fruits-and-vegetables-bas...\n", + " (en:breads, en:cereals-and-potatoes, en:crispb...\n", + " \n", + " \n", + " 358438\n", + " Roussette du Bugey (2011)\n", + " [en:beverages, en:alcoholic-beverages, en:wine...\n", + " (en:alcoholic-beverages, en:beverages, en:fren...\n", + " \n", + " \n", + " 358446\n", + " 乐吧泡菜味薯片\n", + " [en:salty-snacks, en:appetizers, en:chips-and-...\n", + " ()\n", " \n", " \n", "\n", - "

69954 rows × 3 columns

\n", + "

38381 rows × 3 columns

\n", "" ], "text/plain": [ - " product_name \\\n", - "0 Fernandes Cherry Soda - Ga Mee Naar Suruname &... \n", - "1 Compotes allégée en sucres Pommes Carrefour \n", - "2 Tortellini 4 Fromages, LunchBox \n", - "3 Orange and mango squash \n", - "4 Crackers toast nature \n", - "5 Miellats du Maquis cru d'été 2016 \n", - "6 Cebollas "Juan de Dios" \n", - "7 Moules fraîches de Hollande \n", - "8 Thé citron \n", - "9 Rêves de chocolat Assortiment de chocolats fin... \n", - "10 Noir aux éclats de noisettes \n", - "11 Couscous royal poulet merguez \n", - "12 Baguette Céréales Carrefour \n", - "13 Pomme Fraise \n", - "14 Risotto Champignons \n", - "15 Bio Chocolat Noir aux Éclats de Noisettes \n", - "16 Angeliter Zitronenlimonade \n", - "17 Agar-Agar \n", - "18 Préparation à l'huile de thym, romarin et laur... \n", - "19 Velamints \n", - "20 Vegemil Black Bean Soymilk \n", - "21 Carottes Râpées \n", - "22 Budweiser Budvar \n", - "23 Mayonnaise aux oeufs frais \n", - "24 Kremsi krem sir \n", - "25 Domaine de l'Echauguette - 2010 \n", - "26 Strathmore Still Spring Water \n", - "27 Mousse de Viennois (8 Chocolat) \n", - "28 Poulet & Riz basquaise \n", - "29 Le Norvège -25% sel \n", - "... ... \n", - "69924 Cake Release Spray \n", - "69925 Maxi Quenelles à Gratiner, Jambon sauce béchamel \n", - "69926 Beurre gastronomique demi-sel \n", - "69927 Jambon à Griller \n", - "69928 Alpro Oat Almond \n", - "69929 Bière trappiste \n", - "69930 Viré-Clessé 2010 \n", - "69931 Cuillers aux œufs frais \n", - "69932 Super Smoothie Antioxidant Innocent \n", - "69933 6 petits pains précuits \n", - "69934 Indian tonic \n", - "69935 Merlot 2015 \n", - "69936 Jus multivitaminé 11 fruits \n", - "69937 Pain de mie complet \n", - "69938 Farfalle Zebra \n", - "69939 Nectarinas \n", - "69940 Ail et fines herbes fromage à tartiner (27% MG) \n", - "69941 Ratatouille cuisinée à la Provençale \n", - "69942 Confiture De Cerises Noires De Bâle \n", - "69943 Madeleines Marbrees chocolat \n", - "69944 Filet de poulet (-25% de sel) (4+2 gratuites) \n", - "69945 Boisson gazeuse goût framboise \n", - "69946 Mini billes Mozzarella di Bufala Campana AOP \n", - "69947 Crème fraîche épaisse de Montagne \n", - "69948 Cacahuètes grillées et salées \n", - "69949 Potato Wedges \n", - "69950 Jus d'orange à base de jus d'orange concentré \n", - "69951 Fleur de Sel aux Épices Grillées \n", - "69952 Pétales à la crevette \n", - "69953 Pommes rissolées Bio \n", + " product_name \\\n", + "176 Salade Cesar \n", + "184 lentilles vertes \n", + "185 Root Beer \n", + "186 Biscuits sablés fourrage au cacao \n", + "238 Blle Pet 50CL Coca Cola Cherry \n", + "244 Cauliflower \n", + "247 Salsa de mostaza \n", + "249 7Up \n", + "276 Mehrkomponeneten Protein 90 C6 Haselnuß \n", + "292 Cakes aux Fruits \n", + "309 Whey Protein aus Molke 1000 Gramm Vanilla \n", + "310 Fondants Citron \n", + "369 Sour Fruit Gummies \n", + "421 Mixed peppers \n", + "437 30 Panach' Fruits \n", + "440 Foie gras de canard du Périgord \n", + "454 Terrine de caille aux pruneaux d'Agen \n", + "455 Foie de canard aux figues \n", + "458 Foie gras d'oie Périgord \n", + "459 Foie gras d'oie du Périgord \n", + "464 All Butter Belgian White Chocolate Chunk Cookies \n", + "465 All Butter Fruity Flapjack Cookies \n", + "467 All butter Cranberry & Orange Cookies \n", + "468 All Butter Triple Belgian Chocolate Chunk Cookies \n", + "469 Cookies Stem Ginger \n", + "472 Stem Ginger Dunkers \n", + "484 Reduced Fat Mayonnaise \n", + "492 mostly mesquite honey \n", + "496 Clam Chowder A Condensed Soup \n", + "509 Salade Mac \n", + "... ... \n", + "358216 Sauc Nuoc Mam \n", + "358217 Sauce piment doux Thaï \n", + "358220 Sauce Piment Sriracha \n", + "358222 Sauce Thaï Satay \n", + "358225 Crème de coco allégée \n", + "358226 Nouilles instantanées \n", + "358231 Pad Thaï Sauce Wok \n", + "358233 Pâte de Curry Vert \n", + "358234 Pâte de curry rouge \n", + "358242 Gula Gula Durian \n", + "358254 Boisson au chrysanthème \n", + "358255 Lychee Drink \n", + "358279 Pudding nata de coco \n", + "358282 Glinter Soft Drink Orange \n", + "358283 Soft Drink \n", + "358293 Healtier palm oil (L'huile de palme) \n", + "358306 100% Pur Jus 4 agrumes \n", + "358325 tuna chunks in spring water \n", + "358335 Santa Cruz Chilli & Lime Dressing \n", + "358343 Fisherman's Friend Miel-Citron \n", + "358347 Dessert Noir (lot de 2) \n", + "358351 Kirkland Purified Drinking Water \n", + "358372 Boîte de saumon frais trouvée à l'extérieur d'... \n", + "358389 Cervoise Mexicaine \n", + "358399 Ma bite \n", + "358400 Les schtroumpfs & le village des fille \n", + "358426 Les Belles Tranches Bacon fumé \n", + "358428 Tartines craquantes bio au sarrasin \n", + "358438 Roussette du Bugey (2011) \n", + "358446 乐吧泡菜味薯片 \n", "\n", - " original_labels \\\n", - "0 [en:beverages, en:sugared-beverages] \n", - "1 [en:plant-based-foods-and-beverages, en:plant-... \n", - "2 [en:plant-based-foods-and-beverages, en:plant-... \n", - "3 [en:beverages] \n", - "4 [en:salty-snacks] \n", - "5 [en:spreads, en:breakfasts] \n", - "6 [en:plant-based-foods-and-beverages, en:plant-... \n", - "7 [en:seafood] \n", - "8 [en:plant-based-foods-and-beverages, en:bevera... \n", - "9 [en:sugary-snacks, en:confectioneries, en:dess... \n", - "10 [en:sugary-snacks, en:chocolates] \n", - "11 [en:canned-foods, en:meals] \n", - "12 [en:plant-based-foods-and-beverages, en:plant-... \n", - "13 [en:plant-based-foods-and-beverages, en:plant-... \n", - "14 [en:meals] \n", - "15 [en:sugary-snacks, en:chocolates] \n", - "16 [en:beverages, en:sugared-beverages] \n", - "17 [en:plant-based-foods-and-beverages, en:plant-... \n", - "18 [en:plant-based-foods-and-beverages, en:plant-... \n", - "19 [en:sugary-snacks, en:confectioneries] \n", - "20 [en:dairies] \n", - "21 [en:meals] \n", - "22 [en:beverages, en:alcoholic-beverages] \n", - "23 [en:groceries, en:sauces] \n", - "24 [en:dairies, en:cheeses] \n", - "25 [en:beverages, en:alcoholic-beverages] \n", - "26 [en:beverages, en:non-sugared-beverages] \n", - "27 [en:fresh-foods, en:sugary-snacks, en:dairies,... \n", - "28 [en:meals] \n", - "29 [en:seafood] \n", - "... ... \n", - "69924 [en:plant-based-foods-and-beverages, en:plant-... \n", - "69925 [en:canned-foods, en:meals] \n", - "69926 [en:spreads, en:dairies] \n", - "69927 [en:meats, en:prepared-meats] \n", - "69928 [en:beverages, en:dairies, en:non-sugared-beve... \n", - "69929 [en:beverages, en:alcoholic-beverages] \n", - "69930 [en:beverages, en:alcoholic-beverages] \n", - "69931 [en:sugary-snacks, en:biscuits-and-cakes, en:b... \n", - "69932 [en:beverages, en:non-sugared-beverages] \n", - "69933 [en:plant-based-foods-and-beverages, en:plant-... \n", - "69934 [en:beverages] \n", - "69935 [en:beverages, en:alcoholic-beverages] \n", - "69936 [en:plant-based-foods-and-beverages, en:bevera... \n", - "69937 [en:plant-based-foods-and-beverages, en:plant-... \n", - "69938 [en:plant-based-foods-and-beverages, en:plant-... \n", - "69939 [en:plant-based-foods-and-beverages, en:plant-... \n", - "69940 [en:spreads, en:dairies, en:cheeses] \n", - "69941 [en:canned-foods, en:meals] \n", - "69942 [en:plant-based-foods-and-beverages, en:plant-... \n", - "69943 [en:sugary-snacks, en:biscuits-and-cakes, en:d... \n", - "69944 [en:meats, en:prepared-meats] \n", - "69945 [en:plant-based-foods-and-beverages, en:bevera... \n", - "69946 [en:dairies, en:cheeses] \n", - "69947 [en:dairies] \n", - "69948 [en:plant-based-foods-and-beverages, en:plant-... \n", - "69949 [en:plant-based-foods-and-beverages, en:plant-... \n", - "69950 [en:plant-based-foods-and-beverages, en:bevera... \n", - "69951 [en:plant-based-foods-and-beverages, en:plant-... \n", - "69952 [en:salty-snacks] \n", - "69953 [en:plant-based-foods-and-beverages, en:plant-... \n", + " original_labels \\\n", + "176 [en:plant-based-foods-and-beverages, en:plant-... \n", + "184 [en:plant-based-foods-and-beverages, en:plant-... \n", + "185 [en:beverages, en:carbonated-drinks, en:sodas,... \n", + "186 [en:sugary-snacks, en:biscuits-and-cakes, en:b... \n", + "238 [en:beverages, en:sugared-beverages] \n", + "244 [en:plant-based-foods-and-beverages, en:plant-... \n", + "247 [en:groceries, en:condiments, en:sauces, en:mu... \n", + "249 [en:plant-based-foods-and-beverages, en:bevera... \n", + "276 [en:dietary-supplements, en:bodybuilding-suppl... \n", + "292 [en:sugary-snacks, en:biscuits-and-cakes, en:d... \n", + "309 [en:dietary-supplements, en:bodybuilding-suppl... \n", + "310 [en:sugary-snacks, en:biscuits-and-cakes, en:d... \n", + "369 [en:sugary-snacks, en:confectioneries, en:cand... \n", + "421 [en:plant-based-foods-and-beverages, en:plant-... \n", + "437 [en:sugary-snacks, en:biscuits-and-cakes, en:d... \n", + "440 [en:fish-and-meat-and-eggs, fr:foies-gras, fr:... \n", + "454 [en:terrine, fr:terrines-de-volailles] \n", + "455 [en:fish-and-meat-and-eggs, fr:foies-gras, fr:... \n", + "458 [en:fish-and-meat-and-eggs, fr:foies-gras] \n", + "459 [en:fish-and-meat-and-eggs, fr:foies-gras] \n", + "464 [en:sugary-snacks, en:biscuits-and-cakes, en:b... \n", + "465 [en:sugary-snacks, en:biscuits-and-cakes, en:b... \n", + "467 [en:sugary-snacks, en:biscuits-and-cakes, en:b... \n", + "468 [en:sugary-snacks, en:biscuits-and-cakes, en:b... \n", + "469 [en:sugary-snacks, en:biscuits-and-cakes, en:b... \n", + "472 [en:sugary-snacks, en:biscuits-and-cakes, en:b... \n", + "484 [en:groceries, en:sauces, en:mayonnaises] \n", + "492 [en:spreads, en:breakfasts, en:sweet-spreads, ... \n", + "496 [en:meals, en:soups] \n", + "509 [en:plant-based-foods-and-beverages, en:plant-... \n", + "... ... \n", + "358216 [en:groceries, en:sauces] \n", + "358217 [en:groceries, en:sauces, en:pimented-sauces] \n", + "358220 [en:plant-based-foods-and-beverages, en:plant-... \n", + "358222 [en:groceries, en:sauces, en:pimented-sauces] \n", + "358225 [en:plant-based-foods-and-beverages, en:plant-... \n", + "358226 [en:plant-based-foods-and-beverages, en:plant-... \n", + "358231 [en:groceries, en:sauces] \n", + "358233 [en:groceries, en:sauces] \n", + "358234 [en:groceries, en:sauces, en:curry-pastes] \n", + "358242 [en:sugary-snacks, en:confectioneries, en:cand... \n", + "358254 [en:plant-based-foods-and-beverages, en:bevera... \n", + "358255 [en:plant-based-foods-and-beverages, en:bevera... \n", + "358279 [en:desserts, en:puddings] \n", + "358282 [en:beverages, en:non-sugared-beverages] \n", + "358283 [en:beverages, en:artificially-sweetened-bever... \n", + "358293 [en:plant-based-foods-and-beverages, en:plant-... \n", + "358306 [en:plant-based-foods-and-beverages, en:bevera... \n", + "358325 [en:canned-foods, en:seafood, en:fishes, en:ca... \n", + "358335 [en:groceries, en:sauces, en:salad-dressings] \n", + "358343 [en:sugary-snacks, en:confectioneries, en:cand... \n", + "358347 [en:sugary-snacks, en:chocolates, en:dark-choc... \n", + "358351 [en:beverages, en:waters, en:non-sugared-bever... \n", + "358372 [en:seafood, en:fishes, en:salmons] \n", + "358389 [en:beverages, en:alcoholic-beverages, en:arti... \n", + "358399 [en:beverages, en:non-sugared-beverages] \n", + "358400 [en:fats] \n", + "358426 [en:meats, en:pork, en:bacon, en:sliced-bacon] \n", + "358428 [en:plant-based-foods-and-beverages, en:plant-... \n", + "358438 [en:beverages, en:alcoholic-beverages, en:wine... \n", + "358446 [en:salty-snacks, en:appetizers, en:chips-and-... \n", "\n", - " guessed_labels \n", - "0 (en:beverages, en:plant-based-foods-and-bevera... \n", - "1 (en:desserts, en:fruits-and-vegetables-based-f... \n", - "2 (en:cereals-and-potatoes, en:cereals-and-their... \n", - "3 (en:beverages, en:plant-based-foods-and-bevera... \n", - "4 (en:cereals-and-potatoes, en:salty-snacks) \n", - "5 () \n", - "6 (en:fresh-foods, en:fruits-and-vegetables-base... \n", - "7 (en:seafood,) \n", - "8 (en:beverages, en:non-sugared-beverages, en:pl... \n", - "9 (en:chocolates, en:desserts, en:sugary-snacks) \n", - "10 (en:chocolates, en:sugary-snacks) \n", - "11 (en:meals,) \n", - "12 (en:cereals-and-potatoes, en:plant-based-foods... \n", - "13 (en:desserts, en:fruits-and-vegetables-based-f... \n", - "14 (en:meals, en:plant-based-foods, en:plant-base... \n", - "15 (en:chocolates, en:sugary-snacks) \n", - "16 () \n", - "17 () \n", - "18 (en:plant-based-foods, en:plant-based-foods-an... \n", - "19 () \n", - "20 (en:plant-based-foods-and-beverages,) \n", - "21 (en:meals,) \n", - "22 (en:alcoholic-beverages, en:beverages) \n", - "23 (en:groceries, en:sauces) \n", - "24 () \n", - "25 (en:alcoholic-beverages, en:beverages) \n", - "26 (en:beverages, en:non-sugared-beverages) \n", - "27 (en:chocolates, en:dairies, en:desserts, en:fr... \n", - "28 (en:meals,) \n", - "29 () \n", - "... ... \n", - "69924 (en:biscuits-and-cakes, en:desserts, en:sugary... \n", - "69925 () \n", - "69926 (en:dairies, en:spreads) \n", - "69927 (en:meats, en:prepared-meats) \n", - "69928 () \n", - "69929 (en:alcoholic-beverages, en:beverages) \n", - "69930 (en:alcoholic-beverages, en:beverages) \n", - "69931 (en:biscuits, en:biscuits-and-cakes, en:sugary... \n", - "69932 (en:beverages, en:non-sugared-beverages, en:pl... \n", - "69933 (en:cereals-and-potatoes, en:plant-based-foods... \n", - "69934 (en:beverages, en:sugared-beverages) \n", - "69935 (en:alcoholic-beverages, en:beverages) \n", - "69936 (en:beverages, en:fruit-based-beverages, en:pl... \n", - "69937 (en:cereals-and-potatoes, en:plant-based-foods... \n", - "69938 (en:cereals-and-potatoes, en:cereals-and-their... \n", - "69939 () \n", - "69940 (en:cheeses, en:dairies, en:spreads) \n", - "69941 (en:meals,) \n", - "69942 (en:breakfasts, en:fruits-and-vegetables-based... \n", - "69943 (en:biscuits-and-cakes, en:desserts, en:sugary... \n", - "69944 (en:meats,) \n", - "69945 (en:beverages, en:non-sugared-beverages) \n", - "69946 (en:cheeses, en:dairies) \n", - "69947 (en:dairies,) \n", - "69948 (en:plant-based-foods, en:plant-based-foods-an... \n", - "69949 (en:salty-snacks,) \n", - "69950 (en:beverages, en:fruit-based-beverages, en:pl... \n", - "69951 () \n", - "69952 () \n", - "69953 (en:frozen-foods, en:fruits-and-vegetables-bas... \n", + " guessed_labels \n", + "176 (en:meals, fr:salades-composees) \n", + "184 (en:green-lentils, en:legume-seeds, en:legumes... \n", + "185 (en:alcoholic-beverages, en:beers, en:beverage... \n", + "186 (en:biscuits, en:biscuits-and-cakes, en:chocol... \n", + "238 (en:beverages, en:non-sugared-beverages, en:so... \n", + "244 (en:fruits-and-vegetables-based-foods, en:leaf... \n", + "247 (en:condiments, en:groceries, en:mustards, en:... \n", + "249 (en:beverages, en:non-sugared-beverages) \n", + "276 (en:bodybuilding-supplements, en:dietary-suppl... \n", + "292 (en:biscuits-and-cakes, en:cakes, en:desserts,... \n", + "309 (en:bodybuilding-supplements, en:dietary-suppl... \n", + "310 () \n", + "369 (en:candies, en:confectioneries, en:sugary-sna... \n", + "421 (en:fruits-and-vegetables-based-foods, en:plan... \n", + "437 (en:fruits-and-vegetables-based-foods, en:frui... \n", + "440 (en:fish-and-meat-and-eggs, fr:foies-gras, fr:... \n", + "454 (en:terrine,) \n", + "455 (en:fish-and-meat-and-eggs, en:meats) \n", + "458 (en:fish-and-meat-and-eggs, fr:foies-gras) \n", + "459 (en:fish-and-meat-and-eggs, fr:foies-gras) \n", + "464 (en:biscuits, en:biscuits-and-cakes, en:chocol... \n", + "465 (en:biscuits, en:biscuits-and-cakes, en:cookie... \n", + "467 (en:biscuits, en:biscuits-and-cakes, en:cookie... \n", + "468 (en:biscuits, en:biscuits-and-cakes, en:cookie... \n", + "469 (en:biscuits, en:biscuits-and-cakes, en:cookie... \n", + "472 () \n", + "484 (en:dairies, en:groceries, en:milks, en:sauces) \n", + "492 (en:breakfasts,) \n", + "496 (en:meals, en:soups) \n", + "509 () \n", + "... ... \n", + "358216 (en:plant-based-foods, en:plant-based-foods-an... \n", + "358217 (en:groceries, en:sauces) \n", + "358220 (en:groceries, en:pimented-sauces, en:sauces) \n", + "358222 (en:groceries, en:sauces) \n", + "358225 (en:plant-based-creams, en:plant-based-foods-a... \n", + "358226 (en:cereals-and-potatoes, en:cereals-and-their... \n", + "358231 (en:sauces,) \n", + "358233 (en:curry-pastes, en:groceries) \n", + "358234 (en:groceries,) \n", + "358242 () \n", + "358254 (en:beverages, en:non-sugared-beverages, en:pl... \n", + "358255 (en:beverages, en:fruit-based-beverages, en:pl... \n", + "358279 (en:desserts, en:puddings) \n", + "358282 (en:beverages, en:plant-based-foods-and-bevera... \n", + "358283 () \n", + "358293 (en:fats, en:plant-based-foods, en:plant-based... \n", + "358306 (en:beverages, en:fruit-based-beverages, en:fr... \n", + "358325 (en:canned-fishes, en:canned-foods, en:canned-... \n", + "358335 (en:groceries, en:salad-dressings, en:sauces) \n", + "358343 (en:candies, en:confectioneries, en:sugary-sna... \n", + "358347 (en:chocolates, en:dark-chocolates, en:dessert... \n", + "358351 (en:beverages, en:non-sugared-beverages, en:wa... \n", + "358372 () \n", + "358389 (en:alcoholic-beverages, en:amber-beers, en:be... \n", + "358399 (en:plant-based-foods, en:plant-based-foods-an... \n", + "358400 (en:confectioneries, en:sugary-snacks) \n", + "358426 (en:bacon, en:meats, en:pork, en:sliced-bacon) \n", + "358428 (en:breads, en:cereals-and-potatoes, en:crispb... \n", + "358438 (en:alcoholic-beverages, en:beverages, en:fren... \n", + "358446 () \n", "\n", - "[69954 rows x 3 columns]" + "[38381 rows x 3 columns]" ] }, - "execution_count": 97, + "execution_count": 394, "metadata": {}, "output_type": "execute_result" } @@ -813,748 +764,7 @@ }, { "cell_type": "code", - "execution_count": 98, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
product_namegood_guessed_labelsextra_guessed_labelsmissing_guessed_labels
0Fernandes Cherry Soda - Ga Mee Naar Suruname &...{en:beverages}[en:plant-based-foods-and-beverages][en:sugared-beverages]
1Miellats du Maquis cru d'été 2016{}[][en:spreads, en:breakfasts]
2Thé citron{en:non-sugared-beverages, en:plant-based-food...[][en:plant-based-foods]
3Rêves de chocolat Assortiment de chocolats fin...{en:chocolates, en:desserts, en:sugary-snacks}[][en:confectioneries]
4Couscous royal poulet merguez{en:meals}[][en:canned-foods]
5Baguette Céréales Carrefour{en:plant-based-foods, en:cereals-and-potatoes...[][en:cereals-and-their-products]
6Angeliter Zitronenlimonade{}[][en:beverages, en:sugared-beverages]
7Agar-Agar{}[][en:plant-based-foods-and-beverages, en:plant-...
8Velamints{}[][en:sugary-snacks, en:confectioneries]
9Vegemil Black Bean Soymilk{}[en:plant-based-foods-and-beverages][en:dairies]
10Kremsi krem sir{}[][en:dairies, en:cheeses]
11Le Norvège -25% sel{}[][en:seafood]
12Petit Munster Géromé{en:cheeses}[][en:dairies]
13Nectarines jaunes{en:plant-based-foods, en:plant-based-foods-an...[][en:fruits-and-vegetables-based-foods, en:frui...
14Carotte nouvelle{en:plant-based-foods, en:plant-based-foods-an...[][en:fresh-foods, en:fruits-and-vegetables-base...
15Apple Real Fruit Pie{}[en:plant-based-foods-and-beverages][en:sugary-snacks]
16Jus de pomme{en:plant-based-foods-and-beverages, en:fruit-...[][en:non-sugared-beverages]
17Roquefort Premium{en:dairies}[][en:cheeses]
18Antésite concentré de Réglisse Menthe{}[en:plant-based-foods-and-beverages][en:beverages, en:non-sugared-beverages]
19Menta piperita en bolsitas{en:non-sugared-beverages, en:plant-based-food...[][en:plant-based-foods, en:groceries, en:plant-...
20Demi-Lunes Cèpes aux oeufs frais{en:plant-based-foods, en:cereals-and-potatoes...[][en:fresh-foods, en:meals]
21Sirop de Grenadine Bio{en:beverages}[en:sugared-beverages][en:non-sugared-beverages]
22Gulaschsuppe{}[][en:meals]
23Déli'Pocket Montagnard{}[en:biscuits, en:biscuits-and-cakes, en:sugary...[en:frozen-foods]
24Orzo by Sainsbury's{}[][en:plant-based-foods-and-beverages, en:plant-...
25Vive soy Vainilla{}[][en:plant-based-foods-and-beverages, en:bevera...
26Excellence 99% Cacao Noir Absolu{en:chocolates, en:sugary-snacks}[][en:confectioneries]
27nan{}[][en:sugary-snacks, en:chocolates]
28jupiter{}[][en:sugary-snacks, en:confectioneries]
29Faux-Filet{}[][en:meats]
...............
29197Noix d'épaule cuite choix désossée{}[][en:canned-foods]
29198Lait de coco{en:non-sugared-beverages, en:beverages, en:pl...[][en:plant-based-foods-and-beverages]
29199Tagliatelles au poulet{en:meals}[en:cereals-and-potatoes, en:cereals-and-their...[en:fresh-foods]
29200Dim Sum Shao Mai{}[][en:plant-based-foods-and-beverages, en:plant-...
29201Waffel Blätter mit Vollmilchschokolade{}[][en:sugary-snacks, en:biscuits-and-cakes, en:b...
29202Génépi de Savoie L'Ancienne{}[][en:beverages, en:alcoholic-beverages]
292036 carrés fourrés, saveur amande{en:biscuits-and-cakes, en:sugary-snacks}[][en:desserts]
29204Multivitamins{en:plant-based-foods-and-beverages}[][en:beverages, en:plant-based-beverages, en:no...
29205Instantané aux châtaignes{}[][en:plant-based-foods-and-beverages, en:plant-...
29206Nuggets de Poulet{en:meats}[][en:fresh-foods, en:meals]
29207Jus d'orange{en:beverages}[en:fruit-based-beverages, en:plant-based-beve...[en:non-sugared-beverages]
29208Зефир с ароматом крем-брюле{}[][en:sugary-snacks]
29209Coca-cola{en:beverages}[en:sugared-beverages][en:non-sugared-beverages]
29210Citron vert bio{}[en:beverages][en:plant-based-foods-and-beverages, en:plant-...
29211Weiße Riesenbohnen{}[][en:plant-based-foods-and-beverages, en:plant-...
29212Haricots Verts à la Périgourdine{en:plant-based-foods, en:plant-based-foods-an...[en:fruits-and-vegetables-based-foods, en:vege...[en:frozen-foods]
29213Steaks Hachés Charolais Façon Bouchère{en:meats}[][en:frozen-foods]
29214Tortilla Wraps Plain{}[en:salty-snacks][en:plant-based-foods-and-beverages, en:plant-...
29215nan{}[][en:plant-based-foods-and-beverages, en:bevera...
29216Korma de légumes BIO{}[][en:meals]
29217Cake Release Spray{}[en:biscuits-and-cakes, en:desserts, en:sugary...[en:plant-based-foods-and-beverages, en:plant-...
29218Maxi Quenelles à Gratiner, Jambon sauce béchamel{}[][en:canned-foods, en:meals]
29219Alpro Oat Almond{}[][en:beverages, en:dairies, en:non-sugared-beve...
29220Nectarinas{}[][en:plant-based-foods-and-beverages, en:plant-...
29221Ratatouille cuisinée à la Provençale{en:meals}[][en:canned-foods]
29222Filet de poulet (-25% de sel) (4+2 gratuites){en:meats}[][en:prepared-meats]
29223Boisson gazeuse goût framboise{en:beverages}[en:non-sugared-beverages][en:plant-based-foods-and-beverages, en:plant-...
29224Potato Wedges{}[en:salty-snacks][en:plant-based-foods-and-beverages, en:plant-...
29225Fleur de Sel aux Épices Grillées{}[][en:plant-based-foods-and-beverages, en:plant-...
29226Pétales à la crevette{}[][en:salty-snacks]
\n", - "

29227 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " product_name \\\n", - "0 Fernandes Cherry Soda - Ga Mee Naar Suruname &... \n", - "1 Miellats du Maquis cru d'été 2016 \n", - "2 Thé citron \n", - "3 Rêves de chocolat Assortiment de chocolats fin... \n", - "4 Couscous royal poulet merguez \n", - "5 Baguette Céréales Carrefour \n", - "6 Angeliter Zitronenlimonade \n", - "7 Agar-Agar \n", - "8 Velamints \n", - "9 Vegemil Black Bean Soymilk \n", - "10 Kremsi krem sir \n", - "11 Le Norvège -25% sel \n", - "12 Petit Munster Géromé \n", - "13 Nectarines jaunes \n", - "14 Carotte nouvelle \n", - "15 Apple Real Fruit Pie \n", - "16 Jus de pomme \n", - "17 Roquefort Premium \n", - "18 Antésite concentré de Réglisse Menthe \n", - "19 Menta piperita en bolsitas \n", - "20 Demi-Lunes Cèpes aux oeufs frais \n", - "21 Sirop de Grenadine Bio \n", - "22 Gulaschsuppe \n", - "23 Déli'Pocket Montagnard \n", - "24 Orzo by Sainsbury's \n", - "25 Vive soy Vainilla \n", - "26 Excellence 99% Cacao Noir Absolu \n", - "27 nan \n", - "28 jupiter \n", - "29 Faux-Filet \n", - "... ... \n", - "29197 Noix d'épaule cuite choix désossée \n", - "29198 Lait de coco \n", - "29199 Tagliatelles au poulet \n", - "29200 Dim Sum Shao Mai \n", - "29201 Waffel Blätter mit Vollmilchschokolade \n", - "29202 Génépi de Savoie L'Ancienne \n", - "29203 6 carrés fourrés, saveur amande \n", - "29204 Multivitamins \n", - "29205 Instantané aux châtaignes \n", - "29206 Nuggets de Poulet \n", - "29207 Jus d'orange \n", - "29208 Зефир с ароматом крем-брюле \n", - "29209 Coca-cola \n", - "29210 Citron vert bio \n", - "29211 Weiße Riesenbohnen \n", - "29212 Haricots Verts à la Périgourdine \n", - "29213 Steaks Hachés Charolais Façon Bouchère \n", - "29214 Tortilla Wraps Plain \n", - "29215 nan \n", - "29216 Korma de légumes BIO \n", - "29217 Cake Release Spray \n", - "29218 Maxi Quenelles à Gratiner, Jambon sauce béchamel \n", - "29219 Alpro Oat Almond \n", - "29220 Nectarinas \n", - "29221 Ratatouille cuisinée à la Provençale \n", - "29222 Filet de poulet (-25% de sel) (4+2 gratuites) \n", - "29223 Boisson gazeuse goût framboise \n", - "29224 Potato Wedges \n", - "29225 Fleur de Sel aux Épices Grillées \n", - "29226 Pétales à la crevette \n", - "\n", - " good_guessed_labels \\\n", - "0 {en:beverages} \n", - "1 {} \n", - "2 {en:non-sugared-beverages, en:plant-based-food... \n", - "3 {en:chocolates, en:desserts, en:sugary-snacks} \n", - "4 {en:meals} \n", - "5 {en:plant-based-foods, en:cereals-and-potatoes... \n", - "6 {} \n", - "7 {} \n", - "8 {} \n", - "9 {} \n", - "10 {} \n", - "11 {} \n", - "12 {en:cheeses} \n", - "13 {en:plant-based-foods, en:plant-based-foods-an... \n", - "14 {en:plant-based-foods, en:plant-based-foods-an... \n", - "15 {} \n", - "16 {en:plant-based-foods-and-beverages, en:fruit-... \n", - "17 {en:dairies} \n", - "18 {} \n", - "19 {en:non-sugared-beverages, en:plant-based-food... \n", - "20 {en:plant-based-foods, en:cereals-and-potatoes... \n", - "21 {en:beverages} \n", - "22 {} \n", - "23 {} \n", - "24 {} \n", - "25 {} \n", - "26 {en:chocolates, en:sugary-snacks} \n", - "27 {} \n", - "28 {} \n", - "29 {} \n", - "... ... \n", - "29197 {} \n", - "29198 {en:non-sugared-beverages, en:beverages, en:pl... \n", - "29199 {en:meals} \n", - "29200 {} \n", - "29201 {} \n", - "29202 {} \n", - "29203 {en:biscuits-and-cakes, en:sugary-snacks} \n", - "29204 {en:plant-based-foods-and-beverages} \n", - "29205 {} \n", - "29206 {en:meats} \n", - "29207 {en:beverages} \n", - "29208 {} \n", - "29209 {en:beverages} \n", - "29210 {} \n", - "29211 {} \n", - "29212 {en:plant-based-foods, en:plant-based-foods-an... \n", - "29213 {en:meats} \n", - "29214 {} \n", - "29215 {} \n", - "29216 {} \n", - "29217 {} \n", - "29218 {} \n", - "29219 {} \n", - "29220 {} \n", - "29221 {en:meals} \n", - "29222 {en:meats} \n", - "29223 {en:beverages} \n", - "29224 {} \n", - "29225 {} \n", - "29226 {} \n", - "\n", - " extra_guessed_labels \\\n", - "0 [en:plant-based-foods-and-beverages] \n", - "1 [] \n", - "2 [] \n", - "3 [] \n", - "4 [] \n", - "5 [] \n", - "6 [] \n", - "7 [] \n", - "8 [] \n", - "9 [en:plant-based-foods-and-beverages] \n", - "10 [] \n", - "11 [] \n", - "12 [] \n", - "13 [] \n", - "14 [] \n", - "15 [en:plant-based-foods-and-beverages] \n", - "16 [] \n", - "17 [] \n", - "18 [en:plant-based-foods-and-beverages] \n", - "19 [] \n", - "20 [] \n", - "21 [en:sugared-beverages] \n", - "22 [] \n", - "23 [en:biscuits, en:biscuits-and-cakes, en:sugary... \n", - "24 [] \n", - "25 [] \n", - "26 [] \n", - "27 [] \n", - "28 [] \n", - "29 [] \n", - "... ... \n", - "29197 [] \n", - "29198 [] \n", - "29199 [en:cereals-and-potatoes, en:cereals-and-their... \n", - "29200 [] \n", - "29201 [] \n", - "29202 [] \n", - "29203 [] \n", - "29204 [] \n", - "29205 [] \n", - "29206 [] \n", - "29207 [en:fruit-based-beverages, en:plant-based-beve... \n", - "29208 [] \n", - "29209 [en:sugared-beverages] \n", - "29210 [en:beverages] \n", - "29211 [] \n", - "29212 [en:fruits-and-vegetables-based-foods, en:vege... \n", - "29213 [] \n", - "29214 [en:salty-snacks] \n", - "29215 [] \n", - "29216 [] \n", - "29217 [en:biscuits-and-cakes, en:desserts, en:sugary... \n", - "29218 [] \n", - "29219 [] \n", - "29220 [] \n", - "29221 [] \n", - "29222 [] \n", - "29223 [en:non-sugared-beverages] \n", - "29224 [en:salty-snacks] \n", - "29225 [] \n", - "29226 [] \n", - "\n", - " missing_guessed_labels \n", - "0 [en:sugared-beverages] \n", - "1 [en:spreads, en:breakfasts] \n", - "2 [en:plant-based-foods] \n", - "3 [en:confectioneries] \n", - "4 [en:canned-foods] \n", - "5 [en:cereals-and-their-products] \n", - "6 [en:beverages, en:sugared-beverages] \n", - "7 [en:plant-based-foods-and-beverages, en:plant-... \n", - "8 [en:sugary-snacks, en:confectioneries] \n", - "9 [en:dairies] \n", - "10 [en:dairies, en:cheeses] \n", - "11 [en:seafood] \n", - "12 [en:dairies] \n", - "13 [en:fruits-and-vegetables-based-foods, en:frui... \n", - "14 [en:fresh-foods, en:fruits-and-vegetables-base... \n", - "15 [en:sugary-snacks] \n", - "16 [en:non-sugared-beverages] \n", - "17 [en:cheeses] \n", - "18 [en:beverages, en:non-sugared-beverages] \n", - "19 [en:plant-based-foods, en:groceries, en:plant-... \n", - "20 [en:fresh-foods, en:meals] \n", - "21 [en:non-sugared-beverages] \n", - "22 [en:meals] \n", - "23 [en:frozen-foods] \n", - "24 [en:plant-based-foods-and-beverages, en:plant-... \n", - "25 [en:plant-based-foods-and-beverages, en:bevera... \n", - "26 [en:confectioneries] \n", - "27 [en:sugary-snacks, en:chocolates] \n", - "28 [en:sugary-snacks, en:confectioneries] \n", - "29 [en:meats] \n", - "... ... \n", - "29197 [en:canned-foods] \n", - "29198 [en:plant-based-foods-and-beverages] \n", - "29199 [en:fresh-foods] \n", - "29200 [en:plant-based-foods-and-beverages, en:plant-... \n", - "29201 [en:sugary-snacks, en:biscuits-and-cakes, en:b... \n", - "29202 [en:beverages, en:alcoholic-beverages] \n", - "29203 [en:desserts] \n", - "29204 [en:beverages, en:plant-based-beverages, en:no... \n", - "29205 [en:plant-based-foods-and-beverages, en:plant-... \n", - "29206 [en:fresh-foods, en:meals] \n", - "29207 [en:non-sugared-beverages] \n", - "29208 [en:sugary-snacks] \n", - "29209 [en:non-sugared-beverages] \n", - "29210 [en:plant-based-foods-and-beverages, en:plant-... \n", - "29211 [en:plant-based-foods-and-beverages, en:plant-... \n", - "29212 [en:frozen-foods] \n", - "29213 [en:frozen-foods] \n", - "29214 [en:plant-based-foods-and-beverages, en:plant-... \n", - "29215 [en:plant-based-foods-and-beverages, en:bevera... \n", - "29216 [en:meals] \n", - "29217 [en:plant-based-foods-and-beverages, en:plant-... \n", - "29218 [en:canned-foods, en:meals] \n", - "29219 [en:beverages, en:dairies, en:non-sugared-beve... \n", - "29220 [en:plant-based-foods-and-beverages, en:plant-... \n", - "29221 [en:canned-foods] \n", - "29222 [en:prepared-meats] \n", - "29223 [en:plant-based-foods-and-beverages, en:plant-... \n", - "29224 [en:plant-based-foods-and-beverages, en:plant-... \n", - "29225 [en:plant-based-foods-and-beverages, en:plant-... \n", - "29226 [en:salty-snacks] \n", - "\n", - "[29227 rows x 4 columns]" - ] - }, - "execution_count": 98, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "testing_diffs = []\n", - "for _, row in testing_dataframe.iterrows():\n", - " diff = set(row.original_labels) - set(row.guessed_labels)\n", - " if len(diff) > 0:\n", - " testing_diffs.append({\n", - " 'product_name': row.product_name,\n", - " 'good_guessed_labels': set(row.original_labels) - diff,\n", - " 'extra_guessed_labels': [label for label in row.guessed_labels if label not in row.original_labels],\n", - " 'missing_guessed_labels': [label for label in row.original_labels if label not in row.guessed_labels]\n", - " })\n", - "pandas.DataFrame(testing_diffs,\n", - " columns=['product_name', 'good_guessed_labels', 'extra_guessed_labels', 'missing_guessed_labels'])" - ] - }, - { - "cell_type": "code", - "execution_count": 87, + "execution_count": 30, "metadata": {}, "outputs": [ { @@ -1563,7 +773,7 @@ "['offClassifier.pkl']" ] }, - "execution_count": 87, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -1582,7 +792,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -1602,7 +812,7 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -1612,14 +822,14 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/Users/lverney/.local/share/virtualenvs/machine_learning/lib/python3.6/site-packages/ipykernel_launcher.py:5: DeprecationWarning: generator 'batch' raised StopIteration\n", + "/home/phyks/.local/share/virtualenvs/machine_learning/lib/python3.6/site-packages/ipykernel_launcher.py:5: DeprecationWarning: generator 'batch' raised StopIteration\n", " \"\"\"\n" ] } @@ -1636,7 +846,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 33, "metadata": {}, "outputs": [ { @@ -1668,12 +878,12 @@ " \n", " 0\n", " Farine de blé noir\n", - " (en:cereals-and-potatoes, en:cereals-and-their...\n", + " (en:cereal-flours, en:cereals-and-potatoes, en...\n", " \n", " \n", " 1\n", " Banana Chips Sweetened (Whole)\n", - " (en:appetizers, en:chips-and-fries, en:crisps,...\n", + " ()\n", " \n", " \n", " 2\n", @@ -1693,7 +903,7 @@ " \n", " 5\n", " Breadshop Honey Gone Nuts Granola\n", - " (en:breakfasts, en:cereals-and-potatoes, en:ce...\n", + " (en:breakfasts, en:sugary-snacks)\n", " \n", " \n", " 6\n", @@ -1748,17 +958,17 @@ " \n", " 16\n", " Organic Hazelnuts\n", - " (en:sugary-snacks,)\n", + " ()\n", " \n", " \n", " 17\n", " Organic Sweetened Banana Chips\n", - " (en:appetizers, en:chips-and-fries, en:crisps,...\n", + " ()\n", " \n", " \n", " 18\n", " Lotus Organic Brown Jasmine Rice\n", - " (en:cereals-and-potatoes, en:cereals-and-their...\n", + " (en:cereal-grains, en:cereals-and-their-produc...\n", " \n", " \n", " 19\n", @@ -1768,52 +978,52 @@ " \n", " 20\n", " Energy Power Mix\n", - " (en:beverages,)\n", + " ()\n", " \n", " \n", " 21\n", " Antioxidant Mix - Berries & Chocolate\n", - " (en:sugary-snacks,)\n", + " (en:plant-based-foods-and-beverages,)\n", " \n", " \n", " 22\n", " Organic Quinoa Coconut Granola With Mango\n", - " (en:cereals-and-potatoes, en:plant-based-foods...\n", + " (en:plant-based-foods, en:plant-based-foods-an...\n", " \n", " \n", " 23\n", " Fire Roasted Hatch Green Chile Almonds\n", - " (en:plant-based-foods, en:plant-based-foods-an...\n", + " ()\n", " \n", " \n", " 24\n", " Peanut Butter Power Chews\n", - " (en:plant-based-foods, en:spreads)\n", + " (en:plant-based-foods,)\n", " \n", " \n", " 25\n", " Real Salt Granular\n", - " (en:groceries,)\n", + " (en:chips-and-fries, en:crisps, en:groceries, ...\n", " \n", " \n", " 26\n", " Organic Unswt Berry Coconut Granola\n", - " (en:plant-based-foods-and-beverages,)\n", + " (en:plant-based-foods, en:plant-based-foods-an...\n", " \n", " \n", " 27\n", " Roasted Salted Black Pepper Cashews\n", - " (en:appetizers, en:plant-based-foods-and-bever...\n", + " (en:cashew-nuts, en:nuts, en:plant-based-foods...\n", " \n", " \n", " 28\n", " Thai Curry Roasted Cashews\n", - " (en:plant-based-foods, en:plant-based-foods-an...\n", + " (en:cashew-nuts, en:plant-based-foods, en:plan...\n", " \n", " \n", " 29\n", " Wasabi Tamari Almonds\n", - " ()\n", + " (en:condiments, en:groceries, en:plant-based-f...\n", " \n", " \n", " ...\n", @@ -1821,158 +1031,158 @@ " ...\n", " \n", " \n", - " 254702\n", + " 254346\n", " Fairy Tail\n", " ()\n", " \n", " \n", - " 254703\n", + " 254347\n", " Biscuits aux céréales, aux pépites de chocolat...\n", " (en:biscuits, en:biscuits-and-cakes, en:sugary...\n", " \n", " \n", - " 254704\n", - " Dico anglais\n", - " (en:plant-based-foods, en:plant-based-foods-an...\n", - " \n", - " \n", - " 254705\n", + " 254348\n", " Neszt Cochon Con\n", " ()\n", " \n", " \n", - " 254706\n", + " 254349\n", + " nan\n", + " ()\n", + " \n", + " \n", + " 254350\n", " Drid apricot the queen\n", " (en:beverages,)\n", " \n", " \n", - " 254707\n", + " 254351\n", " Natural Cassava\n", - " (en:beverages,)\n", + " (en:plant-based-foods-and-beverages,)\n", " \n", " \n", - " 254708\n", + " 254352\n", " nan\n", " ()\n", " \n", " \n", - " 254709\n", + " 254353\n", " nan\n", " ()\n", " \n", " \n", - " 254710\n", + " 254354\n", " Soda 1\n", " (en:beverages, en:carbonated-drinks, en:sodas,...\n", " \n", " \n", - " 254711\n", + " 254355\n", " Merci 1\n", - " (en:candies, en:chocolates, en:confectioneries...\n", + " (en:bonbons, en:candies, en:chocolates, en:cho...\n", " \n", " \n", - " 254712\n", + " 254356\n", " Merci2\n", " ()\n", " \n", " \n", - " 254713\n", + " 254357\n", " Merci3\n", " ()\n", " \n", " \n", - " 254714\n", + " 254358\n", " Libro parachute3\n", " ()\n", " \n", " \n", - " 254715\n", + " 254359\n", " nan\n", " ()\n", " \n", " \n", - " 254716\n", + " 254360\n", " Vegan easy\n", - " ()\n", + " (en:plant-based-foods, en:plant-based-foods-an...\n", " \n", " \n", - " 254717\n", + " 254361\n", " Tarifs djoghrafia\n", " ()\n", " \n", " \n", - " 254718\n", + " 254362\n", " nan\n", " ()\n", " \n", " \n", - " 254719\n", + " 254363\n", " Ferrero Rocher\n", - " (en:chocolates,)\n", + " (en:chocolates, en:sugary-snacks)\n", " \n", " \n", - " 254720\n", + " 254364\n", " nan\n", " ()\n", " \n", " \n", - " 254721\n", + " 254365\n", " Raspados Ice Bars\n", - " (en:sugary-snacks,)\n", + " (en:bars, en:cereal-bars, en:sugary-snacks)\n", " \n", " \n", - " 254722\n", + " 254366\n", " nf test\n", - " ()\n", + " (en:beverages,)\n", " \n", " \n", - " 254723\n", + " 254367\n", " Amandes\n", - " (en:nuts-and-their-products, en:plant-based-fo...\n", + " (en:almonds, en:chocolates-with-almonds, en:nu...\n", " \n", " \n", - " 254724\n", + " 254368\n", " Mleko wiejskie\n", " (en:dairies, en:milks)\n", " \n", " \n", - " 254725\n", + " 254369\n", " Poireaux\n", - " (en:fruits-and-vegetables-based-foods, en:plan...\n", + " (en:fruits-and-vegetables-based-foods, en:leek...\n", " \n", " \n", - " 254726\n", + " 254370\n", " Cheese cake thé vert, yuzu\n", - " (en:herbal-teas,)\n", + " ()\n", " \n", " \n", - " 254727\n", + " 254371\n", " Tomato & ricotta\n", - " (en:plant-based-foods, en:plant-based-foods-an...\n", + " ()\n", " \n", " \n", - " 254728\n", + " 254372\n", " Mint Melange Tea A Blend Of Peppermint, Lemon ...\n", - " (en:beverages, en:non-sugared-beverages)\n", + " (en:beverages, en:non-sugared-beverages, en:su...\n", " \n", " \n", - " 254729\n", + " 254373\n", " Biscottes bio\n", " (en:breads, en:cereals-and-potatoes, en:plant-...\n", " \n", " \n", - " 254730\n", + " 254374\n", " Tomates aux Vermicelles\n", - " (en:fruits-and-vegetables-based-foods, en:plan...\n", + " (en:fruits-and-vegetables-based-foods, en:meal...\n", " \n", " \n", - " 254731\n", + " 254375\n", " Sugar Free Drink Mix, Peach Tea\n", - " (en:beverages, en:plant-based-beverages, en:su...\n", + " (en:artificially-sweetened-beverages, en:bever...\n", " \n", " \n", "\n", - "

254732 rows × 2 columns

\n", + "

254376 rows × 2 columns

\n", "" ], "text/plain": [ @@ -2008,44 +1218,44 @@ "28 Thai Curry Roasted Cashews \n", "29 Wasabi Tamari Almonds \n", "... ... \n", - "254702 Fairy Tail \n", - "254703 Biscuits aux céréales, aux pépites de chocolat... \n", - "254704 Dico anglais \n", - "254705 Neszt Cochon Con \n", - "254706 Drid apricot the queen \n", - "254707 Natural Cassava \n", - "254708 nan \n", - "254709 nan \n", - "254710 Soda 1 \n", - "254711 Merci 1 \n", - "254712 Merci2 \n", - "254713 Merci3 \n", - "254714 Libro parachute3 \n", - "254715 nan \n", - "254716 Vegan easy \n", - "254717 Tarifs djoghrafia \n", - "254718 nan \n", - "254719 Ferrero Rocher \n", - "254720 nan \n", - "254721 Raspados Ice Bars \n", - "254722 nf test \n", - "254723 Amandes \n", - "254724 Mleko wiejskie \n", - "254725 Poireaux \n", - "254726 Cheese cake thé vert, yuzu \n", - "254727 Tomato & ricotta \n", - "254728 Mint Melange Tea A Blend Of Peppermint, Lemon ... \n", - "254729 Biscottes bio \n", - "254730 Tomates aux Vermicelles \n", - "254731 Sugar Free Drink Mix, Peach Tea \n", + "254346 Fairy Tail \n", + "254347 Biscuits aux céréales, aux pépites de chocolat... \n", + "254348 Neszt Cochon Con \n", + "254349 nan \n", + "254350 Drid apricot the queen \n", + "254351 Natural Cassava \n", + "254352 nan \n", + "254353 nan \n", + "254354 Soda 1 \n", + "254355 Merci 1 \n", + "254356 Merci2 \n", + "254357 Merci3 \n", + "254358 Libro parachute3 \n", + "254359 nan \n", + "254360 Vegan easy \n", + "254361 Tarifs djoghrafia \n", + "254362 nan \n", + "254363 Ferrero Rocher \n", + "254364 nan \n", + "254365 Raspados Ice Bars \n", + "254366 nf test \n", + "254367 Amandes \n", + "254368 Mleko wiejskie \n", + "254369 Poireaux \n", + "254370 Cheese cake thé vert, yuzu \n", + "254371 Tomato & ricotta \n", + "254372 Mint Melange Tea A Blend Of Peppermint, Lemon ... \n", + "254373 Biscottes bio \n", + "254374 Tomates aux Vermicelles \n", + "254375 Sugar Free Drink Mix, Peach Tea \n", "\n", " guessed_labels \n", - "0 (en:cereals-and-potatoes, en:cereals-and-their... \n", - "1 (en:appetizers, en:chips-and-fries, en:crisps,... \n", + "0 (en:cereal-flours, en:cereals-and-potatoes, en... \n", + "1 () \n", "2 (en:legumes, en:legumes-and-their-products, en... \n", "3 () \n", "4 (en:cereals-and-potatoes, en:cereals-and-their... \n", - "5 (en:breakfasts, en:cereals-and-potatoes, en:ce... \n", + "5 (en:breakfasts, en:sugary-snacks) \n", "6 (en:cereal-grains, en:cereals-and-potatoes, en... \n", "7 (en:breakfast-cereals, en:breakfasts, en:cerea... \n", "8 (en:chocolates, en:dark-chocolates, en:sugary-... \n", @@ -2056,56 +1266,56 @@ "13 (en:plant-based-foods, en:plant-based-foods-an... \n", "14 () \n", "15 (en:breakfast-cereals, en:breakfasts, en:cerea... \n", - "16 (en:sugary-snacks,) \n", - "17 (en:appetizers, en:chips-and-fries, en:crisps,... \n", - "18 (en:cereals-and-potatoes, en:cereals-and-their... \n", + "16 () \n", + "17 () \n", + "18 (en:cereal-grains, en:cereals-and-their-produc... \n", "19 () \n", - "20 (en:beverages,) \n", - "21 (en:sugary-snacks,) \n", - "22 (en:cereals-and-potatoes, en:plant-based-foods... \n", - "23 (en:plant-based-foods, en:plant-based-foods-an... \n", - "24 (en:plant-based-foods, en:spreads) \n", - "25 (en:groceries,) \n", - "26 (en:plant-based-foods-and-beverages,) \n", - "27 (en:appetizers, en:plant-based-foods-and-bever... \n", - "28 (en:plant-based-foods, en:plant-based-foods-an... \n", - "29 () \n", + "20 () \n", + "21 (en:plant-based-foods-and-beverages,) \n", + "22 (en:plant-based-foods, en:plant-based-foods-an... \n", + "23 () \n", + "24 (en:plant-based-foods,) \n", + "25 (en:chips-and-fries, en:crisps, en:groceries, ... \n", + "26 (en:plant-based-foods, en:plant-based-foods-an... \n", + "27 (en:cashew-nuts, en:nuts, en:plant-based-foods... \n", + "28 (en:cashew-nuts, en:plant-based-foods, en:plan... \n", + "29 (en:condiments, en:groceries, en:plant-based-f... \n", "... ... \n", - "254702 () \n", - "254703 (en:biscuits, en:biscuits-and-cakes, en:sugary... \n", - "254704 (en:plant-based-foods, en:plant-based-foods-an... \n", - "254705 () \n", - "254706 (en:beverages,) \n", - "254707 (en:beverages,) \n", - "254708 () \n", - "254709 () \n", - "254710 (en:beverages, en:carbonated-drinks, en:sodas,... \n", - "254711 (en:candies, en:chocolates, en:confectioneries... \n", - "254712 () \n", - "254713 () \n", - "254714 () \n", - "254715 () \n", - "254716 () \n", - "254717 () \n", - "254718 () \n", - "254719 (en:chocolates,) \n", - "254720 () \n", - "254721 (en:sugary-snacks,) \n", - "254722 () \n", - "254723 (en:nuts-and-their-products, en:plant-based-fo... \n", - "254724 (en:dairies, en:milks) \n", - "254725 (en:fruits-and-vegetables-based-foods, en:plan... \n", - "254726 (en:herbal-teas,) \n", - "254727 (en:plant-based-foods, en:plant-based-foods-an... \n", - "254728 (en:beverages, en:non-sugared-beverages) \n", - "254729 (en:breads, en:cereals-and-potatoes, en:plant-... \n", - "254730 (en:fruits-and-vegetables-based-foods, en:plan... \n", - "254731 (en:beverages, en:plant-based-beverages, en:su... \n", + "254346 () \n", + "254347 (en:biscuits, en:biscuits-and-cakes, en:sugary... \n", + "254348 () \n", + "254349 () \n", + "254350 (en:beverages,) \n", + "254351 (en:plant-based-foods-and-beverages,) \n", + "254352 () \n", + "254353 () \n", + "254354 (en:beverages, en:carbonated-drinks, en:sodas,... \n", + "254355 (en:bonbons, en:candies, en:chocolates, en:cho... \n", + "254356 () \n", + "254357 () \n", + "254358 () \n", + "254359 () \n", + "254360 (en:plant-based-foods, en:plant-based-foods-an... \n", + "254361 () \n", + "254362 () \n", + "254363 (en:chocolates, en:sugary-snacks) \n", + "254364 () \n", + "254365 (en:bars, en:cereal-bars, en:sugary-snacks) \n", + "254366 (en:beverages,) \n", + "254367 (en:almonds, en:chocolates-with-almonds, en:nu... \n", + "254368 (en:dairies, en:milks) \n", + "254369 (en:fruits-and-vegetables-based-foods, en:leek... \n", + "254370 () \n", + "254371 () \n", + "254372 (en:beverages, en:non-sugared-beverages, en:su... \n", + "254373 (en:breads, en:cereals-and-potatoes, en:plant-... \n", + "254374 (en:fruits-and-vegetables-based-foods, en:meal... \n", + "254375 (en:artificially-sweetened-beverages, en:bever... \n", "\n", - "[254732 rows x 2 columns]" + "[254376 rows x 2 columns]" ] }, - "execution_count": 102, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -2119,85 +1329,71 @@ "prediction_dataframe" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Port to JS" + ] + }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn_porter import Porter" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Load the classifier\n", + "mlb, classifier = joblib.load('offClassifier.pkl')" + ] + }, + { + "cell_type": "code", + "execution_count": 5, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "0 True\n", - "1 True\n", - "2 True\n", - "3 False\n", - "4 True\n", - "5 True\n", - "6 True\n", - "7 True\n", - "8 True\n", - "9 True\n", - "10 True\n", - "11 True\n", - "12 False\n", - "13 True\n", - "14 False\n", - "15 True\n", - "16 True\n", - "17 True\n", - "18 True\n", - "19 False\n", - "20 True\n", - "21 True\n", - "22 True\n", - "23 True\n", - "24 True\n", - "25 True\n", - "26 True\n", - "27 True\n", - "28 True\n", - "29 False\n", - " ... \n", - "254702 False\n", - "254703 True\n", - "254704 True\n", - "254705 False\n", - "254706 True\n", - "254707 True\n", - "254708 False\n", - "254709 False\n", - "254710 True\n", - "254711 True\n", - "254712 False\n", - "254713 False\n", - "254714 False\n", - "254715 False\n", - "254716 False\n", - "254717 False\n", - "254718 False\n", - "254719 True\n", - "254720 False\n", - "254721 True\n", - "254722 False\n", - "254723 True\n", - "254724 True\n", - "254725 True\n", - "254726 True\n", - "254727 True\n", - "254728 True\n", - "254729 True\n", - "254730 True\n", - "254731 True\n", - "Name: guessed_labels, Length: 254732, dtype: bool" - ] - }, - "execution_count": 103, - "metadata": {}, - "output_type": "execute_result" + "ename": "ValueError", + "evalue": "The given model 'Pipeline(memory=None,\n steps=[('vectorizer', CountVectorizer(analyzer='word', binary=False, decode_error='strict',\n dtype=, encoding='utf-8', input='content',\n lowercase=True, max_df=1.0, max_features=None, min_df=1,\n ngram_range=(1, 1), preprocessor=None, stop_words=None,\n ...lti_class='ovr', penalty='l2', random_state=None, tol=0.0001,\n verbose=0),\n n_jobs=1))])' isn't supported.", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mporter\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mPorter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mclassifier\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlanguage\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'javascript'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0moutput\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mporter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexport\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/.local/share/virtualenvs/machine_learning/lib/python3.6/site-packages/sklearn_porter/Porter.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, model, language, method, **kwargs)\u001b[0m\n\u001b[1;32m 75\u001b[0m \u001b[0merror\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"The given model '{model}' isn't\"\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m\\\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 76\u001b[0m \u001b[0;34m\" supported.\"\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__dict__\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 77\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merror\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 78\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 79\u001b[0m \u001b[0;31m# Import model class:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: The given model 'Pipeline(memory=None,\n steps=[('vectorizer', CountVectorizer(analyzer='word', binary=False, decode_error='strict',\n dtype=, encoding='utf-8', input='content',\n lowercase=True, max_df=1.0, max_features=None, min_df=1,\n ngram_range=(1, 1), preprocessor=None, stop_words=None,\n ...lti_class='ovr', penalty='l2', random_state=None, tol=0.0001,\n verbose=0),\n n_jobs=1))])' isn't supported." + ] } ], "source": [ - "prediction_dataframe['guessed_labels'].str.len() > 0" + "porter = Porter(classifier, language='javascript')\n", + "output = porter.export()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline\n" + ] + } + ], + "source": [ + "algorithm_name = str(type(classifier).__name__)\n", + "print(algorithm_name)" ] }, {