semvec/pypi-packages huggingface dataset:
osbnr 0.1.2
One Side Behavioral Noise Reduction algorithm implementation

# OSBNR: One Side Behavioral Noise Reduction

OSBNR (One Side Behavioral Noise Reduction) is an approach developed to deal with the problem of class imbalance in the presence of behavioral noise. This method is based on two stages: clustering and reduction. In the clustering stage, k-means algorithm is used to group similar instances of the minority class into multiple behavior clusters, each with distinct characteristics in the high-dimensional feature space. In the reduction stage, instances of the majority class, considered as behavioral noise, which overlap with the behavior clusters of the minority class are selected and eliminated.

The main steps of OSBNR approach are:

1. Separate: Separate the majority class and minority class from the original training dataset.
2. Clustering: Apply k-means clustering to group similar minority class instances into behavior clusters.
3. Reduction: Eliminate the noisy majority class instances that overlap with the behavior clusters of the minority class.
4. Combination: Combine the reduced majority class instances with the minority class instances to form a new training dataset.

Accurate identification and elimination of these instances maximize the visibility of the minority class instances and at the same time minimize excessive elimination of data.
  
This approach has been applied to various domains, including fraud detection, anomaly detection, and imbalanced datasets.

## Usage

To use OSBNR, import the OSBNR class from the osbnr module and create an instance of the class with the desired number of clusters (k). Then, call the fit_resample method of the OSBNR instance, passing in the feature matrix (X) and label vector (y) of the original dataset. The method will return the balanced feature matrix and label vector.

    from osbnr import OSBNR

    osbnr = OSBNR(k=5)  # Create an instance of the OSBNR class with k=5 clusters
    X_resampled, y_resampled = osbnr.fit_resample(X, y)  # Resample the dataset using OSBNR

## Installation

To install OSBNR, use pip:

    pip install osbnr

## License

This project is licensed under the GNU License - see the LICENSE file for details.

## Publications 

- El Hajjami, S., Malki, J., Bouju, A., & Berrada, M. (2020, October). A machine learning based approach to reduce behavioral noise problem in an imbalanced data: application to a fraud detection. In 2020 International Conference on Intelligent Data Science Technologies and Applications (IDSTA) (pp. 11-20). IEEE.

- El Hajjami, S., Malki, J., Berrada, M., & Fourka, B. (2020, November). Machine learning for anomaly detection. performance study considering anomaly distribution in an imbalanced dataset. In 2020 5th International Conference on Cloud Computing and Artificial Intelligence: Technologies and Applications (CloudTech) (pp. 1-8). IEEE.

- El Hajjami, S., Malki, J., Bouju, A., & Berrada, M. (2021). Machine Learning Facing Behavioral Noise Problem in an Imbalanced Data Using One Side Behavioral Noise Reduction: Application to a Fraud Detection. International Journal of Computer and Information Engineering, 15(3), 194-205.
statusDadosjusbr 0.3
Contém os status de execução dos coletores do DadosjusBr

# Status Package

Esse repositório tem o objetivo de padronizar os status de execução dos coletores escritos em Go e Python.

## Status disponíveis

Abaixo segue uma tabela com os status disponíveis:

|Nº| Status code | Significado |
|--|-------------|-------------|
|0|OK|O processo ocorreu sem erros.|
|1|InvalidParameters|Deve ser utilizado em caso de parâmetros inválidos, como ano e mês.|
|2|SystemError|Deve ser usado em casos como falha ao criar o diretório dos arquivos ou na leitura de arquivos.|
|3|ConnectionError|Deve ser usado em problemas de conexão, como timeout ou serviço fora do ar.|
|4|DataUnavailable|A informação solicitada não foi encontrada, provavelmente o órgão não disponibilizou ainda.|
|5|InvalidFile|Deve ser usado para cenários onde o arquivo não é o esperado ou em caso de falhas na extração de dados.|
|6|Unknown|Deve ser usando quando um erro inesperado ocorrer.|
|7|InvalidInput|A entrada do estágio é inválida.|
|8|OutputError|Quando o estágio não for capaz de imprimir a saída correta.|
|9|DeadlineExceeded|Quando uma determinada ação não foi concluída dentro do prazo esperado.|
______________

## Exemplo de uso em Go
```
package main

import (
	"fmt"

	"github.com/dadosjusbr/status"
)

func myFunc() *status.Error {
	return status.NewError(status.DataUnavailable, fmt.Errorf("Este é um exemplo!"))
}

func main() {
	err := myFunc()
	status.ExitFromError(err)
}
```

## Exemplo de uso em Python

```
import status

def myfunc():
    return status.Error(status.DataUnavailable, "Este é um exemplo!")

err = myfunc()
status.exit_from_error(err)
```
## Atulizando a lib no pypi

Antes, faz-se necessário atualizar o número da versão em ./setup.py #L9 (visar versionamento semântico).
É importante atualizar a versão no PyPi para que as últimas modificações estejam presentes no pacote a ser baixado com pip.

```sh
    $ python3 setup.py sdist
    $ python3 -m twine upload --skip-existing dist/*
```