1###########################
2Regression (``regression``)
3###########################
4
5.. automodule:: Orange.regression
6
7
8.. index:: .. index:: linear fitter
9   pair: regression; linear fitter
10
11Linear Regression
12-----------------
13
14Linear regression is a statistical regression method which tries to
15predict a value of a continuous response (class) variable based on
16the values of several predictors. The model assumes that the response
17variable is a linear combination of the predictors, the task of
18linear regression is therefore to fit the unknown coefficients.
19
20
21Example
22=======
23
24    >>> from Orange.regression.linear import LinearRegressionLearner
25    >>> mpg = Orange.data.Table('auto-mpg')
26    >>> mean_ = LinearRegressionLearner()
27    >>> model = mean_(mpg[40:110])
28    >>> print(model)
29    LinearModel LinearRegression(copy_X=True, fit_intercept=True, normalize=False)
30    >>> mpg[20]
31    Value('mpg', 25.0)
32    >>> model(mpg[0])
33    Value('mpg', 24.6)
34
35.. autoclass:: Orange.regression.linear.LinearRegressionLearner
36.. autoclass:: Orange.regression.linear.RidgeRegressionLearner
37.. autoclass:: Orange.regression.linear.LassoRegressionLearner
38.. autoclass:: Orange.regression.linear.SGDRegressionLearner
39.. autoclass:: Orange.regression.linear.LinearModel
40
41
42
43.. index:: mean fitter
44   pair: regression; mean fitter
45
46
47Polynomial
48----------
49
50*Polynomial model* is a wrapper that constructs polynomial features of
51a specified degree and learns a model on them.
52
53.. autoclass:: Orange.regression.linear.PolynomialLearner
54
55
56Mean
57----
58
59*Mean model* predicts the same value (usually the distribution mean) for all
60data instances. Its accuracy can serve as a baseline for other regression
61models.
62
63The model learner (:class:`MeanLearner`) computes the mean of the given data or
64distribution. The model is stored as an instance of :class:`MeanModel`.
65
66Example
67=======
68
69    >>> from Orange.data import Table
70    >>> from Orange.regression import MeanLearner
71    >>> data = Table('auto-mpg')
72    >>> learner = MeanLearner()
73    >>> model = learner(data)
74    >>> print(model)
75    MeanModel(23.51457286432161)
76    >>> model(data[:4])
77    array([ 23.51457286,  23.51457286,  23.51457286,  23.51457286])
78
79.. autoclass:: MeanLearner
80   :members:
81
82
83
84.. index:: random forest
85   pair: regression; random forest
86
87Random Forest
88-------------
89.. autoclass:: RandomForestRegressionLearner
90   :members:
91
92
93
94.. index:: random forest (simple)
95   pair: regression; simple random forest
96
97Simple Random Forest
98--------------------
99
100.. autoclass:: SimpleRandomForestLearner
101   :members:
102
103
104
105.. index:: regression tree
106   pair: regression; tree
107
108Regression Tree
109-------------------
110
111Orange includes two implemenations of regression tres: a home-grown one, and one
112from scikit-learn. The former properly handles multinominal and missing values,
113and the latter is faster.
114
115.. autoclass:: TreeLearner
116   :members:
117
118.. autoclass:: SklTreeRegressionLearner
119   :members:
120
121
122.. index:: neural network
123   pair: regression; neural network
124
125Neural Network
126--------------
127.. autoclass:: NNRegressionLearner
128   :members:
129
130
131Gradient Boosted Trees
132----------------------
133
134.. automodule:: Orange.regression.gb
135
136.. autoclass:: GBRegressor
137   :members:
138
139.. automodule:: Orange.regression.catgb
140
141.. autoclass:: CatGBRegressor
142   :members:
143
144.. automodule:: Orange.regression.xgb
145
146.. autoclass:: XGBRegressor
147   :members:
148
149.. autoclass:: XGBRFRegressor
150   :members:
151