---
id: "spambase"
slug: "spambase"
name: "Spambase"
domain: "Cybersecurity & IT Infrastructure"
taskType: "binary_classification"
numRows: 4601
numColumns: 58
targetColumn: "is_spam"
primaryMetric: "1 - AUC Error"
primaryScore: "0.0075"
parquetUrl: "https://huggingface.co/datasets/carlahq/demo-tabular-benchmarks/resolve/main/data/spambase/spambase.parquet"
spreadsheetUrl: "https://docs.google.com/spreadsheets/d/1Aq2nYu_TYJt1Ye8ZCJIJVmdjABULD-lavKaCG2qpwm4/edit?usp=sharing"
canonicalUrl: "https://carlahq.eu/datasets/spambase"
---

# Dataset: Spambase (spambase)

> The Spambase dataset contains 4,601 email records characterized by word, character, and capital letter run-length frequencies to classify incoming messages as spam or legitimate ham.

## Dataset Overview

| Attribute | Value |
| :--- | :--- |
| **Task Type** | `binary_classification` |
| **Business Domain** | Cybersecurity & IT Infrastructure |
| **Target Column** | `is_spam` |
| **Rows (Instances)** | 4,601 |
| **Features (Columns)** | 58 |
| **Primary Evaluation Metric** | 1 - AUC Error |
| **Best Benchmark Score** | **0.0075** |

## Business Decision Context
**Context:** Modern enterprise email systems face high volumes of unsolicited commercial emails, phishing attempts, and bulk advertisements that congest mail servers, drain employee productivity, and expose corporate infrastructure to security risks.
**Objective:** Classify incoming emails in real-time as spam (1) or non-spam/ham (0) based on token frequencies, character distributions, and capitalization patterns.
**Decision Impact:** Effective automated filtering saves thousands of knowledge worker hours while mitigating cyber risk; however, false positives (flagging critical business communications as spam) create immediate business disruption, requiring calibrated high-precision decision thresholds.

## Feature Schema
| Column Name | Data Type | Role | Distinct Values | Missing Values (%) | Description |
| :--- | :--- | :--- | :--- | :--- | :--- |
| `is_spam` | `numeric` | target | 2 | 0 | Binary ground-truth email classification: 1 for spam (unsolicited commercial email), 0 for legitimate email (ham). |
| `word_freq_make` | `numeric` | feature | 142 | 0 | Percentage of words in the email matching 'make' (100 * count / total words). |
| `word_freq_address` | `numeric` | feature | 171 | 0 | Percentage of words in the email matching 'address'. |
| `word_freq_all` | `numeric` | feature | 214 | 0 | Percentage of words in the email matching 'all'. |
| `word_freq_3d` | `numeric` | feature | 43 | 0 | Percentage of words in the email matching '3d'. |
| `word_freq_our` | `numeric` | feature | 255 | 0 | Percentage of words in the email matching 'our'. |
| `word_freq_over` | `numeric` | feature | 141 | 0 | Percentage of words in the email matching 'over'. |
| `word_freq_remove` | `numeric` | feature | 173 | 0 | Percentage of words in the email matching 'remove' (common unsubscribe spam indicator). |
| `word_freq_internet` | `numeric` | feature | 170 | 0 | Percentage of words in the email matching 'internet'. |
| `word_freq_order` | `numeric` | feature | 144 | 0 | Percentage of words in the email matching 'order'. |
| `word_freq_mail` | `numeric` | feature | 245 | 0 | Percentage of words in the email matching 'mail'. |
| `word_freq_receive` | `numeric` | feature | 113 | 0 | Percentage of words in the email matching 'receive'. |
| `word_freq_will` | `numeric` | feature | 316 | 0 | Percentage of words in the email matching 'will'. |
| `word_freq_people` | `numeric` | feature | 158 | 0 | Percentage of words in the email matching 'people'. |
| `word_freq_report` | `numeric` | feature | 133 | 0 | Percentage of words in the email matching 'report'. |
| `word_freq_addresses` | `numeric` | feature | 118 | 0 | Percentage of words in the email matching 'addresses'. |
| `word_freq_free` | `numeric` | feature | 253 | 0 | Percentage of words in the email matching 'free' (frequent promotional indicator). |
| `word_freq_business` | `numeric` | feature | 197 | 0 | Percentage of words in the email matching 'business'. |
| `word_freq_email` | `numeric` | feature | 229 | 0 | Percentage of words in the email matching 'email'. |
| `word_freq_you` | `numeric` | feature | 575 | 0 | Percentage of words in the email matching 'you'. |
| `word_freq_credit` | `numeric` | feature | 148 | 0 | Percentage of words in the email matching 'credit'. |
| `word_freq_your` | `numeric` | feature | 401 | 0 | Percentage of words in the email matching 'your'. |
| `word_freq_font` | `numeric` | feature | 99 | 0 | Percentage of words in the email matching 'font' (HTML formatting artifact). |
| `word_freq_000` | `numeric` | feature | 164 | 0 | Percentage of words in the email matching '000' (large monetary amount indicator). |
| `word_freq_money` | `numeric` | feature | 143 | 0 | Percentage of words in the email matching 'money'. |
| `word_freq_hp` | `numeric` | feature | 395 | 0 | Percentage of words in the email matching 'hp' (Hewlett-Packard workplace indicator). |
| `word_freq_hpl` | `numeric` | feature | 281 | 0 | Percentage of words in the email matching 'hpl' (HP Labs workplace indicator). |
| `word_freq_george` | `numeric` | feature | 240 | 0 | Percentage of words in the email matching 'george' (researcher personal identifier). |
| `word_freq_650` | `numeric` | feature | 200 | 0 | Percentage of words in the email matching '650' (Palo Alto / Bay Area area code). |
| `word_freq_lab` | `numeric` | feature | 156 | 0 | Percentage of words in the email matching 'lab'. |
| `word_freq_labs` | `numeric` | feature | 179 | 0 | Percentage of words in the email matching 'labs'. |
| `word_freq_telnet` | `numeric` | feature | 128 | 0 | Percentage of words in the email matching 'telnet'. |
| `word_freq_857` | `numeric` | feature | 106 | 0 | Percentage of words in the email matching '857'. |
| `word_freq_data` | `numeric` | feature | 184 | 0 | Percentage of words in the email matching 'data'. |
| `word_freq_415` | `numeric` | feature | 110 | 0 | Percentage of words in the email matching '415' (San Francisco area code). |
| `word_freq_85` | `numeric` | feature | 177 | 0 | Percentage of words in the email matching '85'. |
| `word_freq_technology` | `numeric` | feature | 159 | 0 | Percentage of words in the email matching 'technology'. |
| `word_freq_1999` | `numeric` | feature | 188 | 0 | Percentage of words in the email matching '1999'. |
| `word_freq_parts` | `numeric` | feature | 53 | 0 | Percentage of words in the email matching 'parts'. |
| `word_freq_pm` | `numeric` | feature | 163 | 0 | Percentage of words in the email matching 'pm'. |
| `word_freq_direct` | `numeric` | feature | 125 | 0 | Percentage of words in the email matching 'direct'. |
| `word_freq_cs` | `numeric` | feature | 108 | 0 | Percentage of words in the email matching 'cs' (Computer Science indicator). |
| `word_freq_meeting` | `numeric` | feature | 186 | 0 | Percentage of words in the email matching 'meeting'. |
| `word_freq_original` | `numeric` | feature | 136 | 0 | Percentage of words in the email matching 'original'. |
| `word_freq_project` | `numeric` | feature | 160 | 0 | Percentage of words in the email matching 'project'. |
| `word_freq_re` | `numeric` | feature | 230 | 0 | Percentage of words in the email matching 're' (email reply prefix). |
| `word_freq_edu` | `numeric` | feature | 227 | 0 | Percentage of words in the email matching 'edu' (academic domain suffix). |
| `word_freq_table` | `numeric` | feature | 38 | 0 | Percentage of words in the email matching 'table'. |
| `word_freq_conference` | `numeric` | feature | 106 | 0 | Percentage of words in the email matching 'conference'. |
| `char_freq_semicolon` | `numeric` | feature | 313 | 0 | Percentage of characters in the email matching semicolon ';'. |
| `char_freq_parenthesis_left` | `numeric` | feature | 641 | 0 | Percentage of characters in the email matching opening parenthesis '('. |
| `char_freq_bracket_left` | `numeric` | feature | 225 | 0 | Percentage of characters in the email matching opening square bracket '['. |
| `char_freq_exclamation` | `numeric` | feature | 964 | 0 | Percentage of characters in the email matching exclamation mark '!' (promotional enthusiasm marker). |
| `char_freq_dollar` | `numeric` | feature | 504 | 0 | Percentage of characters in the email matching dollar sign '$' (financial incentive marker). |
| `char_freq_hash` | `numeric` | feature | 316 | 0 | Percentage of characters in the email matching hash '#'. |
| `capital_run_length_average` | `numeric` | feature | 2,161 | 0 | Average length of uninterrupted sequences of capital letters. |
| `capital_run_length_longest` | `numeric` | feature | 271 | 0 | Length of the longest uninterrupted sequence of capital letters. |
| `capital_run_length_total` | `numeric` | feature | 919 | 0 | Total sum of all uppercase characters occurring across consecutive capital sequences. |

## Empirical Benchmark Leaderboard
| Rank | Algorithm / Model | Model Family | Runtime | Accuracy | ROC AUC | F1-Score |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| 1 | **Google TabFM v1.0** | Tabular Foundation Model | PyTorch/Python | **96.65%** | 0.9934 | 0.9576 |
| 2 | **EXAONE Tabular** | Tabular Foundation Model | PyTorch/Python | **96.52%** | 0.9924 | 0.9556 |
| 3 | **Carla Engine (TabICLv2 WebGPU)** | Tabular Foundation Model | Browser | **96.51%** | 0.9925 | 0.9556 |
| 4 | **Full TabICLv2 (PyTorch Reference)** | Tabular Foundation Model | PyTorch/Python | **96.46%** | 0.9925 | 0.9550 |
| 5 | **nanotabicl Vanilla** | Tabular Foundation Model | PyTorch/Python | **96.46%** | 0.9924 | 0.9549 |
| 6 | **Streaming nanotabicl** | Tabular Foundation Model | PyTorch/Python | **96.39%** | 0.9924 | 0.9542 |
| 7 | **TabPFN v3** | Tabular Foundation Model | PyTorch/Python | **96.25%** | 0.9915 | 0.9525 |
| 8 | **RandomForest** | Random Forest | Python | **95.61%** | 0.9882 | 0.9560 |
| 9 | **AdaBoostM1 J48** | AdaBoost | Python | **95.07%** | 0.9811 | 0.9506 |
| 10 | **RandomRules** | Machine Learning Model | Python | **94.72%** | 0.9827 | 0.9471 |
| 11 | **RandomSubSpace REPTree** | Decision Tree | Python | **94.39%** | 0.9812 | 0.9437 |
| 12 | **AdaBoostM1 REPTree** | AdaBoost | Python | **94.37%** | 0.9828 | 0.9437 |
| 13 | **AttributeSelectedClassifier RandomForest** | Random Forest | Python | **94.28%** | 0.9782 | 0.9428 |
| 14 | **Bagging JRip** | Bagging Ensemble | Python | **94.20%** | 0.9726 | 0.9418 |
| 15 | **Bagging J48** | Decision Tree | Python | **94.18%** | 0.9774 | 0.9416 |

### Repeated Cross-Validation Fold Scores (TabICLv2 Reference)
| Fold | Train Samples | Test Samples | Metric Score | Latency |
| :--- | :--- | :--- | :--- | :--- |
| Fold 0 | 3067 | 1534 | 0.0084 | 3705ms |
| Fold 1 | 3067 | 1534 | 0.0047 | 3666ms |
| Fold 2 | 3068 | 1533 | 0.0101 | 3657ms |
| Fold 0 | 3067 | 1534 | 0.0072 | 3676ms |
| Fold 1 | 3067 | 1534 | 0.0066 | 3655ms |
| Fold 2 | 3068 | 1533 | 0.0087 | 3618ms |
| Fold 0 | 3067 | 1534 | 0.0077 | 3645ms |
| Fold 1 | 3067 | 1534 | 0.0100 | 3631ms |
| Fold 2 | 3068 | 1533 | 0.0045 | 3663ms |

## Provenance & Downloadable Artifacts
- **Dataset Parquet File:** [Direct Parquet Download](https://huggingface.co/datasets/carlahq/demo-tabular-benchmarks/resolve/main/data/spambase/spambase.parquet)
- **Google Sheets Interactive Demo:** [Open in Google Sheets](https://docs.google.com/spreadsheets/d/1Aq2nYu_TYJt1Ye8ZCJIJVmdjABULD-lavKaCG2qpwm4/edit?usp=sharing)
- **OpenML Source:** [OpenML Dataset](https://www.openml.org/d/44)
- **Academic Paper / Citation:** [Read Research Paper](https://archive.ics.uci.edu/dataset/94/spambase)
- **Canonical HTML Page:** [https://carlahq.eu/datasets/spambase](https://carlahq.eu/datasets/spambase)
