diff --git a/doc/daal4py/_templates/layout.html b/doc/daal4py/_templates/layout.html
new file mode 100644
index 0000000000..98cfe6e6f2
--- /dev/null
+++ b/doc/daal4py/_templates/layout.html
@@ -0,0 +1,17 @@
+{% extends "!layout.html" %}
+{% block extrahead %}
+
+
+{% endblock %}
diff --git a/doc/daal4py/algorithms.rst b/doc/daal4py/algorithms.rst
index 7698d1d224..6d96be1da3 100755
--- a/doc/daal4py/algorithms.rst
+++ b/doc/daal4py/algorithms.rst
@@ -18,6 +18,8 @@
Algorithms
##########
+.. include:: note.rst
+
Classification
--------------
See also |onedal-dg-classification|_.
diff --git a/doc/daal4py/conf.py b/doc/daal4py/conf.py
index 030bdedb75..7d8d164c61 100644
--- a/doc/daal4py/conf.py
+++ b/doc/daal4py/conf.py
@@ -37,7 +37,7 @@
# -- Project information -----------------------------------------------------
project = 'daal4py'
-copyright = '2021, Intel'
+copyright = 'Intel'
author = 'Intel'
# The short X.Y version
@@ -80,7 +80,7 @@
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
-language = None
+language = 'en'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
@@ -200,3 +200,7 @@
# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = True
+
+exclude_patterns = exclude_patterns + [
+"note.rst"
+]
diff --git a/doc/daal4py/contents.rst b/doc/daal4py/contents.rst
index e04efeca35..c98075f365 100644
--- a/doc/daal4py/contents.rst
+++ b/doc/daal4py/contents.rst
@@ -19,6 +19,9 @@
########
Contents
########
+
+.. include:: note.rst
+
.. toctree::
:maxdepth: 2
:caption: Contents:
diff --git a/doc/daal4py/data.rst b/doc/daal4py/data.rst
index 30a2dd0cb6..28c5473349 100644
--- a/doc/daal4py/data.rst
+++ b/doc/daal4py/data.rst
@@ -19,6 +19,9 @@
##########
Input Data
##########
+
+.. include:: note.rst
+
All array arguments to compute functions and to algorithm constructors can be
provided in different formats. daal4py will automatically do its best to work on
the provided data with minimal overhead, most notably without copying the data.
diff --git a/doc/daal4py/examples.rst b/doc/daal4py/examples.rst
index 792c15a138..5e278d267a 100755
--- a/doc/daal4py/examples.rst
+++ b/doc/daal4py/examples.rst
@@ -18,6 +18,8 @@
Examples
##########
+.. include:: note.rst
+
Below are examples on how to utilize daal4py for various usage styles.
General usage
diff --git a/doc/daal4py/index.rst b/doc/daal4py/index.rst
index 1ce919fab5..4b22e24641 100644
--- a/doc/daal4py/index.rst
+++ b/doc/daal4py/index.rst
@@ -19,6 +19,9 @@
#####################################################
Fast, Scalable and Easy Machine Learning With DAAL4PY
#####################################################
+
+.. include:: note.rst
+
Daal4py makes your Machine Learning algorithms in Python lightning fast and easy to use. It provides
highly configurable Machine Learning kernels, some of which support streaming input data and/or can
be easily and efficiently scaled out to clusters of workstations. Internally it uses Intel(R)
diff --git a/doc/daal4py/model-builders.rst b/doc/daal4py/model-builders.rst
index 146e191787..4ce750dc65 100644
--- a/doc/daal4py/model-builders.rst
+++ b/doc/daal4py/model-builders.rst
@@ -19,72 +19,69 @@
###############################################
Model Builders for the Gradient Boosting Frameworks
###############################################
+
+.. include:: note.rst
+
Introduction
------------------
Gradient boosting on decision trees is one of the most accurate and efficient
machine learning algorithms for classification and regression.
-The most popular implementations of it are the XGBoost*,
-LightGBM*, and CatBoost* frameworks.
+The most popular implementations of it are:
+
+* XGBoost*
+* LightGBM*
+* CatBoost*
+
daal4py Model Builders deliver the accelerated
models inference of those frameworks. The inference is performed by the oneDAL GBT implementation tuned
for the best performance on the Intel(R) Architecture.
Conversion
---------
-The first step is to convert already trained model. There are similar
-APIs for different frameworks.
+The first step is to convert already trained model. The
+API usage for different frameworks is the same:
+
XGBoost::
import daal4py as d4p
- d4p_model = d4p.get_gbt_model_from_xgboost(xgb_model)
+ d4p_model = d4p.mb.convert_model(xgb_model)
LightGBM::
import daal4py as d4p
- d4p_model = d4p.get_gbt_model_from_lightgbm(lgb_model)
+ d4p_model = d4p.mb.convert_model(lgb_model)
CatBoost::
import daal4py as d4p
- d4p_model = d4p.get_gbt_model_from_catboost(cb_model)
+ d4p_model = d4p.mb.convert_model(cb_model)
.. note:: Convert model only once and then use it for the inference.
Classification and Regression Inference
----------
-GBT implementation in daal4py assumes separate APIs for the classification and regression.
-Specify the corresponding API and match the corresponding problem
-in the initial framework.
-
-Classification::
-
- d4p_cls_algo = d4p.gbt_classification_prediction(
- nClasses=params['classes_count'],
- resultsToEvaluate="computeClassLabels",
- fptype='float'
- )
+----------------------------------------
-Regression::
- d4p_reg_algo = d4p.gbt_regression_prediction()
+The API is the same for classification and regression inference.
+Based on the original model passed to the ``convert_model``, ``d4p_prediction`` is either the classification or regression output.
+
+ ::
+
+ d4p_prediction = d4p_model.predict(test_data)
-Next, daal4py algorithm object needs compute method to be called.
-Both the data and the previously converted model should be passed with the results of the prediction
-available within the ``.prediction`` parameter.
+Here, the ``predict()`` method of ``d4p_model`` is being used to make predictions on the ``test_data`` dataset.
+The ``d4p_prediction`` variable stores the predictions made by the ``predict()`` method.
-Compute::
+Scikit-learn-style Estimators
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- d4p_predictions = d4p_reg_algo.compute(X_test, d4p_model).prediction
+You can also use the scikit-learn-style classes ``GBTDAALClassifier`` and ``GBTDAALRegressor`` to convert and infer your models. For example:
-The one-line variant of the same code::
- d4p_prediction = d4p.gbt_regression_prediction().compute(X_test, d4p_model).prediction
+::
-
-Limitations
----------------------------------
-Missing Values (NaN)
-Note that there is temporary limitation on the use of missing values
-(NaN) during training and prediction. This problem is addressed on
-the master branch and to be available in the 2023.2 release.
+ from daal4py.sklearn.ensemble import GBTDAALRegressor
+ reg = xgb.XGBRegressor()
+ reg.fit(X, y)
+ d4p_predt = GBTDAALRegressor.convert_model(reg).predict(X)
Examples
---------------------------------
@@ -97,4 +94,4 @@ Model Builders models conversion
Articles and Blog Posts
---------------------------------
-- `Improving the Performance of XGBoost and LightGBM Inference ` _
+- `Improving the Performance of XGBoost and LightGBM Inference `_
diff --git a/doc/daal4py/note.rst b/doc/daal4py/note.rst
new file mode 100644
index 0000000000..b18ce74739
--- /dev/null
+++ b/doc/daal4py/note.rst
@@ -0,0 +1,4 @@
+.. _note:
+
+.. note:: Scikit-learn patching functionality in daal4py was deprecated and moved to a separate package, `Intel(R) Extension for Scikit-learn* `_.
+ All future patches will be available only in Intel(R) Extension for Scikit-learn*. Use the scikit-learn-intelex package instead of daal4py for the scikit-learn acceleration.
\ No newline at end of file
diff --git a/doc/daal4py/scaling.rst b/doc/daal4py/scaling.rst
index d36a208655..097c4d2d18 100644
--- a/doc/daal4py/scaling.rst
+++ b/doc/daal4py/scaling.rst
@@ -19,6 +19,9 @@
###############################################
Scaling on Distributed Memory (Multiprocessing)
###############################################
+
+.. include:: note.rst
+
It's Easy
---------
daal4py operates in SPMD style (Single Program Multiple Data), which means your
diff --git a/doc/daal4py/sklearn.rst b/doc/daal4py/sklearn.rst
index 28911ccb0b..dc03cee9eb 100755
--- a/doc/daal4py/sklearn.rst
+++ b/doc/daal4py/sklearn.rst
@@ -20,6 +20,7 @@
Scikit-Learn API and patching
#############################
+
Python interface to efficient Intel(R) oneAPI Data Analytics Library provided by daal4py allows one
to create scikit-learn compatible estimators, transformers, clusterers, etc. powered by oneDAL which
are nearly as efficient as native programs.
diff --git a/doc/daal4py/streaming.rst b/doc/daal4py/streaming.rst
index 796a664ee4..3687fcdb56 100644
--- a/doc/daal4py/streaming.rst
+++ b/doc/daal4py/streaming.rst
@@ -19,6 +19,9 @@
##############
Streaming Data
##############
+
+.. include:: note.rst
+
For large quantities of data it might be impossible to provide all input data at
once. This might be because the data resides in multiple files and merging it is
to costly (or not feasible in other ways). In other cases the data is simply too