From f94b3f004a69d578e07244bd64f434d334a80912 Mon Sep 17 00:00:00 2001 From: aw5au Date: Tue, 14 Jul 2015 17:52:26 +0100 Subject: [PATCH] DBSCAN implemented (and incanter in HiKm corrected) --- 04-Clustering/clojure-ajw/README.md | 36 +- 04-Clustering/clojure-ajw/README.md~ | 38 +- .../clojure-ajw/clojure/hs_err_pid24138.log | 878 ++++++++++++++++++ .../clojure/resources/iris-wiki-incanter.data | 150 +++ .../clojure-ajw/clojure/resources/iris.data | 2 +- .../clojure-ajw/clojure/src/clj_ml7/core.clj | 49 +- .../clojure/src/clj_ml7/dbscan.clj | 223 +++++ .../clojure/src/clj_ml7/hierarchical.clj | 87 +- .../clojure-ajw/clojure/src/clj_ml7/pca.clj | 18 +- .../clojure-ajw/clojure/src/clj_ml7/utils.clj | 105 +++ 10 files changed, 1514 insertions(+), 72 deletions(-) create mode 100644 04-Clustering/clojure-ajw/clojure/hs_err_pid24138.log create mode 100644 04-Clustering/clojure-ajw/clojure/resources/iris-wiki-incanter.data create mode 100644 04-Clustering/clojure-ajw/clojure/src/clj_ml7/dbscan.clj create mode 100644 04-Clustering/clojure-ajw/clojure/src/clj_ml7/utils.clj diff --git a/04-Clustering/clojure-ajw/README.md b/04-Clustering/clojure-ajw/README.md index 07f1a9b..a1d69ba 100644 --- a/04-Clustering/clojure-ajw/README.md +++ b/04-Clustering/clojure-ajw/README.md @@ -4,6 +4,7 @@ andrew.wood9@ntlworld.com 1. an implementation of k-means clustering in haskell 2. an implementation of hierarchical k-menas clustering in clojure +3. an implementation of DBSCAN clustering in clojure --------------------- 1. k-means clustering @@ -50,8 +51,8 @@ It prints out the results. The results are anomalous. -> (hc/fisher-cluster) -> (hc/ajw-cluster) +> (hc/fisher-pca) +> (hc/hi-pca) print out 2D principal component incanter charts to check what is goin on. @@ -62,4 +63,35 @@ The incanter code is based on: The relevant code is in the namespace hierarchical. The (imperfect) clustering is decided in 'closest-vectors'. +-------------------- +3. DBSCAN clustering +-------------------- + +This is developed from the code on git: NeoTeo/DBScan + amended to deal with vectors rather than single values + +From core: + +(show-distances) and +(show-regions distance) + +generate incanter histograms indicating the distances between points and the +number of points assocaited with each point given a specified distance. + +Choosing eps and minPts On the basis of this information: + +(iris-db-cluster eps minpts) generates an incanter pricipal components 2D scatter plot of + the resulting clustering. + +(iris-db-cluster) defaults to (iris-db-cluster 0.5 15) + + + (db/show-distances)) + +; histogram + +(defn show-regions [dist] + (db/show-regions dist)) + + diff --git a/04-Clustering/clojure-ajw/README.md~ b/04-Clustering/clojure-ajw/README.md~ index 0076876..46e5c2d 100644 --- a/04-Clustering/clojure-ajw/README.md~ +++ b/04-Clustering/clojure-ajw/README.md~ @@ -4,6 +4,7 @@ andrew.wood9@ntlworld.com 1. an implementation of k-means clustering in haskell 2. an implementation of hierarchical k-menas clustering in clojure +3. an implementation of DBScan clustering in clojure --------------------- 1. k-means clustering @@ -13,7 +14,7 @@ The code is developed from the demo code in Mena: Beginning Haskell - Chapter 6: Data Mining -The code runs straightforwardly in Leksah +The code runs straightforwardly in the GUI Leksah (which is quite adequate in my experience - better that web reviews suggest - @@ -50,8 +51,8 @@ It prints out the results. The results are anomalous. -> (hc/fisher-cluster) -> (hc/ajw-cluster) +> (hc/fisher-pca) +> (hc/hi-pca) print out 2D principal component incanter charts to check what is goin on. @@ -62,4 +63,35 @@ The incanter code is based on: The relevant code is in the namespace hierarchical. The (imperfect) clustering is decided in 'closest-vectors'. +-------------------- +3. DBSCAN clustering +-------------------- + +This is developed from the code on git: NeoTeo/DBScan + amended to deal with vectors rather than single values + +From core: + +(show-distances) and +(show-regions distance) + +generate incanter histograms indicating the distances between points and the +number of points assocaited with each point given a specified distance. + +Choosing eps and minPts On the basis of this information: + +(iris-db-cluster eps minpts) generates an incanter pricipal components 2D scatter plot of + the resulting clustering. + +(iris-db-cluster) defaults to (iris-db-cluster 0.5 15) + + + (db/show-distances)) + +; histogram + +(defn show-regions [dist] + (db/show-regions dist)) + + diff --git a/04-Clustering/clojure-ajw/clojure/hs_err_pid24138.log b/04-Clustering/clojure-ajw/clojure/hs_err_pid24138.log new file mode 100644 index 0000000..6447fec --- /dev/null +++ b/04-Clustering/clojure-ajw/clojure/hs_err_pid24138.log @@ -0,0 +1,878 @@ +# +# A fatal error has been detected by the Java Runtime Environment: +# +# SIGSEGV (0xb) at pc=0xb4846f18, pid=24138, tid=2990328640 +# +# JRE version: OpenJDK Runtime Environment (7.0_79-b14) (build 1.7.0_79-b14) +# Java VM: OpenJDK Client VM (24.79-b02 mixed mode, sharing linux-x86 ) +# Derivative: IcedTea 2.5.5 +# Distribution: Ubuntu 14.04 LTS, package 7u79-2.5.5-0ubuntu0.14.04.2 +# Problematic frame: +# v ~BufferBlob::jni_fast_GetLongField +# +# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again +# +# If you would like to submit a bug report, please include +# instructions on how to reproduce the bug and visit: +# http://icedtea.classpath.org/bugzilla +# The crash happened outside the Java Virtual Machine in native code. +# See problematic frame for where to report the bug. +# + +--------------- T H R E A D --------------- + +Current thread (0xb2c3b400): JavaThread "AWT-XAWT" daemon [_thread_in_native, id=24154, stack(0xb237c000,0xb23cd000)] + +siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000000 + +Registers: +EAX=0xb71655c0, EBX=0xb3551000, ECX=0x000011ea, EDX=0x00000000 +ESP=0xb23cbd58, EBP=0xb23cbda8, ESI=0x00000042, EDI=0xb2c3b528 +EIP=0xb4846f18, EFLAGS=0x00010246, CR2=0x00000000 + +Top of Stack: (sp=0xb23cbd58) +0xb23cbd58: 00000000 b3523823 b2c3b528 00000000 +0xb23cbd68: 00000042 00000000 b23cbd80 b23cbfec +0xb23cbd78: b4cd36a6 b2c3b528 6f2cfcf0 79a9e078 +0xb23cbd88: b23cbda8 b35238f4 b71655a0 00010002 +0xb23cbd98: b35237ff b29fd000 b306ce58 00000000 +0xb23cbda8: b30a9e90 b2929e18 b30a9e90 00000000 +0xb23cbdb8: 00000000 79a6eba8 79a7dae0 8f5f8475 +0xb23cbdc8: b2929db9 b29fd000 b30a9f70 01000003 + +Instructions: (pc=0xb4846f18) +0xb4846ef8: 00 00 00 00 00 00 00 00 56 8b 0d 44 a2 17 b7 f6 +0xb4846f08: c1 01 0f 85 22 00 00 00 8b 54 24 0c 8b 74 24 10 +0xb4846f18: 8b 12 c1 ee 02 8b 04 32 8b 54 32 04 3b 0d 44 a2 +0xb4846f28: 17 b7 0f 85 02 00 00 00 5e c3 5e e9 88 2e 59 02 + +Register to memory mapping: + +EAX=0xb71655c0: in /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/libjvm.so at 0xb6b20000 +EBX=0xb3551000: in /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/xawt/libmawt.so at 0xb3508000 +ECX=0x000011ea is an unknown value +EDX=0x00000000 is an unknown value +ESP=0xb23cbd58 is pointing into the stack for thread: 0xb2c3b400 +EBP=0xb23cbda8 is pointing into the stack for thread: 0xb2c3b400 +ESI=0x00000042 is an unknown value +EDI=0xb2c3b528 is an unknown value + + +Stack: [0xb237c000,0xb23cd000], sp=0xb23cbd58, free space=319k +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) +v ~BufferBlob::jni_fast_GetLongField + +Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) +J 2441 sun.awt.X11.XlibWrapper.XFilterEvent(JJ)Z (0 bytes) @ 0xb4cd4826 [0xb4cd47d0+0x56] +J 2432% C1 sun.awt.X11.XToolkit.run(Z)V (410 bytes) @ 0xb4cc3c02 [0xb4cc2f50+0xcb2] +j sun.awt.X11.XToolkit.run()V+5 +j java.lang.Thread.run()V+11 +v ~StubRoutines::call_stub + +--------------- P R O C E S S --------------- + +Java Threads: ( => current thread ) + 0xb30c7400 JavaThread "TimerQueue" daemon [_thread_blocked, id=24688, stack(0xb18a0000,0xb18f1000)] + 0xb2d75800 JavaThread "clojure-agent-send-off-pool-6" [_thread_blocked, id=24165, stack(0xb184f000,0xb18a0000)] + 0xb2d8f800 JavaThread "clojure-agent-send-off-pool-2" [_thread_in_native, id=24161, stack(0xb1993000,0xb19e4000)] + 0xb2d8e000 JavaThread "clojure-agent-send-off-pool-1" [_thread_in_native, id=24160, stack(0xb19e4000,0xb1a35000)] +=>0xb2c3b400 JavaThread "AWT-XAWT" daemon [_thread_in_native, id=24154, stack(0xb237c000,0xb23cd000)] + 0xb2c2d800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=24153, stack(0xb23cd000,0xb241e000)] + 0xb6850000 JavaThread "Service Thread" daemon [_thread_blocked, id=24150, stack(0xb3e3b000,0xb3e8c000)] + 0xb684e000 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=24149, stack(0xb3e8c000,0xb3f0d000)] + 0xb684c800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=24148, stack(0xb3f0d000,0xb3f5e000)] + 0xb6836800 JavaThread "Finalizer" daemon [_thread_blocked, id=24147, stack(0xb415e000,0xb41af000)] + 0xb6835000 JavaThread "Reference Handler" daemon [_thread_blocked, id=24146, stack(0xb41af000,0xb4200000)] + 0xb680ac00 JavaThread "main" [_thread_blocked, id=24142, stack(0xb6984000,0xb69d5000)] + +Other Threads: + 0xb6833800 VMThread [stack: 0xb430d000,0xb438e000] [id=24145] + 0xb6852800 WatcherThread [stack: 0xb3dba000,0xb3e3b000] [id=24151] + +VM state:not at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: None + +Heap + def new generation total 27520K, used 12025K [0x6e800000, 0x705d0000, 0x792a0000) + eden space 24512K, 45% used [0x6e800000, 0x6f2cfdf8, 0x6fff0000) + from space 3008K, 31% used [0x702e0000, 0x703ce810, 0x705d0000) + to space 3008K, 0% used [0x6fff0000, 0x6fff0000, 0x702e0000) + tenured generation total 60980K, used 41645K [0x792a0000, 0x7ce2d000, 0x8e800000) + the space 60980K, 68% used [0x792a0000, 0x7bb4b6d0, 0x7bb4b800, 0x7ce2d000) + compacting perm gen total 22528K, used 22361K [0x8e800000, 0x8fe00000, 0x92800000) + the space 22528K, 99% used [0x8e800000, 0x8fdd6568, 0x8fdd6600, 0x8fe00000) + ro space 10240K, 58% used [0x92800000, 0x92de1558, 0x92de1600, 0x93200000) + rw space 12288K, 59% used [0x93200000, 0x939164e8, 0x93916600, 0x93e00000) + +Card table byte_map: [0xb4654000,0xb4780000] byte_map_base: 0xb42e0000 + +Polling page: 0xb7782000 + +Code Cache [0xb4800000, 0xb4cd8000, 0xb6800000) + total_blobs=2787 nmethods=2399 adapters=324 free_code_cache=27824Kb largest_free_block=28488896 + +Compilation events (10 events): +Event: 90560.391 Thread 0xb684e000 2436 sun.awt.X11.XDragSourceContextPeer::processProxyModeEvent (120 bytes) +Event: 90560.494 Thread 0xb684e000 nmethod 2436 0xb4cd17c8 code [0xb4cd1a10, 0xb4cd1fb0] +Event: 90560.494 Thread 0xb684e000 2437 sun.awt.X11.XDragSourceContextPeer::getProxyModeSourceWindow (5 bytes) +Event: 90560.495 Thread 0xb684e000 nmethod 2437 0xb4cd2648 code [0xb4cd2740, 0xb4cd27c0] +Event: 90560.495 Thread 0xb684e000 2438 sun.awt.X11.XBaseWindow::dispatchToWindow (44 bytes) +Event: 90560.496 Thread 0xb684e000 nmethod 2438 0xb4cd2808 code [0xb4cd29d0, 0xb4cd2e8c] +Event: 90628.736 Thread 0xb684e000 2439 ! sun.awt.X11.XToolkit::notifyListeners (100 bytes) +Event: 90628.737 Thread 0xb684e000 nmethod 2439 0xb4cd3388 code [0xb4cd35b0, 0xb4cd3ac8] +Event: 95248.896 Thread 0xb684e000 2442 java.util.Vector$Itr::hasNext (20 bytes) +Event: 95248.975 Thread 0xb684e000 nmethod 2442 0xb4cd4948 code [0xb4cd4a40, 0xb4cd4ae0] + +GC Heap History (10 events): +Event: 932.935 GC heap before +{Heap before GC invocations=1900 (full 5): + def new generation total 27520K, used 24512K [0x6e800000, 0x705d0000, 0x792a0000) + eden space 24512K, 100% used [0x6e800000, 0x6fff0000, 0x6fff0000) + from space 3008K, 0% used [0x6fff0000, 0x6fff0000, 0x702e0000) + to space 3008K, 0% used [0x702e0000, 0x702e0000, 0x705d0000) + tenured generation total 60980K, used 36586K [0x792a0000, 0x7ce2d000, 0x8e800000) + the space 60980K, 59% used [0x792a0000, 0x7b65a8d0, 0x7b65aa00, 0x7ce2d000) + compacting perm gen total 22272K, used 22192K [0x8e800000, 0x8fdc0000, 0x92800000) + the space 22272K, 99% used [0x8e800000, 0x8fdac000, 0x8fdac000, 0x8fdc0000) + ro space 10240K, 58% used [0x92800000, 0x92de1558, 0x92de1600, 0x93200000) + rw space 12288K, 59% used [0x93200000, 0x939164e8, 0x93916600, 0x93e00000) +Event: 933.413 GC heap after +Heap after GC invocations=1901 (full 5): + def new generation total 27520K, used 2455K [0x6e800000, 0x705d0000, 0x792a0000) + eden space 24512K, 0% used [0x6e800000, 0x6e800000, 0x6fff0000) + from space 3008K, 81% used [0x702e0000, 0x70545e38, 0x705d0000) + to space 3008K, 0% used [0x6fff0000, 0x6fff0000, 0x702e0000) + tenured generation total 60980K, used 36586K [0x792a0000, 0x7ce2d000, 0x8e800000) + the space 60980K, 59% used [0x792a0000, 0x7b65a900, 0x7b65aa00, 0x7ce2d000) + compacting perm gen total 22272K, used 22192K [0x8e800000, 0x8fdc0000, 0x92800000) + the space 22272K, 99% used [0x8e800000, 0x8fdac000, 0x8fdac000, 0x8fdc0000) + ro space 10240K, 58% used [0x92800000, 0x92de1558, 0x92de1600, 0x93200000) + rw space 12288K, 59% used [0x93200000, 0x939164e8, 0x93916600, 0x93e00000) +} +Event: 1045.696 GC heap before +{Heap before GC invocations=1901 (full 5): + def new generation total 27520K, used 26432K [0x6e800000, 0x705d0000, 0x792a0000) + eden space 24512K, 97% used [0x6e800000, 0x6ff6a3b8, 0x6fff0000) + from space 3008K, 81% used [0x702e0000, 0x70545e38, 0x705d0000) + to space 3008K, 0% used [0x6fff0000, 0x6fff0000, 0x702e0000) + tenured generation total 60980K, used 36586K [0x792a0000, 0x7ce2d000, 0x8e800000) + the space 60980K, 59% used [0x792a0000, 0x7b65a900, 0x7b65aa00, 0x7ce2d000) + compacting perm gen total 22272K, used 22199K [0x8e800000, 0x8fdc0000, 0x92800000) + the space 22272K, 99% used [0x8e800000, 0x8fdadf18, 0x8fdae000, 0x8fdc0000) + ro space 10240K, 58% used [0x92800000, 0x92de1558, 0x92de1600, 0x93200000) + rw space 12288K, 59% used [0x93200000, 0x939164e8, 0x93916600, 0x93e00000) +Event: 1045.827 GC heap after +Heap after GC invocations=1902 (full 5): + def new generation total 27520K, used 179K [0x6e800000, 0x705d0000, 0x792a0000) + eden space 24512K, 0% used [0x6e800000, 0x6e800000, 0x6fff0000) + from space 3008K, 5% used [0x6fff0000, 0x7001cde8, 0x702e0000) + to space 3008K, 0% used [0x702e0000, 0x702e0000, 0x705d0000) + tenured generation total 60980K, used 38998K [0x792a0000, 0x7ce2d000, 0x8e800000) + the space 60980K, 63% used [0x792a0000, 0x7b8b5bf8, 0x7b8b5c00, 0x7ce2d000) + compacting perm gen total 22272K, used 22199K [0x8e800000, 0x8fdc0000, 0x92800000) + the space 22272K, 99% used [0x8e800000, 0x8fdadf18, 0x8fdae000, 0x8fdc0000) + ro space 10240K, 58% used [0x92800000, 0x92de1558, 0x92de1600, 0x93200000) + rw space 12288K, 59% used [0x93200000, 0x939164e8, 0x93916600, 0x93e00000) +} +Event: 1495.689 GC heap before +{Heap before GC invocations=1902 (full 5): + def new generation total 27520K, used 24691K [0x6e800000, 0x705d0000, 0x792a0000) + eden space 24512K, 100% used [0x6e800000, 0x6fff0000, 0x6fff0000) + from space 3008K, 5% used [0x6fff0000, 0x7001cde8, 0x702e0000) + to space 3008K, 0% used [0x702e0000, 0x702e0000, 0x705d0000) + tenured generation total 60980K, used 38998K [0x792a0000, 0x7ce2d000, 0x8e800000) + the space 60980K, 63% used [0x792a0000, 0x7b8b5bf8, 0x7b8b5c00, 0x7ce2d000) + compacting perm gen total 22528K, used 22312K [0x8e800000, 0x8fe00000, 0x92800000) + the space 22528K, 99% used [0x8e800000, 0x8fdca2e8, 0x8fdca400, 0x8fe00000) + ro space 10240K, 58% used [0x92800000, 0x92de1558, 0x92de1600, 0x93200000) + rw space 12288K, 59% used [0x93200000, 0x939164e8, 0x93916600, 0x93e00000) +Event: 1495.744 GC heap after +Heap after GC invocations=1903 (full 5): + def new generation total 27520K, used 1920K [0x6e800000, 0x705d0000, 0x792a0000) + eden space 24512K, 0% used [0x6e800000, 0x6e800000, 0x6fff0000) + from space 3008K, 63% used [0x702e0000, 0x704c0068, 0x705d0000) + to space 3008K, 0% used [0x6fff0000, 0x6fff0000, 0x702e0000) + tenured generation total 60980K, used 38998K [0x792a0000, 0x7ce2d000, 0x8e800000) + the space 60980K, 63% used [0x792a0000, 0x7b8b5bf8, 0x7b8b5c00, 0x7ce2d000) + compacting perm gen total 22528K, used 22312K [0x8e800000, 0x8fe00000, 0x92800000) + the space 22528K, 99% used [0x8e800000, 0x8fdca2e8, 0x8fdca400, 0x8fe00000) + ro space 10240K, 58% used [0x92800000, 0x92de1558, 0x92de1600, 0x93200000) + rw space 12288K, 59% used [0x93200000, 0x939164e8, 0x93916600, 0x93e00000) +} +Event: 1774.132 GC heap before +{Heap before GC invocations=1903 (full 5): + def new generation total 27520K, used 26432K [0x6e800000, 0x705d0000, 0x792a0000) + eden space 24512K, 100% used [0x6e800000, 0x6fff0000, 0x6fff0000) + from space 3008K, 63% used [0x702e0000, 0x704c0068, 0x705d0000) + to space 3008K, 0% used [0x6fff0000, 0x6fff0000, 0x702e0000) + tenured generation total 60980K, used 38998K [0x792a0000, 0x7ce2d000, 0x8e800000) + the space 60980K, 63% used [0x792a0000, 0x7b8b5bf8, 0x7b8b5c00, 0x7ce2d000) + compacting perm gen total 22528K, used 22343K [0x8e800000, 0x8fe00000, 0x92800000) + the space 22528K, 99% used [0x8e800000, 0x8fdd1f18, 0x8fdd2000, 0x8fe00000) + ro space 10240K, 58% used [0x92800000, 0x92de1558, 0x92de1600, 0x93200000) + rw space 12288K, 59% used [0x93200000, 0x939164e8, 0x93916600, 0x93e00000) +Event: 1774.165 GC heap after +Heap after GC invocations=1904 (full 5): + def new generation total 27520K, used 1592K [0x6e800000, 0x705d0000, 0x792a0000) + eden space 24512K, 0% used [0x6e800000, 0x6e800000, 0x6fff0000) + from space 3008K, 52% used [0x6fff0000, 0x7017e078, 0x702e0000) + to space 3008K, 0% used [0x702e0000, 0x702e0000, 0x705d0000) + tenured generation total 60980K, used 40070K [0x792a0000, 0x7ce2d000, 0x8e800000) + the space 60980K, 65% used [0x792a0000, 0x7b9c1b98, 0x7b9c1c00, 0x7ce2d000) + compacting perm gen total 22528K, used 22343K [0x8e800000, 0x8fe00000, 0x92800000) + the space 22528K, 99% used [0x8e800000, 0x8fdd1f18, 0x8fdd2000, 0x8fe00000) + ro space 10240K, 58% used [0x92800000, 0x92de1558, 0x92de1600, 0x93200000) + rw space 12288K, 59% used [0x93200000, 0x939164e8, 0x93916600, 0x93e00000) +} +Event: 1810.349 GC heap before +{Heap before GC invocations=1904 (full 5): + def new generation total 27520K, used 25535K [0x6e800000, 0x705d0000, 0x792a0000) + eden space 24512K, 97% used [0x6e800000, 0x6ff61db0, 0x6fff0000) + from space 3008K, 52% used [0x6fff0000, 0x7017e078, 0x702e0000) + to space 3008K, 0% used [0x702e0000, 0x702e0000, 0x705d0000) + tenured generation total 60980K, used 40070K [0x792a0000, 0x7ce2d000, 0x8e800000) + the space 60980K, 65% used [0x792a0000, 0x7b9c1b98, 0x7b9c1c00, 0x7ce2d000) + compacting perm gen total 22528K, used 22357K [0x8e800000, 0x8fe00000, 0x92800000) + the space 22528K, 99% used [0x8e800000, 0x8fdd5638, 0x8fdd5800, 0x8fe00000) + ro space 10240K, 58% used [0x92800000, 0x92de1558, 0x92de1600, 0x93200000) + rw space 12288K, 59% used [0x93200000, 0x939164e8, 0x93916600, 0x93e00000) +Event: 1810.503 GC heap after +Heap after GC invocations=1905 (full 5): + def new generation total 27520K, used 954K [0x6e800000, 0x705d0000, 0x792a0000) + eden space 24512K, 0% used [0x6e800000, 0x6e800000, 0x6fff0000) + from space 3008K, 31% used [0x702e0000, 0x703ce810, 0x705d0000) + to space 3008K, 0% used [0x6fff0000, 0x6fff0000, 0x702e0000) + tenured generation total 60980K, used 41645K [0x792a0000, 0x7ce2d000, 0x8e800000) + the space 60980K, 68% used [0x792a0000, 0x7bb4b6d0, 0x7bb4b800, 0x7ce2d000) + compacting perm gen total 22528K, used 22357K [0x8e800000, 0x8fe00000, 0x92800000) + the space 22528K, 99% used [0x8e800000, 0x8fdd5638, 0x8fdd5800, 0x8fe00000) + ro space 10240K, 58% used [0x92800000, 0x92de1558, 0x92de1600, 0x93200000) + rw space 12288K, 59% used [0x93200000, 0x939164e8, 0x93916600, 0x93e00000) +} + +Deoptimization events (0 events): +No events + +Internal exceptions (10 events): +Event: 1754.117 Thread 0x08575800 Threw 0x6ecddd10 at /build/buildd/openjdk-7-7u79-2.5.5/build/openjdk/hotspot/src/share/vm/prims/jvm.cpp:1284 +Event: 1754.118 Thread 0x08575800 Threw 0x6ecde5a0 at /build/buildd/openjdk-7-7u79-2.5.5/build/openjdk/hotspot/src/share/vm/prims/jvm.cpp:1284 +Event: 1754.118 Thread 0x08575800 Threw 0x6ece30d0 at /build/buildd/openjdk-7-7u79-2.5.5/build/openjdk/hotspot/src/share/vm/prims/jvm.cpp:1284 +Event: 1754.118 Thread 0x08575800 Threw 0x6ece3538 at /build/buildd/openjdk-7-7u79-2.5.5/build/openjdk/hotspot/src/share/vm/prims/jvm.cpp:1284 +Event: 1754.118 Thread 0x08575800 Threw 0x6ece39a0 at /build/buildd/openjdk-7-7u79-2.5.5/build/openjdk/hotspot/src/share/vm/prims/jvm.cpp:1284 +Event: 1754.118 Thread 0x08575800 Threw 0x6ece3e08 at /build/buildd/openjdk-7-7u79-2.5.5/build/openjdk/hotspot/src/share/vm/prims/jvm.cpp:1284 +Event: 1754.118 Thread 0x08575800 Threw 0x6ece4270 at /build/buildd/openjdk-7-7u79-2.5.5/build/openjdk/hotspot/src/share/vm/prims/jvm.cpp:1284 +Event: 1754.118 Thread 0x08575800 Threw 0x6ece46d8 at /build/buildd/openjdk-7-7u79-2.5.5/build/openjdk/hotspot/src/share/vm/prims/jvm.cpp:1284 +Event: 1774.702 Thread 0xb3042800 Threw 0x6ee4b1f8 at /build/buildd/openjdk-7-7u79-2.5.5/build/openjdk/hotspot/src/share/vm/prims/jni.cpp:747 +Event: 1811.537 Thread 0xb3042800 Threw 0x6f20aed0 at /build/buildd/openjdk-7-7u79-2.5.5/build/openjdk/hotspot/src/share/vm/prims/jni.cpp:747 + +Events (10 events): +Event: 1839.237 loading class 0x93e84d60 +Event: 1839.237 loading class 0x93e84d60 done +Event: 1839.237 Thread 0xb2d74400 Thread exited: 0xb2d74400 +Event: 1839.239 Thread 0xb3042800 Thread exited: 0xb3042800 +Event: 1840.515 Executing VM operation: RevokeBias +Event: 1840.515 Executing VM operation: RevokeBias done +Event: 1840.515 Thread 0x08575800 Thread exited: 0x08575800 +Event: 1869.796 Executing VM operation: RevokeBias +Event: 1869.796 Executing VM operation: RevokeBias done +Event: 1869.796 Thread 0x084c6c00 Thread exited: 0x084c6c00 + + +Dynamic libraries: +08048000-08049000 r-xp 00000000 08:05 2516488 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java +08049000-0804a000 r--p 00000000 08:05 2516488 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java +0804a000-0804b000 rw-p 00001000 08:05 2516488 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java +083fd000-0873b000 rw-p 00000000 00:00 0 [heap] +6e800000-705d0000 rw-p 00000000 00:00 0 +705d0000-792a0000 rw-p 00000000 00:00 0 +792a0000-7ce2d000 rw-p 00000000 00:00 0 +7ce2d000-8e800000 rw-p 00000000 00:00 0 +8e800000-8fe00000 rw-p 00000000 00:00 0 +8fe00000-8fe40000 ---p 00000000 00:00 0 +8fe40000-92800000 rw-p 00000000 00:00 0 +92800000-92de2000 r--p 00001000 08:05 2515970 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/classes.jsa +92de2000-93200000 rw-p 00000000 00:00 0 +93200000-93917000 rw-p 005e3000 08:05 2515970 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/classes.jsa +93917000-93e00000 rw-p 00000000 00:00 0 +93e00000-94112000 rw-p 00cfa000 08:05 2515970 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/classes.jsa +94112000-94200000 rw-p 00000000 00:00 0 +94200000-94209000 r-xp 0100c000 08:05 2515970 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/classes.jsa +94209000-94600000 rw-p 00000000 00:00 0 +b1059000-b111d000 rw-s 00000000 00:04 14090261 /SYSV00000000 (deleted) +b14b5000-b14b6000 r--s 00000000 08:05 2107331 /var/cache/fontconfig/c05880de57d1f5e948fdfacc138775d9-le32d4.cache-4 +b14b6000-b14be000 r--s 00000000 08:05 2097388 /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-le32d4.cache-4 +b14be000-b14c2000 r--s 00000000 08:05 2107329 /var/cache/fontconfig/2cd17615ca594fa2959ae173292e504c-le32d4.cache-4 +b14c2000-b14c3000 r--s 00000000 08:05 2107328 /var/cache/fontconfig/e7071f4a29fa870f4323321c154eba04-le32d4.cache-4 +b14c3000-b14c4000 r--s 00000000 08:05 2107327 /var/cache/fontconfig/0d8c3b2ac0904cb8a57a757ad11a4a08-le32d4.cache-4 +b14c4000-b14c9000 r--s 00000000 08:05 2107326 /var/cache/fontconfig/a755afe4a08bf5b97852ceb7400b47bc-le32d4.cache-4 +b14c9000-b14cc000 r--s 00000000 08:05 2104572 /var/cache/fontconfig/6d41288fd70b0be22e8c3a91e032eec0-le32d4.cache-4 +b14cc000-b14db000 r--s 00000000 08:05 2107325 /var/cache/fontconfig/04aabc0a78ac019cf9454389977116d2-le32d4.cache-4 +b14db000-b14dc000 r--s 00000000 08:05 2107324 /var/cache/fontconfig/1ac9eb803944fde146138c791f5cc56a-le32d4.cache-4 +b14dc000-b14df000 r--s 00000000 08:05 2107323 /var/cache/fontconfig/385c0604a188198f04d133e54aba7fe7-le32d4.cache-4 +b14df000-b14e0000 r--s 00000000 08:05 2107322 /var/cache/fontconfig/dc05db6664285cc2f12bf69c139ae4c3-le32d4.cache-4 +b14e0000-b14e2000 r--s 00000000 08:05 2107309 /var/cache/fontconfig/767a8244fc0220cfb567a839d0392e0b-le32d4.cache-4 +b14e2000-b14e3000 r--s 00000000 08:05 2141739 /var/cache/fontconfig/4794a0821666d79190d59a36cb4f44b5-le32d4.cache-4 +b14e3000-b14e7000 r--s 00000000 08:05 2107320 /var/cache/fontconfig/8801497958630a81b71ace7c5f9b32a8-le32d4.cache-4 +b14e7000-b14ea000 r--s 00000000 08:05 2099199 /var/cache/fontconfig/c57959a16110560c8d0fcea73374aeeb-le32d4.cache-4 +b14ea000-b14ef000 r--s 00000000 08:05 2107319 /var/cache/fontconfig/3047814df9a2f067bd2d96a2b9c36e5a-le32d4.cache-4 +b14ef000-b14f0000 r--s 00000000 08:05 2107318 /var/cache/fontconfig/56cf4f4769d0f4abc89a4895d7bd3ae1-le32d4.cache-4 +b14f0000-b1500000 r--s 00000000 08:05 2107315 /var/cache/fontconfig/d52a8644073d54c13679302ca1180695-le32d4.cache-4 +b1500000-b1507000 r--s 00000000 08:05 2123559 /var/cache/fontconfig/3f7329c5293ffd510edef78f73874cfd-le32d4.cache-4 +b1507000-b1510000 r--s 00000000 08:05 2107313 /var/cache/fontconfig/d589a48862398ed80a3d6066f4f56f4c-le32d4.cache-4 +b1600000-b1648000 rw-p 00000000 00:00 0 +b1648000-b1700000 ---p 00000000 00:00 0 +b1700000-b1704000 r--s 00000000 08:05 2107316 /var/cache/fontconfig/b47c4e1ecd0709278f4910c18777a504-le32d4.cache-4 +b1704000-b1706000 r--s 00000000 08:05 2106707 /var/cache/fontconfig/e13b20fdb08344e0e664864cc2ede53d-le32d4.cache-4 +b1706000-b1709000 r--s 00000000 08:05 2104524 /var/cache/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-le32d4.cache-4 +b1709000-b1759000 r-xp 00000000 08:05 2516551 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libfontmanager.so +b1759000-b175b000 r--p 0004f000 08:05 2516551 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libfontmanager.so +b175b000-b175c000 rw-p 00051000 08:05 2516551 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libfontmanager.so +b175c000-b175f000 ---p 00000000 00:00 0 +b175f000-b17ad000 rw-p 00000000 00:00 0 +b17ad000-b17b0000 ---p 00000000 00:00 0 +b17b0000-b17fe000 rw-p 00000000 00:00 0 +b17fe000-b1801000 ---p 00000000 00:00 0 +b1801000-b184f000 rw-p 00000000 00:00 0 +b184f000-b1852000 ---p 00000000 00:00 0 +b1852000-b18a0000 rw-p 00000000 00:00 0 [stack:24165] +b18a0000-b18a3000 ---p 00000000 00:00 0 +b18a3000-b18f1000 rw-p 00000000 00:00 0 [stack:24688] +b18f1000-b18f4000 ---p 00000000 00:00 0 +b18f4000-b1942000 rw-p 00000000 00:00 0 +b1942000-b1945000 ---p 00000000 00:00 0 +b1945000-b1993000 rw-p 00000000 00:00 0 +b1993000-b1996000 ---p 00000000 00:00 0 +b1996000-b19e4000 rw-p 00000000 00:00 0 [stack:24161] +b19e4000-b19e7000 ---p 00000000 00:00 0 +b19e7000-b1a35000 rw-p 00000000 00:00 0 [stack:24160] +b1a35000-b1a38000 ---p 00000000 00:00 0 +b1a38000-b1a86000 rw-p 00000000 00:00 0 +b1a86000-b1f5b000 r-xp 00000000 08:05 2233581 /tmp/jblas1813474151523114901libjblas.so +b1f5b000-b1f5c000 r--p 004d4000 08:05 2233581 /tmp/jblas1813474151523114901libjblas.so +b1f5c000-b1f60000 rw-p 004d5000 08:05 2233581 /tmp/jblas1813474151523114901libjblas.so +b1f60000-b1fd3000 rw-p 00000000 00:00 0 +b1fd3000-b1fd6000 ---p 00000000 00:00 0 +b1fd6000-b2024000 rw-p 00000000 00:00 0 +b2024000-b2029000 r-xp 00000000 08:05 674152 /lib/i386-linux-gnu/libnss_dns-2.19.so +b2029000-b202a000 r--p 00004000 08:05 674152 /lib/i386-linux-gnu/libnss_dns-2.19.so +b202a000-b202b000 rw-p 00005000 08:05 674152 /lib/i386-linux-gnu/libnss_dns-2.19.so +b202b000-b208f000 r-xp 00000000 08:05 2369007 /usr/lib/i386-linux-gnu/nss/libfreebl3.so +b208f000-b2090000 r--p 00063000 08:05 2369007 /usr/lib/i386-linux-gnu/nss/libfreebl3.so +b2090000-b2091000 rw-p 00064000 08:05 2369007 /usr/lib/i386-linux-gnu/nss/libfreebl3.so +b2091000-b2095000 rw-p 00000000 00:00 0 +b2095000-b214e000 r-xp 00000000 08:05 2365503 /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6 +b214e000-b2150000 r--p 000b8000 08:05 2365503 /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6 +b2150000-b2151000 rw-p 000ba000 08:05 2365503 /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6 +b2151000-b2152000 rw-p 00000000 00:00 0 +b2152000-b2191000 r-xp 00000000 08:05 2369012 /usr/lib/i386-linux-gnu/nss/libsoftokn3.so +b2191000-b2192000 ---p 0003f000 08:05 2369012 /usr/lib/i386-linux-gnu/nss/libsoftokn3.so +b2192000-b2193000 r--p 0003f000 08:05 2369012 /usr/lib/i386-linux-gnu/nss/libsoftokn3.so +b2193000-b2194000 rw-p 00040000 08:05 2369012 /usr/lib/i386-linux-gnu/nss/libsoftokn3.so +b2194000-b21cd000 r-xp 00000000 08:05 2363261 /usr/lib/i386-linux-gnu/libnspr4.so +b21cd000-b21ce000 r--p 00039000 08:05 2363261 /usr/lib/i386-linux-gnu/libnspr4.so +b21ce000-b21cf000 rw-p 0003a000 08:05 2363261 /usr/lib/i386-linux-gnu/libnspr4.so +b21cf000-b21d1000 rw-p 00000000 00:00 0 +b21d1000-b21d4000 r-xp 00000000 08:05 2363265 /usr/lib/i386-linux-gnu/libplds4.so +b21d4000-b21d5000 r--p 00002000 08:05 2363265 /usr/lib/i386-linux-gnu/libplds4.so +b21d5000-b21d6000 rw-p 00003000 08:05 2363265 /usr/lib/i386-linux-gnu/libplds4.so +b21d6000-b21da000 r-xp 00000000 08:05 2363263 /usr/lib/i386-linux-gnu/libplc4.so +b21da000-b21db000 r--p 00003000 08:05 2363263 /usr/lib/i386-linux-gnu/libplc4.so +b21db000-b21dc000 rw-p 00004000 08:05 2363263 /usr/lib/i386-linux-gnu/libplc4.so +b21dc000-b21fd000 r-xp 00000000 08:05 2361739 /usr/lib/i386-linux-gnu/libnssutil3.so +b21fd000-b2200000 r--p 00020000 08:05 2361739 /usr/lib/i386-linux-gnu/libnssutil3.so +b2200000-b2201000 rw-p 00023000 08:05 2361739 /usr/lib/i386-linux-gnu/libnssutil3.so +b2201000-b2340000 r-xp 00000000 08:05 2369015 /usr/lib/i386-linux-gnu/libnss3.so +b2340000-b2343000 r--p 0013e000 08:05 2369015 /usr/lib/i386-linux-gnu/libnss3.so +b2343000-b2344000 rw-p 00141000 08:05 2369015 /usr/lib/i386-linux-gnu/libnss3.so +b2344000-b2345000 rw-p 00000000 00:00 0 +b2345000-b2346000 r--s 00000000 08:05 2107317 /var/cache/fontconfig/b9d506c9ac06c20b433354fa67a72993-le32d4.cache-4 +b2364000-b2375000 r-xp 00000000 08:05 2516519 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libj2pkcs11.so +b2375000-b2376000 r--p 00010000 08:05 2516519 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libj2pkcs11.so +b2376000-b2377000 rw-p 00011000 08:05 2516519 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libj2pkcs11.so +b2377000-b237c000 r--s 0004d000 08:05 2516512 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/jsse.jar +b237c000-b237f000 ---p 00000000 00:00 0 +b237f000-b23cd000 rw-p 00000000 00:00 0 [stack:24154] +b23cd000-b23d0000 ---p 00000000 00:00 0 +b23d0000-b241e000 rw-p 00000000 00:00 0 [stack:24153] +b241e000-b2421000 r-xp 00000000 08:05 656381 /lib/i386-linux-gnu/libgpg-error.so.0.10.0 +b2421000-b2422000 r--p 00002000 08:05 656381 /lib/i386-linux-gnu/libgpg-error.so.0.10.0 +b2422000-b2423000 rw-p 00003000 08:05 656381 /lib/i386-linux-gnu/libgpg-error.so.0.10.0 +b2423000-b2449000 r-xp 00000000 08:05 656463 /lib/i386-linux-gnu/libpng12.so.0.50.0 +b2449000-b244a000 r--p 00025000 08:05 656463 /lib/i386-linux-gnu/libpng12.so.0.50.0 +b244a000-b244b000 rw-p 00026000 08:05 656463 /lib/i386-linux-gnu/libpng12.so.0.50.0 +b244b000-b2494000 r-xp 00000000 08:05 655686 /lib/i386-linux-gnu/libdbus-1.so.3.7.6 +b2494000-b2495000 r--p 00048000 08:05 655686 /lib/i386-linux-gnu/libdbus-1.so.3.7.6 +b2495000-b2496000 rw-p 00049000 08:05 655686 /lib/i386-linux-gnu/libdbus-1.so.3.7.6 +b2496000-b24cd000 r-xp 00000000 08:05 2365336 /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0 +b24cd000-b24ce000 ---p 00037000 08:05 2365336 /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0 +b24ce000-b24d1000 r--p 00037000 08:05 2365336 /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0 +b24d1000-b24d2000 rw-p 0003a000 08:05 2365336 /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0 +b24d2000-b24e4000 r-xp 00000000 08:05 2362996 /usr/lib/i386-linux-gnu/libtasn1.so.6.2.0 +b24e4000-b24e5000 r--p 00011000 08:05 2362996 /usr/lib/i386-linux-gnu/libtasn1.so.6.2.0 +b24e5000-b24e6000 rw-p 00012000 08:05 2362996 /usr/lib/i386-linux-gnu/libtasn1.so.6.2.0 +b24e6000-b2568000 r-xp 00000000 08:05 656570 /lib/i386-linux-gnu/libgcrypt.so.11.8.2 +b2568000-b2569000 r--p 00082000 08:05 656570 /lib/i386-linux-gnu/libgcrypt.so.11.8.2 +b2569000-b256b000 rw-p 00083000 08:05 656570 /lib/i386-linux-gnu/libgcrypt.so.11.8.2 +b256b000-b256c000 rw-p 00000000 00:00 0 +b256c000-b2576000 r-xp 00000000 08:05 2359948 /usr/lib/i386-linux-gnu/libkrb5support.so.0.1 +b2576000-b2577000 r--p 00009000 08:05 2359948 /usr/lib/i386-linux-gnu/libkrb5support.so.0.1 +b2577000-b2578000 rw-p 0000a000 08:05 2359948 /usr/lib/i386-linux-gnu/libkrb5support.so.0.1 +b2578000-b257b000 r-xp 00000000 08:05 655637 /lib/i386-linux-gnu/libcom_err.so.2.1 +b257b000-b257c000 r--p 00002000 08:05 655637 /lib/i386-linux-gnu/libcom_err.so.2.1 +b257c000-b257d000 rw-p 00003000 08:05 655637 /lib/i386-linux-gnu/libcom_err.so.2.1 +b257d000-b25ab000 r-xp 00000000 08:05 2359398 /usr/lib/i386-linux-gnu/libk5crypto.so.3.1 +b25ab000-b25ac000 r--p 0002d000 08:05 2359398 /usr/lib/i386-linux-gnu/libk5crypto.so.3.1 +b25ac000-b25ad000 rw-p 0002e000 08:05 2359398 /usr/lib/i386-linux-gnu/libk5crypto.so.3.1 +b25ad000-b2664000 r-xp 00000000 08:05 2359938 /usr/lib/i386-linux-gnu/libkrb5.so.3.3 +b2664000-b266a000 r--p 000b7000 08:05 2359938 /usr/lib/i386-linux-gnu/libkrb5.so.3.3 +b266a000-b266b000 rw-p 000bd000 08:05 2359938 /usr/lib/i386-linux-gnu/libkrb5.so.3.3 +b266b000-b2690000 r-xp 00000000 08:05 656370 /lib/i386-linux-gnu/libexpat.so.1.6.0 +b2690000-b2691000 ---p 00025000 08:05 656370 /lib/i386-linux-gnu/libexpat.so.1.6.0 +b2691000-b2693000 r--p 00025000 08:05 656370 /lib/i386-linux-gnu/libexpat.so.1.6.0 +b2693000-b2694000 rw-p 00027000 08:05 656370 /lib/i386-linux-gnu/libexpat.so.1.6.0 +b2694000-b272f000 r-xp 00000000 08:05 2359485 /usr/lib/i386-linux-gnu/libfreetype.so.6.11.1 +b272f000-b2733000 r--p 0009a000 08:05 2359485 /usr/lib/i386-linux-gnu/libfreetype.so.6.11.1 +b2733000-b2734000 rw-p 0009e000 08:05 2359485 /usr/lib/i386-linux-gnu/libfreetype.so.6.11.1 +b2734000-b2744000 r-xp 00000000 08:05 2364713 /usr/lib/i386-linux-gnu/libavahi-client.so.3.2.9 +b2744000-b2745000 r--p 0000f000 08:05 2364713 /usr/lib/i386-linux-gnu/libavahi-client.so.3.2.9 +b2745000-b2746000 rw-p 00010000 08:05 2364713 /usr/lib/i386-linux-gnu/libavahi-client.so.3.2.9 +b2746000-b2752000 r-xp 00000000 08:05 2364715 /usr/lib/i386-linux-gnu/libavahi-common.so.3.5.3 +b2752000-b2753000 r--p 0000b000 08:05 2364715 /usr/lib/i386-linux-gnu/libavahi-common.so.3.5.3 +b2753000-b2754000 rw-p 0000c000 08:05 2364715 /usr/lib/i386-linux-gnu/libavahi-common.so.3.5.3 +b2754000-b2815000 r-xp 00000000 08:05 2360361 /usr/lib/i386-linux-gnu/libgnutls.so.26.22.6 +b2815000-b2819000 r--p 000c0000 08:05 2360361 /usr/lib/i386-linux-gnu/libgnutls.so.26.22.6 +b2819000-b281a000 rw-p 000c4000 08:05 2360361 /usr/lib/i386-linux-gnu/libgnutls.so.26.22.6 +b281a000-b285d000 r-xp 00000000 08:05 2359641 /usr/lib/i386-linux-gnu/libgssapi_krb5.so.2.2 +b285d000-b285e000 r--p 00042000 08:05 2359641 /usr/lib/i386-linux-gnu/libgssapi_krb5.so.2.2 +b285e000-b285f000 rw-p 00043000 08:05 2359641 /usr/lib/i386-linux-gnu/libgssapi_krb5.so.2.2 +b285f000-b28c6000 r-xp 00000000 08:05 2359418 /usr/lib/i386-linux-gnu/libcups.so.2 +b28c6000-b28c7000 ---p 00067000 08:05 2359418 /usr/lib/i386-linux-gnu/libcups.so.2 +b28c7000-b28cb000 r--p 00067000 08:05 2359418 /usr/lib/i386-linux-gnu/libcups.so.2 +b28cb000-b28cc000 rw-p 0006b000 08:05 2359418 /usr/lib/i386-linux-gnu/libcups.so.2 +b28cc000-b29fc000 r-xp 00000000 08:05 2364605 /usr/lib/i386-linux-gnu/libX11.so.6.3.0 +b29fc000-b29fd000 r--p 00130000 08:05 2364605 /usr/lib/i386-linux-gnu/libX11.so.6.3.0 +b29fd000-b29ff000 rw-p 00131000 08:05 2364605 /usr/lib/i386-linux-gnu/libX11.so.6.3.0 +b29ff000-b2a00000 rw-p 00000000 00:00 0 +b2a00000-b2af0000 rw-p 00000000 00:00 0 +b2af0000-b2b00000 ---p 00000000 00:00 0 +b2b00000-b2b01000 r-xp 00000000 08:05 2233578 /tmp/jblas6809563355764808682libjblas_arch_flavor.so +b2b01000-b2b02000 r--p 00000000 08:05 2233578 /tmp/jblas6809563355764808682libjblas_arch_flavor.so +b2b02000-b2b03000 rw-p 00001000 08:05 2233578 /tmp/jblas6809563355764808682libjblas_arch_flavor.so +b2b03000-b2b08000 r-xp 00000000 08:05 2364620 /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0 +b2b08000-b2b09000 r--p 00004000 08:05 2364620 /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0 +b2b09000-b2b0a000 rw-p 00005000 08:05 2364620 /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0 +b2b0a000-b2b43000 r-xp 00000000 08:05 2365882 /usr/lib/i386-linux-gnu/libfontconfig.so.1.8.0 +b2b43000-b2b44000 r--p 00039000 08:05 2365882 /usr/lib/i386-linux-gnu/libfontconfig.so.1.8.0 +b2b44000-b2b45000 rw-p 0003a000 08:05 2365882 /usr/lib/i386-linux-gnu/libfontconfig.so.1.8.0 +b2b45000-b2bd4000 r-xp 00000000 08:05 2516521 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libawt.so +b2bd4000-b2bd5000 r--p 0008f000 08:05 2516521 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libawt.so +b2bd5000-b2bdc000 rw-p 00090000 08:05 2516521 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libawt.so +b2bdc000-b2c00000 rw-p 00000000 00:00 0 +b2c00000-b2cfc000 rw-p 00000000 00:00 0 +b2cfc000-b2d00000 ---p 00000000 00:00 0 +b2d00000-b2dfb000 rw-p 00000000 00:00 0 +b2dfb000-b2e00000 ---p 00000000 00:00 0 +b2e00000-b2efa000 rw-p 00000000 00:00 0 +b2efa000-b2f00000 ---p 00000000 00:00 0 +b2f00000-b3000000 rw-p 00000000 00:00 0 +b3000000-b30e4000 rw-p 00000000 00:00 0 +b30e4000-b3100000 ---p 00000000 00:00 0 +b3100000-b3102000 r-xp 00000000 08:05 656429 /lib/i386-linux-gnu/libnss_mdns4_minimal.so.2 +b3102000-b3103000 r--p 00001000 08:05 656429 /lib/i386-linux-gnu/libnss_mdns4_minimal.so.2 +b3103000-b3104000 rw-p 00002000 08:05 656429 /lib/i386-linux-gnu/libnss_mdns4_minimal.so.2 +b3104000-b3124000 r-xp 00000000 08:05 2365673 /usr/lib/i386-linux-gnu/libxcb.so.1.1.0 +b3124000-b3125000 r--p 0001f000 08:05 2365673 /usr/lib/i386-linux-gnu/libxcb.so.1.1.0 +b3125000-b3126000 rw-p 00020000 08:05 2365673 /usr/lib/i386-linux-gnu/libxcb.so.1.1.0 +b3126000-b3134000 r-xp 00000000 08:05 2366269 /usr/lib/i386-linux-gnu/libXi.so.6.1.0 +b3134000-b3135000 r--p 0000e000 08:05 2366269 /usr/lib/i386-linux-gnu/libXi.so.6.1.0 +b3135000-b3136000 rw-p 0000f000 08:05 2366269 /usr/lib/i386-linux-gnu/libXi.so.6.1.0 +b3136000-b313f000 r-xp 00000000 08:05 2366274 /usr/lib/i386-linux-gnu/libXrender.so.1.3.0 +b313f000-b3140000 r--p 00008000 08:05 2366274 /usr/lib/i386-linux-gnu/libXrender.so.1.3.0 +b3140000-b3141000 rw-p 00009000 08:05 2366274 /usr/lib/i386-linux-gnu/libXrender.so.1.3.0 +b3141000-b3152000 r-xp 00000000 08:05 2366258 /usr/lib/i386-linux-gnu/libXext.so.6.4.0 +b3152000-b3153000 r--p 00010000 08:05 2366258 /usr/lib/i386-linux-gnu/libXext.so.6.4.0 +b3153000-b3154000 rw-p 00011000 08:05 2366258 /usr/lib/i386-linux-gnu/libXext.so.6.4.0 +b3154000-b3155000 r--s 00000000 08:05 2107312 /var/cache/fontconfig/0c9eb80ebd1c36541ebe2852d3bb0c49-le32d4.cache-4 +b3155000-b3158000 r--s 00017000 08:05 2516513 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/jce.jar +b3158000-b315c000 r-xp 00000000 08:05 2366263 /usr/lib/i386-linux-gnu/libXfixes.so.3.1.0 +b315c000-b315d000 r--p 00003000 08:05 2366263 /usr/lib/i386-linux-gnu/libXfixes.so.3.1.0 +b315d000-b315e000 rw-p 00004000 08:05 2366263 /usr/lib/i386-linux-gnu/libXfixes.so.3.1.0 +b315e000-b3167000 r-xp 00000000 08:05 2364616 /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2 +b3167000-b3168000 r--p 00008000 08:05 2364616 /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2 +b3168000-b3169000 rw-p 00009000 08:05 2364616 /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2 +b3169000-b3173000 r--s 000ae000 08:05 2516584 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/resources.jar +b3173000-b327d000 r-xp 00000000 08:05 655547 /lib/i386-linux-gnu/libglib-2.0.so.0.4002.0 +b327d000-b327e000 r--p 00109000 08:05 655547 /lib/i386-linux-gnu/libglib-2.0.so.0.4002.0 +b327e000-b327f000 rw-p 0010a000 08:05 655547 /lib/i386-linux-gnu/libglib-2.0.so.0.4002.0 +b327f000-b33fc000 r-xp 00000000 08:05 2359751 /usr/lib/i386-linux-gnu/libgio-2.0.so.0.4002.0 +b33fc000-b33fe000 r--p 0017d000 08:05 2359751 /usr/lib/i386-linux-gnu/libgio-2.0.so.0.4002.0 +b33fe000-b33ff000 rw-p 0017f000 08:05 2359751 /usr/lib/i386-linux-gnu/libgio-2.0.so.0.4002.0 +b33ff000-b3400000 rw-p 00000000 00:00 0 +b3400000-b34e7000 rw-p 00000000 00:00 0 +b34e7000-b3500000 ---p 00000000 00:00 0 +b3500000-b3502000 r-xp 00000000 08:05 656391 /lib/i386-linux-gnu/libkeyutils.so.1.4 +b3502000-b3503000 r--p 00002000 08:05 656391 /lib/i386-linux-gnu/libkeyutils.so.1.4 +b3503000-b3504000 rw-p 00003000 08:05 656391 /lib/i386-linux-gnu/libkeyutils.so.1.4 +b3504000-b3506000 r-xp 00000000 08:05 2364609 /usr/lib/i386-linux-gnu/libXau.so.6.0.0 +b3506000-b3507000 r--p 00001000 08:05 2364609 /usr/lib/i386-linux-gnu/libXau.so.6.0.0 +b3507000-b3508000 rw-p 00002000 08:05 2364609 /usr/lib/i386-linux-gnu/libXau.so.6.0.0 +b3508000-b3550000 r-xp 00000000 08:05 2516092 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/xawt/libmawt.so +b3550000-b3551000 r--p 00047000 08:05 2516092 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/xawt/libmawt.so +b3551000-b3553000 rw-p 00048000 08:05 2516092 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/xawt/libmawt.so +b3553000-b3554000 rw-p 00000000 00:00 0 +b3554000-b355e000 r--s 00203000 08:05 2516552 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/charsets.jar +b355e000-b357f000 r--s 0015a000 08:05 2132270 /home/andrew/.m2/repository/org/bouncycastle/bcprov-jdk14/1.38/bcprov-jdk14-1.38.jar +b357f000-b359f000 r--s 001a9000 08:05 1999640 /home/andrew/.m2/repository/org/apache/poi/poi/3.9/poi-3.9.jar +b359f000-b35db000 r-xp 00000000 08:05 656451 /lib/i386-linux-gnu/libpcre.so.3.13.1 +b35db000-b35dc000 r--p 0003b000 08:05 656451 /lib/i386-linux-gnu/libpcre.so.3.13.1 +b35dc000-b35dd000 rw-p 0003c000 08:05 656451 /lib/i386-linux-gnu/libpcre.so.3.13.1 +b35dd000-b35fd000 r-xp 00000000 08:05 656339 /lib/i386-linux-gnu/libselinux.so.1 +b35fd000-b35fe000 r--p 0001f000 08:05 656339 /lib/i386-linux-gnu/libselinux.so.1 +b35fe000-b35ff000 rw-p 00020000 08:05 656339 /lib/i386-linux-gnu/libselinux.so.1 +b35ff000-b3600000 rw-p 00000000 00:00 0 +b3600000-b36ec000 rw-p 00000000 00:00 0 +b36ec000-b3700000 ---p 00000000 00:00 0 +b3700000-b3705000 r-xp 00000000 08:05 2364887 /usr/lib/i386-linux-gnu/libffi.so.6.0.1 +b3705000-b3706000 r--p 00005000 08:05 2364887 /usr/lib/i386-linux-gnu/libffi.so.6.0.1 +b3706000-b3707000 rw-p 00006000 08:05 2364887 /usr/lib/i386-linux-gnu/libffi.so.6.0.1 +b3707000-b371a000 r-xp 00000000 08:05 674160 /lib/i386-linux-gnu/libresolv-2.19.so +b371a000-b371b000 ---p 00013000 08:05 674160 /lib/i386-linux-gnu/libresolv-2.19.so +b371b000-b371c000 r--p 00013000 08:05 674160 /lib/i386-linux-gnu/libresolv-2.19.so +b371c000-b371d000 rw-p 00014000 08:05 674160 /lib/i386-linux-gnu/libresolv-2.19.so +b371d000-b371f000 rw-p 00000000 00:00 0 +b371f000-b3722000 r-xp 00000000 08:05 2359966 /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0.4002.0 +b3722000-b3723000 r--p 00002000 08:05 2359966 /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0.4002.0 +b3723000-b3724000 rw-p 00003000 08:05 2359966 /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0.4002.0 +b3724000-b3774000 r-xp 00000000 08:05 2359682 /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4002.0 +b3774000-b3775000 r--p 0004f000 08:05 2359682 /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4002.0 +b3775000-b3776000 rw-p 00050000 08:05 2359682 /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4002.0 +b3776000-b3777000 r--p 00000000 08:05 152768 /usr/share/locale-langpack/en_GB/LC_MESSAGES/libc.mo +b3777000-b377c000 r-xp 00000000 08:05 2364650 /usr/lib/i386-linux-gnu/libXtst.so.6.1.0 +b377c000-b377d000 r--p 00004000 08:05 2364650 /usr/lib/i386-linux-gnu/libXtst.so.6.1.0 +b377d000-b377e000 rw-p 00005000 08:05 2364650 /usr/lib/i386-linux-gnu/libXtst.so.6.1.0 +b377e000-b377f000 r--s 00004000 08:05 1486732 /home/andrew/.m2/repository/clatrix/clatrix/0.3.0/clatrix-0.3.0.jar +b377f000-b3780000 r--s 00004000 08:05 1487698 /home/andrew/.m2/repository/com/github/rwl/COLAMDJ/1.0.1/COLAMDJ-1.0.1.jar +b3780000-b3782000 r--s 00006000 08:05 1487678 /home/andrew/.m2/repository/net/sourceforge/jplasma/core-lapack/0.1/core-lapack-0.1.jar +b3782000-b3784000 r--s 00010000 08:05 1453462 /home/andrew/.m2/repository/commons-codec/commons-codec/1.5/commons-codec-1.5.jar +b3784000-b3786000 r--s 00009000 08:05 2256762 /home/andrew/.m2/repository/cc/artifice/clj-ml/0.4.0/clj-ml-0.4.0.jar +b3786000-b3788000 r--s 0000d000 08:05 2256756 /home/andrew/.m2/repository/tw/edu/ntu/csie/libsvm/3.1/libsvm-3.1.jar +b3788000-b378a000 r--s 00006000 08:05 1487696 /home/andrew/.m2/repository/com/github/rwl/AMDJ/1.0.1/AMDJ-1.0.1.jar +b378a000-b378c000 r--s 00016000 08:05 2256752 /home/andrew/.m2/repository/net/sf/squirrel-sql/thirdparty-non-maven/java-cup/0.11a/java-cup-0.11a.jar +b378c000-b3793000 r--s 00058000 08:05 1999617 /home/andrew/.m2/repository/org/mongodb/mongo-java-driver/2.9.3/mongo-java-driver-2.9.3.jar +b3793000-b3795000 r--s 00015000 08:05 1487677 /home/andrew/.m2/repository/net/sourceforge/jplasma/jplasma/1.2.0/jplasma-1.2.0.jar +b3795000-b37ac000 r-xp 00000000 08:05 2516548 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libnet.so +b37ac000-b37ad000 r--p 00017000 08:05 2516548 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libnet.so +b37ad000-b37ae000 rw-p 00018000 08:05 2516548 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libnet.so +b37ae000-b37bf000 r-xp 00000000 08:05 2516522 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libnio.so +b37bf000-b37c0000 r--p 00010000 08:05 2516522 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libnio.so +b37c0000-b37c1000 rw-p 00011000 08:05 2516522 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libnio.so +b37c1000-b3800000 r--s 0032d000 08:05 1443787 /home/andrew/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1.jar +b3800000-b38f2000 rw-p 00000000 00:00 0 +b38f2000-b3900000 ---p 00000000 00:00 0 +b3900000-b3901000 r--s 00000000 08:05 2527497 /home/andrew/.m2/repository/incanter/incanter-svg/1.5.4/incanter-svg-1.5.4.jar +b3901000-b3902000 r--s 00007000 08:05 1999652 /home/andrew/.m2/repository/swingrepl/swingrepl/1.3.0/swingrepl-1.3.0.jar +b3902000-b3903000 r--s 00000000 08:05 2527503 /home/andrew/.m2/repository/incanter/incanter-sql/1.5.4/incanter-sql-1.5.4.jar +b3903000-b3905000 r--s 00008000 08:05 1966086 /home/andrew/.m2/repository/org/clojure/tools.nrepl/0.2.6/tools.nrepl-0.2.6.jar +b3905000-b3909000 r--s 00027000 08:05 1999618 /home/andrew/.m2/repository/org/apache/xmlgraphics/batik-dom/1.7/batik-dom-1.7.jar +b3909000-b3910000 r--s 00037000 08:05 1999613 /home/andrew/.m2/repository/junit/junit/4.10/junit-4.10.jar +b3910000-b3915000 r--s 00048000 08:05 1999645 /home/andrew/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar +b3915000-b391a000 r--s 00010000 08:05 1999626 /home/andrew/.m2/repository/xml-apis/xml-apis-ext/1.3.04/xml-apis-ext-1.3.04.jar +b391a000-b3966000 r--s 003d4000 08:05 1487688 /home/andrew/.m2/repository/net/sourceforge/parallelcolt/parallelcolt/0.10.0/parallelcolt-0.10.0.jar +b3966000-b3969000 r--s 0001d000 08:05 1999632 /home/andrew/.m2/repository/org/apache/xmlgraphics/batik-util/1.7/batik-util-1.7.jar +b3969000-b396a000 r--s 00007000 08:05 1999635 /home/andrew/.m2/repository/org/apache/xmlgraphics/batik-xml/1.7/batik-xml-1.7.jar +b396a000-b396c000 r--s 00001000 08:05 2639901 /home/andrew/.m2/repository/org/danlarkin/clojure-json/1.1/clojure-json-1.1.jar +b396c000-b3991000 r--s 001f7000 08:05 2256755 /home/andrew/.m2/repository/org/apache/lucene/lucene-core/4.3.0/lucene-core-4.3.0.jar +b3991000-b3993000 r--s 00001000 08:05 1583863 /home/andrew/.m2/repository/slingshot/slingshot/0.10.3/slingshot-0.10.3.jar +b3993000-b3994000 r--s 00001000 08:05 2666675 /home/andrew/.m2/repository/incanter/incanter-io/1.5.4/incanter-io-1.5.4.jar +b3994000-b39a0000 r--s 000af000 08:05 1487682 /home/andrew/.m2/repository/net/sourceforge/jtransforms/jtransforms/2.4.0/jtransforms-2.4.0.jar +b39a0000-b39a2000 r--s 00001000 08:05 1487694 /home/andrew/.m2/repository/com/github/rwl/BTFJ/1.0.1/BTFJ-1.0.1.jar +b39a2000-b39b2000 r--s 0016e000 08:05 2256753 /home/andrew/.m2/repository/org/apache/lucene/lucene-analyzers-common/4.3.0/lucene-analyzers-common-4.3.0.jar +b39b2000-b39c3000 r--s 0014c000 08:05 2639904 /home/andrew/.m2/repository/incanter/jfreechart/1.0.13-no-gnujaxp/jfreechart-1.0.13-no-gnujaxp.jar +b39c3000-b3a00000 r--s 005fd000 08:05 2256760 /home/andrew/.m2/repository/nz/ac/waikato/cms/weka/weka-stable/3.6.9/weka-stable-3.6.9.jar +b3a00000-b3afd000 rw-p 00000000 00:00 0 +b3afd000-b3b00000 ---p 00000000 00:00 0 +b3b00000-b3b01000 r--s 00000000 08:05 2666677 /home/andrew/.m2/repository/incanter/incanter-pdf/1.5.4/incanter-pdf-1.5.4.jar +b3b01000-b3b03000 r--s 0000f000 08:05 1487684 /home/andrew/.m2/repository/net/sourceforge/parallelcolt/optimization/1.0/optimization-1.0.jar +b3b03000-b3b07000 r--s 0002b000 08:05 2132268 /home/andrew/.m2/repository/bouncycastle/bcmail-jdk14/138/bcmail-jdk14-138.jar +b3b07000-b3b0c000 r--s 00030000 08:05 1999629 /home/andrew/.m2/repository/org/apache/xmlgraphics/batik-svggen/1.7/batik-svggen-1.7.jar +b3b0c000-b3b0d000 r--s 00005000 08:05 2132271 /home/andrew/.m2/repository/org/bouncycastle/bctsp-jdk14/1.38/bctsp-jdk14-1.38.jar +b3b0d000-b3b0f000 r--s 00000000 08:05 1989160 /home/andrew/.m2/repository/org/clojure/math.numeric-tower/0.0.4/math.numeric-tower-0.0.4.jar +b3b0f000-b3b30000 r--s 0015a000 08:05 2132269 /home/andrew/.m2/repository/bouncycastle/bcprov-jdk14/138/bcprov-jdk14-138.jar +b3b30000-b3b32000 r--s 0001f000 08:05 1487690 /home/andrew/.m2/repository/com/googlecode/netlib-java/netlib-java/0.9.3/netlib-java-0.9.3.jar +b3b32000-b3b34000 r--s 00002000 08:05 1835210 /home/andrew/.m2/repository/clj-time/clj-time/0.5.0/clj-time-0.5.0.jar +b3b34000-b3b35000 r--s 00000000 08:05 2527492 /home/andrew/.m2/repository/incanter/incanter-mongodb/1.5.4/incanter-mongodb-1.5.4.jar +b3b35000-b3b36000 r--s 00003000 08:05 1487705 /home/andrew/.m2/repository/congomongo/congomongo/0.3.3/congomongo-0.3.3.jar +b3b36000-b3b38000 r--s 00001000 08:05 2527490 /home/andrew/.m2/repository/incanter/incanter/1.5.4/incanter-1.5.4.jar +b3b38000-b3b39000 r--s 00004000 08:05 1999651 /home/andrew/.m2/repository/clojureql/clojureql/1.0.4/clojureql-1.0.4.jar +b3b39000-b3b3c000 r--s 00721000 08:05 1486730 /home/andrew/.m2/repository/org/jblas/jblas/1.2.3/jblas-1.2.3.jar +b3b3c000-b3b3e000 r--s 00011000 08:05 1487687 /home/andrew/.m2/repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar +b3b3e000-b3b3f000 r--s 00006000 08:05 2527493 /home/andrew/.m2/repository/incanter/incanter-charts/1.5.4/incanter-charts-1.5.4.jar +b3b3f000-b3b47000 r--s 00028000 08:05 1999625 /home/andrew/.m2/repository/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar +b3b47000-b3b48000 r--s 00002000 08:05 1573661 /home/andrew/.m2/repository/org/clojure/java.jdbc/0.2.3/java.jdbc-0.2.3.jar +b3b48000-b3b4e000 r--s 0002e000 08:05 1487683 /home/andrew/.m2/repository/net/sourceforge/csparsej/csparsej/1.1.1/csparsej-1.1.1.jar +b3b4e000-b3b54000 r--s 00046000 08:05 2639905 /home/andrew/.m2/repository/incanter/jcommon/1.0.16/jcommon-1.0.16.jar +b3b54000-b3b5c000 r--s 0005b000 08:05 1999630 /home/andrew/.m2/repository/org/apache/xmlgraphics/batik-awt-util/1.7/batik-awt-util-1.7.jar +b3b5c000-b3b6c000 r--s 0007d000 08:05 1705542 /home/andrew/.m2/repository/joda-time/joda-time/2.2/joda-time-2.2.jar +b3b6c000-b3c00000 r--s 00401000 08:05 1999641 /home/andrew/.m2/repository/org/apache/poi/poi-ooxml-schemas/3.9/poi-ooxml-schemas-3.9.jar +b3c00000-b3cfb000 rw-p 00000000 00:00 0 +b3cfb000-b3d00000 ---p 00000000 00:00 0 +b3d00000-b3d01000 r--s 00001000 08:05 2527502 /home/andrew/.m2/repository/incanter/incanter-excel/1.5.4/incanter-excel-1.5.4.jar +b3d01000-b3d02000 r--s 00001000 08:05 1838052 /home/andrew/.m2/repository/org/clojure/data.xml/0.0.7/data.xml-0.0.7.jar +b3d02000-b3d05000 r--s 00030000 08:05 2666673 /home/andrew/.m2/repository/jline/jline/2.11/jline-2.11.jar +b3d05000-b3d06000 r--s 00002000 08:05 1999620 /home/andrew/.m2/repository/org/apache/xmlgraphics/batik-ext/1.7/batik-ext-1.7.jar +b3d06000-b3d0d000 r--s 00045000 08:05 1999619 /home/andrew/.m2/repository/org/apache/xmlgraphics/batik-css/1.7/batik-css-1.7.jar +b3d0d000-b3d0f000 r--s 00000000 08:05 1578345 /home/andrew/.m2/repository/org/clojure/core.incubator/0.1.2/core.incubator-0.1.2.jar +b3d0f000-b3d1b000 r--s 000d9000 08:05 1999639 /home/andrew/.m2/repository/org/apache/poi/poi-ooxml/3.9/poi-ooxml-3.9.jar +b3d1b000-b3d1f000 r--s 0002b000 08:05 2132274 /home/andrew/.m2/repository/org/bouncycastle/bcmail-jdk14/1.38/bcmail-jdk14-1.38.jar +b3d1f000-b3d20000 r--s 00001000 08:05 2527504 /home/andrew/.m2/repository/incanter/incanter-zoo/1.5.4/incanter-zoo-1.5.4.jar +b3d20000-b3d22000 r--s 00005000 08:05 1628150 /home/andrew/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar +b3d22000-b3d23000 r--s 00000000 08:05 1443115 /home/andrew/.m2/repository/clojure-complete/clojure-complete/0.2.3/clojure-complete-0.2.3.jar +b3d23000-b3d24000 r--s 0000a000 08:05 1483738 /home/andrew/.m2/repository/net/mikera/core.matrix/0.7.2/core.matrix-0.7.2.jar +b3d24000-b3d25000 r--s 00000000 08:05 2257145 /home/andrew/.m2/repository/org/clojure/data.csv/0.1.2/data.csv-0.1.2.jar +b3d25000-b3d27000 r--s 0000c000 08:05 1487692 /home/andrew/.m2/repository/com/github/rwl/JKLU/1.0.0/JKLU-1.0.0.jar +b3d27000-b3d29000 r--s 00000000 08:05 2527498 /home/andrew/.m2/repository/incanter/incanter-latex/1.5.4/incanter-latex-1.5.4.jar +b3d29000-b3d35000 r--s 00108000 08:05 2512877 /home/andrew/.m2/repository/com/lowagie/itext/2.1.7/itext-2.1.7.jar +b3d35000-b3d36000 r--s 00001000 08:05 1487702 /home/andrew/.m2/repository/org/clojure/data.json/0.2.0/data.json-0.2.0.jar +b3d36000-b3d5b000 r--s 002dc000 08:05 1999622 /home/andrew/.m2/repository/xalan/xalan/2.6.0/xalan-2.6.0.jar +b3d5b000-b3d6d000 r--s 00112000 08:05 1487680 /home/andrew/.m2/repository/net/sourceforge/f2j/arpack_combined_all/0.1/arpack_combined_all-0.1.jar +b3d6d000-b3d6f000 r--s 00000000 08:05 2666671 /home/andrew/.m2/repository/org/clojure/math.combinatorics/0.0.3/math.combinatorics-0.0.3.jar +b3d6f000-b3dac000 r--s 0024f000 08:05 1999643 /home/andrew/.m2/repository/org/apache/xmlbeans/xmlbeans/2.3.0/xmlbeans-2.3.0.jar +b3dac000-b3db5000 r--s 000e6000 08:05 1999638 /home/andrew/.m2/repository/org/scilab/forge/jlatexmath/0.9.6/jlatexmath-0.9.6.jar +b3db5000-b3db7000 r--s 00017000 08:05 2527494 /home/andrew/.m2/repository/incanter/incanter-core/1.5.4/incanter-core-1.5.4.jar +b3db7000-b3dba000 r--s 00086000 08:05 2516575 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/ext/localedata.jar +b3dba000-b3dbb000 ---p 00000000 00:00 0 +b3dbb000-b3e3b000 rw-p 00000000 00:00 0 [stack:24151] +b3e3b000-b3e3e000 ---p 00000000 00:00 0 +b3e3e000-b3e8c000 rw-p 00000000 00:00 0 [stack:24150] +b3e8c000-b3e8f000 ---p 00000000 00:00 0 +b3e8f000-b3f0d000 rw-p 00000000 00:00 0 [stack:24149] +b3f0d000-b3f10000 ---p 00000000 00:00 0 +b3f10000-b3f5e000 rw-p 00000000 00:00 0 [stack:24148] +b3f5e000-b415e000 r--p 00000000 08:05 2368343 /usr/lib/locale/locale-archive +b415e000-b4161000 ---p 00000000 00:00 0 +b4161000-b41af000 rw-p 00000000 00:00 0 [stack:24147] +b41af000-b41b2000 ---p 00000000 00:00 0 +b41b2000-b4200000 rw-p 00000000 00:00 0 [stack:24146] +b4200000-b42fe000 rw-p 00000000 00:00 0 +b42fe000-b4300000 ---p 00000000 00:00 0 +b4300000-b4304000 r--s 00034000 08:05 2516576 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/ext/sunjce_provider.jar +b4304000-b4306000 r--s 00012000 08:05 2516578 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/ext/zipfs.jar +b4306000-b4309000 r--s 0000f000 08:05 2516573 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/ext/icedtea-sound.jar +b4309000-b430d000 r--s 0003c000 08:05 2516574 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/ext/sunpkcs11.jar +b430d000-b430e000 ---p 00000000 00:00 0 +b430e000-b43d7000 rw-p 00000000 00:00 0 [stack:24145] +b43d7000-b4588000 r--s 01d27000 08:05 2516565 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/rt.jar +b4588000-b4594000 rw-p 00000000 00:00 0 +b4594000-b45a9000 rw-p 00000000 00:00 0 +b45a9000-b45c7000 rw-p 00000000 00:00 0 +b45c7000-b4654000 rw-p 00000000 00:00 0 +b4654000-b4663000 rw-p 00000000 00:00 0 +b4663000-b46a9000 rw-p 00000000 00:00 0 +b46a9000-b46c8000 rw-p 00000000 00:00 0 +b46c8000-b4754000 rw-p 00000000 00:00 0 +b4754000-b475f000 rw-p 00000000 00:00 0 +b475f000-b4760000 ---p 00000000 00:00 0 +b4760000-b4774000 rw-p 00000000 00:00 0 +b4774000-b4794000 rw-p 00000000 00:00 0 +b4794000-b4800000 rw-p 00000000 00:00 0 +b4800000-b4cd8000 rwxp 00000000 00:00 0 +b4cd8000-b68f9000 rw-p 00000000 00:00 0 +b68f9000-b6900000 ---p 00000000 00:00 0 +b6900000-b6901000 r--s 00004000 08:05 1999615 /home/andrew/.m2/repository/net/sf/opencsv/opencsv/2.3/opencsv-2.3.jar +b6901000-b690c000 r-xp 00000000 08:05 674164 /lib/i386-linux-gnu/libnss_files-2.19.so +b690c000-b690d000 r--p 0000a000 08:05 674164 /lib/i386-linux-gnu/libnss_files-2.19.so +b690d000-b690e000 rw-p 0000b000 08:05 674164 /lib/i386-linux-gnu/libnss_files-2.19.so +b690e000-b6918000 r-xp 00000000 08:05 656368 /lib/i386-linux-gnu/libnss_nis-2.19.so +b6918000-b6919000 r--p 00009000 08:05 656368 /lib/i386-linux-gnu/libnss_nis-2.19.so +b6919000-b691a000 rw-p 0000a000 08:05 656368 /lib/i386-linux-gnu/libnss_nis-2.19.so +b691a000-b692f000 r-xp 00000000 08:05 656371 /lib/i386-linux-gnu/libnsl-2.19.so +b692f000-b6930000 r--p 00015000 08:05 656371 /lib/i386-linux-gnu/libnsl-2.19.so +b6930000-b6931000 rw-p 00016000 08:05 656371 /lib/i386-linux-gnu/libnsl-2.19.so +b6931000-b6940000 rw-p 00000000 00:00 0 +b6940000-b6948000 r-xp 00000000 08:05 2516523 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libzip.so +b6948000-b6949000 r--p 00007000 08:05 2516523 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libzip.so +b6949000-b694a000 rw-p 00008000 08:05 2516523 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libzip.so +b694a000-b6952000 rw-s 00000000 08:05 2233576 /tmp/hsperfdata_andrew/24138 +b6952000-b6979000 r-xp 00000000 08:05 2516518 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libjava.so +b6979000-b697a000 r--p 00026000 08:05 2516518 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libjava.so +b697a000-b697b000 rw-p 00027000 08:05 2516518 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libjava.so +b697b000-b6982000 r-xp 00000000 08:05 674166 /lib/i386-linux-gnu/librt-2.19.so +b6982000-b6983000 r--p 00006000 08:05 674166 /lib/i386-linux-gnu/librt-2.19.so +b6983000-b6984000 rw-p 00007000 08:05 674166 /lib/i386-linux-gnu/librt-2.19.so +b6984000-b6987000 ---p 00000000 00:00 0 +b6987000-b69d5000 rw-p 00000000 00:00 0 [stack:24142] +b69d5000-b69f1000 r-xp 00000000 08:05 655389 /lib/i386-linux-gnu/libgcc_s.so.1 +b69f1000-b69f2000 rw-p 0001b000 08:05 655389 /lib/i386-linux-gnu/libgcc_s.so.1 +b69f2000-b6a36000 r-xp 00000000 08:05 656483 /lib/i386-linux-gnu/libm-2.19.so +b6a36000-b6a37000 r--p 00043000 08:05 656483 /lib/i386-linux-gnu/libm-2.19.so +b6a37000-b6a38000 rw-p 00044000 08:05 656483 /lib/i386-linux-gnu/libm-2.19.so +b6a38000-b6b14000 r-xp 00000000 08:05 2363537 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.19 +b6b14000-b6b18000 r--p 000dc000 08:05 2363537 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.19 +b6b18000-b6b19000 rw-p 000e0000 08:05 2363537 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.19 +b6b19000-b6b20000 rw-p 00000000 00:00 0 +b6b20000-b714a000 r-xp 00000000 08:05 2516531 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/libjvm.so +b714a000-b714b000 ---p 0062a000 08:05 2516531 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/libjvm.so +b714b000-b7161000 r--p 0062a000 08:05 2516531 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/libjvm.so +b7161000-b7170000 rw-p 00640000 08:05 2516531 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client/libjvm.so +b7170000-b758b000 rw-p 00000000 00:00 0 +b758b000-b75a3000 r-xp 00000000 08:05 656511 /lib/i386-linux-gnu/libz.so.1.2.8 +b75a3000-b75a4000 r--p 00017000 08:05 656511 /lib/i386-linux-gnu/libz.so.1.2.8 +b75a4000-b75a5000 rw-p 00018000 08:05 656511 /lib/i386-linux-gnu/libz.so.1.2.8 +b75a5000-b75bd000 r-xp 00000000 08:05 674156 /lib/i386-linux-gnu/libpthread-2.19.so +b75bd000-b75be000 r--p 00018000 08:05 674156 /lib/i386-linux-gnu/libpthread-2.19.so +b75be000-b75bf000 rw-p 00019000 08:05 674156 /lib/i386-linux-gnu/libpthread-2.19.so +b75bf000-b75c1000 rw-p 00000000 00:00 0 +b75c1000-b75c4000 r-xp 00000000 08:05 656356 /lib/i386-linux-gnu/libdl-2.19.so +b75c4000-b75c5000 r--p 00002000 08:05 656356 /lib/i386-linux-gnu/libdl-2.19.so +b75c5000-b75c6000 rw-p 00003000 08:05 656356 /lib/i386-linux-gnu/libdl-2.19.so +b75c6000-b776e000 r-xp 00000000 08:05 655900 /lib/i386-linux-gnu/libc-2.19.so +b776e000-b7770000 r--p 001a8000 08:05 655900 /lib/i386-linux-gnu/libc-2.19.so +b7770000-b7771000 rw-p 001aa000 08:05 655900 /lib/i386-linux-gnu/libc-2.19.so +b7771000-b7774000 rw-p 00000000 00:00 0 +b7774000-b7775000 r--s 00002000 08:05 2516577 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/ext/dnsns.jar +b7775000-b7777000 r--s 00006000 08:05 2769120 /usr/share/java/java-atk-wrapper.jar +b7777000-b7778000 r--p 0084d000 08:05 2368343 /usr/lib/locale/locale-archive +b7778000-b777f000 r-xp 00000000 08:05 674148 /lib/i386-linux-gnu/libnss_compat-2.19.so +b777f000-b7780000 r--p 00006000 08:05 674148 /lib/i386-linux-gnu/libnss_compat-2.19.so +b7780000-b7781000 rw-p 00007000 08:05 674148 /lib/i386-linux-gnu/libnss_compat-2.19.so +b7781000-b7782000 rw-p 00000000 00:00 0 +b7782000-b7783000 r--p 00000000 00:00 0 +b7783000-b7791000 r-xp 00000000 08:05 2516540 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libverify.so +b7791000-b7792000 r--p 0000d000 08:05 2516540 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libverify.so +b7792000-b7793000 rw-p 0000e000 08:05 2516540 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libverify.so +b7793000-b779f000 r-xp 00000000 08:05 2516526 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/jli/libjli.so +b779f000-b77a0000 r--p 0000c000 08:05 2516526 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/jli/libjli.so +b77a0000-b77a1000 rw-p 0000d000 08:05 2516526 /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/jli/libjli.so +b77a1000-b77a4000 rw-p 00000000 00:00 0 +b77a4000-b77a5000 r-xp 00000000 00:00 0 [vdso] +b77a5000-b77c5000 r-xp 00000000 08:05 656367 /lib/i386-linux-gnu/ld-2.19.so +b77c5000-b77c6000 r--p 0001f000 08:05 656367 /lib/i386-linux-gnu/ld-2.19.so +b77c6000-b77c7000 rw-p 00020000 08:05 656367 /lib/i386-linux-gnu/ld-2.19.so +bfaa6000-bfaa7000 rwxp 00000000 00:00 0 +bfad7000-bfafa000 rw-p 00000000 00:00 0 [stack] + +VM Arguments: +jvm_args: -Dfile.encoding=UTF-8 -Djsse.enableSNIExtension=false -Dclojure.compile.path=/home/andrew/22_cambridge/02_clustering/clojure/target/classes -Dclj-ml7.version=0.1.0-SNAPSHOT -Dclojure.debug=false +java_command: clojure.main -i /tmp/form-init7308764130478370477.clj +Launcher Type: SUN_STANDARD + +Environment Variables: +PATH=/home/andrew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games +SHELL=/bin/bash +DISPLAY=:0 + +Signal Handlers: +SIGSEGV: [libjvm.so+0x4e6c80], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGBUS: [libjvm.so+0x4e6c80], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGFPE: [libjvm.so+0x3c5720], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGPIPE: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000 +SIGXFSZ: [libjvm.so+0x3c5720], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGILL: [libjvm.so+0x3c5720], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 +SIGUSR2: [libjvm.so+0x3c55b0], sa_mask[0]=0x00000004, sa_flags=0x10000004 +SIGHUP: [libjvm.so+0x3c57e0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGINT: [libjvm.so+0x3c57e0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGTERM: [libjvm.so+0x3c57e0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGQUIT: [libjvm.so+0x3c57e0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 +SIGTRAP: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 + + +--------------- S Y S T E M --------------- + +OS:Ubuntu 14.04 (trusty) +uname:Linux 3.13.0-55-generic #94-Ubuntu SMP Thu Jun 18 00:28:41 UTC 2015 i686 +libc:glibc 2.19 NPTL 2.19 +rlimit: STACK 8192k, CORE 0k, NPROC 24074, NOFILE 4096, AS infinity +load average:3.42 0.92 0.40 + +/proc/meminfo: +MemTotal: 3100700 kB +MemFree: 1453092 kB +Buffers: 189724 kB +Cached: 855300 kB +SwapCached: 49564 kB +Active: 467668 kB +Inactive: 782660 kB +Active(anon): 77628 kB +Inactive(anon): 129788 kB +Active(file): 390040 kB +Inactive(file): 652872 kB +Unevictable: 0 kB +Mlocked: 0 kB +HighTotal: 2230816 kB +HighFree: 1200116 kB +LowTotal: 869884 kB +LowFree: 252976 kB +SwapTotal: 3133436 kB +SwapFree: 2960616 kB +Dirty: 1456 kB +Writeback: 0 kB +AnonPages: 159796 kB +Mapped: 17520 kB +Shmem: 2068 kB +Slab: 371764 kB +SReclaimable: 353712 kB +SUnreclaim: 18052 kB +KernelStack: 1256 kB +PageTables: 2308 kB +NFS_Unstable: 0 kB +Bounce: 0 kB +WritebackTmp: 0 kB +CommitLimit: 4683784 kB +Committed_AS: 867196 kB +VmallocTotal: 122880 kB +VmallocUsed: 15016 kB +VmallocChunk: 95896 kB +HardwareCorrupted: 0 kB +AnonHugePages: 118784 kB +HugePages_Total: 0 +HugePages_Free: 0 +HugePages_Rsvd: 0 +HugePages_Surp: 0 +Hugepagesize: 2048 kB +DirectMap4k: 100344 kB +DirectMap2M: 813056 kB + + +CPU:total 1 (1 cores per cpu, 2 threads per core) family 15 model 4 stepping 1, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ht, tsc + +/proc/cpuinfo: +processor : 0 +vendor_id : GenuineIntel +cpu family : 15 +model : 4 +model name : Intel(R) Pentium(R) 4 CPU 3.00GHz +stepping : 1 +microcode : 0x17 +cpu MHz : 2992.598 +cache size : 1024 KB +physical id : 0 +siblings : 1 +core id : 0 +cpu cores : 1 +apicid : 0 +initial apicid : 0 +fdiv_bug : no +f00f_bug : no +coma_bug : no +fpu : yes +fpu_exception : yes +cpuid level : 5 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc pebs bts pni dtes64 monitor ds_cpl cid xtpr +bogomips : 5985.19 +clflush size : 64 +cache_alignment : 128 +address sizes : 36 bits physical, 32 bits virtual +power management: + + + +Memory: 4k page, physical 3100700k(1453092k free), swap 3133436k(2960616k free) + +vm_info: OpenJDK Client VM (24.79-b02) for linux-x86 JRE (1.7.0_79-b14), built on Apr 16 2015 08:27:14 by "buildd" with gcc 4.8.2 + +time: Mon Jul 6 13:19:45 2015 +elapsed time: 95263 seconds + diff --git a/04-Clustering/clojure-ajw/clojure/resources/iris-wiki-incanter.data b/04-Clustering/clojure-ajw/clojure/resources/iris-wiki-incanter.data new file mode 100644 index 0000000..52bd6cc --- /dev/null +++ b/04-Clustering/clojure-ajw/clojure/resources/iris-wiki-incanter.data @@ -0,0 +1,150 @@ +5.1,3.5,1.4,0.2,setosa +4.9,3.0,1.4,0.2,setosa +4.7,3.2,1.3,0.2,setosa +4.6,3.1,1.5,0.2,setosa +5.0,3.6,1.4,0.2,setosa +5.4,3.9,1.7,0.4,setosa +4.6,3.4,1.4,0.3,setosa +5.0,3.4,1.5,0.2,setosa +4.4,2.9,1.4,0.2,setosa +4.9,3.1,1.5,0.1,setosa +5.4,3.7,1.5,0.2,setosa +4.8,3.4,1.6,0.2,setosa +4.8,3.0,1.4,0.1,setosa +4.3,3.0,1.1,0.1,setosa +5.8,4.0,1.2,0.2,setosa +5.7,4.4,1.5,0.4,setosa +5.4,3.9,1.3,0.4,setosa +5.1,3.5,1.4,0.3,setosa +5.7,3.8,1.7,0.3,setosa +5.1,3.8,1.5,0.3,setosa +5.4,3.4,1.7,0.2,setosa +5.1,3.7,1.5,0.4,setosa +4.6,3.6,1.0,0.2,setosa +5.1,3.3,1.7,0.5,setosa +4.8,3.4,1.9,0.2,setosa +5.0,3.0,1.6,0.2,setosa +5.0,3.4,1.6,0.4,setosa +5.2,3.5,1.5,0.2,setosa +5.2,3.4,1.4,0.2,setosa +4.7,3.2,1.6,0.2,setosa +4.8,3.1,1.6,0.2,setosa +5.4,3.4,1.5,0.4,setosa +5.2,4.1,1.5,0.1,setosa +5.5,4.2,1.4,0.2,setosa +4.9,3.1,1.5,0.2,setosa +5.0,3.2,1.2,0.2,setosa +5.5,3.5,1.3,0.2,setosa +4.9,3.6,1.4,0.1,setosa +4.4,3.0,1.3,0.2,setosa +5.1,3.4,1.5,0.2,setosa +5.0,3.5,1.3,0.3,setosa +4.5,2.3,1.3,0.3,setosa +4.4,3.2,1.3,0.2,setosa +5.0,3.5,1.6,0.6,setosa +5.1,3.8,1.9,0.4,setosa +4.8,3.0,1.4,0.3,setosa +5.1,3.8,1.6,0.2,setosa +4.6,3.2,1.4,0.2,setosa +5.3,3.7,1.5,0.2,setosa +5.0,3.3,1.4,0.2,setosa +7.0,3.2,4.7,1.4,versicolor +6.4,3.2,4.5,1.5,versicolor +6.9,3.1,4.9,1.5,versicolor +5.5,2.3,4.0,1.3,versicolor +6.5,2.8,4.6,1.5,versicolor +5.7,2.8,4.5,1.3,versicolor +6.3,3.3,4.7,1.6,versicolor +4.9,2.4,3.3,1.0,versicolor +6.6,2.9,4.6,1.3,versicolor +5.2,2.7,3.9,1.4,versicolor +5.0,2.0,3.5,1.0,versicolor +5.9,3.0,4.2,1.5,versicolor +6.0,2.2,4.0,1.0,versicolor +6.1,2.9,4.7,1.4,versicolor +5.6,2.9,3.6,1.3,versicolor +6.7,3.1,4.4,1.4,versicolor +5.6,3.0,4.5,1.5,versicolor +5.8,2.7,4.1,1.0,versicolor +6.2,2.2,4.5,1.5,versicolor +5.6,2.5,3.9,1.1,versicolor +5.9,3.2,4.8,1.8,versicolor +6.1,2.8,4.0,1.3,versicolor +6.3,2.5,4.9,1.5,versicolor +6.1,2.8,4.7,1.2,versicolor +6.4,2.9,4.3,1.3,versicolor +6.6,3.0,4.4,1.4,versicolor +6.8,2.8,4.8,1.4,versicolor +6.7,3.0,5.0,1.7,versicolor +6.0,2.9,4.5,1.5,versicolor +5.7,2.6,3.5,1.0,versicolor +5.5,2.4,3.8,1.1,versicolor +5.5,2.4,3.7,1.0,versicolor +5.8,2.7,3.9,1.2,versicolor +6.0,2.7,5.1,1.6,versicolor +5.4,3.0,4.5,1.5,versicolor +6.0,3.4,4.5,1.6,versicolor +6.7,3.1,4.7,1.5,versicolor +6.3,2.3,4.4,1.3,versicolor +5.6,3.0,4.1,1.3,versicolor +5.5,2.5,4.0,1.3,versicolor +5.5,2.6,4.4,1.2,versicolor +6.1,3.0,4.6,1.4,versicolor +5.8,2.6,4.0,1.2,versicolor +5.0,2.3,3.3,1.0,versicolor +5.6,2.7,4.2,1.3,versicolor +5.7,3.0,4.2,1.2,versicolor +5.7,2.9,4.2,1.3,versicolor +6.2,2.9,4.3,1.3,versicolor +5.1,2.5,3.0,1.1,versicolor +5.7,2.8,4.1,1.3,versicolor +6.3,3.3,6.0,2.5,virginica +5.8,2.7,5.1,1.9,virginica +7.1,3.0,5.9,2.1,virginica +6.3,2.9,5.6,1.8,virginica +6.5,3.0,5.8,2.2,virginica +7.6,3.0,6.6,2.1,virginica +4.9,2.5,4.5,1.7,virginica +7.3,2.9,6.3,1.8,virginica +6.7,2.5,5.8,1.8,virginica +7.2,3.6,6.1,2.5,virginica +6.5,3.2,5.1,2.0,virginica +6.4,2.7,5.3,1.9,virginica +6.8,3.0,5.5,2.1,virginica +5.7,2.5,5.0,2.0,virginica +5.8,2.8,5.1,2.4,virginica +6.4,3.2,5.3,2.3,virginica +6.5,3.0,5.5,1.8,virginica +7.7,3.8,6.7,2.2,virginica +7.7,2.6,6.9,2.3,virginica +6.0,2.2,5.0,1.5,virginica +6.9,3.2,5.7,2.3,virginica +5.6,2.8,4.9,2.0,virginica +7.7,2.8,6.7,2.0,virginica +6.3,2.7,4.9,1.8,virginica +6.7,3.3,5.7,2.1,virginica +7.2,3.2,6.0,1.8,virginica +6.2,2.8,4.8,1.8,virginica +6.1,3.0,4.9,1.8,virginica +6.4,2.8,5.6,2.1,virginica +7.2,3.0,5.8,1.6,virginica +7.4,2.8,6.1,1.9,virginica +7.9,3.8,6.4,2.0,virginica +6.4,2.8,5.6,2.2,virginica +6.3,2.8,5.1,1.5,virginica +6.1,2.6,5.6,1.4,virginica +7.7,3.0,6.1,2.3,virginica +6.3,3.4,5.6,2.4,virginica +6.4,3.1,5.5,1.8,virginica +6.0,3.0,4.8,1.8,virginica +6.9,3.1,5.4,2.1,virginica +6.7,3.1,5.6,2.4,virginica +6.9,3.1,5.1,2.3,virginica +5.8,2.7,5.3,1.9,virginica +6.8,3.2,5.9,2.3,virginica +6.7,3.3,5.7,2.5,virginica +6.7,3.0,5.2,2.3,virginica +6.3,2.5,5.0,1.9,virginica +6.5,3.0,5.2,2.0,virginica +6.2,3.4,5.4,2.3,virginica +5.9,3.0,5.1,1.8,virginica diff --git a/04-Clustering/clojure-ajw/clojure/resources/iris.data b/04-Clustering/clojure-ajw/clojure/resources/iris.data index 15cb3c5..52bd6cc 100644 --- a/04-Clustering/clojure-ajw/clojure/resources/iris.data +++ b/04-Clustering/clojure-ajw/clojure/resources/iris.data @@ -140,7 +140,7 @@ 6.9,3.1,5.4,2.1,virginica 6.7,3.1,5.6,2.4,virginica 6.9,3.1,5.1,2.3,virginica -5.8,2.7,5.1,1.9,virginica +5.8,2.7,5.3,1.9,virginica 6.8,3.2,5.9,2.3,virginica 6.7,3.3,5.7,2.5,virginica 6.7,3.0,5.2,2.3,virginica diff --git a/04-Clustering/clojure-ajw/clojure/src/clj_ml7/core.clj b/04-Clustering/clojure-ajw/clojure/src/clj_ml7/core.clj index ecc0544..cc17e14 100644 --- a/04-Clustering/clojure-ajw/clojure/src/clj_ml7/core.clj +++ b/04-Clustering/clojure-ajw/clojure/src/clj_ml7/core.clj @@ -5,25 +5,56 @@ [clj-ml7.som :as som] [clj-ml7.pca :as pca] [clj-ml7.incanter :as inc] - - - ) + [clj-ml7.dbscan :as db]) (:require [incanter.core :as ic] - [incanter.datasets :as id] - [clj-ml.data :as cd] - [clj-ml.clusterers :as cc]) - - ) + [incanter.datasets :as id] + [clj-ml.data :as cd] + [clj-ml.clusterers :as cc]) +) ;; === ;; AJW ;; === +;; --------------- +;; 1. hierarchical +;; --------------- + (defn iris-hi-cluster [n] (hc/iris-cluster-join n)) +; results + +(defn fisher-pca [] + (hc/fisher-pca)) + +(defn hi-pca [] + (hc/hi-pca)) + + +;; --------- +;; 2. dbscan +;; --------- + +; histogram of distances between points + +(defn show-distances [] + (db/show-distances)) + +; histogram + +(defn show-regions [dist] + (db/show-regions dist)) + +; demo + +(defn iris-db-cluster + ([] (iris-db-cluster 0.5 15)) + ([eps min-pts] (db/iris-pca (db/prepare-pca (db/dbscan-iris eps min-pts))))) + + ;; ========== ;; AKHIL WALI ;; ========== @@ -190,4 +221,6 @@ (defn km [] (ns clj-ml7.kmeans)) (defn hi [] (ns clj-ml7.hierarchical)) (defn incanter [] (ns clj-ml7.incanter)) +(defn pca [] (ns clj-ml7.pca)) +(defn db [] (ns clj-ml7.dbscan)) diff --git a/04-Clustering/clojure-ajw/clojure/src/clj_ml7/dbscan.clj b/04-Clustering/clojure-ajw/clojure/src/clj_ml7/dbscan.clj new file mode 100644 index 0000000..94a5e1c --- /dev/null +++ b/04-Clustering/clojure-ajw/clojure/src/clj_ml7/dbscan.clj @@ -0,0 +1,223 @@ +(ns clj-ml7.dbscan + + (:require [incanter.core :as ic] + [incanter.datasets :as id] + [incanter.stats :as st] ; pca + [incanter.charts :as ch] + + [clj-ml.data :as cd] + [clojure.math.numeric-tower :as math] + [clojure.java.io :as io] + [clojure.data.csv :as csv] + + [clj-ml7.utils :as ut] ) + + ) + + +(declare get-iris-map) + + +;; ================================= +;; code take from git: NeoTeo/DBScan +;; The original version only works on single floating point numbers +;; eg. (dbscan [1.0 2.0 99.0 3.0] 10 3) +;; ==================================== + +; (addIfNew [1.0 1.0] [[1.0 1.1] [2.0 2.0]]) +; => [[1.0 1.0] [1.0 1.1] [2.0 2.0]] + +(defn addIfNew [x xs] + (if-not (some #{x} xs) + (into [] (cons x xs)) + xs)) + +(defn check-distance [new-point original-point eps] + + ; (<= (Math/abs (- new-point original-point)) eps)) ;[git] + (<= (Math/abs (ut/distance new-point original-point)) eps)) ;[ajw] + +; ----------- +; reqionQuery +; ----------- +; return all points in data within p's eps-neighbourhood (including p) +; >(regionQuery [[1.0 1.0] [2.0 2.0] [3.0 3.0] [97.0 97.0] [98.0 98.0] [99.0 99.0]] [97.1 97.1] 3) +; => ([97.0 97.0] [98.0 98.0] [99.0 99.0]) + + +(defn regionQuery [data p eps] + ; (println data) + + (if (empty? data) + '[] + ; adding the closing parens after typing "(first data" after datval hangs the editor + ;(if-let [datval (cons (first data) (regionQuery (rest data) p eps)) + (let [datval (first data)] +; (if (<= (Math/abs (- datval p)) eps) ;[git] + (if (check-distance datval p eps) ;[ajw] + (cons datval (regionQuery (rest data) p eps)) + (regionQuery (rest data) p eps))))) + +(defn expandCluster [data p neighbourPts eps minpts visited clusters] + (loop [neighbourPts neighbourPts visited visited cluster []] + (if-not (seq neighbourPts) + [cluster visited] + (let [pp (first neighbourPts) + ppBeenVisited (some #{pp} visited) + newVisited (addIfNew pp visited) + newNeighbourPts (if-not ppBeenVisited + (let [np (regionQuery data pp eps)] + (if (>= (count np) minpts) + (distinct (concat neighbourPts np)) ;investigate speed implications of distinct + neighbourPts)) + neighbourPts) + newCluster (if-not (some #{pp} (apply concat (conj clusters cluster))) ;investigate speed implications of flatten + (cons pp cluster) + cluster)] + (recur (rest newNeighbourPts) newVisited newCluster))))) + + + +(defn dbscan [data eps minpts] + (loop [unvisited data + visited [] + clusters []] + (println "unvisited: " (count unvisited)) + (if-not (seq unvisited) + (remove empty? clusters) + (let [p (first unvisited) + neighbourPts (regionQuery data p eps) + [cluster newVisited] + (if (< (count neighbourPts) minpts) + [[] (addIfNew p visited)] + (expandCluster data p neighbourPts eps minpts (addIfNew p visited) clusters) )] + (recur (rest unvisited) newVisited (cons cluster clusters))))) + ) + + +(defn get-iris-data [] + (with-open [in-file (io/reader "resources/iris.data")] + (let [lis (doall (csv/read-csv in-file)) + k (map (fn [x] {:vec (vec (map read-string (take 4 x)))}) lis)] + (vec k)))) + + +;; ------------------------------------- +;; Pincked and adapted from hierarchical +;; ------------------------------------- +;; To print results at the end. + +; Make list of types in a particular cluster + +(defn iris-types [i n] + + (let [iris-map (get-iris-map) + vecs (nth i n)] + (map (fn [x] (iris-map x)) vecs))) + +; Make map of counts of types in a particular cluster + +(defn count-list + ([lis] (count-list lis {})) + ([lis mp] + (if (empty? lis) mp + (let [head (first lis) + lis2 (vec (filter (fn [x] (not (= x head))) lis))] + (count-list lis2 (assoc mp head (- (count lis) (count lis2)))))))) + +; Print out summary results for a cluster + +(defn iris-results [i] + (doseq [x (vec (range (count i)))] + (println "Cluster " x (count-list (iris-types i x))))) + +(defn get-iris-map [] + (with-open [in-file (io/reader "resources/iris.data")] + (let [lis (doall (csv/read-csv in-file)) + k (map (fn [x] (vec (map read-string (take 4 x)))) lis) + v (map (fn [x] (nth x 4)) lis)] + (zipmap k v)))) + +; ==== +; demo +; ==== + +(defn dbscan-iris [eps minpts] + (let [iris-data (map (fn [x] (:vec x)) (get-iris-data)) + db-clusters-1 (dbscan iris-data eps minpts) + ; _ (println "db" (count (apply concat db-clusters-1))) + noise (filter (fn [x] (not (some #{x} (apply concat db-clusters-1)))) iris-data) + ; _ (println "noise" (count noise)) + db-clusters (concat (list noise) db-clusters-1)] + ; _ (println (count (apply concat db-clusters)))] + db-clusters)) +;(def db-cluster(demo 0.5 12)) + +(defn prepare-pca [lis] + ; (println "lis " lis) + ; (println (count lis)) + (loop [x 0 + ret-lis []] + (if (= x (count lis)) (vec ret-lis) + (recur (inc x) (concat (map (fn [z] (vec (concat z [x]))) (nth lis x)) ret-lis))) )) + +(defn iris-pca [ds] + (print 0) + (let [iris-matrix (ic/to-matrix (ic/to-dataset ds)) + _ (print 1) + iris-features (ic/sel iris-matrix :cols (range 4)) + iris-species (ic/sel iris-matrix :cols 4) + pca (st/principal-components iris-features) + U (:rotation pca) + _ (print 4) + U-reduced (ic/sel U :cols (range 2)) + reduced-features (ic/mmult iris-features U-reduced)] + + (ic/view (ch/scatter-plot (ic/sel reduced-features :cols 0) + (ic/sel reduced-features :cols 1) + :group-by iris-species + :x-label "PC1" + :y-label "PC2")))) + + +;; -------------- +;; show-distances +;; -------------- +;; histogram of distrances between data points + +(defn show-distances [] + (let [iris-data (map (fn [x] (:vec x)) (get-iris-data)) + iris-distances (loop [lis iris-data + results []] + (println (count lis)) + (if (= (count lis) 1) (vec results) + (recur (rest lis) (concat (map (fn [x] (ut/distance (first lis) x)) (rest lis)) results) )))] + (ic/view (ch/histogram iris-distances :nbins 10)) + )) + +;; ------------ +;; show regions +;; ------------ +;; historgram of points within specified region + +(defn show-regions [dist] + (let [iris-data (map (fn [x] (:vec x)) (get-iris-data)) + hist-data (map (fn [x] + (count (regionQuery iris-data x dist))) iris-data)] + (ic/view (ch/histogram hist-data :nbins 10)) + )) + +;; ---- +;; demo +;; ---- + +(defn demo [eps min-pts] + (let [di (dbscan-iris eps min-pts) + _ (iris-results di) + dip (prepare-pca di)] + (iris-pca dip))) + + +(defn core [] (ns clj-ml7.core)) + + diff --git a/04-Clustering/clojure-ajw/clojure/src/clj_ml7/hierarchical.clj b/04-Clustering/clojure-ajw/clojure/src/clj_ml7/hierarchical.clj index c3c6af4..53a014e 100644 --- a/04-Clustering/clojure-ajw/clojure/src/clj_ml7/hierarchical.clj +++ b/04-Clustering/clojure-ajw/clojure/src/clj_ml7/hierarchical.clj @@ -1,5 +1,4 @@ (ns clj-ml7.hierarchical - (:use [clojure.math.numeric-tower :only [sqrt]]) (:require [incanter.core :as ic] [incanter.datasets :as id] @@ -8,53 +7,17 @@ [clj-ml.data :as cd] [clojure.math.numeric-tower :as math] [clojure.java.io :as io] - [clojure.data.csv :as csv]) + [clojure.data.csv :as csv] + + [clj-ml7.utils :as ut] + ) ) -; ------------- -; original code -; ------------- - - -(defn sum-of-squares [coll] - (reduce + (map * coll coll))) - -(defprotocol Each - (each [v op w])) - -(defprotocol Distance - (distance [v w])) - -(defn closest-vectors [vs] - (let [index-range (range (count vs))] - (apply min-key - (fn [[x y]] (distance (vs x) (vs y))) - (for [i index-range - j (filter #(not= i %) index-range)] - [i j])))) - -(defn centroid [& xs] - (each - (reduce #(each %1 + %2) xs) - * - (double (/ 1 (count xs))))) - -(extend-type clojure.lang.PersistentVector - Each - (each [v op w] - (vec - (cond - (number? w) (map op v (repeat w)) - (vector? w) (if (>= (count v) (count w)) - (map op v (lazy-cat w (repeat 0))) - (map op (lazy-cat v (repeat 0)) w))))) - Distance - ;; implemented as Euclidean distance - (distance [v w] (-> (each v - w) - sum-of-squares - sqrt))) +; === +; AJW +; === (defn h-cluster "Performs hierarchical clustering on a @@ -64,7 +27,7 @@ (if (< (count nodes) 2) nodes (let [vectors (vec (map :vec nodes)) - [l r] (closest-vectors vectors) + [l r] (ut/closest-vectors vectors) node-range (range (count nodes)) new-nodes (vec (for [i node-range @@ -73,7 +36,7 @@ (nodes i)))] (recur (conj new-nodes {:left (nodes l) :right (nodes r) - :vec (centroid + :vec (ut/centroid (:vec (nodes l)) (:vec (nodes r)))})))))) @@ -254,7 +217,7 @@ (if (= (count nodes) n) nodes (let [vectors (vec (map :vec nodes)) - [l r] (closest-vectors vectors) + [l r] (ut/closest-vectors vectors) node-range (range (count nodes)) new-nodes (vec (for [i node-range @@ -263,7 +226,7 @@ (nodes i)))] (recur (conj new-nodes {:left (nodes l) :right (nodes r) - :vec (centroid + :vec (ut/centroid (:vec (nodes l)) (:vec (nodes r)))})))))) @@ -283,7 +246,7 @@ (if (< (count nodes) 2) nodes (let [vectors (vec (map :vec nodes)) - [l r] (closest-vectors vectors) + [l r] (ut/closest-vectors vectors) node-range (range (count nodes)) new-nodes (vec (for [i node-range @@ -292,7 +255,7 @@ (nodes i)))] (recur (conj new-nodes {:left (nodes l) :right (nodes r) - :vec (centroid + :vec (ut/centroid (:vec (nodes l)) (:vec (nodes r))) :joins joins}) (dec joins)))))) @@ -398,19 +361,24 @@ (defn make-data-set [i] - (let [fn1 (fn [n] (let [vecs (leaves (nth i n))] + (let [cnt (count i) + fn1 (fn [n] (let [vecs (leaves (nth i n))] (map (fn [x] (vec (concat x [n]))) vecs)))] - (vec (concat (fn1 0) (fn1 1) (fn1 2))))) - -(defn pca-2 [] - (let [iris-matrix (ic/to-matrix (ic/to-dataset (make-data-set iris-n-join))) + (loop [n 0 lis []] + (if (= n cnt) lis + (recur (inc n) (vec (concat (fn1 n) lis))))))) + + + ;(vec (concat (fn1 0) (fn1 1) (fn1 2))))) + +(defn iris-pca [ds] + + (let [iris-matrix (ic/to-matrix (ic/to-dataset ds)) iris-features (ic/sel iris-matrix :cols (range 4)) iris-species (ic/sel iris-matrix :cols 4) - pca (st/principal-components iris-features) U (:rotation pca) U-reduced (ic/sel U :cols (range 2)) - reduced-features (ic/mmult iris-features U-reduced)] (ic/view (ch/scatter-plot (ic/sel reduced-features :cols 0) @@ -419,7 +387,12 @@ :x-label "PC1" :y-label "PC2")))) +(defn hi-pca [] (iris-pca (make-data-set iris-n-join))) + +(defn fisher-pca [] (iris-pca (id/get-dataset :iris))) + ;; ========= ;; namespace ;; ========= + (defn core [] (ns clj-ml7.core)) diff --git a/04-Clustering/clojure-ajw/clojure/src/clj_ml7/pca.clj b/04-Clustering/clojure-ajw/clojure/src/clj_ml7/pca.clj index adbb7a4..f6bb296 100644 --- a/04-Clustering/clojure-ajw/clojure/src/clj_ml7/pca.clj +++ b/04-Clustering/clojure-ajw/clojure/src/clj_ml7/pca.clj @@ -21,4 +21,20 @@ (defn demo [] (plot-reduced-features) - ) \ No newline at end of file + ) + + (defn fisher-pca [] + + (let [iris-matrix (to-matrix (get-dataset :iris)) + iris-features (sel iris-matrix :cols (range 4)) + iris-species (sel iris-matrix :cols 4) + pca (principal-components iris-features) + U (:rotation pca) + U-reduced (sel U :cols (range 2)) + reduced-features (mmult iris-features U-reduced)] + + (view (scatter-plot (sel reduced-features :cols 0) + (sel reduced-features :cols 1) + :group-by iris-species + :x-label "PC1" + :y-label "PC2")))) \ No newline at end of file diff --git a/04-Clustering/clojure-ajw/clojure/src/clj_ml7/utils.clj b/04-Clustering/clojure-ajw/clojure/src/clj_ml7/utils.clj new file mode 100644 index 0000000..85eef4d --- /dev/null +++ b/04-Clustering/clojure-ajw/clojure/src/clj_ml7/utils.clj @@ -0,0 +1,105 @@ +(ns clj-ml7.utils + + (:use [clojure.math.numeric-tower :only [sqrt]]) + + ) + + +;; ------------------------------- +;; Used in hierarchical and dbscan +;; ------------------------------- +;; hierarchical: closest-vectors +;; centroid +;; dbscan: distance + +(defn sum-of-squares [coll] + (reduce + (map * coll coll))) + +(defprotocol Each + (each [v op w])) + +(defprotocol Distance + (distance [v w])) + +(defn closest-vectors [vs] + (let [index-range (range (count vs))] + (apply min-key + (fn [[x y]] (distance (vs x) (vs y))) + (for [i index-range + j (filter #(not= i %) index-range)] + [i j])))) + +(defn centroid [& xs] + (each + (reduce #(each %1 + %2) xs) + * + (double (/ 1 (count xs))))) + +(extend-type clojure.lang.PersistentVector + Each + (each [v op w] + (vec + (cond + (number? w) (map op v (repeat w)) + (vector? w) (if (>= (count v) (count w)) + (map op v (lazy-cat w (repeat 0))) + (map op (lazy-cat v (repeat 0)) w))))) + Distance + ;; implemented as Euclidean distance + (distance [v w] (-> (each v - w) + sum-of-squares + sqrt))) + + + +;; -------------------------- +;; Taken from ns dbscan +;; -------------------------- + +;(defn sum-of-squares [coll] +; (reduce + (map * coll coll))) + +;(defprotocol Each +; (each [v op w])) + +;(defprotocol Distance +; (distance [v w])) + +;(defn closest-vectors [vs] +; (let [index-range (range (count vs))] +; (apply min-key +; (fn [[x y]] (distance (vs x) (vs y))) +; (for [i index-range +; j (filter #(not= i %) index-range)] +; [i j])))) + +;(defn centroid [& xs] +; (each +; (reduce #(each %1 + %2) xs) +; * +; (double (/ 1 (count xs))))) + +;(extend-type clojure.lang.PersistentVector +; Each +; (each [v op w] +; (vec +; (cond +; (number? w) (map op v (repeat w)) +; (vector? w) (if (>= (count v) (count w)) +; (map op v (lazy-cat w (repeat 0))) +; (map op (lazy-cat v (repeat 0)) w))))) +; Distance + ;; implemented as Euclidean distance +; (distance [v w] (-> (each v - w) +; sum-of-squares +; sqrt))) + + +;(defn average [lst] (/ (reduce + lst) (count lst))) + + +;(defn avg [xs] +; (loop [xs xs count 0 sum 0] +; (if-not (seq xs) +; (/ sum count) +; (recur (rest xs) (inc count) (+ sum (first xs))))))