Как эффективно начать работу с наукой о данных?

машинное обучение глубокое обучение Python Нейронные сети

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

проблема

С июня 2017 года я последовательно публикую в своей короткой книжной колонке "Эвкалиптовая орхидея", написал сериюнаука о данныхруководство.

Это произошло из-за попытки семинара по программированию для аспирантов. Вдохновленный тренировочным лагерем тренера Яна по инновационному мышлению, я подробно записал процесс создания облака слов и поделился им со всеми после занятий.

Неожиданно это "Как сделать облако слов в Python?" был очень тепло встречен читателями.

После этого дело вышло из-под контроля.

По просьбе читателей, в сочетании с моими собственными исследованиями, исследованиями и преподавательской практикой, я последовательно делился более и болееСтатьи по теме Data Science.

Число читателей росло, а вопросы, которые я получал, становились все разнообразнее.

Многие вопросы читателей, я уже объяснил их в других статьях, поэтому иногда я использую "Пожалуйста, обратитесь к моей другой статье "...", ссылка есть...", чтобы ответить, а также помочь читателям решить проблему.

в разработкесочувствиеДо (сопереживания) я бы, наверное, задавал такие вопросы:

Почему они не просматривают другие мои статьи?

Но теперь я чувствую их сомнения:

Как я узнал, что вы написали еще одну статью?

Разбросанные повсюду статьи нелегко систематически изучать и извлекать. Итак, в ноябре 2017 года я собрал серию руководств по науке о данных, которые я написал, и сделалиндексные наклейки.

Я помещаю эту индексную ссылку в конце каждого нового урока и постоянно обновляю ее.

Однако такой простой указатель заглавий все жене в состоянии удовлетворитьмного читателейнеобходимость.

Некоторые читатели следуютруководствоПосле завершения облака слов я обнаружил, что если я проанализирую китайский текст, там будут искаженные символы:

Что делать в это время?

Кроме того, что, если вы хотите изменить внешнюю границу облака слов на заданную форму?

Просто взглянув на название, вы не сможете легко найти, какая статья поможет вам решить эти проблемы, и вы даже можете выбратьсдаться.

Я решил сделать это руководство.

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

Надеюсь на вашу учебуполезный.

основная среда

Большинство руководств выполняются и демонстрируются в среде выполнения Python Jupyter Notebook.

Самый простой способ установить эту среду выполнения — установить пакет интеграции Anaconda.

Сначала посмотрите этот видеоурокКак установить среду выполнения Python Anaconda? (видеоурок)", попробуйте установить Anaconda самостоятельно, запустите первый блокнот Jupyter и выведите "Hello world!".

Имея эту основу, вы можете экспериментировать с различными задачами по науке о данных.

Я предлагаю сначала сделать облако слов.

Потому что это просто и имеет смысл достижения.

облако слов

Следуйте графическому руководству »Как сделать облако слов в Python?"Шаг за шагом. С помощью нескольких строк кода Python вы можете создать такое облако слов.

Я также специально модернизировал его в видео-учебник»Как сделать облако слов в Python? (Базовый видеоурок), для вашего просмотра.

Смотрите эту статью »Как сделать сегментацию китайских слов с помощью Python?, вы можете сделать такое облако китайских слов.

Если вы хотите изменить внешний вид границы облака слов, обратитесь к этой статье »Программирование на Python сталкивается с проблемами, что делать студентам гуманитарных наук?"изПоследняя часть.

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

Оглядываясь назад, кажется ли это ошеломляющим?

виртуальная среда

Осторожно, вы, возможно, уже нашли, графические руководства и видеоконтент.не совсем последовательный.

Во всей серии видеоруководств в настоящее время используется версия Python 3.6, а учебные пособия по графическим облакам слов, которые будут изменены в будущем, действительно показывают версию Python 2.7.

Зачем?

Потому что с развитием технологий Python постепенно перешел на версию 3.X.

Многие сторонние пакеты объявили о планах поддержки 3.X как можно скорее, отказавшись от поддержки версий 2.X.

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

НоВ настоящее времяНекоторые пакеты по-прежнему поддерживают только версию Python 2.X. Хотя таких пакетов становится все меньше и меньше.

тебе нужно быть временно"амфибия", не сдерживайте себя, потому что "установочные причины" упорно отказываются использовать более низкую версию Python. Страдаете при этом вы сами.

Как я могу быть «амфибией»?

Один из способов — использовать виртуальную среду Anaconda. Вы можете обратиться к "Как использовать виртуальную среду Python в Jupyter Notebook?".

Ваша первоначальная установка Anaconda для Python 2.7 не мешает вам быстро собрать версию Python 3.6.виртуальная среда.

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

обработка естественного языка

Далее давайте попробуем Обработку естественного языка (NLP).

Анализ настроений — одно из популярных применений НЛП во многих областях социальных наук.

"Как сделать анализ настроений с помощью Python?«В этой статье, основанной на двух кейсах на английском и китайском языках, используются разные программные пакеты для целевого решения требований приложений.

Вам нужно всего несколько строк кода, чтобы Python сказал вам направление ваших эмоций. Разве это не здорово?

Используя анализ настроений в качестве основы, вы можете попытаться увеличить размеры и проанализировать большие объемы данных.

Увеличивая временное измерение, можно непрерывно анализировать изменяющееся общественное мнение.

"Как использовать Python для визуализации временных рядов общественного мнения?》Эта статья шаг за шагом поможет вам визуализировать результаты анализа тональности на временной шкале:

Эта картина немного некрасива.

Тем не менее, нам нужно терпеть нашу неуклюжесть в начале и продолжать итерации и улучшения.

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

Но для большинства даПрокрастинацияНачинать.

Вы можете проявить нетерпение и попытаться изменить свои данные, чтобы выполнить анализ визуализации временных рядов.

Однако, если данные о дате отличаются от образца, могут возникнуть проблемы.

В это время не паникуйте, пожалуйста, обратитесь к "Программирование на Python сталкивается с проблемами, что делать студентам гуманитарных наук?"изВторая часть, который содержит подробный анализ причин ошибок и отображение мер по их устранению.

После его прочтения график результатов анализа также будет повторяться следующим образом:

На данный момент вы немного относитесь к анализу настроений?

Если вы не планируете использовать алгоритм классификации эмоций, предоставленный третьей стороной, и планируете самостоятельно обучить более точную модель классификации эмоций, вы можете обратиться к "Как обучить модель классификации тональности китайского текста с помощью Python и машинного обучения?" статья.

Проведенный сейчас анализ настроений на самом деле представляет собой просто анализ полярности (положительный против отрицательного). Но все мы знаем, что человеческие эмоции на самом деле состоят из многих аспектов.

Как разложить по текстумногомерныйизменения эмоциональных характеристик?

"Как провести анализ настроений в сюжетной линии «Игры престолов» с помощью Python и R?В статье анализируется сценарий эпизода «Игры престолов», и вы получите следующие результаты:

Если вы фанат «Игры престолов», скажите, пожалуйста, какой эпизод изображен на этой картинке?

Сначала угадай, потом открывайстатья, по сравнению с концом.

Часть этой статьи, посвященная визуальному анализу, использует R.

R также очень популярен в области науки о данных.инструменты с открытым исходным кодом. Его универсальность и популярность, возможно, не так хороши, как у Python (в конце концов, Python может делать много других вещей, кроме науки о данных), но благодаря поддержке и вкладу многих ученых в статистическом сообществе существует очень хорошая экосистема.

Что делать, если вы хотите извлечь несколько важных ключевых слов из одного длинного текста?

Пожалуйста, прочтитеКак извлечь ключевые слова на китайском языке с помощью Python?" статья. Он использует зрелые алгоритмы извлечения ключевых слов, такие как векторизация словарного запаса и TextRank, чтобы решить эту проблему.

Вопросы и ответы

По мере накопления знаний, навыков и опыта ваши сомнения могут постепенно усиливаться, не так ли?

У некоторых студентов возникают вопросы по этому методу обучения – кейс очень интересный и простой в освоении, но как я могу использовать его в собственной учебе, работе и научных исследованиях?

Я написал для вас заметку с вопросами и ответами под названием "Как студенты гуманитарных наук могут эффективно изучать науку о данных?". В статье упоминаются следующие аспекты:

  • Как указать цели?
  • Как определить глубину?
  • Как усилить сотрудничество?

Когда дело доходит до совместной работы, мы должны упомянуть Github, крупнейший в мире репозиторий с открытым исходным кодом.

В наших руководствах Github также несколько раз используется для хранения кода и данных, чтобы вы могли повторно запускать результаты обучения.

"Как эффективно начать работу с Github?«Статья содержит документацию и ресурсы видеоуроков, которые надеются помочь вам освоить это золотое дно данных.

Многие читатели часто задают этот вопрос на этом этапе: учитель, если вы хотите изучить Python, порекомендуйте эту книгу.

Кажется, вы уже понимаете преимущества Python, верно?

"Как эффективно выучить Python?》помогает вам классифицировать ваши характеристики обучения. По результатам классификации вы сможете выбрать более подходящую для вас траекторию обучения.

Рекомендуемые учебные материалы включают не только книги, но и МООК. Я надеюсь, что этот интерактивный метод обучения поможет вам начать работу с наукой о данных.

машинное обучение

Можно попробовать сделать дополнительный анализ.

Например, машинное обучение (Machine Learning).

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

В целом машинное обучение можно разделить на 3 категории:

  • Контролируемое обучение
  • Неконтролируемое обучение
  • Обучение с подкреплением

В настоящее время в этой колонке представлены некоторые примеры первых двух категорий.

Самая большая разница между обучением с учителем и обучением без учителя заключается в данных.

Данные были помечены (обычно метки присваиваются вручную), и обычно используется обучение с учителем;

Данные не помечены, и, как правило, можно использовать только обучение без учителя.

В разделе обучения с учителем мы привели пример задачи классификации.

"Занимать или не брать: как использовать Python и машинное обучение, чтобы решить?В случае «Помощник по принятию решений об одобрении кредита» выбирается.

Конкретный алгоритм машинного обучения представляет собой дерево решений.

Некоторые студенты сказали, что при рисовании этого дерева решений они столкнулись с проблемами.

В основном это связано с различиями в среде выполнения и неправильной установкой зависимых инструментов.

"Программирование на Python сталкивается с проблемами, что делать студентам гуманитарных наук?«Часть 1 этих проблем подробно описана, пожалуйста, следуйте перечисленным шагам, чтобы попытаться решить их.

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

В разделе обучения без учителя мы описываемКак извлечь темы из массивного текста с помощью Python?".

В этой статье используется метод кластеризации под названием LDA, который поможет вам извлечь возможные категории и соответствующие им основные ключевые слова из огромного моря документов, которые могут представлять интерес, и выполнить обработку визуализации.

В документе упоминается обработка стоп-слов, но не приводится конкретный метод применения китайских стоп-слов.

"Как обучить модель классификации тональности китайского текста с помощью Python и машинного обучения?«В этой статье я не только дал подробное введение в метод обработки стоп-слов, но также применил наивную байесовскую модель обучения с учителем к анализу тональности и научил вас, как обучить вашу собственную модель классификации тональности.

глубокое обучение

Глубокое обучение относится к машинному обучению с использованием глубоких нейронных сетей.

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

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

Конечно, самое любимое упоминание в новостях — это игра в го:

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

"Как определить отток клиентов с помощью Python и глубоких нейронных сетей?" знакомит вас с базовой структурой глубоких нейронных сетей.

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

В фактической рабочей части мы используем Tensorflow в качестве серверной части и tflearn в качестве внешнего интерфейса для создания вашей собственной первой глубокой нейронной сети.

"Как определить отток клиентов с помощью Python и глубоких нейронных сетей?«Конец статьи также предоставляет вам соответствующие ресурсы для дальнейшего освоения глубокого обучения.

Если вам нужно установить платформу глубокого обучения Tensorflow (разработанную Google), сначала прочитайте эту статью.Tensorflow выполняет установку обновления PIP".

Вооружившись основами глубоких нейронных сетей, мы отбросили компьютерное зрение.

"Как распознавать изображения с помощью Python и глубоких нейронных сетей?статья, например, сборник различных причудливых изображений двух роботов Дораэмона и Валл-И.

Затем сияет сверточная нейронная сеть (CNN).

Эта статья поможет вам проанализировать роль различных слоев в сверточных нейронных сетях.

Мы стараемся избегать формул и используем изображения, гифки и простой, краткий язык, чтобы объяснить вам концепции.

Используемая нами среда глубокого обучения — Apple TuriCreate. Вы вызовете очень глубокую сверточную нейронную сеть, поможете нам двигаться (тоу), двигаться (цзи), учиться (цюй), учиться (цяо) и получать очень высокую точность классификации с очень небольшим количеством обучающих данных.

Некоторые читатели попробовали сами, и точность набора тестов действительно достигла 100% (в зависимости от операционной среды есть отличия), и они зацепились. Но в то же время это кажется невероятным.

Для того, чтобы объяснить это "чудо" и ответить на вопрос читателя "как искать изображения в приватных датасетах", я написал "Как найти примерные картинки с помощью Python и глубоких нейронных сетей?".

Я надеюсь, что после прочтения этой статьи у вас появилось более глубокое понимание трансферного обучения.

Если вы закончите эти две статьи, у вас все еще нет четкого понимания основ сверточных нейронных сетей, и это нормально, ведь мои аспиранты столкнулись с той же проблемой.

Для этого я записал специальныйВидео ответы на вопросы.

это видеоЗдесь я в основном говорил о следующих аспектах:

  • Базовая структура глубокой нейронной сети;
  • Реализована вычислительная функция нейронов;
  • Как обучать глубокие нейронные сети;
  • Как выбрать оптимальную модель (настройка гиперпараметров);
  • Основные принципы сверточных нейронных сетей;
  • Внедрение трансферного обучения;
  • Ответы на вопросы.

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

Другая группа авторов пришла снова спросить:

Учитель, я использую Windows, но не могу установить TuriCreate, что мне делать?

Когда я беспокоился о них, я случайно нашел ребенка. Так я и написал"Как бесплатно запустить среду глубокого обучения Python в облаке?".

Используя GPU бесплатно и чрезвычайно просто, вы можете развернуть и запустить платформу глубокого обучения Apple на хосте Google Cloud Linux...

Это похоже на сон?

Благодаря Google, предприятию, которое способствует накоплению человеческих знаний.

Сбор данных

Изучив глубокое обучение, вы обнаружите, что становитесь «жадным до данных» пациентом.

Потому что вы не можете поддерживать свою глубокую нейронную сеть без большого количества данных.

Как получить данные?

Мы должны сначала различать источник данных.

Источников данных много. Но для исследователей чаще используются сетевые данные и литературные данные.

В настоящее время основные (легальные) методы сетевых данных в основном делятся на три категории:

  • Открытая загрузка набора данных;
  • Чтение API;
  • Ползать (ползать).

"Как читать открытые данные с помощью Python?«В статье я объяснил, как загружать открытые наборы данных и использовать их в Python.

В этой статье представлены методы и процессы чтения, предварительной обработки и визуализации распространенных форматов файлов с открытыми данными, таких как CSV/Excel, JSON и XML.

Если у вас нет открытого набора данных для загрузки, а веб-сайт предоставляет только интерфейс API, что вам делать?

"Как получить веб-данные бесплатно с помощью R и API?«В статье мы используем R для чтения API Википедии, получения количества посещений указанной записи и ее визуализации.

Если за вас никто не упорядочил данные, а сайт не открывает вам API, то вам придется «идти сразу в кувалду».

"Как сканировать данные с помощью Python? (1) Веб-скрапинг«Статья знакомит вас с очень удобным и простым в использовании программным пакетом для парсинга веб-страниц.requests_html, вы можете попытаться просканировать указанный тип ссылки на странице.

Библиографические данные могут храниться в различных форматах, но наиболее распространенным является pdf.

По просьбе многих читателей я написал "Как выполнить пакетное извлечение текстового содержимого PDF с помощью Python?".

Вы можете пакетно извлекать текстовое содержимое PDF-документов и выполнять различные анализы.

Анализ в этой статье относительно прост, мы просто считаем количество символов в документе.

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

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

резюме

В этой статье ставится «Эвкалиптовая орхидея«Текущие статьи по науке о данных в столбце отсортированы и распределены по категориям, а также установлены ссылки, чтобы помочь вам увидеть логические зависимости между ними.

В этой колонке статьи по науке о данных в основном сосредоточены на следующих аспектах:

  • строительство окружающей среды;
  • основной вход;
  • обработка естественного языка;
  • машинное обучение;
  • глубокое обучение;
  • Сбор данных;
  • Ответить на вопросы.

Как вы, возможно, уже заметили, у нас еще много тем, которые мы не успели осветить.

Не волнуйтесь.

Этот столбец будет продолжать добавлять новый контент. Это руководство также будет обновляться время от времени. Добро пожаловать, чтобы обратить внимание.

обсуждать

Какой аспект темы вы предпочитаете в этой колонке по науке о данных? Помимо этого, что еще вы хотели бы прочитать? Добро пожаловать, чтобы оставить сообщение, поделиться своим опытом и мыслями со всеми, мы обменяемся и обсудим вместе.

Лайк пожалуйста лайк. Вы также можете подписаться на мой публичный аккаунт в WeChat и закрепить его."Юшу Жилан" (nkwangshyi).

Если вы интересуетесь наукой о данных, вы можете прочитать мою серию постов с учебными указателями "Как эффективно начать работу с наукой о данных?", есть более интересные задачи и решения.