Ads by Google
Christian Borgelt's Web Pages

JNIFIM - Java API for Frequent Item Set Mining

Download

32 bit 64 bit (32/64 bit only for shared object/dynamic module)
libJNIFIM.so (693 kb) libJNIFIM.so (710 kb) GNU/Linux shared object, JNI
JNIFIM.dll (245 kb) JNIFIM.dll (298 kb) Windows dynamic link library, JNI
jnifim.zip (789 kb) jnifim.tar.gz (737 kb) C sources, version 1.13 (2017.03.24)
fimgui.zip (831 kb) fimgui.tar.gz (627 kb) Java sources, version 1.5 (2016.04.13)

Description

JNIFIM is an Java Application Programmers Interface (API) for several frequent item set mining implementations, including apriori, eclat, fpgrowth, sam, relim, carpenter, ista, accretion and apriacc. It also includes functions for generating a pattern spectrum with the help of surrogate data and FIM analysis and for pattern spectrum estimation. The library underlying this API was implemented using the Java Native Interface (JNI).

If you have trouble getting the library to work on Microsoft Windows, check whether you have the Microsoft Visual C++ Redistributable Packages for Visual Studio 2015 installed, as the library was compiled with Microsoft Visual Studio 2015.

Installation

On Microsoft Windows it should suffice to place the dynamic link library (JNIFIM.dll) into the same directory from which the Java class or the Java archive are called that are meant to use the API provided by the library. On a Unix/Linux system it may also suffice to place the shared object (libJNIFIM.so) into such a directory, but this is less likely to work.

If this simple method fails, the reason is usually that Java cannot find the library, due to the fact that the necessary path is missing from the Java library path. To fix this, the Java class or Java archive that is meant to use the library should be invoked from the command line with

java [-jar] -Djava.library.path="." <path_to_class_or_jar>

Here the option -Djava.library.path="." adds the current working directory (denoted by ".") to the list of paths that are searched by Java for the library libJNIFIM.so (GNU/Linux) or JNIFIM.dll (Microsoft Windows). Note that the library may also be placed into any other directory if the "." is replaced by the path to that directory. Note also that the invocation command may conveniently be stored in a batch file (for Microsoft Windows) or a shell script (for GNU/Linux), thus hiding the unusual invocation from an end user.

In order to develop an application based on this API, the Java sources made available above are needed. The main file is fim/JNIFIM.java, which contains the functions through which the C implementation can be accessed. The other Java source files provide classes for (sets of) transactions and pattern sets. See the Java documentation that accompanies the sources for details.

References

An overview of several frequent item set mining algorithms can be found in: