changeset 53:7532363b9dda branch-tests

added yticks and savefig in explain components
author Maria Panteli <m.x.panteli@gmail.com>
date Mon, 18 Sep 2017 11:25:05 +0100
parents 635028c5be34
children dbcd5b2a4efa
files notebooks/explain_components.ipynb
diffstat 1 files changed, 62 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/notebooks/explain_components.ipynb	Sun Sep 17 18:43:16 2017 +0100
+++ b/notebooks/explain_components.ipynb	Mon Sep 18 11:25:05 2017 +0100
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 2,
    "metadata": {
     "collapsed": true
    },
@@ -213,6 +213,7 @@
     "        plt.title('lda')\n",
     "        plt.xlabel('components')\n",
     "        plt.ylabel('features')\n",
+    "        plt.savefig('../data/lda_'+feat_labels[i]+'.pdf')\n",
     "        \n",
     "        WW = ssm_feat.pca_transformer.components_.T\n",
     "        plt.figure()\n",
@@ -220,7 +221,58 @@
     "        plt.colorbar()\n",
     "        plt.title('pca')\n",
     "        plt.xlabel('components')\n",
-    "        plt.ylabel('features')"
+    "        plt.ylabel('features')\n",
+    "        plt.savefig('../data/pca_'+feat_labels[i]+'.pdf')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## export figure for LDA, PCA timbral components"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": [
+    "i = 3\n",
+    "print \"mapping \" + feat_labels[i]\n",
+    "inds = feat_inds[i]\n",
+    "ssm_feat = util_feature_learning.Transformer()\n",
+    "if min_variance is not None:\n",
+    "    ssm_feat.fit_data(traindata[:, inds], trainlabels, n_components=len(inds), pca_only=True)\n",
+    "    n_components = np.where(ssm_feat.pca_transformer.explained_variance_ratio_.cumsum()>min_variance)[0][0]+1\n",
+    "    print n_components, len(inds)\n",
+    "    ssm_feat.fit_lda_data(traindata[:, inds], trainlabels.ravel(), n_components=n_components)\n",
+    "    print \"done fitting\"\n",
+    "    WW = ssm_feat.lda_transformer.scalings_\n",
+    "    plt.figure()\n",
+    "    plt.imshow(WW[:, :n_components], aspect='auto')\n",
+    "    plt.colorbar()\n",
+    "    plt.title('lda')\n",
+    "    plt.xlabel('components')\n",
+    "    plt.ylabel('features')\n",
+    "    y_loc = np.arange(10, 80, 20)\n",
+    "    y_labs = ['mean(MFCC), mean(DELTA), std(MFCC), std(DELTA)']\n",
+    "    plt.yticks(y_loc, y_labs, rotation='vertical')\n",
+    "    plt.savefig('../data/lda_'+feat_labels[i]+'.pdf')\n",
+    "\n",
+    "    WW = ssm_feat.pca_transformer.components_.T\n",
+    "    plt.figure()\n",
+    "    plt.imshow(WW[:, :n_components], aspect='auto')\n",
+    "    plt.colorbar()\n",
+    "    plt.title('pca')\n",
+    "    plt.xlabel('components')\n",
+    "    plt.ylabel('features')\n",
+    "    y_loc = np.arange(10, 80, 20)\n",
+    "    y_labs = ['mean(MFCC), mean(DELTA), std(MFCC), std(DELTA)']\n",
+    "    plt.yticks(y_loc, y_labs, rotation='vertical')\n",
+    "    plt.savefig('../data/pca_'+feat_labels[i]+'.pdf')"
    ]
   },
   {
@@ -418,10 +470,16 @@
     "plt.figure()\n",
     "plt.imshow(classifier_WW, aspect='auto')\n",
     "feat_lens = np.array([X_list[i].shape[1] for i in range(len(X_list))])\n",
-    "plt.yticks(np.cumsum(feat_lens), ['rhy', 'mel', 'mfc', 'chr']);\n",
+    "#plt.yticks(np.cumsum(feat_lens), ['rhy', 'mel', 'mfc', 'chr']);\n",
     "plt.colorbar()\n",
     "plt.xlabel('components')\n",
     "plt.ylabel('features')\n",
+    "boundaries = np.concatenate([[0], np.cumsum(feat_lens)])\n",
+    "y_loc = np.diff(boundaries) / 2.0 + boundaries[:-1]\n",
+    "y_labs = ['rhythm', 'melody', 'timbre', 'harmony']\n",
+    "plt.yticks(y_loc, y_labs, rotation='vertical')\n",
+    "plt.savefig('../data/pca_'+feat_labels[i]+'.pdf')\n",
+    "\n",
     "\n",
     "classifier_WW = ssm_feat.modelSVM.support_vectors_.T\n",
     "plt.figure()\n",
@@ -550,7 +608,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython2",
-   "version": "2.7.11"
+   "version": "2.7.12"
   }
  },
  "nbformat": 4,