Инженерия против науки о данных

Другая точка зрения

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

На самом низком уровне специалисты по данным говорят о наиболее часто используемых языках, [R] и Python являются одними из многих популярных. Думаю, инженеры похожи, мы говорим о таких языках программирования, как Java, Ruby, Python (тоже) и многих других. Так в чем же разница? Не так много, за исключением первого, как правило, более математически, формально и удобно выразительного, менее многословного и мощного в определенной области, такой как векторизованная матрица.

Далее мы слишком разрекламировали такие инструменты, как TensorFlow, NumPy, SciPy и Pandas в мире науки о данных. В инженерии я хотел бы думать об этом как об аналоге легкодоступных сторонних библиотек.

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

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

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