{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import import_ipynb" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import argparse\n", "import numpy as np\n", "import matplotlib\n", "matplotlib.use('agg')\n", "import matplotlib.pyplot as plt\n", "import itertools\n", "import warnings\n", "from utils.treebank import StanfordSentiment\n", "import utils.glove as glove\n", "\n", "from q3_sgd import load_saved_params, sgd\n", "# We will use sklearn here because it will run faster than implementing\n", "# ourselves. However, for other parts of this assignment you must implement\n", "# the functions yourself!\n", "\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.metrics import confusion_matrix\n", "warnings.filterwarnings('ignore')" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "def getSentenceFeatures(tokens, wordVectors, sentence):\n", " \"\"\"\n", " Obtain the sentence feature for sentiment analysis by averaging its\n", " word vectors\n", " \"\"\"\n", "\n", " # Implement computation for the sentence features given a sentence.\n", "\n", " # Inputs:\n", " # tokens -- a dictionary that maps words to their indices in\n", " # the word vector list\n", " # wordVectors -- word vectors (each row) for all tokens\n", " # sentence -- a list of words in the sentence of interest\n", "\n", " # Output:\n", " # - sentVector: feature vector for the sentence\n", "\n", " sentVector = np.zeros((wordVectors.shape[1],))\n", "\n", " ### YOUR CODE HERE\n", " ### Note:此处不能用向量运算,因为存在重复的word\n", "\n", " sentence_index = [tokens[i] for i in sentence]\n", " for index in sentence_index:\n", " sentVector += wordVectors[index, :]\n", "\n", " sentVector /= len(sentence)\n", " ### END YOUR CODE\n", "\n", " assert sentVector.shape == (wordVectors.shape[1],)\n", " return sentVector\n", "\n", "\n", "def getRegularizationValues():\n", " \"\"\"Try different regularizations\n", "\n", " Return a sorted list of values to try.\n", " \"\"\"\n", " values = None # Assign a list of floats in the block below\n", " ### YOUR CODE HERE\n", " values = np.logspace(-4, 2, num=100, base=10)\n", " ### END YOUR CODE\n", " return sorted(values)\n", "\n", "\n", "def chooseBestModel(results):\n", " \"\"\"Choose the best model based on dev set performance.\n", "\n", " Arguments:\n", " results -- A list of python dictionaries of the following format:\n", " {\n", " \"reg\": regularization,\n", " \"clf\": classifier,\n", " \"train\": trainAccuracy,\n", " \"dev\": devAccuracy,\n", " \"test\": testAccuracy\n", " }\n", "\n", " Each dictionary represents the performance of one model.\n", "\n", " Returns:\n", " Your chosen result dictionary.\n", " \"\"\"\n", " bestResult = None\n", "\n", " ### YOUR CODE HERE\n", " bestResult = max(results, key= lambda x: x['dev'])\n", " ### END YOUR CODE\n", "\n", " return bestResult\n", "\n", "\n", "def accuracy(y, yhat):\n", " \"\"\" Precision for classifier \"\"\"\n", " assert(y.shape == yhat.shape)\n", " return np.sum(y == yhat) * 100.0 / y.size\n", "\n", "\n", "def plotRegVsAccuracy(regValues, results, filename):\n", " \"\"\" Make a plot of regularization vs accuracy \"\"\"\n", " plt.plot(regValues, [x[\"train\"] for x in results])\n", " plt.plot(regValues, [x[\"dev\"] for x in results])\n", " plt.xscale('log')\n", " plt.xlabel(\"regularization\")\n", " plt.ylabel(\"accuracy\")\n", " plt.legend(['train', 'dev'], loc='upper left')\n", " plt.savefig(filename)\n", "\n", "\n", "def outputConfusionMatrix(features, labels, clf, filename):\n", " \"\"\" Generate a confusion matrix \"\"\"\n", " pred = clf.predict(features)\n", " cm = confusion_matrix(labels, pred, labels=range(5))\n", " plt.figure()\n", " plt.imshow(cm, interpolation='nearest', cmap=plt.cm.Reds)\n", " plt.colorbar()\n", " classes = [\"- -\", \"-\", \"neut\", \"+\", \"+ +\"]\n", " tick_marks = np.arange(len(classes))\n", " plt.xticks(tick_marks, classes)\n", " plt.yticks(tick_marks, classes)\n", " thresh = cm.max() / 2.\n", " for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n", " plt.text(j, i, cm[i, j],\n", " horizontalalignment=\"center\",\n", " color=\"white\" if cm[i, j] > thresh else \"black\")\n", " plt.tight_layout()\n", " plt.ylabel('True label')\n", " plt.xlabel('Predicted label')\n", " plt.savefig(filename)\n", "\n", "\n", "def outputPredictions(dataset, features, labels, clf, filename):\n", " \"\"\" Write the predictions to file \"\"\"\n", " pred = clf.predict(features)\n", " with open(filename, \"w\") as f:\n", " print(\"True\\tPredicted\\tText\", file=f)\n", " for i in range(len(dataset)):\n", " print(\"%d\\t%d\\t%s\" % (\n", " labels[i], pred[i], \" \".join(dataset[i][0])), file=f)\n", "\n", "\n", "def main(args):\n", " \"\"\" Train a model to do sentiment analyis\"\"\"\n", " warnings.filterwarnings('ignore')\n", " # Load the dataset\n", " dataset = StanfordSentiment()\n", " tokens = dataset.tokens()\n", " nWords = len(tokens)\n", " if args == 'yourvectors':\n", " _, wordVectors, _ = load_saved_params()\n", " wordVectors = np.concatenate(\n", " (wordVectors[:nWords,:], wordVectors[nWords:,:]),\n", " axis=1)\n", " elif args == 'pretrained':\n", " wordVectors = glove.loadWordVectors(tokens)\n", " dimVectors = wordVectors.shape[1]\n", " print(dimVectors)\n", " # Load the train set\n", " trainset = dataset.getTrainSentences()\n", " nTrain = len(trainset)\n", " trainFeatures = np.zeros((nTrain, dimVectors))\n", " trainLabels = np.zeros((nTrain,), dtype=np.int32)\n", " for i in range(nTrain):\n", " words, trainLabels[i] = trainset[i]\n", " trainFeatures[i, :] = getSentenceFeatures(tokens, wordVectors, words)\n", "\n", " # Prepare dev set features\n", " devset = dataset.getDevSentences()\n", " nDev = len(devset)\n", " devFeatures = np.zeros((nDev, dimVectors))\n", " devLabels = np.zeros((nDev,), dtype=np.int32)\n", " for i in range(nDev):\n", " words, devLabels[i] = devset[i]\n", " devFeatures[i, :] = getSentenceFeatures(tokens, wordVectors, words)\n", "\n", " # Prepare test set features\n", " testset = dataset.getTestSentences()\n", " nTest = len(testset)\n", " testFeatures = np.zeros((nTest, dimVectors))\n", " testLabels = np.zeros((nTest,), dtype=np.int32)\n", " for i in range(nTest):\n", " words, testLabels[i] = testset[i]\n", " testFeatures[i, :] = getSentenceFeatures(tokens, wordVectors, words)\n", "\n", " # We will save our results from each run\n", " results = []\n", " regValues = getRegularizationValues()\n", " for reg in regValues:\n", " print(\"Training for reg=%f\" % reg)\n", " # Note: add a very small number to regularization to please the library\n", " clf = LogisticRegression(C=1.0/(reg + 1e-12))\n", " clf.fit(trainFeatures, trainLabels)\n", "\n", " # Test on train set\n", " pred = clf.predict(trainFeatures)\n", " trainAccuracy = accuracy(trainLabels, pred)\n", " print(\"Train accuracy (%%): %f\" % trainAccuracy)\n", "\n", " # Test on dev set\n", " pred = clf.predict(devFeatures)\n", " devAccuracy = accuracy(devLabels, pred)\n", " print(\"Dev accuracy (%%): %f\" % devAccuracy)\n", "\n", " # Test on test set\n", " # Note: always running on test is poor style. Typically, you should\n", " # do this only after validation.\n", " pred = clf.predict(testFeatures)\n", " testAccuracy = accuracy(testLabels, pred)\n", " print(\"Test accuracy (%%): %f\" % testAccuracy)\n", "\n", " results.append({\n", " \"reg\": reg,\n", " \"clf\": clf,\n", " \"train\": trainAccuracy,\n", " \"dev\": devAccuracy,\n", " \"test\": testAccuracy})\n", "\n", " # Print the accuracies\n", " print(\"\")\n", " print(\"=== Recap ===\")\n", " print(\"Reg\\t\\tTrain\\tDev\\tTest\")\n", "\n", " for result in results:\n", " print(\"%.2E\\t%.3f\\t%.3f\\t%.3f\" % (\n", " result[\"reg\"],\n", " result[\"train\"],\n", " result[\"dev\"],\n", " result[\"test\"]))\n", " print(\"\")\n", "\n", " bestResult = chooseBestModel(results)\n", " print(\"Best regularization value: %0.2E\" % bestResult[\"reg\"])\n", " print(\"Test accuracy (%%): %f\" % bestResult[\"test\"])\n", "\n", " # do some error analysis\n", " if args == 'pretrained':\n", " plotRegVsAccuracy(regValues, results, \"q4_reg_v_acc.png\")\n", " outputConfusionMatrix(devFeatures, devLabels, bestResult[\"clf\"],\n", " \"q4_dev_conf.png\")\n", " outputPredictions(devset, devFeatures, devLabels, bestResult[\"clf\"],\n", " \"q4_dev_pred.txt\")\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "20000\n", "20\n", "Training for reg=0.000100\n", "Train accuracy (%): 30.770131\n", "Dev accuracy (%): 30.517711\n", "Test accuracy (%): 28.914027\n", "Training for reg=0.000115\n", "Train accuracy (%): 30.770131\n", "Dev accuracy (%): 30.336058\n", "Test accuracy (%): 28.823529\n", "Training for reg=0.000132\n", "Train accuracy (%): 30.805243\n", "Dev accuracy (%): 30.426885\n", "Test accuracy (%): 28.778281\n", "Training for reg=0.000152\n", "Train accuracy (%): 30.770131\n", "Dev accuracy (%): 30.517711\n", "Test accuracy (%): 28.733032\n", "Training for reg=0.000175\n", "Train accuracy (%): 30.676498\n", "Dev accuracy (%): 30.517711\n", "Test accuracy (%): 28.823529\n", "Training for reg=0.000201\n", "Train accuracy (%): 30.711610\n", "Dev accuracy (%): 30.517711\n", "Test accuracy (%): 28.733032\n", "Training for reg=0.000231\n", "Train accuracy (%): 30.723315\n", "Dev accuracy (%): 30.426885\n", "Test accuracy (%): 28.823529\n", "Training for reg=0.000266\n", "Train accuracy (%): 30.723315\n", "Dev accuracy (%): 30.426885\n", "Test accuracy (%): 28.733032\n", "Training for reg=0.000305\n", "Train accuracy (%): 30.723315\n", "Dev accuracy (%): 30.517711\n", "Test accuracy (%): 28.733032\n", "Training for reg=0.000351\n", "Train accuracy (%): 30.711610\n", "Dev accuracy (%): 30.517711\n", "Test accuracy (%): 28.778281\n", "Training for reg=0.000404\n", "Train accuracy (%): 30.676498\n", "Dev accuracy (%): 30.426885\n", "Test accuracy (%): 28.823529\n", "Training for reg=0.000464\n", "Train accuracy (%): 30.699906\n", "Dev accuracy (%): 30.699364\n", "Test accuracy (%): 28.823529\n", "Training for reg=0.000534\n", "Train accuracy (%): 30.711610\n", "Dev accuracy (%): 30.608538\n", "Test accuracy (%): 28.868778\n", "Training for reg=0.000614\n", "Train accuracy (%): 30.664794\n", "Dev accuracy (%): 30.608538\n", "Test accuracy (%): 28.778281\n", "Training for reg=0.000705\n", "Train accuracy (%): 30.699906\n", "Dev accuracy (%): 30.790191\n", "Test accuracy (%): 28.868778\n", "Training for reg=0.000811\n", "Train accuracy (%): 30.723315\n", "Dev accuracy (%): 30.699364\n", "Test accuracy (%): 28.868778\n", "Training for reg=0.000933\n", "Train accuracy (%): 30.711610\n", "Dev accuracy (%): 30.699364\n", "Test accuracy (%): 28.914027\n", "Training for reg=0.001072\n", "Train accuracy (%): 30.699906\n", "Dev accuracy (%): 30.699364\n", "Test accuracy (%): 28.868778\n", "Training for reg=0.001233\n", "Train accuracy (%): 30.688202\n", "Dev accuracy (%): 30.608538\n", "Test accuracy (%): 28.778281\n", "Training for reg=0.001417\n", "Train accuracy (%): 30.653090\n", "Dev accuracy (%): 30.608538\n", "Test accuracy (%): 28.778281\n", "Training for reg=0.001630\n", "Train accuracy (%): 30.723315\n", "Dev accuracy (%): 30.790191\n", "Test accuracy (%): 28.687783\n", "Training for reg=0.001874\n", "Train accuracy (%): 30.676498\n", "Dev accuracy (%): 30.790191\n", "Test accuracy (%): 28.868778\n", "Training for reg=0.002154\n", "Train accuracy (%): 30.664794\n", "Dev accuracy (%): 30.790191\n", "Test accuracy (%): 28.868778\n", "Training for reg=0.002477\n", "Train accuracy (%): 30.653090\n", "Dev accuracy (%): 30.971844\n", "Test accuracy (%): 28.778281\n", "Training for reg=0.002848\n", "Train accuracy (%): 30.688202\n", "Dev accuracy (%): 30.881017\n", "Test accuracy (%): 28.868778\n", "Training for reg=0.003275\n", "Train accuracy (%): 30.688202\n", "Dev accuracy (%): 30.790191\n", "Test accuracy (%): 28.778281\n", "Training for reg=0.003765\n", "Train accuracy (%): 30.699906\n", "Dev accuracy (%): 30.699364\n", "Test accuracy (%): 28.914027\n", "Training for reg=0.004329\n", "Train accuracy (%): 30.676498\n", "Dev accuracy (%): 30.699364\n", "Test accuracy (%): 29.140271\n", "Training for reg=0.004977\n", "Train accuracy (%): 30.653090\n", "Dev accuracy (%): 30.699364\n", "Test accuracy (%): 29.095023\n", "Training for reg=0.005722\n", "Train accuracy (%): 30.805243\n", "Dev accuracy (%): 30.699364\n", "Test accuracy (%): 29.095023\n", "Training for reg=0.006579\n", "Train accuracy (%): 30.816948\n", "Dev accuracy (%): 30.881017\n", "Test accuracy (%): 28.959276\n", "Training for reg=0.007565\n", "Train accuracy (%): 30.781835\n", "Dev accuracy (%): 30.881017\n", "Test accuracy (%): 28.823529\n", "Training for reg=0.008697\n", "Train accuracy (%): 30.758427\n", "Dev accuracy (%): 30.881017\n", "Test accuracy (%): 28.733032\n", "Training for reg=0.010000\n", "Train accuracy (%): 30.898876\n", "Dev accuracy (%): 30.790191\n", "Test accuracy (%): 28.733032\n", "Training for reg=0.011498\n", "Train accuracy (%): 30.781835\n", "Dev accuracy (%): 30.699364\n", "Test accuracy (%): 28.733032\n", "Training for reg=0.013219\n", "Train accuracy (%): 30.711610\n", "Dev accuracy (%): 30.699364\n", "Test accuracy (%): 28.914027\n", "Training for reg=0.015199\n", "Train accuracy (%): 30.852060\n", "Dev accuracy (%): 30.426885\n", "Test accuracy (%): 29.049774\n", "Training for reg=0.017475\n", "Train accuracy (%): 30.758427\n", "Dev accuracy (%): 30.699364\n", "Test accuracy (%): 28.868778\n", "Training for reg=0.020092\n", "Train accuracy (%): 30.641386\n", "Dev accuracy (%): 30.699364\n", "Test accuracy (%): 28.868778\n", "Training for reg=0.023101\n", "Train accuracy (%): 30.676498\n", "Dev accuracy (%): 30.608538\n", "Test accuracy (%): 28.552036\n", "Training for reg=0.026561\n", "Train accuracy (%): 30.489232\n", "Dev accuracy (%): 30.426885\n", "Test accuracy (%): 28.506787\n", "Training for reg=0.030539\n", "Train accuracy (%): 30.383895\n", "Dev accuracy (%): 30.336058\n", "Test accuracy (%): 28.371041\n", "Training for reg=0.035112\n", "Train accuracy (%): 30.301966\n", "Dev accuracy (%): 30.245232\n", "Test accuracy (%): 28.280543\n", "Training for reg=0.040370\n", "Train accuracy (%): 30.208333\n", "Dev accuracy (%): 30.245232\n", "Test accuracy (%): 28.235294\n", "Training for reg=0.046416\n", "Train accuracy (%): 29.997659\n", "Dev accuracy (%): 29.881926\n", "Test accuracy (%): 28.325792\n", "Training for reg=0.053367\n", "Train accuracy (%): 30.021067\n", "Dev accuracy (%): 30.063579\n", "Test accuracy (%): 28.190045\n", "Training for reg=0.061359\n", "Train accuracy (%): 29.880618\n", "Dev accuracy (%): 29.972752\n", "Test accuracy (%): 28.144796\n", "Training for reg=0.070548\n", "Train accuracy (%): 29.798689\n", "Dev accuracy (%): 29.791099\n", "Test accuracy (%): 28.099548\n", "Training for reg=0.081113\n", "Train accuracy (%): 29.822097\n", "Dev accuracy (%): 30.154405\n", "Test accuracy (%): 28.009050\n", "Training for reg=0.093260\n", "Train accuracy (%): 29.740169\n", "Dev accuracy (%): 30.336058\n", "Test accuracy (%): 27.873303\n", "Training for reg=0.107227\n", "Train accuracy (%): 29.623127\n", "Dev accuracy (%): 30.517711\n", "Test accuracy (%): 27.873303\n", "Training for reg=0.123285\n", "Train accuracy (%): 29.634831\n", "Dev accuracy (%): 30.426885\n", "Test accuracy (%): 27.737557\n", "Training for reg=0.141747\n", "Train accuracy (%): 29.506086\n", "Dev accuracy (%): 30.426885\n", "Test accuracy (%): 27.873303\n", "Training for reg=0.162975\n", "Train accuracy (%): 29.447566\n", "Dev accuracy (%): 30.790191\n", "Test accuracy (%): 27.466063\n", "Training for reg=0.187382\n", "Train accuracy (%): 29.517790\n", "Dev accuracy (%): 30.517711\n", "Test accuracy (%): 27.692308\n", "Training for reg=0.215443\n", "Train accuracy (%): 29.588015\n", "Dev accuracy (%): 30.517711\n", "Test accuracy (%): 27.511312\n", "Training for reg=0.247708\n", "Train accuracy (%): 29.389045\n", "Dev accuracy (%): 30.154405\n", "Test accuracy (%): 27.647059\n", "Training for reg=0.284804\n", "Train accuracy (%): 29.272004\n", "Dev accuracy (%): 30.245232\n", "Test accuracy (%): 27.647059\n", "Training for reg=0.327455\n", "Train accuracy (%): 29.248596\n", "Dev accuracy (%): 30.426885\n", "Test accuracy (%): 27.737557\n", "Training for reg=0.376494\n", "Train accuracy (%): 29.248596\n", "Dev accuracy (%): 30.245232\n", "Test accuracy (%): 27.647059\n", "Training for reg=0.432876\n", "Train accuracy (%): 29.108146\n", "Dev accuracy (%): 30.154405\n", "Test accuracy (%): 27.194570\n", "Training for reg=0.497702\n", "Train accuracy (%): 29.096442\n", "Dev accuracy (%): 30.063579\n", "Test accuracy (%): 27.058824\n", "Training for reg=0.572237\n", "Train accuracy (%): 29.026217\n", "Dev accuracy (%): 29.700272\n", "Test accuracy (%): 27.149321\n", "Training for reg=0.657933\n", "Train accuracy (%): 28.897472\n", "Dev accuracy (%): 29.609446\n", "Test accuracy (%): 26.832579\n", "Training for reg=0.756463\n", "Train accuracy (%): 28.862360\n", "Dev accuracy (%): 29.336966\n", "Test accuracy (%): 26.561086\n", "Training for reg=0.869749\n", "Train accuracy (%): 28.710206\n", "Dev accuracy (%): 28.882834\n", "Test accuracy (%): 26.787330\n", "Training for reg=1.000000\n", "Train accuracy (%): 28.593165\n", "Dev accuracy (%): 28.337875\n", "Test accuracy (%): 26.289593\n", "Training for reg=1.149757\n", "Train accuracy (%): 28.417603\n", "Dev accuracy (%): 27.974569\n", "Test accuracy (%): 25.837104\n", "Training for reg=1.321941\n", "Train accuracy (%): 28.347378\n", "Dev accuracy (%): 27.429609\n", "Test accuracy (%): 25.384615\n", "Training for reg=1.519911\n", "Train accuracy (%): 28.101592\n", "Dev accuracy (%): 26.884650\n", "Test accuracy (%): 25.248869\n", "Training for reg=1.747528\n", "Train accuracy (%): 28.054775\n", "Dev accuracy (%): 26.430518\n", "Test accuracy (%): 25.203620\n", "Training for reg=2.009233\n", "Train accuracy (%): 27.879213\n", "Dev accuracy (%): 26.067212\n", "Test accuracy (%): 25.022624\n", "Training for reg=2.310130\n", "Train accuracy (%): 27.633427\n", "Dev accuracy (%): 26.248865\n", "Test accuracy (%): 25.022624\n", "Training for reg=2.656088\n", "Train accuracy (%): 27.551498\n", "Dev accuracy (%): 26.158038\n", "Test accuracy (%): 24.615385\n", "Training for reg=3.053856\n", "Train accuracy (%): 27.375936\n", "Dev accuracy (%): 25.885559\n", "Test accuracy (%): 24.072398\n", "Training for reg=3.511192\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train accuracy (%): 27.457865\n", "Dev accuracy (%): 25.976385\n", "Test accuracy (%): 23.800905\n", "Training for reg=4.037017\n", "Train accuracy (%): 27.223783\n", "Dev accuracy (%): 26.067212\n", "Test accuracy (%): 23.619910\n", "Training for reg=4.641589\n", "Train accuracy (%): 27.176966\n", "Dev accuracy (%): 25.703906\n", "Test accuracy (%): 23.393665\n", "Training for reg=5.336699\n", "Train accuracy (%): 27.106742\n", "Dev accuracy (%): 25.703906\n", "Test accuracy (%): 23.122172\n", "Training for reg=6.135907\n", "Train accuracy (%): 27.130150\n", "Dev accuracy (%): 25.522252\n", "Test accuracy (%): 23.076923\n", "Training for reg=7.054802\n", "Train accuracy (%): 27.095037\n", "Dev accuracy (%): 25.431426\n", "Test accuracy (%): 23.076923\n", "Training for reg=8.111308\n", "Train accuracy (%): 27.071629\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 23.031674\n", "Training for reg=9.326033\n", "Train accuracy (%): 27.036517\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.986425\n", "Training for reg=10.722672\n", "Train accuracy (%): 27.048221\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=12.328467\n", "Train accuracy (%): 27.048221\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=14.174742\n", "Train accuracy (%): 27.071629\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=16.297508\n", "Train accuracy (%): 27.059925\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=18.738174\n", "Train accuracy (%): 27.059925\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=21.544347\n", "Train accuracy (%): 27.059925\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=24.770764\n", "Train accuracy (%): 27.059925\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=28.480359\n", "Train accuracy (%): 27.071629\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=32.745492\n", "Train accuracy (%): 27.071629\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=37.649358\n", "Train accuracy (%): 27.071629\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=43.287613\n", "Train accuracy (%): 27.071629\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=49.770236\n", "Train accuracy (%): 27.071629\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=57.223677\n", "Train accuracy (%): 27.071629\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=65.793322\n", "Train accuracy (%): 27.071629\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=75.646333\n", "Train accuracy (%): 27.071629\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=86.974900\n", "Train accuracy (%): 27.071629\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "Training for reg=100.000000\n", "Train accuracy (%): 27.071629\n", "Dev accuracy (%): 25.340599\n", "Test accuracy (%): 22.895928\n", "\n", "=== Recap ===\n", "Reg\t\tTrain\tDev\tTest\n", "1.00E-04\t30.770\t30.518\t28.914\n", "1.15E-04\t30.770\t30.336\t28.824\n", "1.32E-04\t30.805\t30.427\t28.778\n", "1.52E-04\t30.770\t30.518\t28.733\n", "1.75E-04\t30.676\t30.518\t28.824\n", "2.01E-04\t30.712\t30.518\t28.733\n", "2.31E-04\t30.723\t30.427\t28.824\n", "2.66E-04\t30.723\t30.427\t28.733\n", "3.05E-04\t30.723\t30.518\t28.733\n", "3.51E-04\t30.712\t30.518\t28.778\n", "4.04E-04\t30.676\t30.427\t28.824\n", "4.64E-04\t30.700\t30.699\t28.824\n", "5.34E-04\t30.712\t30.609\t28.869\n", "6.14E-04\t30.665\t30.609\t28.778\n", "7.05E-04\t30.700\t30.790\t28.869\n", "8.11E-04\t30.723\t30.699\t28.869\n", "9.33E-04\t30.712\t30.699\t28.914\n", "1.07E-03\t30.700\t30.699\t28.869\n", "1.23E-03\t30.688\t30.609\t28.778\n", "1.42E-03\t30.653\t30.609\t28.778\n", "1.63E-03\t30.723\t30.790\t28.688\n", "1.87E-03\t30.676\t30.790\t28.869\n", "2.15E-03\t30.665\t30.790\t28.869\n", "2.48E-03\t30.653\t30.972\t28.778\n", "2.85E-03\t30.688\t30.881\t28.869\n", "3.27E-03\t30.688\t30.790\t28.778\n", "3.76E-03\t30.700\t30.699\t28.914\n", "4.33E-03\t30.676\t30.699\t29.140\n", "4.98E-03\t30.653\t30.699\t29.095\n", "5.72E-03\t30.805\t30.699\t29.095\n", "6.58E-03\t30.817\t30.881\t28.959\n", "7.56E-03\t30.782\t30.881\t28.824\n", "8.70E-03\t30.758\t30.881\t28.733\n", "1.00E-02\t30.899\t30.790\t28.733\n", "1.15E-02\t30.782\t30.699\t28.733\n", "1.32E-02\t30.712\t30.699\t28.914\n", "1.52E-02\t30.852\t30.427\t29.050\n", "1.75E-02\t30.758\t30.699\t28.869\n", "2.01E-02\t30.641\t30.699\t28.869\n", "2.31E-02\t30.676\t30.609\t28.552\n", "2.66E-02\t30.489\t30.427\t28.507\n", "3.05E-02\t30.384\t30.336\t28.371\n", "3.51E-02\t30.302\t30.245\t28.281\n", "4.04E-02\t30.208\t30.245\t28.235\n", "4.64E-02\t29.998\t29.882\t28.326\n", "5.34E-02\t30.021\t30.064\t28.190\n", "6.14E-02\t29.881\t29.973\t28.145\n", "7.05E-02\t29.799\t29.791\t28.100\n", "8.11E-02\t29.822\t30.154\t28.009\n", "9.33E-02\t29.740\t30.336\t27.873\n", "1.07E-01\t29.623\t30.518\t27.873\n", "1.23E-01\t29.635\t30.427\t27.738\n", "1.42E-01\t29.506\t30.427\t27.873\n", "1.63E-01\t29.448\t30.790\t27.466\n", "1.87E-01\t29.518\t30.518\t27.692\n", "2.15E-01\t29.588\t30.518\t27.511\n", "2.48E-01\t29.389\t30.154\t27.647\n", "2.85E-01\t29.272\t30.245\t27.647\n", "3.27E-01\t29.249\t30.427\t27.738\n", "3.76E-01\t29.249\t30.245\t27.647\n", "4.33E-01\t29.108\t30.154\t27.195\n", "4.98E-01\t29.096\t30.064\t27.059\n", "5.72E-01\t29.026\t29.700\t27.149\n", "6.58E-01\t28.897\t29.609\t26.833\n", "7.56E-01\t28.862\t29.337\t26.561\n", "8.70E-01\t28.710\t28.883\t26.787\n", "1.00E+00\t28.593\t28.338\t26.290\n", "1.15E+00\t28.418\t27.975\t25.837\n", "1.32E+00\t28.347\t27.430\t25.385\n", "1.52E+00\t28.102\t26.885\t25.249\n", "1.75E+00\t28.055\t26.431\t25.204\n", "2.01E+00\t27.879\t26.067\t25.023\n", "2.31E+00\t27.633\t26.249\t25.023\n", "2.66E+00\t27.551\t26.158\t24.615\n", "3.05E+00\t27.376\t25.886\t24.072\n", "3.51E+00\t27.458\t25.976\t23.801\n", "4.04E+00\t27.224\t26.067\t23.620\n", "4.64E+00\t27.177\t25.704\t23.394\n", "5.34E+00\t27.107\t25.704\t23.122\n", "6.14E+00\t27.130\t25.522\t23.077\n", "7.05E+00\t27.095\t25.431\t23.077\n", "8.11E+00\t27.072\t25.341\t23.032\n", "9.33E+00\t27.037\t25.341\t22.986\n", "1.07E+01\t27.048\t25.341\t22.896\n", "1.23E+01\t27.048\t25.341\t22.896\n", "1.42E+01\t27.072\t25.341\t22.896\n", "1.63E+01\t27.060\t25.341\t22.896\n", "1.87E+01\t27.060\t25.341\t22.896\n", "2.15E+01\t27.060\t25.341\t22.896\n", "2.48E+01\t27.060\t25.341\t22.896\n", "2.85E+01\t27.072\t25.341\t22.896\n", "3.27E+01\t27.072\t25.341\t22.896\n", "3.76E+01\t27.072\t25.341\t22.896\n", "4.33E+01\t27.072\t25.341\t22.896\n", "4.98E+01\t27.072\t25.341\t22.896\n", "5.72E+01\t27.072\t25.341\t22.896\n", "6.58E+01\t27.072\t25.341\t22.896\n", "7.56E+01\t27.072\t25.341\t22.896\n", "8.70E+01\t27.072\t25.341\t22.896\n", "1.00E+02\t27.072\t25.341\t22.896\n", "\n", "Best regularization value: 2.48E-03\n", "Test accuracy (%): 28.778281\n" ] } ], "source": [ "main('yourvectors')" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "50\n", "Training for reg=0.000100\n", "Train accuracy (%): 39.325843\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.000115\n", "Train accuracy (%): 39.314139\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.000132\n", "Train accuracy (%): 39.314139\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.000152\n", "Train accuracy (%): 39.325843\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.000175\n", "Train accuracy (%): 39.325843\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.000201\n", "Train accuracy (%): 39.314139\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.000231\n", "Train accuracy (%): 39.325843\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.923077\n", "Training for reg=0.000266\n", "Train accuracy (%): 39.314139\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.000305\n", "Train accuracy (%): 39.302434\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.000351\n", "Train accuracy (%): 39.325843\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.923077\n", "Training for reg=0.000404\n", "Train accuracy (%): 39.325843\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.923077\n", "Training for reg=0.000464\n", "Train accuracy (%): 39.337547\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.923077\n", "Training for reg=0.000534\n", "Train accuracy (%): 39.314139\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.923077\n", "Training for reg=0.000614\n", "Train accuracy (%): 39.302434\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.000705\n", "Train accuracy (%): 39.337547\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.000811\n", "Train accuracy (%): 39.337547\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.000933\n", "Train accuracy (%): 39.360955\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.001072\n", "Train accuracy (%): 39.360955\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.001233\n", "Train accuracy (%): 39.349251\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.001417\n", "Train accuracy (%): 39.372659\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.001630\n", "Train accuracy (%): 39.360955\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.001874\n", "Train accuracy (%): 39.314139\n", "Dev accuracy (%): 36.058129\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.002154\n", "Train accuracy (%): 39.314139\n", "Dev accuracy (%): 36.058129\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.002477\n", "Train accuracy (%): 39.302434\n", "Dev accuracy (%): 36.058129\n", "Test accuracy (%): 36.923077\n", "Training for reg=0.002848\n", "Train accuracy (%): 39.360955\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.058824\n", "Training for reg=0.003275\n", "Train accuracy (%): 39.325843\n", "Dev accuracy (%): 36.058129\n", "Test accuracy (%): 36.923077\n", "Training for reg=0.003765\n", "Train accuracy (%): 39.360955\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.923077\n", "Training for reg=0.004329\n", "Train accuracy (%): 39.349251\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.877828\n", "Training for reg=0.004977\n", "Train accuracy (%): 39.360955\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.923077\n", "Training for reg=0.005722\n", "Train accuracy (%): 39.396067\n", "Dev accuracy (%): 36.058129\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.006579\n", "Train accuracy (%): 39.360955\n", "Dev accuracy (%): 35.967302\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.007565\n", "Train accuracy (%): 39.360955\n", "Dev accuracy (%): 35.967302\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.008697\n", "Train accuracy (%): 39.384363\n", "Dev accuracy (%): 36.058129\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.010000\n", "Train accuracy (%): 39.419476\n", "Dev accuracy (%): 36.058129\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.011498\n", "Train accuracy (%): 39.396067\n", "Dev accuracy (%): 35.876476\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.013219\n", "Train accuracy (%): 39.431180\n", "Dev accuracy (%): 35.785649\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.015199\n", "Train accuracy (%): 39.431180\n", "Dev accuracy (%): 35.694823\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.017475\n", "Train accuracy (%): 39.431180\n", "Dev accuracy (%): 35.694823\n", "Test accuracy (%): 36.968326\n", "Training for reg=0.020092\n", "Train accuracy (%): 39.384363\n", "Dev accuracy (%): 35.694823\n", "Test accuracy (%): 37.058824\n", "Training for reg=0.023101\n", "Train accuracy (%): 39.337547\n", "Dev accuracy (%): 35.876476\n", "Test accuracy (%): 37.104072\n", "Training for reg=0.026561\n", "Train accuracy (%): 39.360955\n", "Dev accuracy (%): 35.967302\n", "Test accuracy (%): 37.058824\n", "Training for reg=0.030539\n", "Train accuracy (%): 39.360955\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.104072\n", "Training for reg=0.035112\n", "Train accuracy (%): 39.442884\n", "Dev accuracy (%): 36.330609\n", "Test accuracy (%): 37.104072\n", "Training for reg=0.040370\n", "Train accuracy (%): 39.431180\n", "Dev accuracy (%): 36.603088\n", "Test accuracy (%): 37.058824\n", "Training for reg=0.046416\n", "Train accuracy (%): 39.419476\n", "Dev accuracy (%): 36.421435\n", "Test accuracy (%): 37.104072\n", "Training for reg=0.053367\n", "Train accuracy (%): 39.407772\n", "Dev accuracy (%): 36.512262\n", "Test accuracy (%): 37.194570\n", "Training for reg=0.061359\n", "Train accuracy (%): 39.454588\n", "Dev accuracy (%): 36.421435\n", "Test accuracy (%): 37.194570\n", "Training for reg=0.070548\n", "Train accuracy (%): 39.442884\n", "Dev accuracy (%): 36.512262\n", "Test accuracy (%): 37.104072\n", "Training for reg=0.081113\n", "Train accuracy (%): 39.384363\n", "Dev accuracy (%): 36.603088\n", "Test accuracy (%): 37.149321\n", "Training for reg=0.093260\n", "Train accuracy (%): 39.360955\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.107227\n", "Train accuracy (%): 39.360955\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.058824\n", "Training for reg=0.123285\n", "Train accuracy (%): 39.314139\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.141747\n", "Train accuracy (%): 39.267322\n", "Dev accuracy (%): 35.694823\n", "Test accuracy (%): 37.194570\n", "Training for reg=0.162975\n", "Train accuracy (%): 39.279026\n", "Dev accuracy (%): 35.603996\n", "Test accuracy (%): 37.149321\n", "Training for reg=0.187382\n", "Train accuracy (%): 39.232210\n", "Dev accuracy (%): 35.513170\n", "Test accuracy (%): 37.149321\n", "Training for reg=0.215443\n", "Train accuracy (%): 39.232210\n", "Dev accuracy (%): 35.513170\n", "Test accuracy (%): 37.058824\n", "Training for reg=0.247708\n", "Train accuracy (%): 39.161985\n", "Dev accuracy (%): 35.603996\n", "Test accuracy (%): 37.058824\n", "Training for reg=0.284804\n", "Train accuracy (%): 39.080056\n", "Dev accuracy (%): 35.603996\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.327455\n", "Train accuracy (%): 39.033240\n", "Dev accuracy (%): 35.694823\n", "Test accuracy (%): 37.104072\n", "Training for reg=0.376494\n", "Train accuracy (%): 38.986423\n", "Dev accuracy (%): 35.694823\n", "Test accuracy (%): 37.194570\n", "Training for reg=0.432876\n", "Train accuracy (%): 39.056648\n", "Dev accuracy (%): 35.694823\n", "Test accuracy (%): 37.149321\n", "Training for reg=0.497702\n", "Train accuracy (%): 39.080056\n", "Dev accuracy (%): 35.694823\n", "Test accuracy (%): 37.058824\n", "Training for reg=0.572237\n", "Train accuracy (%): 39.091760\n", "Dev accuracy (%): 35.513170\n", "Test accuracy (%): 37.013575\n", "Training for reg=0.657933\n", "Train accuracy (%): 39.115169\n", "Dev accuracy (%): 35.694823\n", "Test accuracy (%): 37.104072\n", "Training for reg=0.756463\n", "Train accuracy (%): 39.115169\n", "Dev accuracy (%): 35.785649\n", "Test accuracy (%): 37.104072\n", "Training for reg=0.869749\n", "Train accuracy (%): 39.115169\n", "Dev accuracy (%): 35.694823\n", "Test accuracy (%): 37.104072\n", "Training for reg=1.000000\n", "Train accuracy (%): 39.103464\n", "Dev accuracy (%): 35.785649\n", "Test accuracy (%): 37.013575\n", "Training for reg=1.149757\n", "Train accuracy (%): 39.115169\n", "Dev accuracy (%): 35.785649\n", "Test accuracy (%): 36.923077\n", "Training for reg=1.321941\n", "Train accuracy (%): 39.068352\n", "Dev accuracy (%): 35.694823\n", "Test accuracy (%): 36.832579\n", "Training for reg=1.519911\n", "Train accuracy (%): 39.080056\n", "Dev accuracy (%): 35.694823\n", "Test accuracy (%): 36.651584\n", "Training for reg=1.747528\n", "Train accuracy (%): 38.974719\n", "Dev accuracy (%): 35.785649\n", "Test accuracy (%): 36.651584\n", "Training for reg=2.009233\n", "Train accuracy (%): 38.986423\n", "Dev accuracy (%): 35.967302\n", "Test accuracy (%): 36.696833\n", "Training for reg=2.310130\n", "Train accuracy (%): 38.904494\n", "Dev accuracy (%): 36.058129\n", "Test accuracy (%): 36.696833\n", "Training for reg=2.656088\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train accuracy (%): 38.904494\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.606335\n", "Training for reg=3.053856\n", "Train accuracy (%): 38.904494\n", "Dev accuracy (%): 36.239782\n", "Test accuracy (%): 36.696833\n", "Training for reg=3.511192\n", "Train accuracy (%): 38.822566\n", "Dev accuracy (%): 36.330609\n", "Test accuracy (%): 36.832579\n", "Training for reg=4.037017\n", "Train accuracy (%): 38.752341\n", "Dev accuracy (%): 36.512262\n", "Test accuracy (%): 36.787330\n", "Training for reg=4.641589\n", "Train accuracy (%): 38.834270\n", "Dev accuracy (%): 36.603088\n", "Test accuracy (%): 36.696833\n", "Training for reg=5.336699\n", "Train accuracy (%): 38.728933\n", "Dev accuracy (%): 36.421435\n", "Test accuracy (%): 36.651584\n", "Training for reg=6.135907\n", "Train accuracy (%): 38.717228\n", "Dev accuracy (%): 36.239782\n", "Test accuracy (%): 37.104072\n", "Training for reg=7.054802\n", "Train accuracy (%): 38.553371\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 37.466063\n", "Training for reg=8.111308\n", "Train accuracy (%): 38.295880\n", "Dev accuracy (%): 36.058129\n", "Test accuracy (%): 37.511312\n", "Training for reg=9.326033\n", "Train accuracy (%): 38.190543\n", "Dev accuracy (%): 36.239782\n", "Test accuracy (%): 37.556561\n", "Training for reg=10.722672\n", "Train accuracy (%): 38.237360\n", "Dev accuracy (%): 36.512262\n", "Test accuracy (%): 37.375566\n", "Training for reg=12.328467\n", "Train accuracy (%): 38.132022\n", "Dev accuracy (%): 36.239782\n", "Test accuracy (%): 37.194570\n", "Training for reg=14.174742\n", "Train accuracy (%): 38.026685\n", "Dev accuracy (%): 36.239782\n", "Test accuracy (%): 37.104072\n", "Training for reg=16.297508\n", "Train accuracy (%): 37.874532\n", "Dev accuracy (%): 36.239782\n", "Test accuracy (%): 37.149321\n", "Training for reg=18.738174\n", "Train accuracy (%): 37.804307\n", "Dev accuracy (%): 36.421435\n", "Test accuracy (%): 36.787330\n", "Training for reg=21.544347\n", "Train accuracy (%): 37.710674\n", "Dev accuracy (%): 36.148955\n", "Test accuracy (%): 36.651584\n", "Training for reg=24.770764\n", "Train accuracy (%): 37.453184\n", "Dev accuracy (%): 36.239782\n", "Test accuracy (%): 36.515837\n", "Training for reg=28.480359\n", "Train accuracy (%): 37.359551\n", "Dev accuracy (%): 36.239782\n", "Test accuracy (%): 36.651584\n", "Training for reg=32.745492\n", "Train accuracy (%): 37.183989\n", "Dev accuracy (%): 36.330609\n", "Test accuracy (%): 36.380090\n", "Training for reg=37.649358\n", "Train accuracy (%): 37.137172\n", "Dev accuracy (%): 36.512262\n", "Test accuracy (%): 36.153846\n", "Training for reg=43.287613\n", "Train accuracy (%): 36.938202\n", "Dev accuracy (%): 36.239782\n", "Test accuracy (%): 36.289593\n", "Training for reg=49.770236\n", "Train accuracy (%): 36.750936\n", "Dev accuracy (%): 36.058129\n", "Test accuracy (%): 36.063348\n", "Training for reg=57.223677\n", "Train accuracy (%): 36.692416\n", "Dev accuracy (%): 35.785649\n", "Test accuracy (%): 36.063348\n", "Training for reg=65.793322\n", "Train accuracy (%): 36.481742\n", "Dev accuracy (%): 35.513170\n", "Test accuracy (%): 35.791855\n", "Training for reg=75.646333\n", "Train accuracy (%): 36.235955\n", "Dev accuracy (%): 35.149864\n", "Test accuracy (%): 35.701357\n", "Training for reg=86.974900\n", "Train accuracy (%): 36.142322\n", "Dev accuracy (%): 34.604905\n", "Test accuracy (%): 35.339367\n", "Training for reg=100.000000\n", "Train accuracy (%): 35.791199\n", "Dev accuracy (%): 34.786558\n", "Test accuracy (%): 35.022624\n", "\n", "=== Recap ===\n", "Reg\t\tTrain\tDev\tTest\n", "1.00E-04\t39.326\t36.149\t37.014\n", "1.15E-04\t39.314\t36.149\t36.968\n", "1.32E-04\t39.314\t36.149\t36.968\n", "1.52E-04\t39.326\t36.149\t37.014\n", "1.75E-04\t39.326\t36.149\t37.014\n", "2.01E-04\t39.314\t36.149\t37.014\n", "2.31E-04\t39.326\t36.149\t36.923\n", "2.66E-04\t39.314\t36.149\t36.968\n", "3.05E-04\t39.302\t36.149\t36.968\n", "3.51E-04\t39.326\t36.149\t36.923\n", "4.04E-04\t39.326\t36.149\t36.923\n", "4.64E-04\t39.338\t36.149\t36.923\n", "5.34E-04\t39.314\t36.149\t36.923\n", "6.14E-04\t39.302\t36.149\t36.968\n", "7.05E-04\t39.338\t36.149\t37.014\n", "8.11E-04\t39.338\t36.149\t37.014\n", "9.33E-04\t39.361\t36.149\t37.014\n", "1.07E-03\t39.361\t36.149\t36.968\n", "1.23E-03\t39.349\t36.149\t37.014\n", "1.42E-03\t39.373\t36.149\t36.968\n", "1.63E-03\t39.361\t36.149\t36.968\n", "1.87E-03\t39.314\t36.058\t37.014\n", "2.15E-03\t39.314\t36.058\t36.968\n", "2.48E-03\t39.302\t36.058\t36.923\n", "2.85E-03\t39.361\t36.149\t37.059\n", "3.27E-03\t39.326\t36.058\t36.923\n", "3.76E-03\t39.361\t36.149\t36.923\n", "4.33E-03\t39.349\t36.149\t36.878\n", "4.98E-03\t39.361\t36.149\t36.923\n", "5.72E-03\t39.396\t36.058\t37.014\n", "6.58E-03\t39.361\t35.967\t37.014\n", "7.56E-03\t39.361\t35.967\t36.968\n", "8.70E-03\t39.384\t36.058\t36.968\n", "1.00E-02\t39.419\t36.058\t36.968\n", "1.15E-02\t39.396\t35.876\t37.014\n", "1.32E-02\t39.431\t35.786\t36.968\n", "1.52E-02\t39.431\t35.695\t37.014\n", "1.75E-02\t39.431\t35.695\t36.968\n", "2.01E-02\t39.384\t35.695\t37.059\n", "2.31E-02\t39.338\t35.876\t37.104\n", "2.66E-02\t39.361\t35.967\t37.059\n", "3.05E-02\t39.361\t36.149\t37.104\n", "3.51E-02\t39.443\t36.331\t37.104\n", "4.04E-02\t39.431\t36.603\t37.059\n", "4.64E-02\t39.419\t36.421\t37.104\n", "5.34E-02\t39.408\t36.512\t37.195\n", "6.14E-02\t39.455\t36.421\t37.195\n", "7.05E-02\t39.443\t36.512\t37.104\n", "8.11E-02\t39.384\t36.603\t37.149\n", "9.33E-02\t39.361\t36.149\t37.014\n", "1.07E-01\t39.361\t36.149\t37.059\n", "1.23E-01\t39.314\t36.149\t37.014\n", "1.42E-01\t39.267\t35.695\t37.195\n", "1.63E-01\t39.279\t35.604\t37.149\n", "1.87E-01\t39.232\t35.513\t37.149\n", "2.15E-01\t39.232\t35.513\t37.059\n", "2.48E-01\t39.162\t35.604\t37.059\n", "2.85E-01\t39.080\t35.604\t37.014\n", "3.27E-01\t39.033\t35.695\t37.104\n", "3.76E-01\t38.986\t35.695\t37.195\n", "4.33E-01\t39.057\t35.695\t37.149\n", "4.98E-01\t39.080\t35.695\t37.059\n", "5.72E-01\t39.092\t35.513\t37.014\n", "6.58E-01\t39.115\t35.695\t37.104\n", "7.56E-01\t39.115\t35.786\t37.104\n", "8.70E-01\t39.115\t35.695\t37.104\n", "1.00E+00\t39.103\t35.786\t37.014\n", "1.15E+00\t39.115\t35.786\t36.923\n", "1.32E+00\t39.068\t35.695\t36.833\n", "1.52E+00\t39.080\t35.695\t36.652\n", "1.75E+00\t38.975\t35.786\t36.652\n", "2.01E+00\t38.986\t35.967\t36.697\n", "2.31E+00\t38.904\t36.058\t36.697\n", "2.66E+00\t38.904\t36.149\t36.606\n", "3.05E+00\t38.904\t36.240\t36.697\n", "3.51E+00\t38.823\t36.331\t36.833\n", "4.04E+00\t38.752\t36.512\t36.787\n", "4.64E+00\t38.834\t36.603\t36.697\n", "5.34E+00\t38.729\t36.421\t36.652\n", "6.14E+00\t38.717\t36.240\t37.104\n", "7.05E+00\t38.553\t36.149\t37.466\n", "8.11E+00\t38.296\t36.058\t37.511\n", "9.33E+00\t38.191\t36.240\t37.557\n", "1.07E+01\t38.237\t36.512\t37.376\n", "1.23E+01\t38.132\t36.240\t37.195\n", "1.42E+01\t38.027\t36.240\t37.104\n", "1.63E+01\t37.875\t36.240\t37.149\n", "1.87E+01\t37.804\t36.421\t36.787\n", "2.15E+01\t37.711\t36.149\t36.652\n", "2.48E+01\t37.453\t36.240\t36.516\n", "2.85E+01\t37.360\t36.240\t36.652\n", "3.27E+01\t37.184\t36.331\t36.380\n", "3.76E+01\t37.137\t36.512\t36.154\n", "4.33E+01\t36.938\t36.240\t36.290\n", "4.98E+01\t36.751\t36.058\t36.063\n", "5.72E+01\t36.692\t35.786\t36.063\n", "6.58E+01\t36.482\t35.513\t35.792\n", "7.56E+01\t36.236\t35.150\t35.701\n", "8.70E+01\t36.142\t34.605\t35.339\n", "1.00E+02\t35.791\t34.787\t35.023\n", "\n", "Best regularization value: 4.04E-02\n", "Test accuracy (%): 37.058824\n" ] } ], "source": [ " main('pretrained')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }