数据集:
yuweiyin/FinBench
[Introduction]
The following table reports the task description, dataset name (for datasets loading), the number and positive ratio of train/validation/test sets, the number of classification classes (all is 2), and the number of features.
Task | Description | Dataset | #Classes | #Features | #Train [Pos%] | #Val [Pos%] | #Test [Pos%] |
---|---|---|---|---|---|---|---|
Credit-card Default | Predict whether a user will default on the credit card or not. | cd1 | 2 | 9 | 2738 [7.0%] | 305 [6.9%] | 1305 [6.2%] |
cd2 | 2 | 23 | 18900 [22.3%] | 2100 [22.3%] | 9000 [21.8%] | ||
Loan Default | Predict whether a user will default on the loan or not. | ld1 | 2 | 12 | 2118 [8.9%] | 236 [8.5%] | 1010 [9.0%] |
ld2 | 2 | 11 | 18041 [21.7%] | 2005 [20.8%] | 8592 [21.8%] | ||
ld3 | 2 | 35 | 142060 [21.6%] | 15785 [21.3%] | 67648 [22.1%] | ||
Credit-card Fraud | Predict whether a user will commit fraud or not. | cf1 | 2 | 19 | 5352 [0.67%] | 595 [1.1%] | 2550 [0.90%] |
cf2 | 2 | 120 | 5418 [6.0%] | 603 [7.3%] | 2581 [6.0%] | ||
Customer Churn | Predict whether a user will churn or not. (customer attrition) | cc1 | 2 | 9 | 4189 [23.5%] | 466 [22.7%] | 1995 [22.4%] |
cc2 | 2 | 10 | 6300 [20.8%] | 700 [20.6%] | 3000 [19.47%] | ||
cc3 | 2 | 21 | 4437 [26.1%] | 493 [24.9%] | 2113 [27.8%] |
Task | #Train | #Val | #Test |
---|---|---|---|
Credit-card Default | 21638 | 2405 | 10305 |
Loan Default | 162219 | 18026 | 77250 |
Credit-card Fraud | 10770 | 1198 | 5131 |
Customer Churn | 14926 | 1659 | 7108 |
Total | 209553 | 23288 | 99794 |
Task | Dataset | Source |
---|---|---|
Credit-card Default | cd1 | Kaggle |
cd2 | Kaggle | |
Loan Default | ld1 | Kaggle |
ld2 | Kaggle | |
ld3 | Kaggle | |
Credit-card Fraud | cf1 | Kaggle |
cf2 | Kaggle | |
Customer Churn | cc1 | Kaggle |
cc2 | Kaggle | |
cc3 | Kaggle |
import datasets datasets.Features( { "X_ml": [datasets.Value(dtype="float")], # (The tabular data array of the current instance) "X_ml_unscale": [datasets.Value(dtype="float")], # (Scaled tabular data array of the current instance) "y": datasets.Value(dtype="int64"), # (The label / ground-truth) "num_classes": datasets.Value("int64"), # (The total number of classes) "num_features": datasets.Value("int64"), # (The total number of features) "num_idx": [datasets.Value("int64")], # (The indices of the numerical datatype columns) "cat_idx": [datasets.Value("int64")], # (The indices of the categorical datatype columns) "cat_dim": [datasets.Value("int64")], # (The dimension of each categorical column) "cat_str": [[datasets.Value("string")]], # (The category names of categorical columns) "col_name": [datasets.Value("string")], # (The name of each column) "X_instruction_for_profile": datasets.Value("string"), # instructions (from tabular data) for profiles "X_profile": datasets.Value("string"), # customer profiles built from instructions via LLMs } )
# OR run huggingface-cli login from huggingface_hub import login hf_token = "hf_xxx" # TODO: set a valid HuggingFace access token for loading datasets/models login(token=hf_token)
from datasets import load_dataset ds_name = "cd1" # change the dataset name here dataset = load_dataset("yuweiyin/FinBench", ds_name)
from datasets import load_dataset ds_name = "cd1" # change the dataset name here dataset = load_dataset("yuweiyin/FinBench", ds_name) train_set = dataset["train"] if "train" in dataset else [] validation_set = dataset["validation"] if "validation" in dataset else [] test_set = dataset["test"] if "test" in dataset else []
from datasets import load_dataset ds_name = "cd1" # change the dataset name here dataset = load_dataset("yuweiyin/FinBench", ds_name) train_set = dataset["train"] if "train" in dataset else [] for train_instance in train_set: X_ml = train_instance["X_ml"] # List[float] (The tabular data array of the current instance) X_ml_unscale = train_instance["X_ml_unscale"] # List[float] (Scaled tabular data array of the current instance) y = train_instance["y"] # int (The label / ground-truth) num_classes = train_instance["num_classes"] # int (The total number of classes) num_features = train_instance["num_features"] # int (The total number of features) num_idx = train_instance["num_idx"] # List[int] (The indices of the numerical datatype columns) cat_idx = train_instance["cat_idx"] # List[int] (The indices of the categorical datatype columns) cat_dim = train_instance["cat_dim"] # List[int] (The dimension of each categorical column) cat_str = train_instance["cat_str"] # List[List[str]] (The category names of categorical columns) col_name = train_instance["col_name"] # List[str] (The name of each column) X_instruction_for_profile = train_instance["X_instruction_for_profile"] # instructions for building profiles X_profile = train_instance["X_profile"] # customer profiles built from instructions via LLMs
[Contributions]
yin2023finbench
[References]