Source code for discrimintools.summary._summarystepdisc
# -*- coding: utf-8 -*-
#intern function
from ._summaryda import summaryDA
[docs]
def summarySTEPDISC(
obj,digits=4,detailed=False,to_markdown=False,tablefmt = "github",**kwargs
):
"""
Printing summaries of Stepwise Discriminant Analysis model.
Parameters
----------
obj : `class <https://docs.python.org/3/tutorial/classes.html>`_
An object of class :class:`~discrimintools.STEPDISC`.
digits : `int <https://docs.python.org/3/library/functions.html#int>`_, default = 4
The number of decimal printed.
detailed : `bool <https://docs.python.org/3/library/functions.html#bool>`_, default = `False <https://docs.python.org/3/library/constants.html#False>`_
To print detailed summaries.
to_markdown: `bool <https://docs.python.org/3/library/functions.html#bool>`_, default = `False <https://docs.python.org/3/library/constants.html#False>`_
To print summaries in `markdown <https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_markdown.html>`_-friendly format. Requires the `tabulate <https://pypi.org/project/tabulate/>`_. package.
tablefmt : `str <https://docs.python.org/3/library/functions.html#func-str>`_, default = "github"
The table format.
**kwargs :
additionals parameters. These parameters will be passed to `tabulate <https://pypi.org/project/tabulate/>`_.
Returns
-------
NoneType
See also
--------
:class:`~discrimintools.summaryCANDISC`
Printing summaries of Canonical Discriminant Analysis model.
:class:`~discrimintools.summaryCPLS`
Printing summaries of Partial Least Squares for Classification model.
:class:`~discrimintools.summaryDA`
Printing summaries of Discriminant Analysis model.
:class:`~discrimintools.summaryDiCA`
Printing summaries of Discriminant Correspondence Analysis model.
:class:`~discrimintools.summaryDISCRIM`
Printing summaries of Discriminant Analysis (linear and quadratic) model.
:class:`~discrimintools.summaryGFALDA`
Printing summaries of General Factor Analysis Linear Discriminant Analysis model.
:class:`~discrimintools.summaryMDA`
Printing summaries of Mixed Discriminant Analysis model.
:class:`~discrimintools.summaryPLSDA`
Printing summaries of Partial Least Squares Discriminant Analysis model.
:class:`~discrimintools.summaryPLSLDA`
Printing summaries of Partial Least Squares Linear Discriminant Analysis model.
Examples
--------
>>> from discrimintools.datasets import load_dataset
>>> from discrimintools import DISCRIM, STEPDISC, summarySTEPDISC
>>> D = load_dataset("breast")
>>> y, X = D["Class"], D.drop(columns=["Class"])
>>> clf = DISCRIM()
>>> clf.fit(X,y)
DISCRIM(priors='prop')
>>> clf2 = STEPDISC(method="backward",alpha=0.01,verbose=False)
>>> clf2.fit(clf)
STEPDISC()
>>> summarySTEPDISC(clf2)
Stepwise Discriminant Analysis - Results
====================== Before backward selection =======================
Discriminant Analysis - Results
Summary Information:
Infos Value DF DF value
0 Total Sample Size 150 DF Total 149
1 Variables 18 DF Within Classes 148
2 Classes 2 DF Between Classes 1
Class Level Information:
Frequency Proportion Prior Probability
absence 82 0.5467 0.5467
presence 68 0.4533 0.4533
Linear Discriminant Function for disease:
absence presence
Constant -124.3546 -127.3863
age 1.1836 1.1914
sexmale 14.2659 15.9123
chestpainatypicalAngina 0.5668 -1.8839
chestpainnonAnginal 3.4872 1.6652
...
slopeflat 18.6429 19.8215
slopeupsloping 14.7467 15.2526
vesselsColored -2.5087 -1.0308
thalnormal 21.1525 20.1211
thalreversableEffect 14.8540 16.1636
====================== After backward selection =======================
Discriminant Analysis - Results
Summary Information:
Infos Value DF DF value
0 Total Sample Size 150 DF Total 149
1 Variables 7 DF Within Classes 148
2 Classes 2 DF Between Classes 1
Class Level Information:
Frequency Proportion Prior Probability
absence 82 0.5467 0.5467
presence 68 0.4533 0.4533
Linear Discriminant Function for disease:
absence presence
Constant -3.5002 -6.2648
sexmale 3.0078 4.6211
chestpainatypicalAngina 4.6553 1.9352
chestpainnonAnginal 4.6453 2.1583
chestpaintypicalAngina 2.6881 -2.0794
oldpeak 0.7868 1.8112
vesselsColored 0.7138 2.0291
thalreversableEffect 0.6085 2.4439
"""
#---------------------------------------------------------------------------------------------------------------------------------------------------------------------
#check if self is an object of class STEPDISC
#---------------------------------------------------------------------------------------------------------------------------------------------------------------------
if obj.model_ != "stepdisc":
raise ValueError("'self' must be an object of class STEPDISC")
print(" Stepwise Discriminant Analysis - Results ")
print("\n====================== Before {} selection =======================\n".format(obj.method))
summaryDA(obj.call_.obj,digits=digits,to_markdown=to_markdown,tablefmt=tablefmt,detailed=detailed,**kwargs)
if hasattr(obj,"disc_"):
print("\n====================== After {} selection =======================\n".format(obj.method))
summaryDA(obj.disc_,digits=digits,to_markdown=to_markdown,tablefmt=tablefmt,detailed=detailed,**kwargs)
else:
print("\nNo model has been updated.")