A library for doing incremental concept formation using algorithms in the COBWEB family.
Project description
Concept Formation
This is a Python library of algorithms that perform concept formation written by Christopher MacLellan (http://www.christopia.net) and Erik Harpstead (http://www.erikharpstead.net).
Overview
In this library, the COBWEB and COBWEB/3 algorithms are implemented. These systems accept a stream of instances, which are represented as dictionaries of attributes and values (where values can be nominal for COBWEB and either numeric or nominal for COBWEB/3), and learns a concept hierarchy. The resulting hierarchy can be used for clustering and prediction.
This library also includes TRESTLE, an extension of COBWEB and COBWEB/3 that support structured and relational data objects. This system employs partial matching to rename new objects to align with previous examples, then categorizes these renamed objects.
Lastly, we have extended the COBWEB/3 algorithm to support three key improvements. First, COBWEB/3 now uses an unbiased estimator to calculate the standard deviation of numeric values. This is particularly useful in situations where the number of available data points is low. Second, COBWEB/3 supports online normalization of the continuous values, which is useful in situations where numeric values are on different scales and helps to ensure that numeric values do not impact the model more than nominal values. Finally, it is assumed that there is some base noise in measuring continuous values, this noise insures that the probability of any one value never exceeds 1, even when the standard deviation is small.
Installation
You can install this software using pip:
pip install -U concept_formation
You can install the latest version of the code directly from github:
pip install -U git+https://github.com/cmaclell/concept_formation@master
Important Links
Source code: https://github.com/cmaclell/concept_formation
Documentation: http://concept-formation.readthedocs.org
Examples
We have created a number of examples to demonstrate the basic functionality of this library. The examples can be found here.
Citing this Software
If you use this software in a scientific publiction, then we would appreciate citation of the following paper:
MacLellan, C.J., Harpstead, E., Aleven, V., Koedinger K.R. (2016) TRESTLE: A Model of Concept Formation in Structured Domains. Advances in Cognitive Systems, 4, 131-150.
Bibtex entry:
@article{trestle:2016a, author={MacLellan, C.J. and Harpstead, E. and Aleven, V. and Koedinger, K.R.}, title={TRESTLE: A Model of Concept Formation in Structured Domains}, journal={Advances in Cognitive Systems}, volume={4}, year={2016} }
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for concept_formation-0.3.6.dev36.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9010bde256103fee6255f7e7fb6656fc0f48c3215d9dae83dfc1a6d66f728b88 |
|
MD5 | a439a076877e1a72d593f72d0ef37c04 |
|
BLAKE2b-256 | f17043aa7656ed6b6c4c40f35d5c90788c562313b3740f3aa7de3b682f49669d |
Hashes for concept_formation-0.3.6.dev36-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97599a4625056b0f8f78fdbd9e3bfda2fe5901b21fb46555992c8126dd18c20d |
|
MD5 | 2330c6ce04cb70dbd964f27313710e9a |
|
BLAKE2b-256 | 616d052e5221235303bc65c87cd9cbb6b52f411db60abd04789a357f4462cb0e |