Changes and improvements are more than welcome! ❤️ Feel free to fork and open a pull request.
Please consider the following :
- Fork it!
- Create your feature branch (under
dev
branch) - Add your new features or fix detected bugs
- Add standard
docstring
to your functions/methods according to the standard format - Add tests for your functions/methods (
doctest
,Test
folder) - Update
README.md
(if needed) - Update
Document.ipynb
(if needed) - Pass all CI tests
- Update
CHANGELOG.md
- Describe changes under
[Unreleased]
section
- Describe changes under
- Update
AUTHORS.md
- Add your name under
# Other Contributors #
section
- Add your name under
- Submit a pull request into
dev
(please complete the pull request template)
- Add new functions to
pycm_class_func.py
- Update
CLASS_PARAMS
dictionary inpycm_param.py
- Update
class_statistics
function inpycm_class_func.py
- Call statistic function and store result in
result
dictionary
- Call statistic function and store result in
- Update
PARAMS_DESCRIPTION
dictionary inpycm_param.py
by a short description- If you don't want capitalization, update
CAPITALIZE_FILTER
list inpycm_param.py
(Optional)
- If you don't want capitalization, update
- Update
References
section inDocument.ipynb
(IEEE
format) - Add description to
Class Statistics
section inDocument.ipynb
- Cite reference
- Update table of contents
- Use
LaTeX
for formula
- Update
PARAMS_LINK
dictionary inpycm_param.py
by document tag (without#
) - Add tests to
overall_test.py
andfunction_test.py
inTEST
folder- If you have any verified test add them to
verified_test.py
- If you have any verified test add them to
- Run
autopep8.bat
/autopep8.sh
(Optional, need to install latest version ofautopep8
package)
- Add new functions to
pycm_overall_func.py
- Update
OVERALL_PARAMS
dictionary inpycm_param.py
- Update
overall_statistics
function inpycm_class_func.py
- Call statistic function and store result in a variable
- Add this variable to output
- Update
References
section inDocument.ipynb
(IEEE
format) - Add description to
Overall Statistics
section inDocument.ipynb
- Cite reference
- Update table of contents
- Use
LaTeX
for formula
- Update
PARAMS_LINK
dictionary inpycm_param.py
by document tag (without#
) - Add tests to
overall_test.py
andfunction_test.py
inTEST
folder- If you have any verified test add them to
verified_test.py
- If you have any verified test add them to
- Run
autopep8.bat
/autopep8.sh
(Optional, need to install latest version ofautopep8
package)
- Add new interpretation table as a function to
pycm_interpret.py
- Add a score dictionary to
pycm_param.py
- Example :
PLRI_SCORE = {"Good": 4, "Fair": 3, "Poor": 2, "Negligible": 1, "None": "None"}
- Example :
- Add a color dictionary to
BENCHMARK_COLOR
inpycm_param.py
- Example :
"PLRI": {"Negligible": "Red","Poor": "Orange","Fair": "Yellow","Good": "Green","None": "White"}
- Example :
- If interpretation table is for a class statistic:
- Step 2-7 class statistic
- Update
CLASS_BENCHMARK_SCORE_DICT
inpycm_param.py
- If interpretation table is for a overall statistic:
- Step 2-6 overall statistic
- Update
OVERALL_BENCHMARK_SCORE_DICT
inpycm_param.py
- Add tests to
compare_test.py
,overall_test.py
andfunction_test.py
inTEST
folder- If you have any verified test add them to
verified_test.py
- If you have any verified test add them to
- Run
autopep8.bat
/autopep8.sh
(Optional, need to install latest version ofautopep8
package)
Here, the docstring
format mainly follows the PEP suggested structure. Note the following items
- Start the
docstring
description with uppercase letter and end it with a dot - All other descriptions should be written in lowercase (unless exceptions)
- Declare the abbreviations before using them
Example:
def DF_calc(classes):
"""
Calculate Chi-squared degree of freedom (DF).
:param classes: confusion matrix classes
:type classes: list
:return: DF as int
"""