Начните свое путешествие в науку о данных

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

Автор: Шреяс Рагхаван

Перевод: Лао Ци

Рекомендации по книгам, связанным с этой статьей: "Подготовка данных и проектирование признаков"

Эта книга была опубликована и распространена издательством Electronic Industry Press по адресу:Электронная промышленность Пресс Флагманский магазин Tmall


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

Мы живем в мире больших данных. Когда вы идете в магазин Domino, чтобы заказать пиццу, они сначала попросят ваш номер мобильного телефона. Из этого номера мобильного телефона они могут извлечь такую ​​информацию, как ваш адрес, историю покупок и т. д. , но ограничивается ли он перечислением этих данных? Или мы можем что-то сделать с этими данными? Это работа специалиста по данным.

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

  • SAS, сокращение от «Система статистического анализа», может использоваться для расширенного анализа, управления данными, бизнес-аналитики. Это лицензионное программное обеспечение, разработанное NCSU (Университетом штата Северная Каролина) с 1966 по 1976 год, и до сих пор широко используется, особенно это используется компаниями из списка Fortune 500.

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

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

Теперь мы рассмотрим применение Python в науке о данных.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

Здесь мы представили три основные библиотеки. Около 90% ваших проектов будут использовать эти три библиотеки. Каковы их функции?

  • Numpy: эта библиотека реализует множество математических функций, таких как умножение матриц, транспонирование и т. д.
  • Pandas: очень важная библиотека, такая как загрузка наборов данных, создание объектов DataFrame, Pandas может делать все, что вы хотите, с точки зрения анализа и прогнозирования.
  • %matplotlib inline: Напишите это предложение, чтобы вставить созданную визуализацию в Jupyter.
train = pd.read_csv('train.csv')

Выше мы загрузили набор данных,pdправдаpandasпереименовать (import pandas as pd),read_csvэто функция в пандах,train.csvявляется существующим файлом. С помощью приведенной выше команды файл успешно загружен в текущую среду Python, создав объект DataFrame.

train.head()

Что такое голова? Разве это не вершина человеческого тела? Для пандheadФункция состоит в том, чтобы показать нам первые несколько записей в объекте DataFrame, а первые 5 записей отображаются по умолчанию.

еслиhead(20)Он вернет первые 20 записей, разве это не интересно?

Мы также можем использоватьtail()Просмотр последних 5 записей (по умолчанию 5).

Нижеhead()Выходной результат:

На данный момент из набора данных DataFrame получены первые 5 записей.

Далее, важно, чтобы вы понимали набор данных, с которым имеете дело, например размер, форму и описательную статистику, которые очень полезны для дальнейшей обработки данных, то есть мы должны понимать набор данных (Примечание:Этот контент более подробно объясняется в книге «Подготовка данных и проектирование функций», см. ), потому что есть несколько наборов данных, которые очень велики, их обработка — настоящая боль, нам нужно найти в них полезную информацию и отсеять ненужные, что звучит просто, но на самом деле это сложно сделать.

Как видно из вывода, данные, с которыми мы работаем, теперь имеют 891 строку и 12 столбцов, всего 10692 данных.

Давайте еще раз посмотрим на основную статистику:

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

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

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

способ выражения

Несколько вещей, которые нужно знать о визуализации данных:

  • Сколько переменных должно отображаться на одном графике?
  • Содержит ли точка данных одну часть информации или несколько?
  • Показать данные во времени или сгруппировать их?

Это повлияет на эффект значка.

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

Для обучения визуализации данных приведенная выше диаграмма очень информативна. Многие компании хотят рассказать нам убедительные истории с помощью данных.

Инструменты визуализации, такие как информационные панели, созданные Tableau, PowerBI и т. д., могут рассказать истории из наших данных.

Теперь мы рассмотрим, как визуализировать данные с помощью matplotlib:

Matplotlib был представлен ранее и имеет псевдоним plt. Начиная с первой строки, с параметромfigsizeУстановите размер значка, обычно мы можем использовать значение по умолчанию. Далее вернитесь к иконке возраста.

Мы можем установить метки,xlableозначает ось x,ylableозначает ось Y,titileИспользуется для установки названия значка.

Из диаграммы мы можем получить некоторую информацию из данных.Можем ли мы сделать следующий вывод?

  • Молодые люди больше на палубе.
  • Пожилых людей очень мало.
  • 22 года максимум.
  • 79-летний мужчина также путешествует.

Мы можем сделать вывод о многом из диаграммы.

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

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

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

Алгоритмы машинного обучения

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

В машинном обучении есть два типа алгоритмов:

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

Типичным примером контролируемого обучения является регрессия, а байесовское — типичный пример обучения без учителя.

Однако для данных в этой статье мы намерены опробовать их с помощью логистической регрессии. Как это сделать?

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

Согласно Википедии, логистическая регрессия или логит-регрессия, логит-модель — это регрессионная модель, зависимая переменная которой является категориальной. Зависимая переменная в этой статье выражена в двоичной форме, то есть берутся только два числа: «0» или «1». мертвые или здоровые/больные и т. д. Если зависимая переменная представляет собой категориальные данные с более чем двумя значениями, можно использовать множественную логистическую регрессию. Если упорядочены значения нескольких типов, можно использовать порядковую логистическую регрессию. В экономике логистическая регрессия является примером модели, которая отвечает на качественные или дискретные проблемы.

Итак, что нам дает здесь логистическая регрессия?

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

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

Выполните следующие действия:

from sklearn.linear_model import LogisticRegression 

Импортируйте модуль логистической регрессии из библиотеки sklearn.

Чтобы использовать логистическую регрессию, вам сначала нужно иметь два набора данных:

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

После преобразования пола во вторичную форму можно использоватьLogisticRegressionМодель предсказывает результат.

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

Для этого набор данных был разделен на обучающую и тестовую выборки.

Вот пошаговый взгляд на описанный выше процесс:

  1. Возьмите столбец «Выжившие» в качестве метки, то есть вывода. data_train — это входные обучающие данные, которые не содержат столбца Survived.
  2. Затем введите sklean и создайте экземпляр логистической модели.
  3. Затем, чтобы обучить модель, компьютер пытается найти шаблон, а затем использует эту модель для прогнозирования заданных данных.
  4. У нас есть данные, называемые тестовым набором, в котором нет столбца Survived. Далее используется обученная модель для прогнозирования этих данных.

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

Надеюсь, эта статья вдохновит вас. В публичном аккаунте WeChat «Laoqi Classroom» также есть много статей о науке о данных и машинном обучении для справки учащимся.

Оригинальная ссылка:к data science.com/how-to-beg я…

Найдите общедоступный номер технических вопросов и ответов: класс Лао Ци

Ответ в публичном аккаунте:Лао Ципросматривать все статьи, книги, курсы.

Если вы считаете, что это выглядит хорошо, ставьте лайк и вперед/сильно>