Наука о данных, Программирование

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

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

Введение

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

Могу ли я стать специалистом по обработке данных, практически не имея опыта программирования?

Какие основные навыки программирования важны в науке о данных?

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

  • Ggplot2
  • Панды
  • Numpy
  • Матплотлиб
  • Сиборн
  • Scikit-Learn
  • Карет
  • TensorFlow
  • PyTorch
  • Керас

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

II. Базовые навыки программирования

  • Типы данных: понимание основных типов данных, таких как массивы, списки, кортежи, словари и фреймы данных.
  • Заявления о присвоении
  • Определение функции
  • Поток и управление: например, ознакомьтесь с циклами for и while.
  • Объектно-ориентированные аспекты Python: понимание объектов, параметров, методов и атрибутов Python. Большинство библиотек машинного обучения в Python построены с использованием объектно-ориентированной функции Python, например LogisticRegression () классификатор.

III. Стандартные библиотеки и пакеты

Вы должны быть знакомы со следующими стандартными библиотеками и пакетами:

Pandas: для импорта и экспорта данных в Python.

Numpy: для работы с массивами и матрицами.

Matplotlib, Seaborn, PyTorch: для создания различных типов визуализации данных, таких как линейный график, диаграмма рассеяния, тепловая карта, диаграмма плотности, гистограмма, прямоугольная диаграмма и т. д.

Scikit-learn: для приложений машинного обучения. Ознакомьтесь со следующими оценщиками:

  • train_test_split ()
  • StandardScalar ()
  • LogisticRegression ()
  • Оценщик трубопровода

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

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
pipe_lr = Pipeline([('scl', StandardScaler()),('lr',    
                     LinearRegression())])

Другие важные регрессоры и классификаторы, включенные в пакет scikit-learn, включают:

  • KNeighborsRegressor
  • Регрессор опорных векторов
  • KNeighborsClassifier
  • Классификатор опорных векторов
  • Наивный байесовский
  • Древо решений

Scikit-learn также содержит оценщики для приложений глубокого обучения:

  • Керас
  • TensorFlow

IV. Использование документации Python

Документация Python - очень полезный инструмент для изучения команд Python. Доступ к документации можно получить с помощью знака вопроса перед данной командой.

  • Например, чтобы узнать больше о методе pd.read_csv (), мы могли бы использовать приведенный ниже код.
import pandas as pd
?pd.read_csv

Это приведет вас к документации Python, где вы можете узнать больше о методе pd.read_csv () , включая его различные регулируемые параметры.

  • Чтобы узнать больше о классификаторе логистической регрессии, можно использовать следующий код для доступа к файлу документации Python:
from sklearn.linear_model import LogisticRegression
?LogisticRegression

Это откроет документацию, содержащую дополнительную информацию о классификаторе LogisticRegression, включая подробное объяснение всех параметров и атрибутов.

Важно, чтобы при построении модели с использованием библиотеки scikit-learn вы понимали различные настраиваемые параметры для каждого оценщика. Использование параметров по умолчанию не всегда дает оптимальные результаты. Например, логистическая регрессия имеет следующие параметры:

LogisticRegression(penalty='l2', dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, class_weight=None, random_state=None, solver='liblinear', max_iter=100, multi_class='ovr', verbose=0, warm_start=False, n_jobs=1)

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

V. Тематические исследования

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

Основы линейной регрессии для абсолютных новичков

Учебник по процессу машинного обучения

VI. Резюме и заключение

Таким образом, мы обсудили основные навыки программирования, необходимые для практики в области науки о данных. Благодаря доступности таких пакетов, как numpy, pandas, matplotlib, scikit- выучить и т. д., любой, у кого есть базовый опыт программирования, может построить модель машинного обучения. Однако важно понимать математику каждой модели, чтобы иметь возможность настраивать различные гиперпараметры для получения модели с оптимальной производительностью. Построение модели с использованием гиперпараметров по умолчанию не всегда дает оптимальную модель.

Дополнительные ресурсы по науке о данных / машинному обучению

Сколько математики мне нужно в науке о данных?

Минимум в области науки о данных: 10 основных навыков, которые необходимо знать, чтобы начать заниматься наукой о данных

Учебная программа по науке о данных

Основные математические навыки для машинного обучения

5 лучших степеней для входа в науку о данных

Теоретические основы науки о данных - мне нужно заботиться или просто сосредоточиться на практических навыках?

Планирование проекта машинного обучения

Как организовать свой проект по науке о данных

Инструменты повышения производительности для крупномасштабных проектов в области науки о данных

Портфолио Data Science более ценно, чем резюме

С вопросами и запросами пишите мне: [email protected]