is_spamOpenML #44 ↗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.
Business Objective: Spambase
01Business 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.
02Analytical Objective
Classify incoming emails in real-time as spam (1) or non-spam/ham (0) based on token frequencies, character distributions, and capitalization patterns.
03Economic & 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.
Classic gradient-boosted trees (XGBoost, LightGBM) and Random Forests typically reach 94%–95.5% accuracy on Spambase by exploiting non-linear interactions across capital run-lengths and spam keywords. Zero-shot in-context tabular foundation models (TabICL / Carla) achieve competitive discrimination out-of-the-box directly within spreadsheet workflows without manual feature scaling or threshold tuning.
Target & Feature Column Definitions
Exhaustive business definitions, measurement units, roles, and target variables across all 58 columns.
| Col | Variable / Feature Name | Role | Type | Unit / Scale | Description & Business Meaning |
|---|---|---|---|---|---|
| A | is_spamSpam Classification | TARGET | NUM | — | Binary ground-truth email classification: 1 for spam (unsolicited commercial email), 0 for legitimate email (ham). |
| B | word_freq_makeWord Frequency: 'make' | Feature | NUM | % | Percentage of words in the email matching 'make' (100 * count / total words). |
| C | word_freq_addressWord Frequency: 'address' | Feature | NUM | % | Percentage of words in the email matching 'address'. |
| D | word_freq_allWord Frequency: 'all' | Feature | NUM | % | Percentage of words in the email matching 'all'. |
| E | word_freq_3dWord Frequency: '3d' | Feature | NUM | % | Percentage of words in the email matching '3d'. |
| F | word_freq_ourWord Frequency: 'our' | Feature | NUM | % | Percentage of words in the email matching 'our'. |
| G | word_freq_overWord Frequency: 'over' | Feature | NUM | % | Percentage of words in the email matching 'over'. |
| H | word_freq_removeWord Frequency: 'remove' | Feature | NUM | % | Percentage of words in the email matching 'remove' (common unsubscribe spam indicator). |
| I | word_freq_internetWord Frequency: 'internet' | Feature | NUM | % | Percentage of words in the email matching 'internet'. |
| J | word_freq_orderWord Frequency: 'order' | Feature | NUM | % | Percentage of words in the email matching 'order'. |
| K | word_freq_mailWord Frequency: 'mail' | Feature | NUM | % | Percentage of words in the email matching 'mail'. |
| L | word_freq_receiveWord Frequency: 'receive' | Feature | NUM | % | Percentage of words in the email matching 'receive'. |
| M | word_freq_willWord Frequency: 'will' | Feature | NUM | % | Percentage of words in the email matching 'will'. |
| N | word_freq_peopleWord Frequency: 'people' | Feature | NUM | % | Percentage of words in the email matching 'people'. |
| O | word_freq_reportWord Frequency: 'report' | Feature | NUM | % | Percentage of words in the email matching 'report'. |
| P | word_freq_addressesWord Frequency: 'addresses' | Feature | NUM | % | Percentage of words in the email matching 'addresses'. |
| Q | word_freq_freeWord Frequency: 'free' | Feature | NUM | % | Percentage of words in the email matching 'free' (frequent promotional indicator). |
| R | word_freq_businessWord Frequency: 'business' | Feature | NUM | % | Percentage of words in the email matching 'business'. |
| S | word_freq_emailWord Frequency: 'email' | Feature | NUM | % | Percentage of words in the email matching 'email'. |
| T | word_freq_youWord Frequency: 'you' | Feature | NUM | % | Percentage of words in the email matching 'you'. |
| U | word_freq_creditWord Frequency: 'credit' | Feature | NUM | % | Percentage of words in the email matching 'credit'. |
| V | word_freq_yourWord Frequency: 'your' | Feature | NUM | % | Percentage of words in the email matching 'your'. |
| W | word_freq_fontWord Frequency: 'font' | Feature | NUM | % | Percentage of words in the email matching 'font' (HTML formatting artifact). |
| X | word_freq_000Word Frequency: '000' | Feature | NUM | % | Percentage of words in the email matching '000' (large monetary amount indicator). |
| Y | word_freq_moneyWord Frequency: 'money' | Feature | NUM | % | Percentage of words in the email matching 'money'. |
| Z | word_freq_hpWord Frequency: 'hp' | Feature | NUM | % | Percentage of words in the email matching 'hp' (Hewlett-Packard workplace indicator). |
| AA | word_freq_hplWord Frequency: 'hpl' | Feature | NUM | % | Percentage of words in the email matching 'hpl' (HP Labs workplace indicator). |
| AB | word_freq_georgeWord Frequency: 'george' | Feature | NUM | % | Percentage of words in the email matching 'george' (researcher personal identifier). |
| AC | word_freq_650Word Frequency: '650' | Feature | NUM | % | Percentage of words in the email matching '650' (Palo Alto / Bay Area area code). |
| AD | word_freq_labWord Frequency: 'lab' | Feature | NUM | % | Percentage of words in the email matching 'lab'. |
| AE | word_freq_labsWord Frequency: 'labs' | Feature | NUM | % | Percentage of words in the email matching 'labs'. |
| AF | word_freq_telnetWord Frequency: 'telnet' | Feature | NUM | % | Percentage of words in the email matching 'telnet'. |
| AG | word_freq_857Word Frequency: '857' | Feature | NUM | % | Percentage of words in the email matching '857'. |
| AH | word_freq_dataWord Frequency: 'data' | Feature | NUM | % | Percentage of words in the email matching 'data'. |
| AI | word_freq_415Word Frequency: '415' | Feature | NUM | % | Percentage of words in the email matching '415' (San Francisco area code). |
| AJ | word_freq_85Word Frequency: '85' | Feature | NUM | % | Percentage of words in the email matching '85'. |
| AK | word_freq_technologyWord Frequency: 'technology' | Feature | NUM | % | Percentage of words in the email matching 'technology'. |
| AL | word_freq_1999Word Frequency: '1999' | Feature | NUM | % | Percentage of words in the email matching '1999'. |
| AM | word_freq_partsWord Frequency: 'parts' | Feature | NUM | % | Percentage of words in the email matching 'parts'. |
| AN | word_freq_pmWord Frequency: 'pm' | Feature | NUM | % | Percentage of words in the email matching 'pm'. |
| AO | word_freq_directWord Frequency: 'direct' | Feature | NUM | % | Percentage of words in the email matching 'direct'. |
| AP | word_freq_csWord Frequency: 'cs' | Feature | NUM | % | Percentage of words in the email matching 'cs' (Computer Science indicator). |
| AQ | word_freq_meetingWord Frequency: 'meeting' | Feature | NUM | % | Percentage of words in the email matching 'meeting'. |
| AR | word_freq_originalWord Frequency: 'original' | Feature | NUM | % | Percentage of words in the email matching 'original'. |
| AS | word_freq_projectWord Frequency: 'project' | Feature | NUM | % | Percentage of words in the email matching 'project'. |
| AT | word_freq_reWord Frequency: 're' | Feature | NUM | % | Percentage of words in the email matching 're' (email reply prefix). |
| AU | word_freq_eduWord Frequency: 'edu' | Feature | NUM | % | Percentage of words in the email matching 'edu' (academic domain suffix). |
| AV | word_freq_tableWord Frequency: 'table' | Feature | NUM | % | Percentage of words in the email matching 'table'. |
| AW | word_freq_conferenceWord Frequency: 'conference' | Feature | NUM | % | Percentage of words in the email matching 'conference'. |
| AX | char_freq_semicolonCharacter Frequency: ';' | Feature | NUM | % | Percentage of characters in the email matching semicolon ';'. |
| AY | char_freq_parenthesis_leftCharacter Frequency: '(' | Feature | NUM | % | Percentage of characters in the email matching opening parenthesis '('. |
| AZ | char_freq_bracket_leftCharacter Frequency: '[' | Feature | NUM | % | Percentage of characters in the email matching opening square bracket '['. |
| BA | char_freq_exclamationCharacter Frequency: '!' | Feature | NUM | % | Percentage of characters in the email matching exclamation mark '!' (promotional enthusiasm marker). |
| BB | char_freq_dollarCharacter Frequency: '$' | Feature | NUM | % | Percentage of characters in the email matching dollar sign '$' (financial incentive marker). |
| BC | char_freq_hashCharacter Frequency: '#' | Feature | NUM | % | Percentage of characters in the email matching hash '#'. |
| BD | capital_run_length_averageCapital Run Length: Average | Feature | NUM | characters | Average length of uninterrupted sequences of capital letters. |
| BE | capital_run_length_longestCapital Run Length: Longest | Feature | NUM | characters | Length of the longest uninterrupted sequence of capital letters. |
| BF | capital_run_length_totalCapital Run Length: Total | Feature | NUM | characters | Total sum of all uppercase characters occurring across consecutive capital sequences. |
Interactive Data Table
Explore rows, feature values, and target labels for Spambase.
TabICLv2 WebGPU Benchmark Results
Complete performance metrics on persisted IID or non-IID evaluation splits, executed 100% locally in the browser sandbox.
| Evaluation Split | Train Rows | Test Rows | Split Duration?Wall-clock inference time taken for this evaluation split running 100% locally via WebGPU.Learn more → | Accuracy?Proportion of correct test predictions across all classes.Google ML Guide & Details → | ROC-AUC?Area under the ROC curve evaluating ranking capability across all thresholds.Google ML Guide & Details → | F1 Score?Harmonic mean of Precision and Recall, robust against class imbalance.Learn more → | Precision?Proportion of predicted positives that were actually positive.Google ML Guide & Details → | Recall?Proportion of actual positive cases successfully captured.Google ML Guide & Details → |
|---|---|---|---|---|---|---|---|---|
| R1 / F1 | 3,067 | 1,534 | 11.00s | 96.15% | 0.9919 | 0.9510 | 0.9565 | 0.9455 |
| R1 / F2 | 3,067 | 1,534 | 10.92s | 97.26% | 0.9952 | 0.9653 | 0.9622 | 0.9685 |
| R1 / F3 | 3,068 | 1,533 | 10.66s | 96.15% | 0.9902 | 0.9512 | 0.9504 | 0.9520 |
| R2 / F1 | 3,067 | 1,534 | 10.88s | 96.68% | 0.9930 | 0.9575 | 0.9648 | 0.9504 |
| R2 / F2 | 3,067 | 1,534 | 10.85s | 96.54% | 0.9936 | 0.9559 | 0.9599 | 0.9520 |
| R2 / F3 | 3,068 | 1,533 | 10.68s | 96.22% | 0.9914 | 0.9523 | 0.9461 | 0.9586 |
| R3 / F1 | 3,067 | 1,534 | 11.03s | 96.35% | 0.9923 | 0.9539 | 0.9493 | 0.9587 |
| R3 / F2 | 3,067 | 1,534 | 11.04s | 95.96% | 0.9896 | 0.9482 | 0.9578 | 0.9387 |
| R3 / F3 | 3,068 | 1,533 | 10.62s | 97.26% | 0.9955 | 0.9651 | 0.9683 | 0.9619 |
| Mean ± Std | — | — | 10.85s | 96.51% ± 0.45% | 0.993 ± 0.002 | 0.956 ± 0.006 | 0.957 | 0.954 |
Foundation Models vs Traditional ML Baselines
Side-by-side evaluation of our in-browser Carla engine (WebGPU), open-source tabular foundation models, and OpenML baselines.
| Rank | Algorithm / Model | Model Family | Runtime | Predictive Accuracy?Proportion of correct test predictions across cross-validation splits.Google ML Guide & Details → | ROC-AUC?Area under the ROC curve evaluating ranking capability.Learn more → | F-Measure?Harmonic mean of precision and recall.Learn more → | Reference / Repo |
|---|---|---|---|---|---|---|---|
| #1 | Google TabFM v1.0 | Tabular Foundation Model | PyTorch/Python | 96.65% | 0.9934 | 0.9576 | google-research/tabfm ↗ |
| #2 | EXAONE Tabular | Tabular Foundation Model | PyTorch/Python | 96.52% | 0.9924 | 0.9556 | LGAI-Research/EXAONE-Tabular ↗ |
| #3 | Carla Engine (TabICLv2 WebGPU) | Tabular Foundation Model | Browser | 96.51% | 0.9925 | 0.9556 | 100% In-Browser |
| #4 | Full TabICLv2 (PyTorch Reference) | Tabular Foundation Model | PyTorch/Python | 96.46% | 0.9925 | 0.9550 | soda-inria/tabicl ↗ |
| #5 | nanotabicl Vanilla | Tabular Foundation Model | PyTorch/Python | 96.46% | 0.9924 | 0.9549 | soda-inria/nanotabicl ↗ |
| #6 | Streaming nanotabicl | Tabular Foundation Model | PyTorch/Python | 96.39% | 0.9924 | 0.9542 | soda-inria/nanotabicl ↗ |
| #7 | TabPFN v3 | Tabular Foundation Model | PyTorch/Python | 96.25% | 0.9915 | 0.9525 | PriorLabs/tabpfn ↗ |
| #8 | RandomForest | Random Forest | Python | 95.61% | 0.9882 | 0.9560 | OpenML #573705 ↗ |
| #9 | AdaBoostM1 J48 | AdaBoost | Python | 95.07% | 0.9811 | 0.9506 | OpenML #574463 ↗ |
| #10 | RandomRules | Machine Learning Model | Python | 94.72% | 0.9827 | 0.9471 | OpenML #54776 ↗ |
| #11 | RandomSubSpace REPTree | Decision Tree | Python | 94.39% | 0.9812 | 0.9437 | OpenML #578502 ↗ |
| #12 | AdaBoostM1 REPTree | AdaBoost | Python | 94.37% | 0.9828 | 0.9437 | OpenML #574502 ↗ |
| #13 | AttributeSelectedClassifier RandomForest | Random Forest | Python | 94.28% | 0.9782 | 0.9428 | OpenML #575720 ↗ |
| #14 | Bagging JRip | Bagging Ensemble | Python | 94.20% | 0.9726 | 0.9418 | OpenML #574620 ↗ |
| #15 | Bagging J48 | Decision Tree | Python | 94.18% | 0.9774 | 0.9416 | OpenML #574581 ↗ |
| #16 | Bagging REPTree | Decision Tree | Python | 94.15% | 0.9806 | 0.9414 | OpenML #604 ↗ |
| #17 | Bagging REPTree | Decision Tree | Python | 94.15% | 0.9806 | 0.9414 | OpenML #574540 ↗ |
Variable Schema & Summary Distributions
Observed numerical ranges, category cardinalities, missing rates, and sample values across 4,601 rows.
| Col | Variable Name | Type | Missing | Distinct | Summary Stats / Distribution | Sample Values |
|---|---|---|---|---|---|---|
| A | is_spamTARGET | NUM | 0 | 2 | [0, 1] μ=0.4 σ=0.5 | 111 |
| B | word_freq_make | NUM | 0 | 142 | [0, 4.54] μ=0.1 σ=0.3 | 00.210.06 |
| C | word_freq_address | NUM | 0 | 171 | [0, 14.28] μ=0.2 σ=1.3 | 0.640.280 |
| D | word_freq_all | NUM | 0 | 214 | [0, 5.1] μ=0.3 σ=0.5 | 0.640.50.71 |
| E | word_freq_3d | NUM | 0 | 43 | [0, 42.81] μ=0.1 σ=1.4 | 000 |
| F | word_freq_our | NUM | 0 | 255 | [0, 10] μ=0.3 σ=0.7 | 0.320.141.23 |
| G | word_freq_over | NUM | 0 | 141 | [0, 5.88] μ=0.1 σ=0.3 | 00.280.19 |
| H | word_freq_remove | NUM | 0 | 173 | [0, 7.27] μ=0.1 σ=0.4 | 00.210.19 |
| I | word_freq_internet | NUM | 0 | 170 | [0, 11.11] μ=0.1 σ=0.4 | 00.070.12 |
| J | word_freq_order | NUM | 0 | 144 | [0, 5.26] μ=0.1 σ=0.3 | 000.64 |
| K | word_freq_mail | NUM | 0 | 245 | [0, 18.18] μ=0.2 σ=0.6 | 00.940.25 |
| L | word_freq_receive | NUM | 0 | 113 | [0, 2.61] μ=0.1 σ=0.2 | 00.210.38 |
| M | word_freq_will | NUM | 0 | 316 | [0, 9.67] μ=0.5 σ=0.9 | 0.640.790.45 |
| N | word_freq_people | NUM | 0 | 158 | [0, 5.55] μ=0.1 σ=0.3 | 00.650.12 |
| O | word_freq_report | NUM | 0 | 133 | [0, 10] μ=0.1 σ=0.3 | 00.210 |
| P | word_freq_addresses | NUM | 0 | 118 | [0, 4.41] μ=0.0 σ=0.3 | 00.141.75 |
| Q | word_freq_free | NUM | 0 | 253 | [0, 20] μ=0.2 σ=0.8 | 0.320.140.06 |
| R | word_freq_business | NUM | 0 | 197 | [0, 7.14] μ=0.1 σ=0.4 | 00.070.06 |
| S | word_freq_email | NUM | 0 | 229 | [0, 9.09] μ=0.2 σ=0.5 | 1.290.281.03 |
| T | word_freq_you | NUM | 0 | 575 | [0, 18.75] μ=1.7 σ=1.8 | 1.933.471.36 |
| U | word_freq_credit | NUM | 0 | 148 | [0, 18.18] μ=0.1 σ=0.5 | 000.32 |
| V | word_freq_your | NUM | 0 | 401 | [0, 11.11] μ=0.8 σ=1.2 | 0.961.590.51 |
| W | word_freq_font | NUM | 0 | 99 | [0, 17.1] μ=0.1 σ=1.0 | 000 |
| X | word_freq_000 | NUM | 0 | 164 | [0, 5.45] μ=0.1 σ=0.4 | 00.431.16 |
| Y | word_freq_money | NUM | 0 | 143 | [0, 12.5] μ=0.1 σ=0.4 | 00.430.06 |
| Z | word_freq_hp | NUM | 0 | 395 | [0, 20.83] μ=0.5 σ=1.7 | 000 |
| AA | word_freq_hpl | NUM | 0 | 281 | [0, 16.66] μ=0.3 σ=0.9 | 000 |
| AB | word_freq_george | NUM | 0 | 240 | [0, 33.33] μ=0.8 σ=3.4 | 000 |
| AC | word_freq_650 | NUM | 0 | 200 | [0, 9.09] μ=0.1 σ=0.5 | 000 |
| AD | word_freq_lab | NUM | 0 | 156 | [0, 14.28] μ=0.1 σ=0.6 | 000 |
| AE | word_freq_labs | NUM | 0 | 179 | [0, 5.88] μ=0.1 σ=0.5 | 000 |
| AF | word_freq_telnet | NUM | 0 | 128 | [0, 12.5] μ=0.1 σ=0.4 | 000 |
| AG | word_freq_857 | NUM | 0 | 106 | [0, 4.76] μ=0.0 σ=0.3 | 000 |
| AH | word_freq_data | NUM | 0 | 184 | [0, 18.18] μ=0.1 σ=0.6 | 000 |
| AI | word_freq_415 | NUM | 0 | 110 | [0, 4.76] μ=0.0 σ=0.3 | 000 |
| AJ | word_freq_85 | NUM | 0 | 177 | [0, 20] μ=0.1 σ=0.5 | 000 |
| AK | word_freq_technology | NUM | 0 | 159 | [0, 7.69] μ=0.1 σ=0.4 | 000 |
| AL | word_freq_1999 | NUM | 0 | 188 | [0, 6.89] μ=0.1 σ=0.4 | 00.070 |
| AM | word_freq_parts | NUM | 0 | 53 | [0, 8.33] μ=0.0 σ=0.2 | 000 |
| AN | word_freq_pm | NUM | 0 | 163 | [0, 11.11] μ=0.1 σ=0.4 | 000 |
| AO | word_freq_direct | NUM | 0 | 125 | [0, 4.76] μ=0.1 σ=0.3 | 000.06 |
| AP | word_freq_cs | NUM | 0 | 108 | [0, 7.14] μ=0.0 σ=0.4 | 000 |
| AQ | word_freq_meeting | NUM | 0 | 186 | [0, 14.28] μ=0.1 σ=0.8 | 000 |
| AR | word_freq_original | NUM | 0 | 136 | [0, 3.57] μ=0.0 σ=0.2 | 000.12 |
| AS | word_freq_project | NUM | 0 | 160 | [0, 20] μ=0.1 σ=0.6 | 000 |
| AT | word_freq_re | NUM | 0 | 230 | [0, 21.42] μ=0.3 σ=1.0 | 000.06 |
| AU | word_freq_edu | NUM | 0 | 227 | [0, 22.05] μ=0.2 σ=0.9 | 000.06 |
| AV | word_freq_table | NUM | 0 | 38 | [0, 2.17] μ=0.0 σ=0.1 | 000 |
| AW | word_freq_conference | NUM | 0 | 106 | [0, 10] μ=0.0 σ=0.3 | 000 |
| AX | char_freq_semicolon | NUM | 0 | 313 | [0, 4.385] μ=0.0 σ=0.2 | 000.01 |
| AY | char_freq_parenthesis_left | NUM | 0 | 641 | [0, 9.752] μ=0.1 σ=0.3 | 00.1320.143 |
| AZ | char_freq_bracket_left | NUM | 0 | 225 | [0, 4.081] μ=0.0 σ=0.1 | 000 |
| BA | char_freq_exclamation | NUM | 0 | 964 | [0, 32.478] μ=0.3 σ=0.8 | 0.7780.3720.276 |
| BB | char_freq_dollar | NUM | 0 | 504 | [0, 6.003] μ=0.1 σ=0.2 | 00.180.184 |
| BC | char_freq_hash | NUM | 0 | 316 | [0, 19.829] μ=0.0 σ=0.4 | 00.0480.01 |
| BD | capital_run_length_average | NUM | 0 | 2,161 | [1, 1102.5] μ=5.2 σ=31.7 | 3.7565.1149.821 |
| BE | capital_run_length_longest | NUM | 0 | 271 | [1, 9989] μ=52.2 σ=194.9 | 61101485 |
| BF | capital_run_length_total | NUM | 0 | 919 | [1, 15841] μ=283.3 σ=606.3 | 27810282259 |
Frequently Asked Questions: Spambase
Common questions regarding the Spambase dataset, machine learning task formulations, and in-browser tabular inference.
What is the Spambase dataset used for?
Spambase is a canonical machine learning benchmark containing 4,601 email records designed to train and evaluate binary classification models that distinguish spam from legitimate non-spam emails based on token and character frequencies.
Can I run zero-server predictions on this dataset in Google Sheets?
Yes, Carla HQ enables zero-server in-context tabular prediction directly in spreadsheets using TabICL foundation models.
What machine learning models perform best on Spambase?
Gradient-boosted decision trees (XGBoost, LightGBM, CatBoost) and modern in-context foundation models (TabICL / Carla) achieve leading accuracy (94%–95.5%) by capturing non-linear interactions across capital run-length metrics and key token distributions.
Test TabICLv2 on Spambase Yourself
Open the pre-loaded Google Sheet and let Carla configure the target and task for local, zero-cloud tabular machine learning.
Launch Carla
Click once to open the spreadsheet and Carla side panel together.
Review the Setup
Carla selects the dataset target and task from this page automatically.
Evaluate & Predict
Run predictions and compute metrics with zero server uploads.
Provenance & Attribution
https://archive.ics.uci.edu/ml/citation_policy.html