التجميع
مكتبة التجميع والتجميع الغامض مع CLI متكاملة.
تثبيت
$ python3 setup.py install
سيقوم تشغيل البرنامج النصي setup.py بتنزيل جميع الحزم المطلوبة وتثبيت الأوامر التالية إما في ~/.local/bin/ للتثبيت المحلي أو في الدلائل /usr/lib/pythonX.X :
- CLUS: الأمر الرئيسي للتجميع القائم على التقسيم.
- DCLUS: التجميع القائم على الكثافة.
- HCLUS: التجميع الهرمي.
- Eclus: تقييم التجميع. تنفيذ طريقة اختلاف لتقييم نتائج التجميع من خلال مقارنة أقسامين.
الاستخدام
# Simple clustering with 500-components kmeans algorithm
$ clus dataset.csv kmeans -k 500 --max-iter 100 --eps 0.001 --header --save-clus
# Clustering with a weighted euclidean distance + matplotlib visualisation
$ clus dataset.npy kmeans --pairwise-distance weighted_euclidean --weights 1 0 1 1 --visualise
# Clustering from a .npz file with a 3D matplotlib visualisation
$ clus dataset.npz fcm --array-name clusters_center --visualise-3d
# Clustering with automatic dataset filetype guessing and with a normalization beforehand
$ clus dataset kmeans --file-type guess --normalization rescaling --save-clus
# DBSCAN clustering with a custom clustering results saving path
$ dclus dataset.csv dbscan --save-clus --seed 1 --format-filename-dest-results dbased_{clustering_algorithm}_{dataset}_{seed}تودو
- إعادة كتابة النموذج الكامل:
- الابتعاد عن دعم CLI إلى واجهة فئة Python أكثر نظافة
- تصميم فصول تجميع أساسية وتجريدية سهلة الاستخدام
- استلهم من النهر
- عائلة الخوارزمية "الجديدة": خوارزميات البث/تمرير واحد.
- Pour Les FCM ، plusieurs نسخ de données sont faites plusieurs fois. محسّن ، voir: https://pythonhosted.org/scikit-fuzzy/_modules/skfuzzy/cluster/_cmeans.html#cmeans
- Rendre Les Opérations de clustering in place (ne pas dupliquer les données)
- Méthodes de clustering à intlémenter:
- https://github.com/scikit-learn/scikit-learn/blob/7b136e9/sklearn/cluster/k_means_py#l1318
- بصريات
- يعني تحريك
- vérifier le hard_c_medoids
- المنفذ UNE Detection Automatique de header si le flag -header n'est pas passé. Voir: https://stackoverflow.com/questions/32312309/check-if-header-exists-with-python-pandas
- permettre au hc de prendre plusieurs paramètres pour fcluster. si plusieurs ، alors على params CES التزيين. Ajouter Option Fcluster_value dans le filename.
- Les opérations sur medoids sont lentes. أكواد S'Inspirer d'Autres Pour Les Ameliorer:
- https://github.com/vitordeatorreao/amproj/blob/844842a532524d5f514e7534da65c7a64ab7ef57/amproj/distance/kmedoids.py
- https://github.com/agartland/utils/blob/e200d7e41039ca0053bd817c1d1857aab3bd503/kmedoids.py#l172
- https://github.com/brain-mapper/brainmapperv2/blob/63075bdca2428197fc18a1cf6c7403c2764e0664/ourlib/clustering.py#l293
- Application du تزين "MemoryRor_fallback" ، d'un parametre de taille de chunk ، puis utiliser sklearn.metrics.pairwise_distances_chunked
- au lieu de fixer un nom de fichier par défaut ، mettre tous les paramètres par défaut à none (et fixer en dur leurs valeus par défaut dans la doc ، ou formater selon un fichier) et ajouter les none pass par l'tilisatur au under. L'Utilisateur Peut Aussi Très Bien Passer Son Nom de Fichier Prédéfini.
- ضمنية un algo d'readimment (de comparaison) التأثيرات. peut être utiliser https://fr.wikipedia.org/wiki/algorithme_hongrois
- Revoir Les Séparations en sous-commandes. peut être faire: "clus تقييم" ou "clus تصور".
- s'inspirer de l'api d'Autres التجميع البرمجيات: ** https://elki-project.github.io **
- LaMémenter la lecture de fichiers: ** memmap: https://docs.scipy.org/doc/numpy/reference/generated/numpy.memmap.html
- S'inspirer des codes suivants: ** https://github.com/overshiki/kmeans_pytorch/blob/master/kmeans.py
- mesures etudier: ** https://scikit-learn.org/stable/modules/generated/sklearn.metrics.adjusted_mutual_info_score.html ** https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.multivariate_normal.html **
- strver Meilleure Coupe HC: ** https://www.sciencedirect.com/science/article/pii/S0031320310001974
- etudier d'Autres méthodes de ordalyization ، leurs eptets et leurs buts ** https://en.wikipedia.org/wiki/normalization_(statistics) ** https://en.wikipedia.org/wiki/feature_scaling ** https://sebastianraschka.com/articles/2014_about_feature_scaling.html
- refactoring de l'architecture du code: ** clus.methods ، Qui Offre toutes les méthodes depuis ce module. ** clus.precessing ، Qui Offre Les Méthodes de Normalization ، et de pondération ** clus.visualisation ** clus.evaluation ** clus.loading ، toates les méthodes de chargement des données
- changer la façon dont les paramètres du clustering sont stockés et dont les résultats sont sauvegardés. ** Virer tous les params liés au nom de fichier. ne garder que "file-name-prefix" ، et ajouter un uuid comme nom de fichier. ** الأسهم tous les paramètres de clustering dans le dictionnaire résultats. clef "params". ** Maintenant que j'écris ça ، je me rends compte que sacred serait peut etre plus fundié pour la gestion des résultats.
- Virer Silhouette ، Ne Garder que silhouette-smples ، puis redourner la moyenne (Qui المرتبط بـ silhouette-score) ، على Lapelle silhouette_mean ، et l'écart silhouette_std.
- etudier l'itpility de: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.pairwise_distances_chunked.html
- REMETTRE LES Références dans la doc de chaque module. Les Retirer des références ci-dessous.
- essayer de proposer une intrementation de k-means cuda: http://alexminnaar.com/2019/03/05/cuda-kmeans.html
- ajouter param uuid: ajouter un param ممكن ، {uuid4} ، {uuid6} ، etc dans le futur nom de fichier peut etre؟ Sireer si on put l'iolliser avec le temps ، sinon faudra faure gaffe à l'limitation Avec Graine Aléatoire ، sinon c'est possiblkz que je retounte les mêmes uuid à chaque fois.
- Ajouter des mesures d'alsuation: papier pour mesures d'aluad alcateg: https://amstat.tandfonline.com/doi/abs/10.1080/01621459.1971.10482356#.xxxye6wxxry
- etudier d'Autres Normalisations et leurs effets: https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#results
مراجع
- [1] ر. كريشنابورام ؛ أ. جوشي ؛ ناسراوي ؛ L. yi ، خوارزميات التجميع العلائقية ذات التعقيد المنخفضة الغامضة لاستخراج الويب ، معاملات IEEE على الأنظمة الغامضة (المجلد: 9 ، العدد: 4 ، أغسطس 2001) ، p595-607 ، doi: 10.1109/91.940971
- [2] Tolga Can ، k-means مثال عنقولة فارغة ، http://user.ceng.metu.edu.tr/~tcan/ceng465_f1314/schedule/kmeansempty.html (الأرشيف: https://web.archive.org/web/20180626092955/http://user.ceng.metu.edu.tr/~tcan/ceng465_f1314/schedule/kmeansempty.html)
- [3] روس ، تيموثي ج. ، المنطق الغامض مع التطبيقات الهندسية ، الطبعة الثالثة. وايلي. 2010. ISBN 978-0-470-74376-8 PP 352-353
- [4] جو مارينو ، التبييض الإحصائي ، http://joelouismarino.github.io/blog_posts/blog_whitening.html (الأرشيف: https://web.archive.org/web/20180813034201/http://joelouismarino.github.io/blog_posts/blog_whitening.html)
- [5] TODO: تطبيق المسافة الإقليدية المرجحة يعادل تطبيق المسافة الإقليدية التقليدية على البيانات الموزونة بالجذر التربيعي للأوزان
- [6] جيمس سيبيزديك ، روبرت إيرليتش ، ويليام فول ، FCM: خوارزمية التجميع الغامضة C-Means ، https://doi.org/10.1016/0098-3004(84)90020-7 ، 1983 ، 1983