Завдання 1:
Для початку роботи необхідно пройти за посиланням Azure Machine Learning
Студія машинного навчання дозволяє легко налаштувати експеримент із використанням модулів перетягування, попередньо запрограмованих методами прогнозного моделювання.
Використовуючи інтерактивну візуальну робочу область, ви перетягуєте і скидаєте набори даних та аналітичні модулі на інтерактивне полотно. Ви з'єднаєте їх разом, щоб створити експеримент, який ви запускаєте в Studio Learning Studio. Ви створюєте модель , тренуєте модель , оцінюєте та тестовуєте модель .
Ви можете ітерацію на дизайні моделі, редагувати експеримент і запустити його, поки не отримає результати, які ви шукаєте. Коли ваша модель готова, ви можете опублікувати її як веб-сервіс, щоб інші могли надсилати нові дані та отримувати прогнози замість них.
Щоб розпочати роботу зі студією, перейдіть на сторінку https://studio.azureml.net . Якщо ви ввійшли в Machine Learning Studio раніше, натисніть Увійти . В іншому випадку натисніть Зарегистрироваться туті виберіть варіанти безкоштовних та оплачених послуг.
Увійдіть в Studio Studio
У цьому навчальному посібнику з навчання комп'ютера ви будете стежити за п'ятьма основними кроками для створення експерименту в Studio Studio, щоб створити, тренувати та оцінити вашу модель:
Створіть модель
Тренуйте модель
Оцініть та протестувати модель
Порада
Ви можете знайти робочу копію цього експерименту в галереї Cortana Intelligence . Перейдіть до свого першого експерименту з інформаційних технологій - прогнозування ціни на автомобілі та натисніть кнопку Відкрити в студії, щоб завантажити копію експерименту у робочу область вашого робочого стола.
Перше, що потрібно для машинного навчання, - це дані. Є декілька моделей зразків, включених у Studio Learning Studio, які можна використовувати, або ви можете імпортувати дані з багатьох джерел. Для цього прикладу ми будемо використовувати вибірковий набір даних, дані про ціни на автомобілі (Raw), які включені у ваш робочий простір. Цей набір даних включає в себе записи для окремих автомобілів, включаючи таку інформацію, як марка, модель, технічні характеристики та ціна.
Ось як отримати набір даних у ваш експеримент.
Створіть новий експеримент, натиснувши + NEW у нижній частині вікна Studio Learning Studio, виберіть EXPERIMENT , а потім виберіть Blank Experiment .
Експеримент дає назву за умовчанням, яку ви можете побачити у верхній частині полотна.Виділіть цей текст і перейменуйте його на щось важливе, наприклад, Прогноз цін на автомобілі. Ім'я не повинно бути унікальним.
Ліва від експерименту полотно - це палітра наборів даних та модулів. Введіть автомобіль у поле пошуку вгорі цієї палітри, щоб знайти набір даних із даними про ціни на автомобілі (Raw) .Перетягніть цей набір даних до холсту експерименту.
Знайдіть автомобільний набір даних і перетягніть його на полотно експерименту
Щоб побачити, як виглядають ці дані, натисніть вихідний порт внизу набору даних автомобільних даних, а потім виберіть Візуалізувати .
Натисніть вихідний порт і виберіть "Візуалізувати"
Порада
Набори та модулі мають вхідні та вихідні порти, представлені невеликими колами - вхідні порти зверху, вихідні порти внизу. Щоб створити потік даних за допомогою вашого експерименту, Ви підключите вихідний порт одного модуля до вхідного порту іншого. У будь-який час, ви можете натиснути вивідний порт набору даних або модуль, щоб побачити, як виглядають дані на даному етапі потоку даних.
У цьому зразку набору даних кожен примірник автомобіля відображається як рядок, а змінні, пов'язані з кожним автомобілем, відображаються як стовпці. Враховуючи змінні для конкретного автомобіля, ми спробуємо спрогнозувати ціну у стовпчику праворуч (стовпець 26, з назвою "ціна").
Перегляньте дані про автомобіль у вікні візуалізації даних
Закрийте вікно візуалізації, натиснувши " x " у верхньому правому куті.
Для набору даних, як правило, потрібна деяка попередня обробка, перш ніж вона може бути проаналізована. Наприклад, ви могли помітити відсутні значення, присутні в стовпцях різних рядків. Ці пропущені значення потрібно очистити, щоб модель могла правильно аналізувати дані. У нашому випадку ми видалимо всі рядки з відсутніми значеннями. Також колонка normalized-losses має велику частку відсутніх значень, тому ми виключимо цей стовпець із моделі взагалі.
Порада
Очищення відсутніх значень з вхідних даних є обов'язковою умовою для використання більшості модулів.
Спочатку додаємо модуль, який повністю видаляє колонку normalized-losses , а потім ми додаємо ще один модуль, який видаляє будь-який рядок, у якому відсутні дані.
Введіть у стовпці Пошук у верхній частині палітри модулів вибрані стовпчики, щоб знайти модуль Select Columns in Dataset , а потім перетягніть його на екранний екран. Цей модуль дозволяє вибрати, які стовпці даних ми хочемо включити або виключити в моделі.
Підключіть вихідний порт даних набору даних " Автомобільні ціни" ("Сирий") до вхідного порту модуля " Вибрати стовпці в наборі даних" .
Додайте модуль "Вибрати стовпці в наборі даних" до холсту експерименту та підключіть його
Клацніть Модуль вибору стовпців у наборі даних і натисніть « Запустити перемикач стовпців»у області « Властивості ».
Зліва натисніть « З правилами»
У розділі Початок роботи натисніть Усі стовпці . Це спрямовує вибір стовпців у наборі даних, щоб пройти через всі стовпці (за винятком тих стовпців, які ми збираємося виключити).
У спадних меню виберіть Виключити та назви стовпців , а потім клацніть у текстовому полі. Відобразиться список стовпчиків. Виберіть нормовані втрати , і він додається до текстового поля.
Натисніть прапорець (OK), щоб закрити перемикач стовпців (у нижньому правому куті).
Запустіть перемикач стовпців та виключіть стовпець "normalized-losses"
Тепер панель властивостей для Вибраних стовпців у наборі даних показує, що вона пройде через всі стовпці з набору даних, крім нормалізованих втрат .
Панель властивостей показує, що стовпець "нормовані втрати" виключений
Порада
Ви можете додати коментар до модуля, двічі клацнувши по модулю та ввівши текст. Це допоможе вам швидко подивитися, що модуль робить у вашому експерименті. У цьому випадку двічі клацніть модуль Вибрати стовпці в наборі даних і введіть коментар "Виключити нормалізовані збитки".
![Double-click a module to add a comment][add-comment] <br/> ***Double-click a module to add a comment***
Перетягніть модуль " Чисті дані без вісті" до полотна експерименту та підключіть його до модуля " Вибір стовпців у наборі даних" . На панелі « Властивості » виберіть « Видалити всю рядок» в режимі очистки . Це спрямовує очищення пропущених даних для очищення даних, видаливши рядки, які мають будь-які відсутні значення. Двічі клацніть модуль та введіть коментар "Видалити відсутні рядки значення".
Встановіть режим очищення на "Видалити весь рядок" для модуля "Очистити пропущені дані"
Запустіть експеримент, натиснувши RUN в нижній частині сторінки.
Коли експеримент закінчиться, всі модулі мають зелений прапорець, що означає, що вони закінчені успішно. Зверніть увагу також на стан завершення роботи в правому верхньому куті.
Після цього експеримент повинен виглядати приблизно так
Порада
Чому ми зараз проводимо експеримент? Запустивши експеримент, визначення кола наших даних здійснюється з набору даних, через модуль Select Columns in Data set and через модуль Clean Missing Data . Це означає, що будь-які модулі, які ми під'єднуємо до чистої пропущеної інформації , також матимуть ту саму інформацію.
Все, що ми зробили в експерименті до цього моменту, - це чисті дані. Якщо ви хочете переглянути очищену версію набору даних, натисніть на лівий вихідний порт модуля « Очистити відсутні дані» та виберіть « Візуалізувати» . Зверніть увагу, що колонка з нормованими втратами більше не включена, і відсутні відсутні значення.
Тепер, коли дані є чистими, ми готові вказати, які функції ми збираємося використовувати в моделі прогнозування.
У процесі машинного навчання особливості - це індивідуальні вимірювальні властивості того, що вас цікавить. В нашому наборі даних кожен рядок являє собою один автомобіль, і кожен стовпець є функцією цього автомобіля.
Знаходження належного набору функцій для створення прогнозованої моделі вимагає експериментів та знань про проблему, яку ви хочете вирішити. Деякі функції краще прогнозувати ціль, ніж інші. Крім того, деякі функції мають сильну кореляцію з іншими функціями і можуть бути вилучені. Наприклад, city-mpg та шосе-mpg є тісно пов'язаними між собою, тому ми можемо тримати його та вилучити інший, не впливаючи на прогноз.
Давайте побудуємо модель, яка використовує підмножина функцій нашого набору даних. Ви можете повернутися пізніше і вибрати різні функції, знову запустити експеримент і побачити, чи ви отримаєте кращі результати. Але, щоб почати, спробуємо наступні функції:
make, body-style, wheel-base, engine-size, horsepower, peak-rpm, highway-mpg, price
Перетягніть інший " Вибір стовпців" у модулі набору даних до полотна експерименту. Підключіть ліва вихідний порт модуля " Чистий пропущений дані" до входу модуля " Вибрати стовпці в наборі даних" .
Підключіть модуль "Вибір стовпців у наборі даних" до модуля "Чисті відсутні дані"
Двічі клацніть модуль та введіть "Вибір функцій для прогнозування".
Натисніть « Запустити перемикач стовпців» у панелі « Властивості ».
Натисніть " З правилами" .
У розділі Початок роботи натисніть Ні стовпців . У рядку фільтра виберіть " Включити" та "Імена стовпців" та оберіть наш список імен стовпців у текстовому полі. Це спрямовує модуль на те, щоб він не проходив через будь-які стовпці (функції), крім тих, які ми вказуємо.
Натисніть кнопку галочки (ОК).
Виберіть стовпці (функції), які потрібно включити в прогноз
Це створює відфільтрований набір даних, що містить лише ті функції, які ми хочемо перейти до алгоритму навчання, який ми використаємо на наступному кроці. Пізніше ви можете повернутися і спробувати ще раз з іншим вибором функцій.
Тепер, коли дані готові, побудова прогностичної моделі складається з навчання та тестування. Ми будемо використовувати наші дані для навчання моделі, а потім ми перевіримо модель, щоб побачити, наскільки точно вона може прогнозувати ціни.
Класифікація та регресія - два типи алгоритмів керування машинним навчанням. Класифікація передбачає відповідь із визначеного набору категорій, таких як колір (червоний, синій або зелений).Регресія використовується для прогнозування числа.
Оскільки ми хочемо передбачити ціну, яка є числом, ми будемо використовувати алгоритм регресії. Для цього прикладу ми будемо використовувати просту лінійну регресійну модель.
Порада
Якщо ви хочете дізнатись більше про різні типи алгоритмів машинного навчання та коли їх використовувати, ви можете переглянути перше відео в серії «Дані науки для початківців», відповіді на п'ять питань, що стосуються наукових даних . Ви також можете ознайомитись з основними принципами вивчення інфографіки з алгоритмом , або ознайомтесь із шпаргалом алгоритму навчання комп'ютера .
Ми тренуємо модель, надаючи йому набір даних, що включає ціну. Модель сканує дані та шукає співвідношення між характеристиками автомобіля та його ціною. Потім ми перевіримо модель - ми дамо йому набір функцій для автомобілів, які ми знайомі, і бачимо, наскільки близька модель припускає прогнозування відомих цін.
Ми використовуватимемо наші дані як для навчання моделі, так і для тестування, розділивши дані на окремі набори даних для навчання та тестування.
Виберіть та перетягніть модуль " Розділити дані" на полотно експерименту та підключіть його до останнього модуля " Вибір стовпців у наборі даних" .
Клацніть модуль " Розділити дані", щоб вибрати його. Знайдіть фракцію рядків у першому вихідному наборі даних (у області властивостей праворуч від полотна) і встановіть його на 0,75. Таким чином, ми будемо використовувати 75 відсотків даних для навчання моделі, а для тестування - 25 відсувань (пізніше ви можете експериментувати з використанням різних відсотків).
Встановіть роздільну частку модуля "Розділені дані" на 0,75
Порада
Змінюючи параметр " Випадковий вибір" , ви можете створювати різні випадкові зразки для навчання та тестування. Цей параметр керує розподілом генератора псевдовипадкових чисел.
Запустіть експеримент. Коли експеримент запускається, модулі " Вибрати стовпці в наборі даних"та " Розділені дані" передають визначення стовпців до модулів, які ми додамо наступним чином.
Щоб вибрати алгоритм навчання, розгорніть категорію « Машинне навчання » на палітрі модулів ліворуч від полотна, а потім розгорніть « Ініціалізувати модель» . Це відображає кілька категорій модулів, які можуть бути використані для ініціалізації алгоритмів машинного навчання.Для цього експерименту виділіть модуль " Лінійна регресія" під категорією " Регресія " та перетягніть його на екранний екран. (Ви також можете знайти модуль, набравши "лінійна регресія" в поле пошуку палітри.)
Знайдіть і перетягніть модуль Модель Поїзду на полотно експерименту. Підключіть вихід модуля лінійної регресії до лівого входу модуля Моделі поїздів і підключіть вихідні дані тренувальних даних (лівий порт) модуля Спліт даних до правого входу модуля Моделі поїзду .
Підключіть модуль "Train Model" до модулів "Лінійна регресія" та "Спліт даних"
Клацніть Модуль Модуля Поїзду , натисніть кнопку Запустити перемикач стовпчиків на панелі Властивості , а потім виберіть стовпчик ціни . Це цінність, яку наша модель планує передбачити.
Ви вибираєте стовпчик ціни у виборі стовпця, переміщаючи його зі списку " Доступні стовпчики " до списку " Вибрані стовпчики ".
Виберіть стовпчик ціни для модуля "Train Model"
Запустіть експеримент.
У нас тепер є тренована модель регресії, яка може використовуватися для оцінки нових даних про автомобіль, щоб прогнозувати ціни.
Після роботи експеримент повинен виглядати приблизно так
Тепер, коли ми навчили модель, використовуючи 75 відсотків наших даних, ми можемо використати її, щоб набрати 25% інших даних, щоб дізнатися, наскільки добре функціонує наша модель.
Знаходьте та перетягніть модуль " Модель оцінки" на екран експерименту. Підключіть вихід модуля моделі поїзду до лівого вхідного порту моделі оцінки . Підключіть вихідні дані тестових даних (правий порт) модуля Спліт даних до правильного вхідного порту моделі оцінки .
Підключіть модуль "Score Model" до модулів "Train Model" та "Split Data"
Запустіть експеримент та перегляньте вихід із модуля Score Model (натисніть вихідний порт Моделі оцінки та виберіть Візуалізувати ). Вихід показує прогнозовані значення ціни та відомі значення за даними тесту.
Висновок модуля "Модель оцінки"
Нарешті, ми перевіряємо якість результатів. Виберіть і перетягніть модуль " Оцінити модель" на полотно експерименту та підключіть вивід модуля " Оцінка моделі" до лівого входу " Оцінити модель" .
Порада
Модуль Evaluate Model має два вхідних порту, оскільки він може бути використаний для порівняння двох моделей поруч. Пізніше ви можете додати ще один алгоритм до експерименту та скористатись Оцінити модель, щоб побачити, який з них дає кращі результати.
Запустіть експеримент.
Щоб переглянути вивід модуля " Оцінити модель" , натисніть на вихідний порт і виберіть " Візуалізувати" .
Результати оцінки для експерименту
Для нашої моделі показані такі статистичні дані:
Середнє значення абсолютної похибки (MAE): середнє значення абсолютних помилок ( помилка - це різниця між прогнозованим значенням та фактичним значенням).
Коректна середня квадратна помилка (RMSE): квадратний корінь середнього квадрата помилок прогнозів, зроблених на наборі даних тесту.
Відносна абсолютна похибка : середнє значення абсолютних помилок відносно абсолютної різниці між фактичними значеннями та середнім значенням всіх фактичних значень.
Відносна квадратна помилка : середнє значення квадратів по відношенню до квадратичної різниці між фактичними значеннями та середнім значенням всіх фактичних значень.
Коефіцієнт детермінації : також відомий як квадратне значення R , це статистична метрика, яка вказує на те, наскільки добре модель відповідає даним.
Для кожної статистики помилок краще менше. Менше значення вказує на те, що прогнози більш точно відповідають фактичним значенням. Для коефіцієнта детермінації , чим ближче його значення до одного (1,0), тим кращі прогнози.
Остаточний експеримент повинен виглядати приблизно так:
Остаточний експеримент
Тепер, коли ви завершили перший навчальний посібник із навчання комп'ютера та встановили свій експеримент, ви можете продовжувати вдосконалювати модель, а потім розгорнути його як веб-службу прогнозування.
Ітератуйте, щоб спробувати покращити модель. Наприклад, ви можете змінити функції, які використовуються у вашому передбаченні. Або ви можете змінити властивості алгоритму лінійної регресії або спробувати інший алгоритм взагалі. Ви навіть можете одночасно додати декілька алгоритмів машинного навчання до свого експерименту та порівняти два з них за допомогою модуля " Оцінити модель" . Для прикладу порівняння кількох моделей в одному експерименті дивіться розділ Порівняння регресорів у галереї інтелекту Cortana .
Порада
Щоб скопіювати будь-яку ітерацію вашого експерименту, використовуйте кнопку SAVE AS в нижній частині сторінки. Ви можете побачити всі повторення вашого експерименту, натиснувши VIEW RUN HISTORY в нижній частині сторінки. Докладніші відомості див. У розділі Керування ітераціями експериментів у програмі Azure Studio .
Розгортання моделі як веб-служби прогнозування. Якщо ви задоволені своєю моделлю, ви можете розгорнути його як веб-службу, яка буде використовуватися для прогнозування цін на автомобілі за допомогою нових даних. Щоб отримати докладнішу інформацію, див. Розгортання веб-служби Azure Machine Learning .
Хочете дізнатися більше? Детальніша інформація про процес створення, навчання, підрахунку балів та розгортання моделі наведено в розділі " Розробка прогнозного рішення за допомогою Azure Machine Learning" .