Limitations¶
Windows bugs¶
The function graphvizToPng which converts the dot file into an image using the subprocess module works only in a Linux environment but not in Windows
def graphvizToPng(self, out_file):
"""
Graphical rendering of the decision tree rules from the DOT file
:param out_file: Name of the output file
:type out_file: String
"""
outfile_path = os.path.join("results/", out_file)
assert os.path.isfile(
outfile_path), f"file {out_file!r} does not exist!"
command = f"dot -Tpng {outfile_path} -o {outfile_path[:-4]}.png"
try:
subprocess.check_call(command, shell=True)
except:
print(f'Please run the following command in a Linux environment: \n {command}')
else:
print('Converting the dot file to png completed successfully!')
In order to overcome this problem, there are several solutions
An online tool can be used
An extension in VScode can be installed
A Linux subsystem can be installed in Windows. For further information, please check the following links
Imbalanced classes¶
During our tests with the Aberdeen data, we encountered the problem of imbalanced data. In order to solve this problem, there are several solutions. One solution is the so called SMOTE which stands for Synthetic Minority Over-Sampling Technique. For further information on how to implement this method in Python, please check the following link
Imputation strategies¶
In order to deal with missing values, a more sophisticated imputation strategy can be used. For further information on how to implement this method in Python, please check the following link