Втыкание лопаты

Первым шагом будет перейти на официальный сайт TensorFlow и прочитать ML для начинающих.

TensorFlow — это хакерская команда Google и самая популярная библиотека машинного обучения, поддерживающая Python, Java, C++ и Go.

Также есть Scikit-learn — еще одна Python-ориентированная библиотека для машинного обучения. Значительное количество готовых алгоритмов является ключевым преимуществом этой библиотеки. Существует учебник для определения языка с текстом, написанным с помощью Scikit-learn.

Итак, в качестве примера поставим такую ​​цель — научить модель определять наличие SQL инъекции в текстовой строке.

В первую очередь Наборы данных в работе

Тип задачи классификации — это когда алгоритм после получения данных выделяет определенные категории.

Функции называются записями, в которых алгоритм будет искать шаблоны.

машинное обучение

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

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

С помощью машинного обучения сбор данных является приоритетом №1 в решении любой проблемы.

Возьмите CSV-файл с тремя типами данных: случайные электронные письма (20 тыс.), случайные электронные письма с SQL-инъекциями (20 тыс.) и чистые SQL-инъекции (10 тыс.).

Теперь необходимо прочитать эталонные данные. Функция возвращает лист X, содержащий объекты, лист Y, содержащий метки для каждого объекта, и лист label_names. Последний просто содержит текстовое определение меток, необходимое для удобной обработки результатов.

Далее данные следует разделить на обучающую и тестовую выборки. Для того, чтобы функция cross_validation.train_test_split() была оптимальной, она перетасует записи и вернет нам четыре набора данных — два обучающих и два теста на фичи и метки.

Затем мы инициализируем объект-векторизатор, который будет считывать переданные данные посимвольно, объединять их в N-граммы и переводить в числовые векторы, что способен воспринимать алгоритм ML.

Подача данных

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

Модель готова к обработке данных. Теперь мы передаем обучающие наборы функций и меток в наш конвейер, и модель начинает обучение. В следующей строке мы пропустим тестовый набор функций через конвейер, чтобы получить количество правильно угаданных данных.

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

Точность модели определяется значением от 0 до 1 и может быть преобразована в проценты. Эта модель возвращает правильный ответ в 100% случаев. Конечно, на реальных данных такого результата добиться будет непросто, да и задача относительно проста.

Последний штрих — сохранить модель в обученном виде, чтобы ее можно было использовать без повторного обучения в какой-либо другой программе Python. Мы сериализуем модель в файл рассола, используя встроенную функцию Scikit-learn:

Небольшая демонстрация использования сериализованной модели в другой программе.

На выходе получим следующий результат:

Как видите, модель уверенно определяет атаки с помощью SQL-инъекций.

Первые шаги в машинном обучении

Заключение

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

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

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

Leave a Comments

Your email is safe with us.
*
*

Demo Request


    This is your first step to a new level of effective collaboration and productivity







     

    ×
    Order Request


      This is your first step to a new level of effective collaboration and productivity







      Please select a pricing plan




      ×
      Become a Partner


        We're always looking for a new opportunities, so Microsoft Partners from all over the world are welcomed for partnership negotiation.







        Yes, subscribe me to LS Intranet Newsletters

         

        ×
        Basic Plan Widgets

         

        Menu Photos
        News Feed Anniversaries
        Slider Blogs
        Idea Box Rewards
        Surveys Jobs
        Upcoming events Birthdays
        Newcomers  

        More about Tools, Widgets, and Modules

        ×
        Basic Plan Modules

         

        Advanced Search

        Team Sites

        Branches

        Single Settings Page

        Alerts

        Department Sites

        Document Repositories

         

        More about Tools, Widgets, and Modules

        ×
        Request Download White Paper





          ×

          Thank you for your interest in seeing an LS Intranet demo — Leading AI and Bot Enabled Modern Intranet

          An LS representative will contact you shortly to schedule your demo day/time. Can’t wait? You can choose your own schedule here

          ×
          Demo Request







             

            ×
            Запит демо


              Це ваш перший крок до нового рівня ефективної співпраці та продуктивності







               

              ×
              Запрос демо


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







                 

                ×
                Віджети базового плану

                 

                Меню Фотографії
                Стрічка новин Ювілеї
                Слайдер Блог
                Банк ідей Нагороди
                Опитування Вакансії
                Майбутні події Дні народження
                Новачки  

                Докладніше про інструменти, віджети та модулі

                ×
                Модулі базового плану

                 

                Розширений пошук

                Сайти команд

                Відділення

                Єдина сторінка налаштувань

                Оповіщення

                Сайти відділів

                Сховища документів

                 

                Докладніше про інструменти, віджети та модулі

                ×
                Замовлення продукту


                  Це ваш перший крок до нового рівня ефективної співпраці та продуктивності







                  Виберіть тарифний план




                  ×
                  Виджеты базового плана

                   

                  Меню Фотографии
                  Лента новостей Юбилеи
                  Слайдер Блог
                  Банк идей Награды
                  Опросы Вакансии
                  Предстоящие события Дни рождения
                  Новички  

                  Подробнее об инструментах, виджетах и модулях

                  ×
                  Модули базового плана

                   

                  Расширенный поиск

                  Сайты групп

                  Ветви

                  Одна страница настроек

                  Оповещения

                  Сайты отделов

                  Репозитории документов

                   

                  Подробнее об инструментах, виджетах и модулях

                  ×
                  Заказ продукта


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







                    Пожалуйста, выберите тарифный план




                    ×