{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false,
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nrkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x104c4da50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import numpy as np\n",
    "from scipy.sparse import coo_matrix\n",
    "from coclust.CoclustSpecMod import CoclustSpecMod\n",
    "from coclust.utils.evaluation import plot_cluster_sizes\n",
    "\n",
    "n_clust = 4\n",
    "file_name = \"../datasets/cstr.csv\"\n",
    "\n",
    "# Load the csv file and build the matrix. It may take a few seconds\n",
    "a = np.loadtxt(file_name, delimiter=',', skiprows=1)\n",
    "X = (coo_matrix((a[:, 2], (a[:, 0].astype(int), a[:, 1].astype(int))))).tocsr()\n",
    "\n",
    "# Perform co-clustering\n",
    "model = CoclustSpecMod(n_clusters=n_clust, random_state=0)\n",
    "model.fit(X)\n",
    "\n",
    "plot_cluster_sizes(model)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
