packagespip install numpy scipy matplotlib ipython scikit-learn pandas essential libraries and tools understanding what scikit-learn is and how to use it is importantbut there are few other libraries that will enhance your experience scikit-learn is built on top of the numpy and scipy scientific python libraries in addition to numpy and scipywe will be using pandas and matplotlib we will also introduce the jupyter notebookwhich is browser-based interactive programming environment brieflyhere is what you should know about these tools in order to get the most out of scikit-learn jupyter notebook the jupyter notebook is an interactive environment for running code in the browser it is great tool for exploratory data analysis and is widely used by data scientists while the jupyter notebook supports many programming languageswe only need the python support the jupyter notebook makes it easy to incorporate codetextand imagesand all of this book was in fact written as jupyter notebook all of the code examples we include can be downloaded from github numpy numpy is one of the fundamental packages for scientific computing in python it contains functionality for multidimensional arrayshigh-level mathematical functions such as linear algebra operations and the fourier transformand pseudorandom number generators in scikit-learnthe numpy array is the fundamental data structure scikit-learn takes in data in the form of numpy arrays any data you're using will have to be converted to numpy array the core functionality of numpy is the ndarray classa multidimensional ( -dimensionalarray all elements of the array must be of the same type numpy array looks like thisin[ ]import numpy as np np array([[ ][ ]]print(" :\ {}format( ) if you are unfamiliar with numpy or matplotlibwe recommend reading the first of the scipy lecture notes essential libraries and tools