Classical machine learning and statistics datasets from the UCI Machine Learning Repository and other sources.

The datasets package defines two different kinds of datasets:

  • small data sets which are directly (or indirectly with `file-embed`) embedded in the package as pure values and do not require network or IO to download the data set. This includes Iris, Anscombe and OldFaithful.

  • other data sets which need to be fetched over the network with Numeric.Datasets.getDataset and are cached in a local temporary directory.

import Numeric.Datasets (getDataset)
import Numeric.Datasets.Iris (iris)
import Numeric.Datasets.Abalone (abalone)

main = do
  -- The Iris data set is embedded
  print (length iris)
  print (head iris)
  -- The Abalone dataset is fetched
  abas <- getDataset abalone
  print (length abas)
  print (head abas)



  • Old faithful matches R dataset


  • Netflix dataset


  • Coal dataset

  • New internal API

  • Ord instance for IrisClass


  • Enum, bounded instances for IrisClass

  • Gapminder dataset

  • Use wreq for HTTP and HTTPS requests


  • Wine quality datasets

  • Vocabulary, UN, States datasets

  • CO2, Sunspots and Quakes datasets

  • Further GHC portability

  • Improve GHC portability

  • Bugfix: include embedded data files in cabal extra-source-files


  • iris dataset is a pure value (with file-embed)

  • Michelson, Nightingale and BostonHousing datasets