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.

The datafiles/ directory of this package includes copies of a few famous datasets, such as Titanic, Nightingale and Michelson.

Example :

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)


0.4 * Get rid of dependency on ‘data-default’ (introduced by previous versions of ‘req’)

* Bump 'req' dependency to 2.0.0 

0.3 * ‘datasets’ hosted within the DataHaskell/dh-core project

* use 'req' for HTTP and HTTPS requests, instead of 'wreq'

* Mushroom and Titanic datasets

* Restructured top-level documentation

* Removed 'csvDatasetPreprocess' and added 'withPreprocess'. Now bytestring preprocessing is more compositional, i.e. 'withPreprocess' can be used with JSON datasets as well.


* 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