Elena' s AI Blog

Tools and Data to Experiment with Machine Learning

19 Oct 2021 (updated: 16 Jul 2026) / 6 minutes to read

Elena Daehnhardt


Flux: scattered data points and charts flowing into a glowing neural network web, richly detailed editorial illustration, m...


If you click an affiliate link and subsequently make a purchase, I will earn a small commission at no additional cost (you pay nothing extra). This is important for promoting tools I like and supporting my blogging.

I thoroughly check the affiliated products' functionality and use them myself to ensure high-quality content for my readers. Thank you very much for motivating me to write.



TL;DR:
  • Start ML experiments with Kaggle datasets and courses. Use scikit-learn for traditional ML, TensorFlow/PyTorch for deep learning. OpenML provides reproducible datasets—choose tools by task complexity.

Previous: Part 2 — Deep Learning with DataCamp and Twitter

Next: Part 4 — TensorFlow on M1

Machine Learning Tools, Platforms, and Datasets: Getting Started

If you are starting out in Machine Learning, the hardest part is not the maths — it is working out which library to install and where to find data that is not a toy. This post covers the Python libraries, web platforms, and public datasets I actually reach for when experimenting with ML.

Machine Learning Libraries and APIs: scikit-learn, TensorFlow, PyTorch, XGBoost

The core Python libraries for Machine Learning are scikit-learn (traditional ML), TensorFlow by Google, PyTorch by Meta, and Keras (a high-level API that now ships as tf.keras inside TensorFlow, and can also run on Aesara, the community-maintained fork of the discontinued Theano). These are the most mature tools for building Machine Learning models. In my experience, PyTorch is more user-friendly than raw TensorFlow, but TensorFlow still has the larger community and the more mature production tooling.

scikit-learn is a Python open-source library that provides regression, classification, clustering, feature selection, metrics, and preprocessing functionality. It does have basic neural-network support through MLPClassifier, but it is not built for deep learning at scale. Older editions of this post pointed you at the Scikit Flow (skflow) wrapper for a scikit-learn-style API on top of TensorFlow — don’t use that now. It was folded into TensorFlow’s contrib.learn module years ago and has since been fully superseded; today, tf.keras is the actively maintained way to build neural networks with a scikit-learn-like fit/predict workflow.

XGBoost is a library for applications requiring multicore parallelism. XGBoost (Extreme Gradient Boosting) uses boosted decision trees to build regression, classification, ranking, and other predictive models. It earned its reputation the hard way: in the original XGBoost paper, 17 of the 29 challenge-winning solutions published on the Kaggle blog in 2015 used it, and it remains a go-to choice for structured, tabular-data competitions on Kaggle.

Machine Learning Platforms: Kaggle and OpenML for Experimentation

Kaggle is the largest public Machine Learning competition and dataset platform, and is the recommended first step for hands-on ML experimentation.

Kaggle has posts, discussions, shared code, datasets, and competitions on topics from simple regression to computer vision and NLP. Kaggle also has free courses in Python, Machine Learning, data manipulation and visualisation, SQL, and more — a solid, no-cost way to get your bearings before you touch a real dataset.

OpenML is a Machine Learning platform for sharing experiments and datasets to facilitate reproducibility in research. OpenML contributors provide a Python API to run scikit-learn models against OpenML tasks and datasets, and to publish the results back to the platform [1]. I find it the most reliable place to go when I want a benchmark dataset that other researchers have already used and cited.

Public Machine Learning Datasets: Sources and APIs

Datasets on Kaggle and OpenML are already cleaned up and ready to experiment with — that is exactly why they are a good starting point, and exactly why they will not teach you what messy, real-life data looks like. For that, you need your own data collection: web scraping, or a public API.

I would once have pointed you at the Twitter streaming API here, and I did — I even shared my old tweet-collection code on GitHub. I cannot recommend that route any more. X (as it is now called) shut down free API access years ago and, since February 2026, has moved to pay-per-use pricing with no free tier at all, so this is no longer a beginner-friendly source of real-life data. Reddit’s API and government open-data portals (data.gov, the UK’s data.gov.uk) are friendlier places to practise real-world data collection today.

kaggle.com

openml.org

Final Thoughts

You do not need every library on this page. Start with scikit-learn and a Kaggle dataset, get a model working end to end, and only reach for TensorFlow or PyTorch once you actually hit a problem scikit-learn cannot solve. The tools change — Scikit Flow did not survive, and neither did free Twitter data — but that “start simple, add complexity when you need it” approach still holds.

Did you like this post? Please let me know if you have any comments or suggestions.

Posts about Machine Learning that might be interesting for you




Related tools you may want to try next.

Mixo.io generates websites instantly using AI. Builds stunning landing pages without any code or design. Includes a built-in email waiting list and all the tools you need to launch, grow, and test your ideas.

SEMrush SEMRUSH provides marketing platform for SEO insights and tools such as writing assistant.

References

[1] Matthias Feurer, Jan N. van Rijn, Arlind Kadra, Pieter Gijsbers, Neeratyoy Mallik, Sahithya Ravi, Andreas Mueller, Joaquin Vanschoren, Frank Hutter. OpenML-Python: an extensible Python API for OpenML. arXiv:1911.02490 [cs.LG], 2019. See also the OpenML-Python documentation.

[2] Tianqi Chen, Carlos Guestrin. XGBoost: A Scalable Tree Boosting System. arXiv:1603.02754 [cs.LG], 2016.

desktop bg dark

About Elena

Elena, a PhD in Computer Science, simplifies AI concepts and helps you use machine learning.

Citation
Elena Daehnhardt. (2021) 'Tools and Data to Experiment with Machine Learning', daehnhardt.com, 19 October 2021. Available at: https://daehnhardt.com/blog/2021/10/19/edaehn-ml-datasets/
All Posts