{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"Clustering is a fundamental task in unsupervised learning widely applied in exploratory data mining, image analysis, information retrieval, data compression, pattern recognition, text clustering, and bioinformatics. The main objective of clustering is to group data into clusters based on similarity, density, intervals, or statistical distribution measures of the data space. For example, clustering gene expressions (GEs) can reveal groups of functionally related genes where genes with small distances share similar expression patterns. This analysis helps identify genes that are switched 'on' or 'off' under specific conditions. Another application is clustering genes or biomedical images to discover hidden patterns from unlabeled datasets. Visualizing, interpreting, and analyzing high-dimensional and large-scale biological data in its unstructured form can be challenging unless the data is organized into clusters.\n\nThe success of clustering biological entities such as genes, diseases, proteins, pathways, and small molecules depends on the amount, quality, and type of input data, or samples such as patients or distinct cells. While a vast amount of biological data is being generated from various medical devices, the application of clustering is still limited in genomic medicine and microarray analysis, primarily focusing on gene clustering with a limited dataset. As a result, cluster analysis in areas like bioimaging, human genetics, plant and animal ecology, biomedical texts, and genomic data is not fully explored and is still in its early stages compared to microarrays. For instance, RNA-Seq has become the dominant technology for GE-level measurements, offering several advantages over microarrays, and single-cell experiments have emerged as a significant bioinformatics research area where clustering plays a crucial role.\n\nHowever, clustering analysis itself is not a specific algorithm, and various techniques can be employed, differing in how they define a cluster and how efficiently they find them. Different problems require different similarity measures and separation techniques in practice. Finding the optimal clustering algorithm for a specific bioinformatics problem is challenging and can be treated as a multi-objective optimization problem. Over the years, several clustering analysis approaches have been proposed, including hierarchical clustering (HC), centroid-based clustering (CC), distribution-based clustering (DC), density-based clustering (DC1), and self-organizing maps (SOMs). Other approaches include probabilistic clustering, grid-based clustering, spectral clustering, and non-negative matrix factorization. HC algorithms, such as agglomerative clustering, create clusters in a predetermined order (top-down or bottom-up), merging lower-level clusters into larger ones at higher levels, resulting in a hierarchy of clusters. In agglomerative clustering (AC), each data point is initially considered as an individual cluster, and similar clusters are progressively merged until one or K clusters are formed in each iteration. HC algorithms have the advantage of simplicity and visual appeal, and by choosing the desired level, the hierarchy can be cut to obtain a suitable clustering with the desired granularity. However, clustering quality (CQ) is sensitive to noise, making the interpretation of the hierarchy challenging. Additionally, the clustering decision is made locally based on deterministic attributes, without the opportunity to reassess the clustering.\n\nOn the other hand, CC algorithms, such as K-means and partitioning around medoids (K-medoids), offer several advantages over SOM and HC, including superior performance in terms of point density accuracy, topology preservation, and computational requirements. However, CC algorithms struggle to find non-convex clusters. DC algorithms, such as Gaussian mixture model (GMM), are based on distribution models, where clusters are defined by data points belonging to discovered distributions. In general, DC approaches produce complex models for clusters, allowing capturing correlations and dependencies between biological attributes. The downside is that if the Gaussian distributions are based on strong assumptions about the data, concise models cannot be developed. Furthermore, DC algorithms are prone to overfitting unless constraints on model complexity are imposed. In DC1 algorithms, such as DBSCAN and its generalization OPTICS, clusters are defined as areas of higher density compared to the rest of the dataset, considering objects in sparser regions as noise or border points. However, both DBSCAN and OPTICS require density drop to detect cluster borders, while GMM based on expectation maximization (EM) can effectively overcome this limitation.","metadata":{}},{"cell_type":"markdown","source":"Reference: \n1. [Deep learning-based clustering approaches for bioinformatics](https://academic.oup.com/bib/article/22/1/393/5721075) \n2. [A panel of eight microRNAs is a good predictive parameter for triple-negative breast cancer relapse](https://pubmed.ncbi.nlm.nih.gov/32754277/)","metadata":{}}]}