Во-первых, вы должны быть очень осторожны при запуске PCA с переменными, которые не имеют собственного порядка.Такие как категориальные данные.
Во-вторых, подумайте, что вообще означает применять PCA к таким вещам, как имена.PCA работает с векторами, длина которых имеет направление.Какова длина боб и в каком направлении он будет указывать?
Одна вещь, которую вы можете попробовать, - это преобразовать ваши строковые данные в N-граммы, которые были бы идеальными векторами.Еще одна попытка - применить преобразование TF-IDF, что опять-таки даст вам вектор.
После того, как вы применили одно из этих преобразований.У вас проблема с наличием векторов, встроенных в векторы.Вы можете попробовать объединить их в один вектор путем конкатенации и нормализации.Или вы можете отказаться от PCA и рассматривать свой набор данных как набор тензоров и применять что-то вроде многолинейного компонентного анализа , который является расширением PCA для тензоров.
Обратите внимание, что любой из этих подходов приведет к гигантскомувекторы, поэтому вам нужно иметь много экземпляров данных, чтобы получить что-то значимое из вашего анализа.