Metadata-Version: 2.1
Name: jrcf
Version: 0.1.0.dev0
Summary: AWS's Java Rancom Cut Forest
Author-Email: Dowon <ks2515@naver.com>
License: Apache-2.0
Requires-Python: >=3.10
Requires-Dist: jpype1
Requires-Dist: numpy
Provides-Extra: dev
Requires-Dist: ruff; extra == "dev"
Requires-Dist: pre-commit-uv; extra == "dev"
Requires-Dist: tqdm; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: hypothesis; extra == "test"
Requires-Dist: joblib; extra == "test"
Requires-Dist: cloudpickle; extra == "test"
Requires-Dist: skops; extra == "test"
Description-Content-Type: text/markdown

# JRCF

Java Random Cut Forest

https://github.com/aws/random-cut-forest-by-aws 저장소의 `python_rcf_wrapper`를 참고하여 파이썬에서 실행할 수 있도록 구성한 Random Cut Forest 알고리즘입니다.

## Requirements

- Java 8 or later

## Installation

```sh
pip install jrcf
```

## Usage

```python
import numpy as np
from tqdm.auto import tqdm

from jrcf.rcf import RandomCutForestModel

dim = 5
forest = RandomCutForestModel(dimensions=dim)
TEST_DATA = np.random.normal(size=(100000, dim))

for point in tqdm(TEST_DATA):
    score = forest.score(point)
    forest.update(point)

pp = [999] * dim
print(forest.score(pp))
```
