Как нарисовать панду карандашами и красками поэтапно
Что за животное — панда? 🐼Это медведь, но не привычный для нас хозяин леса, встреча с которым не сулит ничего хорошего. 🐻 Это бамбуковый мишка, милота которого заставляет взрослых и детей застывать в немом восторге, наблюдая за животным. 😍 А еще рисовать панду довольно просто. Мы собрали множество картинок и рисунков панды, чтобы вы могли срисовать один из них.
Легкий рисунок для срисовки
Основное преимущество рисования панды в том, что здесь можно использовать только простой карандаш. Другие инструменты для раскрашивания не понадобятся, ведь шерсть этого зверька имеет 2 цвета – белый и черный. Если появится желание, можно добавить на картине окружение, представленное бамбуком или другими растениями, лесными или тропическими пейзажами. При добавлении бамбука потребуются цветные карандаши, фломастеры или краски различных зеленых оттенков.
Панда (рисунок для детей может быть выполнен с помощью простого карандаша и бумажного листа) может быть изображена на бумаге, если придерживаться следующих этапов:
Рисование головы животного и конечностей
Необходимо выполнить следующее:
1. В верхней части листа провести большую дугообразную линию, концы которой должны устремляться вниз. Это будет голова животного.
2. Под концами нарисованной дуги нарисовать по паре небольших окружностей. Это будут лапы панды. Верхние круги должны быть чуть меньше.
3. Добавить снизу дуги пару окружностей. Это будут нижние лапы. Они должны быть самыми большими среди 3-х пар.
4. Нарисовать самый большой элемент мордочки панды – нос. Для этого достаточно парой почти прямых линий соединить 2 верхних кружочка. Еще одна пара почти прямых линий должна выходить из правого среднего кружочка. Нос, который тоже должен быть представлен кружочком, находится в нижней части головы. По размеру этот кружок должен быть чуть меньше тех, что располагаются рядом с ним.
Выводя контуры верхних конечностей и носа панды, не стоит сильно надавливать на карандаш. Ведь с первого раза провести правильные линии не удастся, и тогда придется удалять лишнее ластиком. После того, как линии займут свои правильные места, можно провести по ним карандашом еще раз, теперь уже надавливая чуть сильнее.
Детализация морды
Прежде чем переходить к этому этапу, нужно удостовериться, что предварительный рисунок был тщательно подготовлен. Следует лишний раз проверить контуры всех конечностей, туловища, головы и носа рисуемого животного.
Детализация головы включает в себя следующие этапы:
1. Нарисовать уши. Они должны быть представлены парой небольших кружочков, находящихся над головой панды. При этом соединяться с головой каждое из ушей должно парой коротких едва закругленных линий. В результате должны получиться уши такие же, как у мультипликационного персонажа Шрек.
2. Нарисовать глаза. Каждый из них должен быть представлен овалом, находящимся над носом. Овалы не обязательно должны иметь правильную форму. Можно линии намеренно сделать чуть кривыми.
3. Изобразить нижнюю часть рта панды. Это должна быть очень маленькая дугообразная линия, находящаяся под носом.
4. Нарисовать подбородок, который станет и шеей медведя. Представить его следует парой волнистых линий. По 1-й такой линии должно находиться слева и справа от рта. В рисовании этой детали нет ничего сложного. Достаточно следить за тем, чтобы эти 2 линии были симметричны относительно носа.
Детализация всего рисунка
На этом этапе необходимо выполнить корректировку.
Для этого необходимо:
1. Убрать лишние линии контуров.
2. Добавить некоторые элементы на мордочке. В нижней части носа нужно нарисовать небольшой треугольник. В каждом глазу должно быть по 1 зрачку. Они обозначаются очень маленькими кружочками.
3. Провести на теле панды несколько линий, придав тем самым реалистичности шерстке.
4. На концах каждой лапы изобразить по 4 когтя, каждый из которых можно представить маленьким треугольником.
Раскрашивание панды
Необходимо взять простой карандаш и нанести темный цвет на определенные участки тела панды:
· на уши;
· области вокруг глаз – своеобразные темные «очки»;
· 4 лапы.
При закрашивании карандашом участков тела панды стоит помнить, что шерсть у этого животного длинная и грубая. Чтобы добиться нужного эффекта, следует накладывать штрихи так, чтобы образовывались просветы. В противном случае нарисованное животное будет похоже на плюшевую игрушку.
При желании можно добавить рисунку немного цветных элементов, например, отлично будет смотреться стебель тростника, заключенный в передние лапы этого медвежонка.
У многих начинающих художников на первых этапах рисования панды появляются проблемы с пропорциями рисунка и не всегда удается сразу изобразить точные контуры окружностей.
Если имеются подобные трудности, можно вначале оставить те фигуры, которые получаются, а на следующих этапах придать им более правильную форму.
Рисунок карандашом
Панда (рисунок для детей этого животного может включать в себя различные элементы) может разместиться на ветке дерева. Для такого изображения помимо бумаги и простого карандаша, следует подготовить ластик. Ведь в процессе рисования художнику придется не раз удалять лишние линии.
Этапы будут следующие:
- Изобразить большую окружность в центре листа. В ней проводятся 2 прямые так, чтобы точка их пересечения располагалась чуть ниже центра. Одна из этих прямых должна быть почти горизонтальной, а другая – почти вертикальной.
- Над горизонтальной прямой линией нарисовать 2 глаза, каждый из которых представлен маленькими капельками. В каждом глазу сразу следует нарисовать маленькие кружочки. Это будут зрачки медвежонка.
- В самом низу, прямо на вертикальной линии изобразить нос. По форме он похож на шапку-ушанку или корону, перевернутую «вверх ногами».
- Ниже, за пределами большого круга провести 3 дуговые линии, которые будут обозначать рот. 1 дуговая линия – слева, 2-я такая же – справа; соединяет их 3-я дуга, расположенная чуть ниже.
- Нарисовать контуры вокруг глаз. Это очень важный элемент «лица» панды, он всегда имеет черный цвет.
- Прорисовать контур головы. При этом за основу следует взять нарисованный на 1-м этапе круг. Радиус головы должен быть больше по сравнению с радиусом вспомогательного круга. Проводя линию, обозначающую контур головы, не стоит слишком сильно давить на карандаш, чтобы позднее была возможность убрать ластиком ненужные штрихи.
- Когда контур головы будет создан, нарисовать уши. Каждое из них представлено 1-й дугообразной линией. Около правого уха можно нарисовать шерсть.
- Нарисовать конечности, которые панда подогнала под себя, а затем – заднюю часть тела. Все эти элементы рисунка изображаются дуговыми линиями.
- Перейти к рисованию ветки дерева, на которой панда удобно расположилась. Представить «ложе» панды можно несколькими волнистыми линиями.
Вернуться к панде и добавить несколько недостающих элементов. Если работа на предыдущих этапах была выполнена правильно, здесь не должно возникать проблем. Необходимо придать шерсти пушистости. Это делается выведением за пределы тела многочисленных линий различной длины. Между носом и ртом должно находиться несколько точек – мест, откуда растут усы.
- Над каждым из глаз нарисовать по 1-й линии, начинающихся примерно ото лба.
- Раскрасить изображение.
Черным должны быть заштрихованы области возле глаз, лапы, уши, темнее стоит сделать нос.
Красками
Чтобы нарисовать панду красками, потребуется один цвет – черный. При желании можно использовать немного красного. Им можно будет нарисовать рот.
Простой пример рисования панды красками может быть выполнен, если придерживаться следующих этапов:
- Черной краской нарисовать круг в верхней части листа и овал в нижней части. Нужны только контуры, закрашивать фигуры не нужно. Круг – это голова, а овал – туловище.
- Нарисовать уши, расположенные на голове. Каждое из них должно быть представлено полуовалом. Удобно сначала нарисовать дуговую линию, а затем закрасить образовавшийся полуовал. По такому принципу рисуются оба уха.
- В верхней части головы нарисовать пару овалов и закрасить их так, чтобы в центре каждого из них осталось белое пятно. То, что останется не закрашенным, будут глаза, а черное – это характерные для панды области вокруг них.
- Изобразить верхние конечности. Они находятся по разные стороны от туловища возле его верхней части. Обе лапы медвежонка должны быть полностью черными. Аналогично рисуются нижние лапы, которые расположены под туловищем. Они также должны быть абсолютно черными.
- Добавить маленькую черную точку между глазами. Это будет нос. Ниже можно нарисовать коротенький штрих, используя красную краску. Это будет рот.
По клеточкам
Рисование по клеточкам – многогранное занятие. Оно очень полезно для детей, ведь способствует развитию у них внимательности и терпения. Существует множество вариантов рисования панды по клеточкам.
Один из простых вариантов потребует наличие тетради в клеточку, сосредоточенности и внимательности.
Рисунок будет выполняться на прямоугольном участке бумаги, имеющим ширину 31 клеточка и высоту – 16 клеточек. Все, что нужно – закрашивать указанные клеточки карандашом или любым инструментом, оставляющим на бумаге черный цвет.
Нумерация вертикальных рядов, которых 31, ведется слева направо:
- 1-й 9-я и 10-я клетки (здесь и далее считая сверху)
- 2-й 3-я, 4-я, 5-я, 6-я, 8-я, 11-я, 12-я клетки
- 3-й 2-7 клетки и 12-я
- 4-й 1-6 клетки и 13-я
- 5-й 1-6 клетки и 13-я
- 6-й 1-5, а также 14-я и 15-я
- 7-й 1-5, а также 15-я
- 8-й 1-5, а также 9-я, 10-я, 15-я
- 9-й 2-5, а также 8-11 и 15-
- 10-й 3-я, 4-я, 7-я, 9-11 и 16-я
- 11-й 4-я, 7-11 и 16-я
- 12-й 4-я, 8-10 и 16-я
- 13-й 4-я, 12-я и 16-я
- 14-й 4-я, 13-я и 16-я
- 15-й 4-я, 10-я, 13-я и 16-я
- 16-й 4-я, 10-12 и 16-я
- Следующие 15 вертикальных рядов симметричны первым 15-ти.
На бамбуке
Панду недаром называют бамбуковым медвежонком. Это животное любит проводить время на бамбуке. Можно попробовать изобразить его лежащим на этом растении.
Для этого необходимо:
- Нарисовать круглую голову животного и добавить ее основные детали. Этот зверек будет лежать на бамбуке, значит, голова его наклонена на 90°. Остальные части тела также приняли горизонтальное положение.
- Внутри круга нарисовать глаза: правый будет наверху, а левый внизу. Они у бамбукового медвежонка закрыты, и это нужно показать на рисунке. Для этого достаточно провести по 1-й короткой вертикальной линии в каждом глазу.
- На голове добавить уши, представленные полуовалами.
- Между глазами расположить маленький нос. Это будет просто точка.
- Чуть ниже носа (в данном случае левее, поскольку панда лежит) изобразить рот. Он может быть представлен коротким штрихом.
- Нарисовать туловище панды и пару лап. Видны только верхняя правая конечность и нижняя правая.
- Изобразить бамбук, на котором отдыхает медвежонок. Для этого чуть правее от головы провести линию, идущую вправо. Затем она закругляется вниз, одновременно поворачиваясь в противоположную сторону, проходит под всем телом панды и слева от туловища закругляется вверх, снова поворачиваясь в противоположную сторону. На получившейся полоске следует провести пару поперечных линий. Они сделают эту полоску похожей на бамбук.
- Раскрасить изображение. Уши, лапы и глаза панды сделать черными, причем глаза в этом случае закрашиваются полностью, ведь они закрыты. Бамбук почти весь зеленый, за исключением его правого конца, где представлен срез, который внутри должен быть желтым. Контур бамбука обвести более темным оттенком зеленого.
Аниме
Панда (рисунок для детей может быть выполнен в стиле аниме) аниме, как и другие персонажи этого стиля будет иметь крупные глаза и маленький рот.
Этапы рисования следующие:
- Набросать эскиз животного. Это будут 2 круга. Тот, что больше, располагается вверху. Маленький круг находится под большим, при этом слегка пересекаясь с ним.
- В середине провести вспомогательную вертикальную линию, которая упростит прорисовку симметричных деталей головы. Затем проводится дуга, которая разделит большой верхний круг на лицо и капюшон.
- На лице нарисовать глаза, которые должны быть огромными.
- Ниже глаз расположить маленький рот.
- Прорисовать капюшон с черными ушами.
- Удалить ластиком все лишние линии.
Кунг-Фу
Всем любителям мультфильмов знаком персонаж, носящий имя Кунг-Фу-Панда. Поначалу он кажется толстым и неповоротливым, но в действительности в нем скрыта невероятная сила духа. Он не похож на обычных панд, поэтому изобразить чуть сложнее. Здесь придется тщательно поработать с лицом, которому мультипликаторы старались придать человеческие черты.
Этапы изображения следующие:
- Начать с головы. Сначала нарисовать круг, а затем – внутри этого круга пририсовывать детали лица. Лучше разместить перед собой оригинальный рисунок и стараться тщательно срисовывать с него. Один глаз чуть меньше, он словно прищурен. Над другим глазом располагается бровь. На макушке короткая челочка. Нос чуть выступает вперед.
- Нарисовать уши – длинные полуовалы. В каждом из них нужно провести по 1-й короткой линии, выходящей из головы.
- Изобразить тело. Проводя его контуры, стоит помнить, что этот персонаж толстенький: его живот должен чуть выпирать.
- Изобразить ноги. Необходимо помнить о том, что этот необычный боец Кунг-Фу носит шорты.
- Раскрасить получившийся рисунок. Он, в отличие от тех, что были рассмотрены выше, будет разноцветным, но большая площадь тела все равно останется черно-белой. Уши, лапы и области вокруг глаз, а также кончик носа должны быть черными. Все остальные участки тела – белые. Пояс у панды оранжево-коричневый, шорты бежевые.
Чтобы нарисовать панду для детей или с ними, достаточно использовать простой карандаш, ведь шерсть этого животного имеет черно-белый окрас. Главное помнить, какие именно части тела являются черными. Это уши, области вокруг глаз и лапы.
Как нарисовать панду из мультика карандашом?
Дети любят рисовать животных, но переносить на бумагу мультяшных зверушек намного интереснее. Предложите ребенку нарисовать такую панду:
- Нарисуем две окружности: одна на другой. В верхней части проведем две горизонтальные линии, которые пересекаются вертикальной. Намечаем двумя изогнутыми линиями лапы панды.
- Начнем с рисования двух больших кругов: один для тела медведя, а второй для тела.
- Рисуем овалы-очки и по два маленьких кружочка там, где у панды будут глаза. Центральные круги закрашиваем.В самой нижней части головы рисуем рот волнообразной короткой линией.
- Дорисовываем уши. Вдоль линий, которые мы провели для лап, дорисовываем контуры конечностей.
- Далее нарисуем два круга для больших глаз, внутри которых добавим еще по два небольших круга
- Дорисовываем лапы и маленький нос панды. В лапе она держит бамбуковую веточку с листьями.
- Теперь рисуем тело панды снизу и дополним рисунок короткими задними лапами. Сотрем все вспомогательные линии.
- Рисуем нижнюю часть тела и коротенькие толстенькие ножки.
- Закрасим черным цветом участки, которые обозначены на рисунке красным цветом. Бамбуковую веточку закрасим зеленым.
- Закрашиваем панду
Как нарисовать панду с бамбуком
Панды – это необычные медведи, обитающие в горах Китая, которые питаются бамбуковыми ветвями. Дети очень любят этих животных за их необычную раскраску и не типичное поведение для медведей. И многие дети хотели бы научится рисовать панду. Специально для них мы подготовили простой поэтапный урок, в котором рассказывается, как нарисовать панду карандашом начинающим художникам или ребенку.
ШАГ №1 – рисуем основание для головы и туловища панды
Начните рисовать панду с основы. Для этого вам следует сделать два больших круга, вокруг которых будут строиться голова и туловище. Затем добавьте базовые лицевые линии и линии лап.
ШАГ №2 – глаза, уши и руки
После того, как основа будет готова, приступайте рисовать уши и руки. Затем нарисуйте круги для глаз панды, основываясь на базовых лицевых линиях. Обязательно обратите внимание, как это сделано у нас на рисунке. Когда все сделаете, вам остается лишь сделать зрачки для глаз, а потом волнистый рот.
ШАГ №3 – нос, пальцы рук и ветка
Это самый легкий шаг, в котором вам предстоит сделать нос для нашей панды, а затем нарисуйте пальцы рук и бамбуковую ветвь.
ШАГ №4 – рисуем туловище, хвост и задние лапы
Все, что вам осталось сделать, это карандашом придать форму туловищу панды. Затем нарисуйте задние лапы и коротенький хвостик. Удалите все базовые линии, которые вы сделали на первом шаге, а также допущенные ошибки.
ШАГ №5 – завершаем рисовать нашу панду
Ваша панда готова, вам осталось только закрасить ее, как это сделано у нас на рисунке.
Вы отлично справились с заданием, и теперь вы знаете, как поэтапно нарисовать панду карандашом. Теперь вы убедились, что это было очень легкое задание, которое под силу выполнить детям практически любого возраста.
Панда на травке
- Нарисуем овал, расположив его горизонтально. Внутри овала — две пересекающиеся линии. Сверху дорисовываем еще одну окружность
- Придадим объем, нарисовав внутри две пересекающиеся линии. Они помогут нам правильно расположить глаза. Рядом с головой проводим еще одну окружность для туловища.
- Уточним контур головы, придавая ей нужную форму. На макушке (он находится снизу) оставим небольшой задорный хохолок. Нарисуем ухо. На втором мишка лежит, потому нам его не видно.
- Нарисуем овалы-«очки» там, где будут глаза панды. Соблюдаем симметрию, ведь у нас нарисованы для этого линии.
- Добавим нос и улыбающийся рот. Все эти элементы рисуем в верхней половине головы, ведь панда «перевернута».
- Внутри овалов-«очков» нарисуем глаза, располагая на одном уровне их вдоль горизонтальной линии.
- Нарисуем согнутую переднюю лапку. Для этого проведем линию, начиная от головы и завершая на животике. Придадим нужную форму туловищу.
- Вторую лапу, вальяжно откинутую в сторону, тоже начнем рисовать от головы. Не забываем дорисовывать пальцы.
- Задние лапы тоже видны, нарисуем их немного приподнятыми. Нарисуем «поясок» вдоль головы. Это будет черная грудка зверя.
Панда акварелью
Продолжаем создавать анималистические этюды и в сегодняшнем мастер-классе мы пошагово продемонстрируем процесс рисования панды акварелью. Несмотря на внешнюю схожесть с медведем, ученые долго не могли определить – к какому же семейству отнести панд. Причиной тому были некоторые особенности животных: отсутствие спячки, вкусовые предпочтения и незначительные отличия в строении. Но благодаря генетическим тестам ученые пришли к выводу, что панда все таки принадлежит к семейству медвежьих. Окрас бамбукового медведя довольно необычный, но в его рисовании нет ничего сложного даже для новичка. Поэтому даже если вы никогда не пробовали рисовать животных – панда станет отличным сюжетом для первого этюда.
Для рисования вам нужно приготовить:
- бумагу для акварельной живописи 200 г/м2;
- большая и маленькая кисть (белка ли колонок) № 8 и 1;
- карандаш простой;
- ластик;
- палитра;
- планшет;
- малярная лента;
- палетка акварели;
- вода и салфетка для смывки краски.
Этапы рисунка
Шаг 1. Рисование любого объекта начинается с построения наброска. Карандашными линиями обозначаются главные контуры и мелкие детали рисунка, которые помогают в работе с акварелью. Создаем предварительный набросок, выстраивая композицию и соблюдая пропорциональность животного. Все детали намечаем простыми геометрическими фигурами и прямыми штрихами.
После перерисовываем вспомогательные линии в финальный набросок. Ластиком убираем лишние штрихи, а сам контур осветляем.
Шаг 2. Если присмотреться к белому окрасу панд, то можно заметить что цвет имеет множество теплых оттенков, меняющихся в зависимости от освещения. Начнем цветовую прорисовку с обозначения таких акцентов. Набираем на палитру или блюдце сиену натуральную и умбру жженую (не смешивая). Оба оттенка хорошенько разбавляем водой, чтобы добиться полупрозрачной текстуры. Определившись с направлением главного источника света, начинаем прокладывать темные и средние тона: в светлых частях используем сиену, а в затененных – умбру жженую. Самые освещенные части объекта оставляем не закрашенными.
Шаг 3. После высыхания акварели переходим к черным пятнам. Нейтрально-черным цветом прописываем области вокруг глаз, уши, нос и просматриваемую верхнюю часть передних лап.
Шаг 4. Насыщаем бледный подмалевок белого окраса интенсивными тонами сиены натуральной и сепии.
Шаг 5. Тонкой кистью прорисовываем глаза, нос и линию рта животного.
Шаг 6. Далее усиливаем контраст черного окраса. Прорабатываем выделенные области крупными мазками, а излишки жидкой краски убираем кончиком сухой салфетки. Шею и затененную сторону светлого окраса оттеняем легким индиго.
Шаг 7. Полупрозрачной сепией создаем на кончике мордашки (вокруг носа) подпал. Также усиливаем затенение под мордашкой, чтобы сделать ее более вытянутой и объемной. Белой акварелью создаем по контуру светлого окраса тонкие ворсинки. Дорабатываем ею блики на глазах и носике. Над глазками выделяем черной акварелью несколько длинных ворсинок.
Все, рисунок панды готов.
как нарисовать панду
нарисовать панду
рисунок панды
панда рисунок для детей
панда нарисовать
как рисовать панду
панда рисовать
панда рисунок карандашом
нарисованная панда
как нарисовать панду легко
рисовать панду
рисуем панду
как нарисовать панду карандашом
как нарисовать пандочку
как рисуется панда
нарисовать панду карандашом
как нарисовать малую панду
нарисовать панду для детей
как нарисовать панду поэтапно
панда карандашом
панда нарисованная
лицо панды
как нарисовать милую панду
как легко нарисовать панду
панда рисовать легко
рисуем панду с детьми
панда легкий рисунок
рисунок панды карандашом
рисунок панда для детей
как нарисовать панду поэтапно для детей
как нарисовать панду милую
как нарисовать панду карандашом поэтапно для начинающих
красная панда рисунок карандашом
панда нарисовать легко
нарисовать панду легко
панда как нарисовать
как рисовать панду для детей
панда морда
как рисовать пандочку
пандочка рисунок
панда рисунок для детей 9 лет
как нарисовать панду для детей
рисунок панды для детей
как научиться рисовать панду
видео как нарисовать панду
панда легко нарисовать
панда рисунок легкий
панда нарисовать карандашом
панда рисунок для детей карандашом
панда срисовать
[свернуть]
Pandas в Jupyter — быстрый старт и полезные фрагменты
- Введение
- Установка и импорт
- Содержание
- Создание фреймов данных
- Загрузка файлов CSV
- Жестко запрограммированные кадры данных
- Предварительный просмотр данных
- Сортировка
- Выбор/запрос
- Изменение фреймов данных
- Даты и время
- Заговор
- Настройка
- Базовый чертеж
- Дополнительное чтение
В этой статье рассказывается, как быстро настроить и начать работу с библиотека анализа данных pandas. В нем также перечислены общие фрагменты кода для разбор, загрузка и преобразование данных. Для получения более подробной документации по более продвинутым пандам функции (например, стиль графика и объединение фреймов данных), вам нужно будет обратиться к другим источникам.
Сначала нам нужно установить python и менеджер пакетов pip. Если у вас их еще нет, вы можете легко использовать pyenv. установите их (проверено на Ubuntu и OS X). В Ubuntu вы можете следовать эти инструкции, чтобы получить pyenv. В OS X вы можете просто использовать brew:
1 | варить установить pyenv |
Если у вас есть pyenv, вы можете установить и настроить нужную версию Python следующим образом: 2 3 4
# Установите нужную версию Python — например, 3.4.3 pyenv установить 3.4.3 # Настройте его как глобальную версию - pyenv соответствующим образом перенастроит ваш PATH глобальный pyenv 3. 4.3
Теперь мы можем использовать pip для установки pandas, оболочки ipython и jupyter.
1 | pip install pandas ipython [все] jupyter |
Последние две библиотеки позволят нам создавать блокноты веб-базы, в которых мы можем играть с Python и Pandas. Если вы не знаете, что такое блокноты Jupyter, вы можете посмотреть это руководство.
Далее нам нужно запустить jupyter. Я считаю полезным хранить все записные книжки в облачном хранилище или папка под контролем версий, так что я могу поделиться между несколькими машинами. Этого можно добиться с помощью следующего дополнительного параметра:
1 | Блокнот Jupyter --notebook-dir=~/Dropbox/ноутбуки |
Далее нам нужно импортировать панд в первую ячейку блокнота jupyter:
1 | импортные панды |
Когда у нас есть длинная записная книжка, полезно иметь автоматически сгенерированное оглавление (TOC). Следующий код (заимствован из этого пост на StackOverflow) устанавливает плагин TOC jupyter, то есть:
1 2 3 4 5 6 7 8 9 10 | ## скачать mkdir toc компакт-диск wget https://raw.githubusercontent.com/minrk/ipython_extensions/master/nbextensions/toc.js wget https://raw.githubusercontent.com/minrk/ipython_extensions/master/nbextensions/toc.css ## установить и включить CD .. jupyter-nbextension установить --user toc jupyter-nbextension включить toc/toc |
Затем нам нужно перезапустить ядро и сделать первую ячейку типа «Markdown» и добавить следующее:
1 2 | **Содержание** <дел>дел> |
При сохранении должно появиться оглавление.
Кадры данных центральная концепция в пандах. По сути, фрейм данных представляет собой таблицу с помеченными строками и столбцами. Фреймы данных могут быть созданы из нескольких источников, например. Файлы CSV, файлы Excel и JSON.
Загрузка CSV-файлов
Загрузить CSV-файл как фрейм данных довольно просто:
1 | data_frame = pandas.read_csv('file.csv', sep=';') |
Иногда файл CSV содержит пробелы перед значениями. Чтобы игнорировать их, используйте параметр skipinitialspaces :
1 | pandas.read_csv('file.csv', sep=';', skipinitialspace=True) |
Если с обеих сторон значений ячейки появляются пробелы заполнения, нам нужно использовать разделитель регулярного выражения. В этом случае нам нужно использовать механизм обработки «python» вместо основного собственного, чтобы избежать предупреждений. Это немного ухудшит производительность:
1 | pandas.read_csv('file.csv', sep='\s*;\s*', skipinitialspace=True, engine='python') |
Иногда перед загрузкой необходимо выполнить выборку данных, поскольку они слишком велики для размещения в памяти. Этого можно достичь, следуя такому подходу.
Жестко закодированные фреймы данных
Жестко закодированные фреймы данных могут быть созданы путем предоставления хэша столбцов и их значений.
1 2 3 4 5 6 7 | импортировать numpy как np df = pandas.DataFrame({ 'col1': ['Элемент0', 'Элемент0', 'Элемент1', 'Элемент1'], 'col2': ['Золото', 'Бронза', 'Золото', 'Серебро'], 'col3': [1, 2, нп.нан, 4] }) |
Мы будем повторно использовать этот фрейм данных в некоторых последующих примерах.
Для предварительного просмотра данных и метаданных кадра данных вы можете использовать следующие функции:
1 2 3 4 5 6 7 8 910 11 12 13 14 15 16 17 18 19 20 21 22 23 | # Отображает 5 верхних строк. Принимает необязательный целочисленный параметр — num. строк для отображения дф.голова() # Аналогично head, но отображает последние строки дф. хвост() # Размеры фрейма данных в виде кортежа (строки, столбцы) дф.форма # Количество столбцов. Равен df.shape[0] длина (df) # Массив имен столбцов df.columns # Столбцы и их типы df.dtypes # Преобразует фрейм в двумерную таблицу df.значения # Отображает описательную статистику для всех столбцов df.describe() |
Метод sort_index используется для сортировки кадра по одному из индексов его осей. Ось либо 0, либо 1 — ось строки/столбца соответственно:
1 2 | # Сортировать строки по индексу по убыванию df.sort_index (ось = 0, по возрастанию = ложь) |
Мы также можем сортировать по одному или нескольким столбцам:
1 | df.sort_values(by=['col2', 'col1'], по возрастанию=False) |
Отдельные столбцы могут быть выбраны с помощью оператора [] или напрямую как атрибуты:
1 2 3 4 5 6 7 8 | # Выбирает только столбец с именем 'col1'; df. col1 # То же, что и предыдущий дф['col1'] # Выбираем два столбца дф[['столбец1', 'столбец2']] |
Также можно выбрать по абсолютным координатам/положению в кадре. Индексы отсчитываются от нуля:
1 2 3 4 5 6 7 8 | # Выбирает вторую строку df.iloc[1] # Выбирает строки с 1 по 3 df.iloc[1:3] # Первая строка, первый столбец df.iloc[0,0] # Первые 4 строки и первые 2 столбца df.iloc[0:4, 0:2] |
Чаще всего нам нужно выбрать по условию значения ячейки. Для этого мы предоставляем логический массив, обозначающий, какие строки будут выбраны. Хитрость в том, что pandas предопределяет множество логических операторов для своих фреймов данных и рядов. Например, следующее выражение создает логический массив:
1 2 | # Производит массив, а не одно значение! df.col3 > 0 |
Это позволяет нам писать такие запросы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # Запрос по значению одного столбца дф[дф. col3 > 0] # Запрос по одному столбцу, если он есть в списке предопределенных значений df[df['col2'].isin(['Золото', 'Серебро'])] # Запрос соединения с использованием двух столбцов df[(df['col3'] > 0) & (df['col2'] == 'Серебро')] # Запрос на дизъюнкцию с использованием двух столбцов df[(df['col3'] > 0) | (df['col2'] == 'Серебро')] # Запрос, проверяющий текстовое содержимое ячеек df[df.col2.str.содержит('серебро')] |
Операции Pandas имеют тенденцию создавать новые кадры данных вместо изменения предоставленных. Многие операции имеют необязательный логический параметр вместо , который мы можем использовать для принудительного pandas, чтобы применить изменения к фрейму данных субъекта.
Также можно напрямую назначать управление значениями в ячейках, столбцах и выделениях следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # Изменяет ячейку, идентифицированную по ее индексу строки и имени столбца df. at[1, 'col2'] = 'Бронза и золото' # Изменяет ячейку, идентифицированную по ее абсолютным индексам строки и столбца df.iat[1,1] = 'Снова бронза' # Заменяет столбец массивом. Это может быть массив numpy или простой список. #Также можно использовать для создания новых столбцов df.loc[:,'col3'] = ['Неизвестно'] * len(df) # Эквивалентно предыдущему df.col3 = ['Неизвестно'] * len(df) # Удаляет все строки с отсутствующими значениями. df.dropna(как='любой') # Удаляет все строки со всеми пропущенными значениями. df.dropna (как = 'все') |
Часто бывает полезно создать новые столбцы на основе существующих с помощью функции. Новые столбцы часто называют Производные характеристики :
1 2 3 4 5 6 7 8 9 10 11 | по умолчанию f(x): return x + 'Новый столбец'; # Использует унарную функцию f для создания нового столбца на основе существующего df.col4 = f(df.col3) определение г (х, у): вернуть х + '_' + у # Использует функцию g с двумя аргументами для создания нового столбца на основе двух существующих столбцов. df.col4 = g(df.col3, df.col2) |
При загрузке данных из CSV мы можем указать pandas искать и анализировать даты. parse_dates для этого можно использовать параметры. В наиболее типичном случае вы должны передать список имен столбцов как parse_dates :
1 | date_df = pandas.read_csv('test.csv', sep=';', parse_dates=['col1', 'col2']) |
Это будет работать для большинства типичных форматов даты. Если это не так (т.е. у нас нестандартный формат даты), нам нужно предоставить собственный парсер даты:
1 2 3 4 5 | по умолчанию custom_parser(s): # Укажите нужный вам нестандартный формат вернуть pandas.datetime.strptime(s, '%d%b%Y') date_df = pandas.read_csv('test.csv', sep=';', parse_dates=['col1'], date_parser=custom_parser) 1 | date_df['col2'] = pandas. to_datetime(dates_df['col2'], format='%d.%m.%Y') |
Дополнительные сведения о форматах даты и времени см. в документации.
Часто нам приходится работать с временными метками Unix/Posix. Преобразование числовых меток времени в метки времени pandas легко с помощью параметра unit :
1 2 | # Единица указывает, что время указано в секундах ('s'), миллисекундах ('ms'), нано ('ns') и т. д. date_df['col'] = pandas.to_datetime(dates_df['col'], unit='ms') |
Если нам нужно проанализировать временные метки Posix при чтении CSV, мы снова можем прибегнуть к функциям конвертера. В функции конвертера мы можем использовать утилиту pandas.to_datetime, которая принимает параметр unit :
1 2 3 4 5 | по умолчанию timestamp_parser(n): # Укажите нужный блок вернуть pandas. to_datetime (с плавающей запятой (n), единица = 'мс') date_df = pandas.read_csv('test.csv', sep=';', parse_dates=['col1'], date_parser=timestamp_parser) |
Мы также можем преобразовать данные времени/временной метки в номера эпох Unix:
1 2 | # Создает новый числовой столбец с временной меткой эпохи в нано date_df.col4 = pandas.to_numeric(dates_df.col3) |
Настройка
Pandas использует matplotlib для рендеринга графиков, поэтому вам необходимо установить его:
pip установить matplotlib
Прежде чем мы продолжим, нам нужно проверить правильность настройки matplotlib. Откройте терминал, запустите интерпретатор Python и введите:
1 | импортировать matplotlib |
Если импорт работает без проблем, все готово. Однако иногда в OS X вы можете получить следующую ошибку:
«RuntimeError: Python не установлен как фреймворк. Серверная часть Mac OS X не сможет работать правильно, если Python не установлен в качестве фреймворка. Дополнительную информацию об установке Python в качестве фреймворка в Mac OS X см. в документации по Python. Переустановите Python в качестве фреймворка или попробуйте один из других бэкендов. Если вы работаете с Matplotlib в виртуальной среде, см. раздел «Работа с Matplotlib в виртуальных средах» в часто задаваемых вопросах по Matplotlib»9.0076
Если возникает эта ошибка, вам необходимо выполнить с терминала следующее:
1 | эхо "серверная часть: TkAgg" >> ~/.matplotlib/matplotlibrc |
Это установит правильный бэкэнд matplotlib, как обсуждалось здесь.
Теперь мы можем импортировать библиотеку matplot в одну из ячеек блокнота Jupyter:
1 | импортировать matplotlib. pyplot как plt |
Осталась последняя конфигурация, прежде чем мы сможем отображать графики в веб-блокноте. Нам нужно указать jupyter отображать графики matplotlib в виде изображений в самой записной книжке. Для этого введите в одну из ячеек notbook следующую команду:
1 2 | # Позволит нам вставлять изображения в блокнот %matplotlib встроенный |
Базовый график
В оставшейся части этого раздела мы будем использовать следующий фрейм данных:
1 2 3 4 5 | plot_df = pandas.DataFrame({ 'столб1': [1, 3, 2, 4], 'столб2': [3, 6, 5, 1], 'кол3': [4, 7, 6, 2], }) |
Фреймы данных имеют метод, называемый plot . По умолчанию он строит линейную диаграмму со всеми числовыми столбцами. Ось X — это индекс строки фрейма данных. Другими словами, вы рисуете:
1 | plot_df. plot() |
Мы также можем указать столбец для оси X:
1 | plot_df.plot(x='col1') |
График имеет необязательный параметр вида , который можно использовать для построения данных в различных тип визуализации — напр. гистограммы, круговые диаграммы или гистограммы.
Использование kind=’bar’ создает несколько графиков — по одному для каждой строки. На каждом графике есть полоса для каждой ячейки.
1 2 | # Используйте kind='hbar' для горизонтальных полос и stacked=True, чтобы сложить группы plot_df.plot (вид = 'бар') |
Блочные диаграммы отображаются с параметрами kind=’box’ . Каждое поле представляет числовой столбец.
1 | plot_df. plot(вид='коробка') |
- Официальное руководство по быстрому запуску панд
- Официальное руководство по построению панд
- Даты анализа в pandas (StackOverflow)
- Временные ряды в Пандах
Учебное пособие по Python и науке о данных в Visual Studio Code
Редактировать
В этом учебном пособии демонстрируется использование Visual Studio Code и расширения Microsoft Python с общими библиотеками обработки данных для изучения базового сценария обработки данных. В частности, используя данные о пассажирах с «Титаника», вы узнаете, как настроить среду обработки данных, импортировать и очистить данные, создать модель машинного обучения для прогнозирования выживания на «Титанике» и оценить точность сгенерированной модели.
Предварительные условия
Для выполнения этого руководства необходимы следующие установки. Обязательно установите их, если вы еще этого не сделали.
Код Visual Studio
Расширение Python для VS Code и расширение Jupyter для VS Code из Visual Studio Marketplace. Дополнительные сведения об установке расширений см. в разделе Extension Marketplace. Оба расширения опубликованы Microsoft.
Miniconda с последней версией Python
Примечание : Если у вас уже установлен полный дистрибутив Anaconda, вам не нужно устанавливать Miniconda. В качестве альтернативы, если вы предпочитаете не использовать Anaconda или Miniconda, вы можете создать виртуальную среду Python и установить пакеты, необходимые для руководства, с помощью pip. Если вы пойдете по этому пути, вам нужно будет установить следующие пакеты: pandas, jupyter, seaborn, scikit-learn, keras и tensorflow.
Настройка среды обработки данных
Visual Studio Code и расширение Python предоставляют отличный редактор для сценариев обработки данных. Благодаря встроенной поддержке ноутбуков Jupyter в сочетании с Anaconda начать работу очень просто. В этом разделе вы создадите рабочую область для руководства, создадите среду Anaconda с модулями обработки данных, необходимыми для руководства, и создадите блокнот Jupyter, который вы будете использовать для создания модели машинного обучения.
Начните с создания среды Anaconda для учебника по науке о данных. Откройте командную строку Anaconda и запустите
conda create -n myenv python=3.10 pandas jupyter seaborn scikit-learn keras tensorflow
для создания среды с именем myenv . Дополнительные сведения о создании сред Anaconda и управлении ими см. в документации по Anaconda.Затем создайте папку в удобном месте, которая будет служить рабочей областью VS Code для руководства, назовите ее
hello_ds
.Откройте папку проекта в VS Code, запустив VS Code и используя Файл > Команда Открыть папку . Вы можете смело доверять открытию папки, так как вы ее создали.
После запуска VS Code создайте блокнот Jupyter, который будет использоваться для обучения. Откройте палитру команд (⇧⌘P (Windows, Linux Ctrl+Shift+P)) и выберите Create: New Jupyter Notebook .
Примечание . Кроме того, в проводнике файлов VS Code вы можете использовать значок «Новый файл», чтобы создать файл блокнота с именем 9.0761 привет.ipynb .
Сохраните файл как
hello.ipynb
, используя Файл > Сохранить как… .После создания файла вы должны увидеть открытую записную книжку Jupyter в редакторе записной книжки. Дополнительные сведения о встроенной поддержке блокнотов Jupyter см. в разделе Блокноты Jupyter.
Теперь выберите Выберите Ядро в правом верхнем углу записной книжки.
Выберите созданную выше среду Python для запуска ядра.
Чтобы управлять своей средой из встроенного терминала VS Code, откройте его с помощью (⌃` (Windows, Linux Ctrl+`)). Если ваша среда не активирована, вы можете сделать это, как в своем терминале (
conda активировать myenv
).
Подготовьте данные
В этом учебном пособии используется набор данных Titanic, доступный на OpenML.org, который получен на кафедре биостатистики Университета Вандербильта по адресу https://hbiostat.org/data. Данные Титаника предоставляют информацию о выживании пассажиров на Титанике и характеристиках пассажиров, таких как возраст и класс билета. Используя эти данные, в учебном пособии будет создана модель для прогнозирования того, выжил ли бы данный пассажир при затоплении «Титаника». В этом разделе показано, как загружать и обрабатывать данные в блокноте Jupyter.
Для начала загрузите данные Titanic с сайта hbiostat. org в виде CSV-файла (ссылки для скачивания вверху справа) с именем
titanic3.csv
и сохраните его в папкеhello_ds
, которую вы создали в предыдущем разделе.Если вы еще не открыли файл в VS Code, откройте папку
hello_ds
и блокнот Jupyter (hello.ipynb
), выбрав Файл > Открыть папку .В блокноте Jupyter начните с импорта библиотек pandas и numpy, двух распространенных библиотек, используемых для управления данными, и загрузки данных Titanic в кадр данных pandas. Для этого скопируйте приведенный ниже код в первую ячейку блокнота. Дополнительные рекомендации по работе с блокнотами Jupyter в VS Code см. в документации по работе с блокнотами Jupyter.
импортировать панд как pd импортировать numpy как np данные = pd.read_csv('titanic3.csv')
Теперь запустите ячейку с помощью значка «Выполнить ячейку» или сочетания клавиш Shift+Enter.
После завершения работы ячейки вы можете просмотреть данные, которые были загружены, с помощью обозревателя переменных и средства просмотра данных. Сначала выберите значок Variables на верхней панели инструментов ноутбука.
A JUPYTER: панель ПЕРЕМЕННЫХ откроется в нижней части кода VS. Он содержит список переменных, определенных на данный момент в вашем работающем ядре.
Чтобы просмотреть данные в ранее загруженном кадре данных Pandas, выберите значок средства просмотра данных слева от переменной
данных
.Используйте средство просмотра данных для просмотра, сортировки и фильтрации строк данных. После просмотра данных может быть полезно изобразить некоторые их аспекты в виде графика, чтобы помочь визуализировать взаимосвязь между различными переменными.
Прежде чем данные можно будет отобразить в виде графика, необходимо убедиться, что с ними все в порядке. Если вы посмотрите на CSV-файл Титаника, вы заметите одну вещь: вопросительный знак («?») использовался для обозначения ячеек, в которых данные были недоступны.
Хотя Pandas может считывать это значение в DataFrame, результатом для столбца типа age является то, что его тип данных будет установлен на объект вместо числового типа данных, что проблематично для построения графика.
Эту проблему можно исправить, заменив вопросительный знак отсутствующим значением, которое панды могут понять. Добавьте следующий код в следующую ячейку записной книжки, чтобы заменить вопросительные знаки в столбцах age и fare значением numpy NaN. Обратите внимание, что нам также необходимо обновить тип данных столбца после замены значений.
Совет : Чтобы добавить новую ячейку, вы можете использовать значок вставки ячейки, который находится в левом нижнем углу существующей ячейки. Кроме того, вы также можете использовать Esc для входа в командный режим, а затем клавишу B.
data.replace('?', np.nan, inplace= True) data = data.astype({"возраст": np.float64, "тариф": np.float64})
Примечание : Если вам когда-нибудь понадобится увидеть тип данных, который использовался для столбца, вы можете использовать атрибут DataFrame dtypes.
Теперь, когда данные в порядке, вы можете использовать seaborn и matplotlib, чтобы просмотреть, как определенные столбцы набора данных связаны с живучестью. Добавьте следующий код в следующую ячейку записной книжки и запустите его, чтобы просмотреть сгенерированные графики.
импортировать морские перевозки как sns импортировать matplotlib.pyplot как plt рис, оси = plt.subplots (ncols = 5, figsize = (30,5)) sns.violinplot(x="выжил", y="возраст", оттенок="пол", данные=данные, топор=аксы[0]) sns.pointplot(x="sibsp", y="выжил", hue="sex", data=data, ax=axs[1]) sns. pointplot(x="parch", y="выжил", hue="sex", data=data, ax=axs[2]) sns.pointplot(x="pclass", y="выжил", hue="sex", data=data, ax=axs[3]) sns.violinplot (x = «выжил», y = «плата за проезд», оттенок = «секс», данные = данные, топор = топоры [4])
Совет : Чтобы быстро скопировать график, наведите указатель мыши на правый верхний угол графика и нажмите появившуюся кнопку Копировать в буфер обмена . Вы также можете лучше просмотреть детали своего графика, нажав кнопку Expand image .
Эти графики помогают увидеть некоторые взаимосвязи между выживаемостью и входными переменными данных, но также можно использовать pandas для расчета корреляций. Для этого все используемые переменные должны быть числовыми для расчета корреляции, и в настоящее время пол хранится в виде строки. Чтобы преобразовать эти строковые значения в целые числа, добавьте и выполните следующий код.
data.replace({'мужчина': 1, 'женщина': 0}, inplace=True)
Теперь вы можете проанализировать корреляцию между всеми входными переменными, чтобы определить функции, которые будут лучшими входными данными для модели машинного обучения. Чем ближе значение к 1, тем выше корреляция между значением и результатом. Используйте следующий код, чтобы сопоставить взаимосвязь между всеми переменными и выживаемостью.
data.corr().abs()[["выжил"]]
Глядя на результаты корреляции, вы заметите, что некоторые переменные, такие как пол, имеют довольно высокую корреляцию с выживанием, в то время как другие, такие как родственники (sibsp = братья и сестры или супруг, parch = родители или дети), похоже, имеют небольшую корреляцию.
Давайте предположим, что sibsp и parch связаны тем, как они влияют на выживаемость, и сгруппируем их в новую колонку под названием «родственники», чтобы увидеть, имеет ли их комбинация более высокую корреляцию с выживаемостью. Для этого вы проверите, соответствует ли для данного пассажира число sibsp и parch больше 0 и, если да, то можно сказать, что у них на борту был родственник.
Используйте следующий код, чтобы создать новую переменную и столбец в наборе данных с именем
родственников
и снова проверить корреляцию.data['relatives'] = data.apply (лямбда-строка: int((строка['sibsp'] + строка['parch']) > 0), ось = 1) data.corr().abs()[["выжил"]]
Вы заметите, что на самом деле, если смотреть с точки зрения того, были ли у человека родственники, по сравнению с тем, сколько родственников, существует более высокая корреляция с выживанием. Имея эту информацию на руках, теперь вы можете удалить из набора данных наименьшее значение 9.0748 sibsp и parch столбцов, а также любые строки, содержащие значений NaN , чтобы получить набор данных, который можно использовать для обучения модели.
data = data[['пол', 'pclass','возраст','родственники','проезд','выжил']].dropna()
Примечание : хотя возраст имел низкую прямую корреляцию, он был сохранен, поскольку кажется разумным, что он все еще может иметь корреляцию в сочетании с другими входными данными.
Обучение и оценка модели
Теперь, когда набор данных готов, вы можете приступить к созданию модели. В этом разделе вы будете использовать библиотеку scikit-learn (поскольку она предлагает несколько полезных вспомогательных функций) для предварительной обработки набора данных, обучения модели классификации для определения живучести на «Титанике», а затем использовать эту модель с тестовыми данными. определить его точность.
Обычно первым шагом к обучению модели является разделение набора данных на данные для обучения и проверки. Это позволяет использовать часть данных для обучения модели и часть данных для тестирования модели. Если бы вы использовали все свои данные для обучения модели, у вас не было бы возможности оценить, насколько хорошо она на самом деле будет работать с данными, которые модель еще не видела. Преимущество библиотеки scikit-learn заключается в том, что она предоставляет метод, специально предназначенный для разделения набора данных на обучающие и тестовые данные.
Добавьте и запустите ячейку со следующим кодом в записную книжку, чтобы разделить данные.
из sklearn.model_selection импорта train_test_split x_train, x_test, y_train, y_test = train_test_split(data[['sex','pclass','возраст','родственники','проезд']], data.survived, test_size=0.2, random_state=0)
Далее вы нормализуете входные данные, чтобы все функции обрабатывались одинаково. Например, в наборе данных значения для возраста находятся в диапазоне от ~ 0 до 100, а пол — только 1 или 0. Нормируя все переменные, вы можете убедиться, что диапазоны значений одинаковы. Используйте следующий код в новой ячейке кода для масштабирования входных значений.
из sklearn.preprocessing import StandardScaler sc = Стандартный масштаб() X_train = sc.fit_transform (x_train) X_test = sc.transform(x_test)
Существует множество различных алгоритмов машинного обучения, которые можно выбрать для моделирования данных. Библиотека scikit-learn также предоставляет поддержку многих из них и диаграмму, помогающую выбрать ту, которая подходит для вашего сценария. А пока используйте алгоритм наивного Байеса, распространенный алгоритм для задач классификации. Добавьте ячейку со следующим кодом, чтобы создать и обучить алгоритм.
из sklearn.naive_bayes импортировать GaussianNB модель = GaussianNB() model.fit(X_train, y_train)
Обученную модель теперь можно опробовать на наборе тестовых данных, который не учитывался при обучении. Добавьте и запустите следующий код, чтобы предсказать результат тестовых данных и вычислить точность модели.
из показателей импорта sklearn предсказать_тест = модель. предсказать(X_тест) печать (метрики.accuracy_score (y_test, предсказание_теста))
Глядя на результат тестовых данных, вы увидите, что обученный алгоритм успешно оценивает выживаемость примерно на 75%.
(дополнительно) Использование нейронной сети
Нейронная сеть — это модель, которая использует веса и функции активации, моделирующие аспекты нейронов человека, для определения результата на основе предоставленных входных данных. В отличие от алгоритма машинного обучения, который вы рассматривали ранее, нейронные сети — это форма глубокого обучения, в которой вам не нужно заранее знать идеальный алгоритм для вашей задачи. Его можно использовать для многих различных сценариев, и классификация является одним из них. В этом разделе вы будете использовать библиотеку Keras с TensorFlow для построения нейронной сети и изучения того, как она обрабатывает набор данных Titanic.
Первым шагом является импорт необходимых библиотек и создание модели. В этом случае вы будете использовать последовательную нейронную сеть, которая представляет собой многоуровневую нейронную сеть, в которой есть несколько слоев, которые последовательно передаются друг другу.
из импорта keras.models Последовательный из keras.layers импорт плотный модель = Последовательный()
После определения модели следующим шагом будет добавление слоев нейронной сети. А пока давайте не будем усложнять и будем использовать три слоя. Добавьте следующий код, чтобы создать слои нейронной сети.
model.add(Dense(5, kernel_initializer = 'uniform', активация = 'relu', input_dim = 5)) model.add(Dense(5, kernel_initializer = 'униформа', активация = 'relu')) model.add(Dense(1, kernel_initializer = 'униформа', активация = 'сигмоид'))
- Размер первого слоя будет равен 5, поскольку у вас есть пять входных данных: пол, класс, возраст, родственники и стоимость проезда.
- Последний слой должен выводить 1, так как вам нужен одномерный вывод, показывающий, выживет ли пассажир.
- Для простоты для среднего слоя было сохранено значение 5, хотя это значение могло быть и другим.
Функция активации выпрямленной линейной единицы (relu) используется в качестве хорошей общей функции активации для первых двух слоев, в то время как сигмовидная функция активации требуется для последнего слоя в качестве желаемого вывода (выживает ли пассажир или нет) необходимо масштабировать в диапазоне 0-1 (вероятность выживания пассажира).
Вы также можете просмотреть сводку модели, созданной с помощью этой строки кода:
модель.резюме()
После создания модели ее необходимо скомпилировать. В рамках этого вам необходимо определить, какой тип оптимизатора будет использоваться, как будут рассчитываться потери и для какой метрики следует оптимизировать. Добавьте следующий код для построения и обучения модели. Вы заметите, что после обучения точность составляет ~ 61%.
Примечание . Этот шаг может занять от нескольких секунд до нескольких минут в зависимости от вашей машины.
model.compile(optimizer="adam", loss='binary_crossentropy', metrics=['accuracy']) model.fit(X_train, y_train, batch_size=32, эпохи=50)
Теперь, когда модель построена и обучена, мы можем увидеть, как она работает с тестовыми данными.
y_pred = np.rint(model.predict(X_test).flatten()) печать (метрики.accuracy_score (y_test, y_pred))
Как и на тренировке, вы заметите, что теперь у вас есть 79%-ая точность в предсказании выживания пассажиров. Используя эту простую нейронную сеть, результат лучше, чем точность 75% от наивного байесовского классификатора, опробованного ранее.
Дальнейшие действия
Теперь, когда вы знакомы с основами машинного обучения в Visual Studio Code, вы можете ознакомиться с некоторыми другими ресурсами и учебными пособиями Microsoft.