Пока я изучаю курс «Введение в машинное обучение» от Udacity, я наткнулся на урок, в котором обсуждалась тема кластеризации. Курс затронул только самое начало предмета, потому что, когда я исследовал кластеризацию, я обнаружил, что существует по крайней мере десять широко используемых алгоритмов, которые охватывают кластеризацию. Тип кластеризации, который был описан в очень распространенном и простом алгоритме, кластеризации KMeans, и в самом последнем сообщении, которое я написал по этому вопросу, следующий:

Https://tracyrenee61.medium.com/how-to-use-kmeans-clustering-to-make-predictions-on-sklearns-blobs-6eeb8e6739ec

Мне лично требовалось немного, но больше инструкций, чем в курсе, поэтому я поискал в Интернете учебные пособия, которые дадут мне более полное представление об этом типе обучения без учителя. Я действительно хотел изучить кластеризацию и финансы, потому что это было основой Udacity, но найденные мной руководства были настолько устаревшими, что используемая ими финансовая модель Yahoo Finance больше не действовала. Поэтому я нашел руководство по прогнозированию выживших после Титаника, и, поскольку я написал довольно много программ, охватывающих множество алгоритмов, я решил попробовать использовать кластеризацию, чтобы попытаться сделать прогнозы на основе набора данных Титаника.

Алгоритм кластеризации kmeans пытается разбить данный анонимный набор данных без маркировки на фиксированное количество кластеров. Алгоритм kmeans определяет количество центроидов, а затем распределяет каждую точку данных в ближайший кластер, сохраняя при этом центроиды как можно меньшими.

Поскольку я писал о Титанике в прошлом, я использовал один из наборов данных, которые я ранее подготовил, а затем изменил его, чтобы использовать кластеризацию kmeans sklearn на нем, чтобы увидеть, будут ли полученные мной прогнозы лучше, чем использование помеченных данных .

Я написал программу в Google Colab, будучи бесплатным онлайн-блокнотом Jupyter Notebook. Самое замечательное в написании программ Python в Google Colab - это то, что программы можно сохранять на Google Диске и извлекать позже.

Когда я создавал программу, я импортировал библиотеки, которые мне понадобились для выполнения программы. Я импортировал библиотеки, которые мне изначально понадобились для запуска программы: pandas, numpy, sklearn, matplotlib и seaborn. Pandas используется для создания фреймов данных и управления ими, numpy используется для вычисления сложных алгебраических формул, sklearn содержит различные функции, которые потребуются для выполнения машинного обучения, а matplotlib и seaborn используются для графического представления данных:

Я создал график, чтобы показать, где в памяти компьютера появились выжившие и нежившие:

Затем я предварительно обработал фрейм данных, содержащий точки данных, и создал новый фрейм данных, названный данными: -

Затем я устанавливаю переменные X и y, которые являются зависимыми и независимыми переменными соответственно. Я настроил такие функции данных, как pclass, пол, возраст, age_b и тариф. Эти функции стали переменной X: -

Затем я запустил алгоритм KMeans в sklearn. Если кто-то хочет узнать больше о том, как работает KMeans, литературу о KMeans можно найти здесь: - https://scikit-learn.org/stable/modules/clustering.html#k-means

Я нормализовал данные, сделав all if para points равными от нуля до единицы.

Затем я установил критерии, по которым будут создаваться кластеры, и затем поместил в него нормализованную переменную X:

Затем я сделал прогноз на основе набора данных X, назначив каждую строку данных одному из двух определенных кластеров.

Я сравнил фактические значения с предсказанными и получил точность 67%:

В заключение, точность, которую я достиг с помощью классификаторов, была в среднем на 10 пунктов выше, чем точность с использованием кластеризации KMeans. Существует около десяти других алгоритмов кластеризации, которые можно использовать, поэтому, если позволит время, я буду экспериментировать с этим методом прогнозирования.

Полностью код этой программы можно найти в моей личной учетной записи GitHub, которую можно найти здесь: - https://github.com/TracyRenee61/Titanic-Datasets/blob/master/Total_Titanic_Data_Analysis_Clustering.ipynb