Введение в Python или мой опыт познания языка

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Давайте вспомним, как однажды,

Пройдя сквозь трудностей преград,

Мы радовались строчке каждой

И повышали результат.

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

Рисунок 1 — Какой-то смешной мем:)

Да, мемы наше всё, и Python тоже. Начинаем.

Введение в Python.

Прежде чем приступить к изучению, давайте удостоверимся, что вы скачали Anaconda с официального сайта. Если Вы это не сделали, прикладываю ссылочку для скачивания: https://www.anaconda.com/ . После установки, жмякаем в Пуск-Анаконда и запускаем нашу тетрадку, о которой я говорил в предыдущей статье. Примечание: статья написана с использованием Python версии 3. На момент написания Python 2.x вышла из оборота. Об этом написали на Храбре ещё ноябре 2019 (https://habr.com/ru/company/1cloud/blog/477944/). Прежде чем начинать, прикрепляю ссылку на документ, посвящённый основным базовым понятиям. Начинать мы будем именно с него и дальше по нарастающей. Для скачивания можно перейти по ссылке: https://vk.com/doc401603680_541002058?hash=3d2650bd0ba6d41b97&dl=022e465b0bb214891b .

Начнём с определения понятия библиотек и что же это такое. В моём понимании библиотека — это отдельный программный модуль, который встраивается в среду разработки для расширения возможностей языка. Если мы говорим про практику, то использование библиотек является незаменимым помощником любого разработчика. Синтаксис добавления библиотек очень простой, и выглядит он так (строки кода буду выделять вместе с комментариями):

import this #this — это название библиотеки, которую мы добавляем для расширения функционала языка, решётка (#) - это комментарий для заметок. Всё просто:)

Кстати, попробуйте вставить это Jyputer, для этого необходимо зажать Shift+Enter (Рисунок 2). Увидите прикольное стихотворение:) . В дальнейшем для вызова кода надо использовать всегда эту комбинацию клавиш. Чтобы понять, применился ли код или нет, напротив каждой строки в квадратных скобках должна появиться цифра, например, как здесь, если увидете [*] — это значит, что код выполняется, если [] — не нажаты горячие клавиши исполнения, в противном случае увидите ошибку. Пример применение библиотеки:

Рисунок 2 — Выполнение кода в тетрадке
The Zen of Python, by Tim Peters  Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!

В Python существует множество библиотек и их количество постоянно пополняется. Давайте рассмотрим парочку (возьмём для примера самые распространённые)

import tensorflow as tf #читается так, мы импортируем эту библиотеку как tf (сокращённое название для простоты использования)

Рисунок 3— Tensor Flow

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

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

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

Пример 2. Распознавание объектов на картинке. Условно говоря, есть психотип вора. Задача программы распознать на сколько человек вор или нет, одежда, лицо, возраст, пол и так далее.

На самом деле можно привести ещё много примеров, где использование этой библиотеки будет полезно для ваших исследований. Вот вам задание: смоделируйте ситуацию, когда она вам пригодится, будет даже хорошо, если вы подключите свою фантазию и придумаете интересные примеры). Если вы хотите дополнительно узнать о возможностях, можно также обратиться к официальной документации (https://www.tensorflow.org/).

Рисунок 4— Sckit learn

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

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

Пример. Если говорить про учебный пример, то есть такой набор данных, называется MNIST (Рисунок 5). По факту — это цифры, которые писали студенты одного из университетов США. Так вот sklearn может справиться с задачей распознавания этих цифр с определённой точностью. Как можно заметить, предыдущая библиотека тоже может справиться с этой задачей, однако отличие в том, что для распознавания используются разные алгортимы. Потом сами увидите

Рисунок 5— набор данных MNIST

Синтаксис импорта этой библиотеки выглядит примерно так (тут с примером):

from sklearn.preprocessing import OneHotEncoder # из библиотеки sklearn в директории предобработка мы импортируем OneHotEncoder

Что такое OneHotEncoder узнаете дальше из моих статей. До этого нам ещё как пешком до Луны (но попробуем быстрее). Ну и конечно же документация: https://scikit-learn.org/stable/

Рисунок 6— Библиотека NumPy

NumPy — это популярнейшая библиотека для работы с массивами данных. Как правило она используется в связке с другой не менее популярной Pandas, описание которой будет представлено позднее. По факту это библиотека для вычисления и визуализации больших и сложных массивов (в основном числовых). Пример, думаю представлю уже в Jypter Notebook. Документацию можно посмотреть на официальном сайте: https://numpy.org/. Синтаксис и пример кода:

Рисунок 7— Numpy

import numpy as np #импорт библиотеки numpy (как в предыдущем примере)

np.ones((5,5)) #создать массив, состоящий из единиц, размерностью 5x5

Рисунок 8— Библиотека Pandas

Pandas — это по сути то же самое, что и Numpy с единственным отличием, в том, что эта библиотека, помимо того, что отображает данные из массива, она изображает их в виде таблицы. Работу с этой библиотекой можно приравнять к работе с базами данных (конечно, кто с ними сталкивался в жизни).

В настоящее время эта библиотека содержит сотни возможностей: группировка данных, сортировка данных, объединение данных. Всё как в базах данных. Ну не красота ли?). И по традиции пример кода и ссылочка на документацию для более подробного анализа.

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

import pandas as pd #импорт библиотеки, всё как всегда

#Создание Датафрейма

df2 = pd.DataFrame({'A': 1.,

'B': pd.Timestamp('20130102'),

'C': pd.Series(1, index=list(range(4)), dtype='float32'),

'D': np.array([3] * 4, dtype='int32'),

'E': pd.Categorical(["test", "train", "test", "train"]),

'F': 'foo'})

df2 #визуализация данных

P.S. Результат выполнения программы представлен в графе out.

Рисунок 9— Как работает Pandas

Ну и конечно, документация: https://pandas.pydata.org/

Рисунок 10— Библиотека MatPlotLib

MatplotLib — как по мне это один из самых интересных библиотек в области машинного обучения, в частности потому, что эта библиотека используется для построения графиков, причём самых разных форм, начиная от 2D заканчивая 3D. Важность данной библиотеки сложно недооценить. Но не будем разглагольствовать, перейдём сразу к примерам.

Рисунок 11 — Обычная прямая линия

import matplotlib.pyplot as plt #как всегда применение этой библиотеки

plt.plot([1, 2, 3, 4])

plt.ylabel('some numbers')

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

Теперь добавлю немного текста.

1) Бывает так, что во время import-а может возникнуть ошибка примерно такого содержания:

ModuleNotFoundError: No module named 'blabla'

Это означает, что в данный момент времени в ядре Anaconda отсутствует этот модуль. Помните, что я говорил, что это отдельная операционная система? Для установки модуля нужно от имени АДМИНИСТРАТОРА войти в консоль и прописать следующую команду (рисунок 11). В данном примере показан пример установки pandas (как можно заметить в Anaconda он уже есть). У Вас может быть свой модуль.

pip install (нужный модуль)
Рисунок 12 — Установка программного модуля через pip install

Иногда требуется обновление уже существующих модулей. Для этого необходимо воспользоваться командой update.

pip update (нужный модуль)

Есть ещё момент, когда Anaconda сама подсказывает что делать, не упускаем её рекомендации, что-то типо такого:

You should consider upgrading via the 'python -m pip install --upgrade pip' command.

Из этого следует, что Вам необходимо ввести в командную строку: python -m pip install --upgrade pip Не забываем делать всё от имени администратора (правой кнопкой мыши ? запуск от имени администратора)

2) В текущей реализации статьи я хочу показать безграничность возможностей этого языка. Знаю, что чем дальше в лес, тем больше дров, поэтому моим дорогим читателям я особо рекомендую не ограничиваться полученной информацией, а искать дополнительно источники самим. Таким образом ваше представление о Python будет гораздо лучше и шире, чем у автора. Сердечно благодарю за понимание


Источник: m.vk.com

Комментарии: