Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 3 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: thomas-bottesch
  • License: mit
  • Language: C
  • Default Branch: master
  • Size: 631 KB
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Created over 9 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

fcl - machine learning library

Build Status

Pypi

fcl is a machine learning library which is open source and commercially usable - MIT license (see LICENSE file). The machine learning core is programmed in C (C99) but fcl can be used from various languages:

  • Matlab / Octave
  • Python 2.x & 3.x (numpy and scipy matrices are supported)
  • Command line interface

fcl was started as part of a phd thesis supported by:

Get the code

You can get the latest sources with the command:

git clone https://github.com/thomas-bottesch/fcl.git

Linux

On Ubuntu/Debian it might be necessary to install build essentials in order to compile fcl

sudo apt-get install build-essential

Compile the library

make

Use the library

# download the example datasets (in libsvm format)
./examples/datasets/get_datasets.sh

# now you can use the library to e.g. cluster an example dataset with k-means
./fcl kmeans fit ./examples/datasets/usps.scaled --file_model ./result_clusters --no_clusters 10

Have a look at the available options

./fcl --help
./fcl kmeans --help
./fcl kmeans fit --help
./fcl kmeans predict --help

Python 2/3


On Ubuntu/Debian install build essentials and the python dev package in order to create python bindings with cython

sudo apt-get install build-essential (also python2.7-dev / python3.4-dev or whatever python version you use)

Install via pip:

pip install fcl

Install packages required to run all the examples e.g. numpy, scipy and matplotlib (optional)

pip install -r python/requirements_examples.txt

Use the library (this example needs ./examples/datasets/get_datasets.sh to be executed first!)

from fcl import kmeans

km = kmeans.KMeans(no_clusters=2, verbose = True)
idx = km.fit_predict('./examples/datasets/sector.scaled')

# You can use a numpy/scipy matrix instead of a path as input to fit_predict

There exist various python examples in

examples/python/

Matlab/Octave


Easiest way to use fcl inside matlab/octave is to just compile the algorithm that you need. E.g.

execute matlab/kmeans/fcl_make_kmeans (from within Matlab/Octave)

Then this example can be run from any folder

% create sparse matrix
X = sprand(1000, 1000, 1/10);

IDX = fcl_kmeans(X, 10);

There exist various matlab/octave examples in

examples/matlab/

Citations


When using fcl in a scientific publication, it is appreciated if you cite the following paper (Bibtex):

@inproceedings{bottesch2016kmeans,
  title={Speeding up k-means by approximating Euclidean distances via block vectors},
  author={Bottesch, Thomas and B{\"u}hler, Thomas and K{\"a}chele, Markus},
  booktitle={Proceedings of The 33rd International Conference on Machine Learning},
  pages={2578--2586},
  year={2016}
}

Owner

  • Login: thomas-bottesch
  • Kind: user

GitHub Events

Total
  • Watch event: 1
  • Push event: 6
  • Fork event: 1
  • Create event: 2
Last Year
  • Watch event: 1
  • Push event: 6
  • Fork event: 1
  • Create event: 2

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 80
  • Total Committers: 3
  • Avg Commits per committer: 26.667
  • Development Distribution Score (DDS): 0.4
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Thomas Bottesch t****b@g****m 48
Thomas Bottesch t****h@u****e 29
thomas-bottesch t****h 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 1
  • Total pull requests: 20
  • Average time to close issues: about 2 months
  • Average time to close pull requests: about 8 hours
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.65
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • xternalz (1)
Pull Request Authors
  • thomas-bottesch (20)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 192 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 14
  • Total maintainers: 1
pypi.org: fcl

fcl machine learning library

  • Versions: 14
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 192 Last month
Rankings
Dependent packages count: 10.0%
Downloads: 20.6%
Average: 21.4%
Dependent repos count: 21.7%
Forks count: 22.6%
Stargazers count: 31.9%
Maintainers (1)
Last synced: 11 months ago

Dependencies

python/requirements_examples.txt pypi
  • matplotlib >=1.5.0
  • numpy >=1.10.4
  • scikit-learn >=0.18.1
  • scipy >=0.16.1
  • wheel *
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
pyproject.toml pypi
setup.py pypi