Что именно вы можете сделать с Python? 3 основных приложения Python.

Что именно вы можете сделать с Python? 3 основных приложения Python.

Python и 1000 программ

Если вы думаете об изучении Python — или если вы недавно начали его изучать — вы можете спросить себя:


"Для чего именно я могу использовать Python?"

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


Но со временем я заметил, что существует 3 основных популярных приложения для Python:


Веб-разработка
Наука о данных, включая машинное обучение, анализ данных и визуализацию данных
Разработка сценариев или скриптов


Но сегодня мы поговорим о двух из них


Веб-разработка

Веб-фреймворки, основанные на Python, такие как Django и Flask, в последнее время стали очень популярными для веб-разработки.


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


Но подождите, зачем мне нужен веб-фреймворк?

Это связано с тем, что веб-фреймворк упрощает создание общей серверной логики. Это включает в себя сопоставление различных URL-адресов с фрагментами кода Python, работу с базами данных и создание HTML-файлов, которые пользователи видят в своих браузерах.


Какой веб-фреймворк Python следует использовать?

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




Flusk обеспечивает простоту, гибкость и детальное управление. Данный фреймворк позволяет вам решить, как вы хотите реализовать вещи.
Django предоставляет комплексный интерфейс: вы получаете панель администратора, интерфейсы баз данных, ORM [объектно-реляционное сопоставление] и структуру каталогов для ваших приложений и проектов из коробки.


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


Другими словами, если вы новичок, Flask, вероятно, лучший выбор, потому что в нем меньше компонентов. Кроме того, Flask является лучшим выбором, если вы хотите больше настроек.


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


Наука о данных, включая машинное обучение, анализ данных и визуализацию данных

Прежде всего, давайте рассмотрим, что такое машинное обучение.

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


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


Итак, учитывая картинку ниже (рисунок 1), вы хотите, чтобы ваша программа распознала, что это собака.

Рисунок 1

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

Рисунок 2

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


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


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


Как действует машинное обучение.


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


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


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


Вы, вероятно, явно не говорите ребенку: «Если что-то пушистое и имеет светло-каштановые волосы, то это, вероятно, собака».


Вы, вероятно, просто скажете: «Это собака. Это тоже собака. А это стол. Это тоже стол».


Алгоритмы машинного обучения работают почти так же.



рекомендательные системы (например, YouTube, Amazon и Netflix)
распознавание лиц
распознавание речи
среди других приложений.



Нейронные сети
Глубокое обучение
Машины опорных векторов
Случайный лес


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


Python для машинного обучения

Существуют популярные библиотеки машинного обучения и фреймворки для Python.


Два из самых популярных — scikit-learn и TensorFlow.


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

Если вы только начинаете работу с проектом машинного обучения, я бы порекомендовал вам сначала начать с scikit-learn. Если вы начнете сталкиваться с проблемами эффективности, то я советую изучать TensorFlow.


Как насчет анализа и визуализации данных?

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


Допустим, вы работаете в компании, которая продает некоторые продукты в Интернете.


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

Из этого графика мы можем сказать, что мужчины купили более 400 единиц этого продукта, а женщины купили около 350 единиц этого продукта в это конкретное воскресенье.


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


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


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

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


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


С другой стороны, что, если вы увидите график, подобный этому?

Тогда чем же объясняется разница в воскресенье?


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


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


Анализ / визуализация данных с помощью Python

Одной из самых популярных библиотек для визуализации данных является Matplotlib.



С этим легко начать работу
Некоторые другие библиотеки, такие как seaborn, основаны на нем. Таким образом, изучение Matplotlib поможет вам изучить эти другие библиотеки позже.

Report Page