Skip to content

Data Preparation

Bundled examples

The dashboard includes six versioned examples. Selecting one applies its standard supervised-learning task, target column, and a task-appropriate default metric. Source and license details remain visible beside the selector. These are educational defaults rather than claims that one metric or model is universally best for the dataset.

Dataset Source Standard task Target Default metric What it demonstrates
Breast Cancer Wisconsin (Diagnostic) UCI via scikit-learn Binary classification Diagnosis ROC AUC Numeric diagnostic features
Diabetes Progression Efron et al. via scikit-learn Regression One-year disease progression RMSE Continuous clinical outcome
Wine Recognition UCI via scikit-learn Multiclass classification Cultivar Accuracy Three-class numeric data
Banknote Authentication UCI Binary classification Genuine or forged ROC AUC A larger binary example
Auto MPG CMU StatLib via UCI Regression City-cycle MPG RMSE Missing numeric values and a categorical origin
Palmer Penguins Palmer Station LTER Multiclass classification Species Accuracy Categorical features, missing values, and unequal class sizes

The three external CSV snapshots are packaged with PSPSO, so examples do not depend on a network connection. Attribution, download dates, licenses, and the small Auto MPG loading transformation are recorded in the packaged dataset README.

Inspection

Before model selection, inspect row and column counts, inferred types, missingness, duplicates, target distribution, numeric summaries, and proposed split composition. Classification targets must contain the expected number of classes; missing target values are rejected.

Missing Values

Numeric columns support median, mean, most-frequent, and constant imputation. Categorical columns support most-frequent and constant-label imputation. Missingness indicators can preserve information about whether a value was originally absent.

Preprocessing

The third section of Data Setup exposes preparation rules even when the current sample has no missing values, so the saved pipeline also covers future inputs.

  • Automatic: infer numeric versus nominal from the column's data type.
  • Numeric: interpret values as numbers; invalid numeric text is rejected.
  • Nominal: one-hot encode unordered labels, including numeric category codes.
  • Ordinal: enter categories from lowest to highest, one per line. Encoding uses that explicit order; unlisted values receive −1.

Unknown nominal labels produce all-zero one-hot columns. Missing-value rules run before encoding. Turning off categorical encoding excludes nominal and ordinal inputs; feature inclusion checkboxes provide individual control. The prediction target is encoded separately for classification.

Numeric outliers can be kept, clipped to training-set IQR bounds (default multiplier 1.5), or clipped to training-set percentile bounds (default 1st/99th). Clipping changes feature values without dropping rows or modifying target values. Data-profile outlier counts use the ordinary 1.5-IQR definition over the source data for inspection; these descriptive counts are not training limits. Imputation, clipping, encoding and scaling are refitted inside every training fold and persisted with the selected model. Infinite numeric feature values are treated as missing; a feature that is entirely missing remains in the pipeline.

For CLI/API specifications, the same options live under preprocessing:

{
  "preprocessing": {
    "numeric_imputation": "median",
    "outlier_method": "iqr",
    "outlier_iqr_multiplier": 1.5,
    "features": {
      "region_code": {"kind": "nominal"},
      "priority": {"kind": "ordinal", "categories": ["low", "medium", "high"]}
    }
  }
}

Encoding follows scikit-learn's one-hot and ordinal transformers.

  • Scaling is recommended for SVM, linear models, and neural networks.
  • Categorical encoding is required for estimators that consume numeric arrays.
  • Ignored columns should include identifiers, post-outcome fields, and obvious leakage sources.
  • Every transformer is fitted on training rows and reused for validation, test, prediction, and saved-model analysis.

Imported CSV files are copied into .pspso/v1/datasets/ and identified by a content fingerprint. Selecting a saved dataset therefore refers to a stable local version rather than a changing external path.