Luviner
ShieldWebsite protection LynxServer monitoring
DocsGuides and API reference
ShieldWebsite protection LynxServer monitoring
About Contact IT Log in Start free
Docs
Getting Started CSV Format Sensor to CSV Supported Hardware Firmware Integration
Lynx Monitoring
Lynx Quick Start
Shield
Shield

CSV Data Format

How to prepare your sensor data for training with Luviner.

Basic format

Luviner accepts standard CSV files with these rules:

  • Header row required — first row must contain column names
  • Features — all columns except the last are treated as input features (numeric)
  • Label — the last column is the class label (string or integer)
  • Delimiter — comma (,) is default; semicolons and tabs are auto-detected
  • Encoding — UTF-8
# Minimal example: 3 features, 2 classes feature_1,feature_2,feature_3,label 0.12,0.98,0.34,normal 2.34,1.87,4.56,anomaly

Requirements

Parameter Minimum Recommended Maximum
Samples (rows) 20 500+ 200,000
Features (columns) 1 4 – 50 1,000
Classes 2 2 – 10 50
File size — < 10 MB 50 MB

Data quality tips

  • Balanced classes — try to have roughly equal samples per class. A 90/10 split will bias the model toward the majority class.
  • No missing values — fill or remove rows with NaN/empty cells before upload.
  • Numeric features — all feature columns must be numeric. Luviner normalizes automatically.
  • Consistent sampling rate — if your data is time-series, use a fixed sampling interval.
  • Clean labels — avoid typos in class names. Normal and normal are treated as different classes.

Ready-to-use sample datasets

Download these synthetic but physically-plausible datasets to test Luviner immediately. Both are deterministic and generated from a script in the repo, so anyone can reproduce them.

Dataset Rows Features Classes Use case
Pump bearing vibration 500 8 4 Predictive maintenance — normal vs bearing wear, imbalance, misalignment
HVAC temperature anomaly 300 4 2 Anomaly detection — 92% normal / 8% anomaly, like a real plant
You can also try these scenarios directly in the Live Demo without creating an account.

Time-series vs tabular data

Luviner supports both:

  • Tabular (classification): each row is an independent sample. Standard CSV as described above.
  • Time-series (streaming): rows are sequential sensor readings. Luviner maintains state between readings, making it ideal for temporal patterns like vibration signatures or ECG waveforms.

For time-series data, simply provide the CSV with rows in chronological order. Luviner detects temporal patterns automatically.

Common issues

ProblemSolution
Low accuracy Add more samples, ensure classes are balanced, check for label errors
Upload error Check encoding (must be UTF-8), remove non-numeric values from feature columns
Slow training Reduce samples to less than 50K for initial testing, use AutoML (Builder+)
Luviner

Website protection and server monitoring. Designed in Italy.

Products

Shield Lynx

Pricing

Shield Lynx

Resources

Docs Research

Company

About Contact
© 2026 Luviner · P.IVA / VAT ID IT02880910340 Terms of Service Privacy Policy End User License Agreement