
# codebert-base-Password_Strength_Classifier

This model is a fine-tuned version of [microsoft/codebert-base](https://huggingface.co/microsoft/codebert-base).

It achieves the following results on the evaluation set:
- Loss: 0.0077
- Accuracy: 0.9975
- F1
  - Weighted: 0.9975
  - Micro: 0.9975
  - Macro: 0.9963
- Recall
  - Weighted: 0.9975
  - Micro: 0.9975
  - Macro: 0.9978
- Precision
  - Weighted: 0.9975
  - Macro: 0.9948
  - Micro: 0.9975

## Model description

The model classifies passwords as one of the following:
1) Weak
2) Medium
3) Strong

For more information on how it was created, check out the following link: https://github.com/DunnBC22/NLP_Projects/blob/main/Password%20Strength%20Classification%20(MC)/CodeBERT-Base%20-%20Password_Classifier.ipynb

## Intended uses & limitations

This is intended to show the possibilities. It is mainly limited by the input data.

## Training and evaluation data

Dataset Source: https://www.kaggle.com/datasets/bhavikbb/password-strength-classifier-dataset

## Training procedure

### Training hyperparameters

The following hyperparameters were used during training:
- learning_rate: 2e-05
- train_batch_size: 64
- eval_batch_size: 64
- seed: 42
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- num_epochs: 3

### Training results

| Training Loss | Epoch | Step  | Validation Loss | Accuracy | Weighted F1 | Micro F1 | Macro F1 | Weighted Recall | Micro Recall | Macro Recall | Weighted Precision | Micro Precision | Macro Precision |
|:-------------:|:-----:|:-----:|:---------------:|:--------:|:-----------:|:--------:|:--------:|:---------------:|:------------:|:------------:|:------------------:|:---------------:|:---------------:|
| 0.0438        | 1.0   | 8371  | 0.0112          | 0.9956   | 0.9956      | 0.9956   | 0.9935   | 0.9956          | 0.9956       | 0.9963       | 0.9957             | 0.9956          | 0.9908          |
| 0.0133        | 2.0   | 16742 | 0.0092          | 0.9966   | 0.9967      | 0.9966   | 0.9951   | 0.9966          | 0.9966       | 0.9966       | 0.9967             | 0.9966          | 0.9935          |
| 0.0067        | 3.0   | 25113 | 0.0077          | 0.9975   | 0.9975      | 0.9975   | 0.9963   | 0.9975          | 0.9975       | 0.9978       | 0.9975             | 0.9975          | 0.9948          |

### Framework versions

- Transformers 4.27.4
- Pytorch 2.0.0
- Datasets 2.11.0
- Tokenizers 0.13.3

{"tags": ["generated_from_trainer"], "metrics": ["accuracy"], "model-index": [{"name": "codebert-base-Password_Strength_Classifier", "results": []}]}
transformers pytorch tensorboard roberta text-classification generated_from_trainer autotrain_compatible endpoints_compatible has_space region:us
TAGS
#transformers #pytorch #tensorboard #roberta #text-classification #generated_from_trainer #autotrain_compatible #endpoints_compatible #has_space #region-us 

codebert-base-Password\_Strength\_Classifier
============================================


This model is a fine-tuned version of microsoft/codebert-base.


It achieves the following results on the evaluation set:


* Loss: 0.0077
* Accuracy: 0.9975
* F1
	+ Weighted: 0.9975
	+ Micro: 0.9975
	+ Macro: 0.9963
* Recall
	+ Weighted: 0.9975
	+ Micro: 0.9975
	+ Macro: 0.9978
* Precision
	+ Weighted: 0.9975
	+ Macro: 0.9948
	+ Micro: 0.9975


Model description
-----------------


The model classifies passwords as one of the following:


1. Weak
2. Medium
3. Strong


For more information on how it was created, check out the following link: URL


Intended uses & limitations
---------------------------


This is intended to show the possibilities. It is mainly limited by the input data.


Training and evaluation data
----------------------------


Dataset Source: URL


Training procedure
------------------


### Training hyperparameters


The following hyperparameters were used during training:


* learning\_rate: 2e-05
* train\_batch\_size: 64
* eval\_batch\_size: 64
* seed: 42
* optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
* lr\_scheduler\_type: linear
* num\_epochs: 3


### Training results



### Framework versions


* Transformers 4.27.4
* Pytorch 2.0.0
* Datasets 2.11.0
* Tokenizers 0.13.3



### Training hyperparameters


The following hyperparameters were used during training:


* learning\_rate: 2e-05
* train\_batch\_size: 64
* eval\_batch\_size: 64
* seed: 42
* optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
* lr\_scheduler\_type: linear
* num\_epochs: 3 ### Training results ### Framework versions


* Transformers 4.27.4
* Pytorch 2.0.0
* Datasets 2.11.0
* Tokenizers 0.13.3
TAGS
#transformers #pytorch #tensorboard #roberta #text-classification #generated_from_trainer #autotrain_compatible #endpoints_compatible #has_space #region-us 
 ### Training hyperparameters


The following hyperparameters were used during training:


* learning\_rate: 2e-05
* train\_batch\_size: 64
* eval\_batch\_size: 64
* seed: 42
* optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
* lr\_scheduler\_type: linear
* num\_epochs: 3 ### Training results ### Framework versions


* Transformers 4.27.4
* Pytorch 2.0.0
* Datasets 2.11.0
* Tokenizers 0.13.3