Лекция 4. Метод к-средних

Поділитися
Вставка
  • Опубліковано 15 сер 2018
  • compscicenter.ru/
    Метод к-средних. Примеры (теоретическая часть лекции пропущена)
    Лекция №4 в курсе "Анализ данных на Python в примерах и задачах. Часть 1" (весна 2018).
    Преподаватель курса: Вадим Леонардович Аббакумов

КОМЕНТАРІ • 33

  • @ProgrammerForever
    @ProgrammerForever 3 роки тому +19

    11:37 *Душевное спокойствие - не пустячок* - прекрасная фраза. Такие лекции и лекторы на youtube вселяют желание получить второе высшее.

    • @Shalnoy_ginko
      @Shalnoy_ginko 8 місяців тому +1

      Приходишь в универ и желание пропадает после первой недели

    • @ProgrammerForever
      @ProgrammerForever 8 місяців тому

      @@Shalnoy_ginko Не исключено

  • @praetorian7279
    @praetorian7279 2 місяці тому

    очень человечные лекции. уже все посмотрел и так круто! спасибо!

  • @nikitun85
    @nikitun85 4 роки тому +14

    Здравствуйте! Я сейчас изучаю анализ данных, в том числе и по данном видеокурсу. За существование которого очень хотелось бы поблагодарить! Великолепный курс, изложено качественно и доступно!
    Лекции, естественно, смотрю на сайте Computer Science Center, где они мало того, что доступны в неурезанном виде, так еще и дополнены исходными данными и листингами программ. Но для этого курса четвертая лекция на сайте пропущена (см. Курсы / Анализ данных на Python в примерах и задачах. Часть 1 / весна 2018 /). Если бы можно было увидеть ее полный вариант, было бы невероятно круто!

  • @maximshalankin7699
    @maximshalankin7699 5 років тому

    Очень интересно смотреть Вас

  • @Eshtele
    @Eshtele 3 роки тому

    особое спасибо за nbclust!!!!

  • @garrygaller2853
    @garrygaller2853 5 років тому +3

    Ставьте n_jobs=-1 и будет вам счастье: все ядра CPU будут задействованы для вычислений, поскольку sklearn буде юзать multiproсessing. С распараллеливанием в Python все норм - просто нужно знать, когда и что можно и нужно использовать: потоки, процессы или асинхронку. Ну, и не забывать о том, что никакого настоящего распараллеливания не СУЩЕСТВУЕТ, так как процессор играет только в пошаговые стратегии.

  • @sumavin
    @sumavin 2 роки тому

    Хорошая лекция, а где можно скачать блокнот?

  • @tka400
    @tka400 3 роки тому +1

    Спасибо за лекцию. С удовольствием ее пересматриваю и конспектирую.
    Скажите, пожалуйста, есть ли способ узнать как близко к центрам кластеров нашей модели (model = KMeans(n_clusters=2, random_state=42).fit(df)) находятся предикторы new_data, по которым мы делаем прогноз методом model.predict(new_data)? Спасибо.

    • @tka400
      @tka400 3 роки тому

      Кажется можно сделать так, для двух кластеров:
      dis1=0
      dis2=0
      for i in range(len(new_data[0])):
      dis1+=(new_data[0][i]-model.cluster_centers_[0][i])**2
      dis2+=(new_data[0][i]-model.cluster_centers_[1][i])**2

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 3 роки тому

      Вам стоит переформулировать Ваш вопрос.
      Подозреваю, вопрос был о другом
      Текущая версия не имеет смысла.
      Предиктор - столбец матрицы данных, вектор длины n,
      n - число наблюдений
      Вектор из координат центра кластера имеет длину k, k - число предикторов.
      Вы хотите считать расстояние между векторами разной длины.

    • @Egor-sm4bl
      @Egor-sm4bl 3 роки тому

      @@Vadim_Abbakumov Спасибо вам огромное за эти лекции! Все очень понятно! Многих "учителей" просмотрел за все время и вы один из тех, кто действительно заинтересован в понимании учебного материала. Еще раз спасибо!

  • @user-iy6gy3qr1v
    @user-iy6gy3qr1v 2 роки тому +1

    Было бы круто увидеть этот курс на Stepik
    Лекции супер.

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 2 роки тому

      Неожиданно. Вы предпочитаете, когда курс платный?

  • @salavat_faritovich
    @salavat_faritovich Рік тому

    Здравствуйте! А можно ли где-то найти задания? Очень хочется закреплять практикой

  • @Ibra4topchick8045
    @Ibra4topchick8045 3 роки тому +3

    Спасибо большое за лекцию! Только не понимаю почему в последнем примере сначала стандартизировали данные, записали
    их в переменную Х, но потом в fit используется старая переменная df? Для стандартизированных данных при
    n_clusters = 6 получаются другие результаты

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 3 роки тому +3

      Извините, некогда смотреть. Без сомнений в fit должно использовать стандартизованные переменные. Возможно у меня опечатка.

    • @serezHab
      @serezHab 2 роки тому

      Согласен, надо вместо df использовать X. И страны тогда делятся на кластеры очень схоже между собой: страны северной Европы в одном кластере, центральной - в другом, Испания и Португалия в третьем и тд

  • @axxtung12
    @axxtung12 5 років тому +10

    Жалко, что теоретическую часть пропустили.

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 5 років тому +23

      Отключился микрофон, я не заметил...
      Теоретический раздел можно посмотреть в предыдущем курсе,
      там то же самое
      ua-cam.com/video/8gBWn0H5cOE/v-deo.html

    • @axxtung12
      @axxtung12 5 років тому

      Спасибо!

  • @Eshtele
    @Eshtele 3 роки тому

    Привествую, спасибо за лекцию. Пересмотрела на 3 раза. Вопросы есть: 1как обосновать применение k-means среди всех других методов кластеризации (простота как-то несолидно звучит). 2. k-means чувствителен к выбросам, солько рекомендуете выбрасывать, если данные ненормальные. Только явные или все? 3. Где-то слышала, что стандартизация проводится по случаям (строкам), а не переменным, это имеет место быть? 4 в результате разных методов нормализации разные результаты, чем руководствоваться в выборе. спасибо большое и человеческое заранее.

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 3 роки тому

      1. Применим к большим наборам данных, с которыми
      другие методы не справляются. Опробован, так как применяется чаще других. Входил и наверное все еще входит в список 10 самых популярных методов анализа данных.

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 3 роки тому

      2. Распространенный предрасудок. k-means можно даже использовать для выявления выбросов. Проведите кластеризацию первый раз. Большинство кластеров содержит одно наблюдение. Проверяем эти наблюдения. Именно они обычно выбросы. Удаляем их. Проводим кластеризацию. Если снова выявились одноэлементные кластеры, проверяем их и так далее, пока кластеры из 1 наблюдения (выбросы) не прекратят появляться. Удаление выбросов завершено. Только теперь проводим окончательную кластеризацию как в лекции.

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 3 роки тому

      3. Встречается, но редко. Например если Вы кластеризуете переменные, а не наблюдения.

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 3 роки тому

      4. Если есть время, то руководствуетесь качеством интерпретации кластеров. Если времени нет,
      оставляете версию, в которой наиболее плотные кластеры. Используете для сравнения метрику вроде силуэта. Но не обязательно именно силуэт.

    • @Eshtele
      @Eshtele 3 роки тому

      @@Vadim_Abbakumov СПАСИБО ЕЩЕ РАЗ

  • @Shalnoy_ginko
    @Shalnoy_ginko 8 місяців тому

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

    • @Vadim_Abbakumov
      @Vadim_Abbakumov 25 днів тому

      Новая версия выложена ua-cam.com/video/fIrhDECKwdc/v-deo.html