Наука о данных, Программирование
Сколько мне нужно программирования в области науки о данных?
Наука о данных - это не информатика. Сосредоточьтесь на использовании существующих библиотек и пакетов. Имейте некоторое представление о математике, стоящей за каждым пакетом.
Введение
Если вы соискатель науки о данных, у вас, несомненно, есть следующие вопросы:
Могу ли я стать специалистом по обработке данных, практически не имея опыта программирования?
Какие основные навыки программирования важны в науке о данных?
Существует так много хороших пакетов, которые можно использовать для построения прогнозных моделей или для визуализации данных. Некоторые из наиболее распространенных пакетов для описательной и прогнозной аналитики включают:
- 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- выучить и т. д., любой, у кого есть базовый опыт программирования, может построить модель машинного обучения. Однако важно понимать математику каждой модели, чтобы иметь возможность настраивать различные гиперпараметры для получения модели с оптимальной производительностью. Построение модели с использованием гиперпараметров по умолчанию не всегда дает оптимальную модель.
Дополнительные ресурсы по науке о данных / машинному обучению
Сколько математики мне нужно в науке о данных?
Учебная программа по науке о данных
Основные математические навыки для машинного обучения
5 лучших степеней для входа в науку о данных
Планирование проекта машинного обучения
Как организовать свой проект по науке о данных
Инструменты повышения производительности для крупномасштабных проектов в области науки о данных
Портфолио Data Science более ценно, чем резюме
С вопросами и запросами пишите мне: [email protected]