%global _empty_manifest_terminate_build 0
Name:		python-info-gain
Version:	1.0.1
Release:	1
Summary:	Information gain utilities
License:	MIT License
URL:		https://github.com/Thijsvanede/info_gain
Source0:	https://mirrors.aliyun.com/pypi/web/packages/74/da/b7ac47b517b47ca3f0bcf87a8ed3f17c2b1978c4df9f000e0ac577b2106e/info_gain-1.0.1.tar.gz
BuildArch:	noarch


%description
# info_gain
Implementation of information gain algorithm. There seems to be a debate about how the information gain metric is defined. Whether to use the [Kullback-Leibler divergence](https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence) or the [Mutual information](https://en.wikipedia.org/wiki/Mutual_information) as an algorithm to define information gain. This implementation uses the [information gain calculation](https://en.wikipedia.org/wiki/Information_gain_ratio) as defined below:

## Information gain definitions
### Information gain calculation
Definition from [information gain calculation](https://en.wikipedia.org/wiki/Information_gain_ratio) (retrieved 2018-07-13).
Let `Attr` be the set of all attributes and `Ex` the set of all training examples, `value(x, a)` with `x` in `Ex` defines the value of a specific example `x` for attribute `a` in `Attr`, `H` specifies the entropy. The `values(a)` function denotes the set of all possible values of attribute `a` in `Attr`. The information gain for an attribute `a` in `Attr` is defined as follows:

![Information gain formula][ig]

[ig]: https://github.com/Thijsvanede/info_gain/blob/master/images/information_gain_formula.gif

### Intrinsic value calculation
Definition from [information gain calculation](https://en.wikipedia.org/wiki/Information_gain_ratio) (retrieved 2018-07-13).

![Intrinsic value calculation][iv]

[iv]: https://github.com/Thijsvanede/info_gain/blob/master/images/intrinsic_value_formula.gif

### Information gain ratio calculation
Definition from [information gain calculation](https://en.wikipedia.org/wiki/Information_gain_ratio) (retrieved 2018-07-13).

![Intrinsic value calculation][igr]

[igr]: https://github.com/Thijsvanede/info_gain/blob/master/images/information_gain_ratio_formula.gif

## Installation
To install the package via pip use:
```
pip install info_gain
```

To clone the package from the git repository use:
```
git clone https://github.com/Thijsvanede/info_gain.git
```

## Usage
Import the `info_gain` module with:
```
from info_gain import info_gain
```
The imported module has supports three methods:
 * `info_gain.info_gain(Ex, a)` to compute the information gain.
 * `info_gain.intrinsic_value(Ex, a)` to compute the intrinsic value.
 * `info_gain.info_gain_ratio(Ex, a)` to compute the information gain ratio.

### Example
```python
from info_gain import info_gain

# Example of color to indicate whether something is fruit or vegatable
produce = ['apple', 'apple', 'apple', 'strawberry', 'eggplant']
fruit   = [ True  ,  True  ,  True  ,  True       ,  False    ]
colour  = ['green', 'green', 'red'  , 'red'       , 'purple'  ]

ig  = info_gain.info_gain(fruit, colour)
iv  = info_gain.intrinsic_value(fruit, colour)
igr = info_gain.info_gain_ratio(fruit, colour)

print(ig, iv, igr)
```




%package -n python3-info-gain
Summary:	Information gain utilities
Provides:	python-info-gain
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-info-gain
# info_gain
Implementation of information gain algorithm. There seems to be a debate about how the information gain metric is defined. Whether to use the [Kullback-Leibler divergence](https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence) or the [Mutual information](https://en.wikipedia.org/wiki/Mutual_information) as an algorithm to define information gain. This implementation uses the [information gain calculation](https://en.wikipedia.org/wiki/Information_gain_ratio) as defined below:

## Information gain definitions
### Information gain calculation
Definition from [information gain calculation](https://en.wikipedia.org/wiki/Information_gain_ratio) (retrieved 2018-07-13).
Let `Attr` be the set of all attributes and `Ex` the set of all training examples, `value(x, a)` with `x` in `Ex` defines the value of a specific example `x` for attribute `a` in `Attr`, `H` specifies the entropy. The `values(a)` function denotes the set of all possible values of attribute `a` in `Attr`. The information gain for an attribute `a` in `Attr` is defined as follows:

![Information gain formula][ig]

[ig]: https://github.com/Thijsvanede/info_gain/blob/master/images/information_gain_formula.gif

### Intrinsic value calculation
Definition from [information gain calculation](https://en.wikipedia.org/wiki/Information_gain_ratio) (retrieved 2018-07-13).

![Intrinsic value calculation][iv]

[iv]: https://github.com/Thijsvanede/info_gain/blob/master/images/intrinsic_value_formula.gif

### Information gain ratio calculation
Definition from [information gain calculation](https://en.wikipedia.org/wiki/Information_gain_ratio) (retrieved 2018-07-13).

![Intrinsic value calculation][igr]

[igr]: https://github.com/Thijsvanede/info_gain/blob/master/images/information_gain_ratio_formula.gif

## Installation
To install the package via pip use:
```
pip install info_gain
```

To clone the package from the git repository use:
```
git clone https://github.com/Thijsvanede/info_gain.git
```

## Usage
Import the `info_gain` module with:
```
from info_gain import info_gain
```
The imported module has supports three methods:
 * `info_gain.info_gain(Ex, a)` to compute the information gain.
 * `info_gain.intrinsic_value(Ex, a)` to compute the intrinsic value.
 * `info_gain.info_gain_ratio(Ex, a)` to compute the information gain ratio.

### Example
```python
from info_gain import info_gain

# Example of color to indicate whether something is fruit or vegatable
produce = ['apple', 'apple', 'apple', 'strawberry', 'eggplant']
fruit   = [ True  ,  True  ,  True  ,  True       ,  False    ]
colour  = ['green', 'green', 'red'  , 'red'       , 'purple'  ]

ig  = info_gain.info_gain(fruit, colour)
iv  = info_gain.intrinsic_value(fruit, colour)
igr = info_gain.info_gain_ratio(fruit, colour)

print(ig, iv, igr)
```




%package help
Summary:	Development documents and examples for info-gain
Provides:	python3-info-gain-doc
%description help
# info_gain
Implementation of information gain algorithm. There seems to be a debate about how the information gain metric is defined. Whether to use the [Kullback-Leibler divergence](https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence) or the [Mutual information](https://en.wikipedia.org/wiki/Mutual_information) as an algorithm to define information gain. This implementation uses the [information gain calculation](https://en.wikipedia.org/wiki/Information_gain_ratio) as defined below:

## Information gain definitions
### Information gain calculation
Definition from [information gain calculation](https://en.wikipedia.org/wiki/Information_gain_ratio) (retrieved 2018-07-13).
Let `Attr` be the set of all attributes and `Ex` the set of all training examples, `value(x, a)` with `x` in `Ex` defines the value of a specific example `x` for attribute `a` in `Attr`, `H` specifies the entropy. The `values(a)` function denotes the set of all possible values of attribute `a` in `Attr`. The information gain for an attribute `a` in `Attr` is defined as follows:

![Information gain formula][ig]

[ig]: https://github.com/Thijsvanede/info_gain/blob/master/images/information_gain_formula.gif

### Intrinsic value calculation
Definition from [information gain calculation](https://en.wikipedia.org/wiki/Information_gain_ratio) (retrieved 2018-07-13).

![Intrinsic value calculation][iv]

[iv]: https://github.com/Thijsvanede/info_gain/blob/master/images/intrinsic_value_formula.gif

### Information gain ratio calculation
Definition from [information gain calculation](https://en.wikipedia.org/wiki/Information_gain_ratio) (retrieved 2018-07-13).

![Intrinsic value calculation][igr]

[igr]: https://github.com/Thijsvanede/info_gain/blob/master/images/information_gain_ratio_formula.gif

## Installation
To install the package via pip use:
```
pip install info_gain
```

To clone the package from the git repository use:
```
git clone https://github.com/Thijsvanede/info_gain.git
```

## Usage
Import the `info_gain` module with:
```
from info_gain import info_gain
```
The imported module has supports three methods:
 * `info_gain.info_gain(Ex, a)` to compute the information gain.
 * `info_gain.intrinsic_value(Ex, a)` to compute the intrinsic value.
 * `info_gain.info_gain_ratio(Ex, a)` to compute the information gain ratio.

### Example
```python
from info_gain import info_gain

# Example of color to indicate whether something is fruit or vegatable
produce = ['apple', 'apple', 'apple', 'strawberry', 'eggplant']
fruit   = [ True  ,  True  ,  True  ,  True       ,  False    ]
colour  = ['green', 'green', 'red'  , 'red'       , 'purple'  ]

ig  = info_gain.info_gain(fruit, colour)
iv  = info_gain.intrinsic_value(fruit, colour)
igr = info_gain.info_gain_ratio(fruit, colour)

print(ig, iv, igr)
```




%prep
%autosetup -n info_gain-1.0.1

%build
%py3_build

%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
	find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
	find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
	find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
	find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
	find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .

%files -n python3-info-gain -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Thu Jun 08 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.1-1
- Package Spec generated