A Network-Based High-Level Data Classification Algorithm Using Betweenness Centrality
About The Paper
Data classification is a major machine learning paradigm, which has been widely applied to solve a large number of real-world problems. Traditional data classification techniques consider only physical features (e.g., distance, similarity, or distribution) of the input data. For this reason, those are called low-level classification. On the other hand, the human (animal) brain performs both low and high orders of learning, and it has a facility in identifying pat-terns according to the semantic meaning of the input data. Data classification that considers not only physical attributes but also the pattern formation is referred to as high-level classification. Several high-level classification techniques have been developed, which make use of complex networks to characterize data patterns and have obtained promising results. In this paper, we propose a pure network-based high-level classification technique that uses the betweenness centrality measure. We test this model in nine different real datasets and compare it with other nine traditional and well-known classification models. The results show us a competent classification performance.
This project was builded with the next technologies.
You need the next componenets to run this project.
- Docker. To install it follow these steps Click. On Ubuntu, you can run:
sudo apt-get install docker-ce docker-ce-cli containerd.io
- Visual Studio Code. To install it follow these steps Click. On Ubuntu, you can run:
sudo snap install code --classic
- Install the visual studio code extension "Remote - Containers"
Follow the next steps:
- Run the visual studio code.
- Open the folder where you clone the repository.
- Click on the green button with this symbol in the bottom left of visual studio code "><".
- Click on reopen in a container.
- Execute "main.py".
You can use the HLNB_BC as a classifier of scikit-learn. Just need train and predict.
classifier = HLNB_BC() classifier.fit(dataset["data"], dataset["target"]) classifier.predict(dataset_test["data"])
Distributed under the GNU v3 License. See
LICENSE for more information.
Project Link: https://github.com/estebanvz/hl_classification_bc