adaptivetesting
adaptivetesting is a Python package for computerized adaptive testing that can be used to simulate and implement custom adaptive tests in real-world testing scenarios.
Getting Started
Required Python version: >= 3.11 (other versions may work, but they are not officially supported)
pip install adaptivetesting
If you want to install the current development version, you can do so by running the following command:
pip install git+https://github.com/condecon/adaptivetesting
Features
- IRT-Models:
- 4PL
- simplified derivates (e.g., 3PL, Rasch model)
- Ability estimators:
- Maximum Likelihood Estimation
- Bayes Modal
- Item selection algorithm:
- Urry’s rule
- Stopping criteria:
- test length
- ability estimation standard error
- Test results output formats
- SQLITE
- Pickle
- Generate response patterns using existing items pool for simulations
- Functions and wrappers for CAT simulations and application implementations
Any functionality can be modified and extended.
Custom testing procedures
Custom testing procedures can be implemented by implementing
the abstract class AdaptiveTest
.
Any existing functionality can be overridden while still
retaining full compatibility with the package’s functionality.
For more information, please consult the documentation for the AdaptiveTest
class.
Package structure
submodule | description |
---|---|
data | data management and processing of test results |
implementations | concrete implementations of the adaptive process, provides actual |
math | mathematical utilities and functions, such as estimators, item selection, test information |
models | data model definitions and structures used in the package |
services | interfaces that concrete implementations inherit from |
simulations | functions and classes used in CAT simulation |
tests | Unit test for the entire package |
GitHub
To find out more, take a look at the package’s GitHub repo.