Здравствуйте! Я сейчас изучаю анализ данных, в том числе и по данном видеокурсу. За существование которого очень хотелось бы поблагодарить! Великолепный курс, изложено качественно и доступно! Лекции, естественно, смотрю на сайте Computer Science Center, где они мало того, что доступны в неурезанном виде, так еще и дополнены исходными данными и листингами программ. Но для этого курса четвертая лекция на сайте пропущена (см. Курсы / Анализ данных на Python в примерах и задачах. Часть 1 / весна 2018 /). Если бы можно было увидеть ее полный вариант, было бы невероятно круто!
Ставьте n_jobs=-1 и будет вам счастье: все ядра CPU будут задействованы для вычислений, поскольку sklearn буде юзать multiproсessing. С распараллеливанием в Python все норм - просто нужно знать, когда и что можно и нужно использовать: потоки, процессы или асинхронку. Ну, и не забывать о том, что никакого настоящего распараллеливания не СУЩЕСТВУЕТ, так как процессор играет только в пошаговые стратегии.
Спасибо большое за лекцию! Только не понимаю почему в последнем примере сначала стандартизировали данные, записали их в переменную Х, но потом в fit используется старая переменная df? Для стандартизированных данных при n_clusters = 6 получаются другие результаты
Согласен, надо вместо df использовать X. И страны тогда делятся на кластеры очень схоже между собой: страны северной Европы в одном кластере, центральной - в другом, Испания и Португалия в третьем и тд
Спасибо за лекцию. С удовольствием ее пересматриваю и конспектирую. Скажите, пожалуйста, есть ли способ узнать как близко к центрам кластеров нашей модели (model = KMeans(n_clusters=2, random_state=42).fit(df)) находятся предикторы new_data, по которым мы делаем прогноз методом model.predict(new_data)? Спасибо.
Кажется можно сделать так, для двух кластеров: 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
Вам стоит переформулировать Ваш вопрос. Подозреваю, вопрос был о другом Текущая версия не имеет смысла. Предиктор - столбец матрицы данных, вектор длины n, n - число наблюдений Вектор из координат центра кластера имеет длину k, k - число предикторов. Вы хотите считать расстояние между векторами разной длины.
@@Vadim_Abbakumov Спасибо вам огромное за эти лекции! Все очень понятно! Многих "учителей" просмотрел за все время и вы один из тех, кто действительно заинтересован в понимании учебного материала. Еще раз спасибо!
Привествую, спасибо за лекцию. Пересмотрела на 3 раза. Вопросы есть: 1как обосновать применение k-means среди всех других методов кластеризации (простота как-то несолидно звучит). 2. k-means чувствителен к выбросам, солько рекомендуете выбрасывать, если данные ненормальные. Только явные или все? 3. Где-то слышала, что стандартизация проводится по случаям (строкам), а не переменным, это имеет место быть? 4 в результате разных методов нормализации разные результаты, чем руководствоваться в выборе. спасибо большое и человеческое заранее.
1. Применим к большим наборам данных, с которыми другие методы не справляются. Опробован, так как применяется чаще других. Входил и наверное все еще входит в список 10 самых популярных методов анализа данных.
2. Распространенный предрасудок. k-means можно даже использовать для выявления выбросов. Проведите кластеризацию первый раз. Большинство кластеров содержит одно наблюдение. Проверяем эти наблюдения. Именно они обычно выбросы. Удаляем их. Проводим кластеризацию. Если снова выявились одноэлементные кластеры, проверяем их и так далее, пока кластеры из 1 наблюдения (выбросы) не прекратят появляться. Удаление выбросов завершено. Только теперь проводим окончательную кластеризацию как в лекции.
4. Если есть время, то руководствуетесь качеством интерпретации кластеров. Если времени нет, оставляете версию, в которой наиболее плотные кластеры. Используете для сравнения метрику вроде силуэта. Но не обязательно именно силуэт.
11:37 *Душевное спокойствие - не пустячок* - прекрасная фраза. Такие лекции и лекторы на youtube вселяют желание получить второе высшее.
Приходишь в универ и желание пропадает после первой недели
@@Shalnoy_ginko Не исключено
очень человечные лекции. уже все посмотрел и так круто! спасибо!
Здравствуйте! Я сейчас изучаю анализ данных, в том числе и по данном видеокурсу. За существование которого очень хотелось бы поблагодарить! Великолепный курс, изложено качественно и доступно!
Лекции, естественно, смотрю на сайте Computer Science Center, где они мало того, что доступны в неурезанном виде, так еще и дополнены исходными данными и листингами программ. Но для этого курса четвертая лекция на сайте пропущена (см. Курсы / Анализ данных на Python в примерах и задачах. Часть 1 / весна 2018 /). Если бы можно было увидеть ее полный вариант, было бы невероятно круто!
Спасибо вам огромное!
низкий поклон, спасибо большое
Очень интересно смотреть Вас
Ставьте n_jobs=-1 и будет вам счастье: все ядра CPU будут задействованы для вычислений, поскольку sklearn буде юзать multiproсessing. С распараллеливанием в Python все норм - просто нужно знать, когда и что можно и нужно использовать: потоки, процессы или асинхронку. Ну, и не забывать о том, что никакого настоящего распараллеливания не СУЩЕСТВУЕТ, так как процессор играет только в пошаговые стратегии.
Было бы круто увидеть этот курс на Stepik
Лекции супер.
Неожиданно. Вы предпочитаете, когда курс платный?
особое спасибо за nbclust!!!!
Спасибо большое за лекцию! Только не понимаю почему в последнем примере сначала стандартизировали данные, записали
их в переменную Х, но потом в fit используется старая переменная df? Для стандартизированных данных при
n_clusters = 6 получаются другие результаты
Извините, некогда смотреть. Без сомнений в fit должно использовать стандартизованные переменные. Возможно у меня опечатка.
Согласен, надо вместо df использовать X. И страны тогда делятся на кластеры очень схоже между собой: страны северной Европы в одном кластере, центральной - в другом, Испания и Португалия в третьем и тд
Здравствуйте! А можно ли где-то найти задания? Очень хочется закреплять практикой
Хорошая лекция, а где можно скачать блокнот?
Спасибо за лекцию. С удовольствием ее пересматриваю и конспектирую.
Скажите, пожалуйста, есть ли способ узнать как близко к центрам кластеров нашей модели (model = KMeans(n_clusters=2, random_state=42).fit(df)) находятся предикторы new_data, по которым мы делаем прогноз методом model.predict(new_data)? Спасибо.
Кажется можно сделать так, для двух кластеров:
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
Вам стоит переформулировать Ваш вопрос.
Подозреваю, вопрос был о другом
Текущая версия не имеет смысла.
Предиктор - столбец матрицы данных, вектор длины n,
n - число наблюдений
Вектор из координат центра кластера имеет длину k, k - число предикторов.
Вы хотите считать расстояние между векторами разной длины.
@@Vadim_Abbakumov Спасибо вам огромное за эти лекции! Все очень понятно! Многих "учителей" просмотрел за все время и вы один из тех, кто действительно заинтересован в понимании учебного материала. Еще раз спасибо!
Жалко, что теоретическую часть пропустили.
Отключился микрофон, я не заметил...
Теоретический раздел можно посмотреть в предыдущем курсе,
там то же самое
ua-cam.com/video/8gBWn0H5cOE/v-deo.html
Спасибо!
Привествую, спасибо за лекцию. Пересмотрела на 3 раза. Вопросы есть: 1как обосновать применение k-means среди всех других методов кластеризации (простота как-то несолидно звучит). 2. k-means чувствителен к выбросам, солько рекомендуете выбрасывать, если данные ненормальные. Только явные или все? 3. Где-то слышала, что стандартизация проводится по случаям (строкам), а не переменным, это имеет место быть? 4 в результате разных методов нормализации разные результаты, чем руководствоваться в выборе. спасибо большое и человеческое заранее.
1. Применим к большим наборам данных, с которыми
другие методы не справляются. Опробован, так как применяется чаще других. Входил и наверное все еще входит в список 10 самых популярных методов анализа данных.
2. Распространенный предрасудок. k-means можно даже использовать для выявления выбросов. Проведите кластеризацию первый раз. Большинство кластеров содержит одно наблюдение. Проверяем эти наблюдения. Именно они обычно выбросы. Удаляем их. Проводим кластеризацию. Если снова выявились одноэлементные кластеры, проверяем их и так далее, пока кластеры из 1 наблюдения (выбросы) не прекратят появляться. Удаление выбросов завершено. Только теперь проводим окончательную кластеризацию как в лекции.
3. Встречается, но редко. Например если Вы кластеризуете переменные, а не наблюдения.
4. Если есть время, то руководствуетесь качеством интерпретации кластеров. Если времени нет,
оставляете версию, в которой наиболее плотные кластеры. Используете для сравнения метрику вроде силуэта. Но не обязательно именно силуэт.
@@Vadim_Abbakumov СПАСИБО ЕЩЕ РАЗ
Лектор отличный, но вот с каждым разом всё больше чувствую что в видео не полная информация.
Новая версия выложена ua-cam.com/video/fIrhDECKwdc/v-deo.html