core apis scikit-learn is an evolving and active projectas witnessed by its github repository statistics this framework is built on quite small and simple list of core api ideas and design patterns in this section we will briefly touch on the core apis on which the central operations of scikit-learn are based dataset representationthe data representation of most machine learning tasks are quite similar to each other very often we will have collection of data points represented by stacking of data point vectors basically considering dataseteach row in the dataset represents vector for specific data point observation data point vector contains multiple independent variables (or featuresand one or more dependent variables (response variablesfor exampleif we have linear regression problem which can be represented as [( xn)( )where the independent variables (featuresare represented by the xs and the dependent variable (response variableis represented by the idea is to predict by fitting model on the features this data representation resembles matrix (considering multiple data point vectors)and natural way to depict it is by using numpy arrays this choice of data representation is quite simple yet powerful as we are able to access the powerful functionalities and the efficient nature of vectorized numpy array operations in fact recent updates of scikit-learn even accept pandas dataframes as inputs instead of explicitly needing you to convert them to feature arraysestimatorsthe estimator interface is one of the most important components of the scikit-learn library all the machine learning algorithms in the package implement the estimator interface the learning process is handled in two-step process the first step is the initialization of the estimator objectthis involves selecting the appropriate class object for the algorithm and supplying the parameters or hyperparameters for it the second step is applying the fit function to the data supplied (feature set and response variablesthe fit function will learn the output parameters of the machine learning algorithm and expose them as public attributes of the object for easy inspection of the final model the data to the fit function is generally supplied in the form of an input-output matrix pair in addition to the machine learning algorithmsseveral data transformation mechanisms are also implemented using the estimators apis (for examplescaling of featurespcaetc this allows for simple data transformation and simple mechanism to expose transformation mechanisms in consistent way predictorsthe predictor interface is implemented to generate predictionsforecastsetc using learned estimator for unknown data for examplein the case of supervised learning problemthe predictor interface will provide predicted classes for the unknown test array supplied to it predictor interface also contains support for providing quantified values of the output it supplies requirement of predictor implementation is to provide score functionthis function will provide scalar value for the test input provided to it which will quantify the effectiveness of the model used such values will be used in the future for tuning our machine learning models