diff --git a/lab2.md b/lab2.md index 0bb5987..da5e565 100644 --- a/lab2.md +++ b/lab2.md @@ -191,16 +191,15 @@ frame1['cluster'].value_counts() frame_minik['cluster'].value_counts() ``` -Из-за большого количества запросов не совсем удобно смотреть таблицы и хотелось бы больше интерактивности для понимания. Поэтому сделаем графики взаимного расположения запросов друг относительного друга. Сначала необходимо вычислить расстояние между векторами. Для этого можно применить косинусное расстояние. При этом можно использовать вычитание из единицы, чтобы не было отрицательных значений и находиться в пределах от $`0`$ до $`1`$. +Из-за большого количества запросов не совсем удобно смотреть таблицы и хотелось бы больше интерактивности для понимания. Поэтому сделаем графики взаимного расположения запросов друг относительного друга. Сначала необходимо вычислить расстояние между векторами. Для этого можно применить косинусное расстояние. Так как графики будут двух- и трехмерные, а исходная матрица расстояний n-мерная, то придется применять алгоритмы снижения размерности. На выбор есть много алгоритмов (MDS, PCA, t-SNE), но остановим выбор на Incremental PCA. Этот выбор сделан вследствие выигрыша данного алгоритма в ресурсоемкости. Алгоритм Incremental PCA используется в качестве замены метода главных компонентов (PCA), когда набор данных, подлежащий разложению, слишком велик, чтобы разместиться в оперативной памяти. IPCA создает низкоуровневое приближение для входных данных, используя объем памяти, который не зависит от количества входных выборок данных. ```python -from sklearn.metrics.pairwise import -cosine_similarity -dist = 1 - cosine_similarity(tfidf_matrix) +from sklearn.metrics.pairwise import cosine_similarity +dist = cosine_similarity(tfidf_matrix) dist.shape # Метод главных компонент - PCA