mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-07-05 09:21:13 +08:00
[pre-commit.ci] pre-commit autoupdate (#11322)
* [pre-commit.ci] pre-commit autoupdate updates: - [github.com/astral-sh/ruff-pre-commit: v0.2.2 → v0.3.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.2.2...v0.3.2) - [github.com/pre-commit/mirrors-mypy: v1.8.0 → v1.9.0](https://github.com/pre-commit/mirrors-mypy/compare/v1.8.0...v1.9.0) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
![66853113+pre-commit-ci[bot]@users.noreply.github.com](/assets/img/avatar_default.png)
committed by
GitHub

parent
5f95d6f805
commit
bc8df6de31
@ -1,47 +1,48 @@
|
||||
"""
|
||||
Linear Discriminant Analysis
|
||||
Linear Discriminant Analysis
|
||||
|
||||
|
||||
|
||||
Assumptions About Data :
|
||||
1. The input variables has a gaussian distribution.
|
||||
2. The variance calculated for each input variables by class grouping is the
|
||||
same.
|
||||
3. The mix of classes in your training set is representative of the problem.
|
||||
Assumptions About Data :
|
||||
1. The input variables has a gaussian distribution.
|
||||
2. The variance calculated for each input variables by class grouping is the
|
||||
same.
|
||||
3. The mix of classes in your training set is representative of the problem.
|
||||
|
||||
|
||||
Learning The Model :
|
||||
The LDA model requires the estimation of statistics from the training data :
|
||||
1. Mean of each input value for each class.
|
||||
2. Probability of an instance belong to each class.
|
||||
3. Covariance for the input data for each class
|
||||
Learning The Model :
|
||||
The LDA model requires the estimation of statistics from the training data :
|
||||
1. Mean of each input value for each class.
|
||||
2. Probability of an instance belong to each class.
|
||||
3. Covariance for the input data for each class
|
||||
|
||||
Calculate the class means :
|
||||
mean(x) = 1/n ( for i = 1 to i = n --> sum(xi))
|
||||
Calculate the class means :
|
||||
mean(x) = 1/n ( for i = 1 to i = n --> sum(xi))
|
||||
|
||||
Calculate the class probabilities :
|
||||
P(y = 0) = count(y = 0) / (count(y = 0) + count(y = 1))
|
||||
P(y = 1) = count(y = 1) / (count(y = 0) + count(y = 1))
|
||||
Calculate the class probabilities :
|
||||
P(y = 0) = count(y = 0) / (count(y = 0) + count(y = 1))
|
||||
P(y = 1) = count(y = 1) / (count(y = 0) + count(y = 1))
|
||||
|
||||
Calculate the variance :
|
||||
We can calculate the variance for dataset in two steps :
|
||||
1. Calculate the squared difference for each input variable from the
|
||||
group mean.
|
||||
2. Calculate the mean of the squared difference.
|
||||
------------------------------------------------
|
||||
Squared_Difference = (x - mean(k)) ** 2
|
||||
Variance = (1 / (count(x) - count(classes))) *
|
||||
(for i = 1 to i = n --> sum(Squared_Difference(xi)))
|
||||
Calculate the variance :
|
||||
We can calculate the variance for dataset in two steps :
|
||||
1. Calculate the squared difference for each input variable from the
|
||||
group mean.
|
||||
2. Calculate the mean of the squared difference.
|
||||
------------------------------------------------
|
||||
Squared_Difference = (x - mean(k)) ** 2
|
||||
Variance = (1 / (count(x) - count(classes))) *
|
||||
(for i = 1 to i = n --> sum(Squared_Difference(xi)))
|
||||
|
||||
Making Predictions :
|
||||
discriminant(x) = x * (mean / variance) -
|
||||
((mean ** 2) / (2 * variance)) + Ln(probability)
|
||||
---------------------------------------------------------------------------
|
||||
After calculating the discriminant value for each class, the class with the
|
||||
largest discriminant value is taken as the prediction.
|
||||
Making Predictions :
|
||||
discriminant(x) = x * (mean / variance) -
|
||||
((mean ** 2) / (2 * variance)) + Ln(probability)
|
||||
---------------------------------------------------------------------------
|
||||
After calculating the discriminant value for each class, the class with the
|
||||
largest discriminant value is taken as the prediction.
|
||||
|
||||
Author: @EverLookNeverSee
|
||||
Author: @EverLookNeverSee
|
||||
"""
|
||||
|
||||
from collections.abc import Callable
|
||||
from math import log
|
||||
from os import name, system
|
||||
|
Reference in New Issue
Block a user