Зміст[Сховати][Показати]
Якщо ви програміст на Python або шукаєте потужний набір інструментів для впровадження машинного навчання у виробничу систему, Scikit-learn — це бібліотека, яку вам потрібно перевірити.
Scikit-learn добре задокументований і простий у використанні, незалежно від того, чи ви новачок у машинному навчанні, хочете швидко почати роботу або використовувати найновіший інструмент дослідження ML.
Він дозволяє побудувати прогнозну модель даних лише за кілька рядків коду, а потім використовувати цю модель для відповідності вашим даним як бібліотеку високого рівня. Він гнучкий і добре працює з іншими Бібліотеки Python як Matplotlib для побудови діаграм, NumPy для векторизації масивів і pandas для візуалізації даних.
У цьому посібнику ви дізнаєтеся все про те, що це таке, як його використовувати, а також його плюси і мінуси.
Що таке Scikit-Learn?
Scikit-learn (також відомий як sklearn) пропонує різноманітний набір статистичних моделей та машинного навчання. На відміну від більшості модулів, sklearn розробляється на Python, а не на C. Незважаючи на те, що він розроблений на Python, ефективність sklearn пояснюється використанням NumPy для високопродуктивної лінійної алгебри та операцій з масивами.
Scikit-Learn був створений як частина проекту Google Summer of Code і з тих пір спростив життя мільйонів дослідників, орієнтованих на Python, у всьому світі. Цей розділ серії зосереджено на представленні бібліотеки та зосередженні на одному елементі – перетвореннях наборів даних, які є ключовим і життєво важливим кроком, який необхідно зробити перед розробкою моделі прогнозування.
Бібліотека заснована на SciPy (Scientific Python), який необхідно встановити, перш ніж ви зможете використовувати scikit-learn. Цей стек містить такі елементи:
- NumPy: стандартний пакет n-вимірних масивів Python
- SciPy: це фундаментальний пакет для наукових обчислень
- Pandas: Структури даних та аналіз
- Matplotlib: це потужна бібліотека 2D/3D графіків
- Sympy: символічна математика
- IPython: покращена інтерактивна консоль
Програми бібліотеки Scikit-learn
Scikit-learn — це пакет Python з відкритим вихідним кодом із складним аналізом даних і функціями інтелекту. Він поставляється з безліччю вбудованих алгоритмів, які допоможуть вам отримати максимальну віддачу від ваших проектів із науки про дані. Бібліотека Scikit-learn використовується наступними способами.
1. Регресія
Регресійний аналіз – це статистичний метод для аналізу та розуміння зв’язку між двома чи більше змінними. Метод, який використовується для регресійного аналізу, допомагає визначити, які елементи є релевантними, які можна ігнорувати та як вони взаємодіють. Наприклад, для кращого розуміння поведінки цін на акції можна використовувати методи регресії.
Алгоритми регресії включають:
- Linear Regression
- Регресія хребта
- Регресія Лассо
- Регресія дерева рішень
- Випадковий ліс
- Машини опорних векторів (SVM)
2. Класифікація
Класифікаційний метод — це підхід до навчання під керівництвом, який використовує навчальні дані для визначення категорії нових спостережень. Алгоритм у Класифікації вчиться з заданого набору даних або спостереження, а потім класифікує додаткові спостереження в один із багатьох класів або груп. Їх можна, наприклад, використовувати для класифікації повідомлень електронної пошти як спаму чи ні.
Алгоритми класифікації включають наступне:
- Логістична регресія
- K-Найближчі сусіди
- Підтримка векторної машини
- Дерево рішень
- Випадковий ліс
3. Кластеризація
Алгоритми кластеризації в Scikit-learn використовуються для автоматичного впорядкування даних зі схожими властивостями в набори. Кластеризація — це процес групування набору елементів, щоб ті, що в одній групі, були більш схожими на елементи в інших групах. Наприклад, дані про клієнтів можуть бути розділені на основі їх місцезнаходження.
Алгоритми кластеризації включають наступне:
- БД-СКАН
- K-засоби
- Міні-партійні K-засоби
- Спектральна кластеризація
4. Вибір моделі
Алгоритми вибору моделі забезпечують методи порівняння, перевірки та вибору оптимальних параметрів і моделей для використання в ініціативах із науки про дані. З огляду на дані, вибір моделі — це проблема вибору статистичної моделі з групи моделей-кандидатів. У найпростіших обставинах береться до уваги наявна колекція даних. Однак завдання може також включати розробку експериментів так, щоб отримані дані добре підходили до проблеми вибору моделі.
Модулі вибору моделі, які можуть підвищити точність шляхом налаштування параметрів, включають:
- Перехресна перевірка
- Пошук у сітці
- Метрика
5. Зменшення розмірності
Перенесення даних з простору високої вимірності в простір з низькою вимірністю, щоб у представленні з низькими розмірами зберігалися деякі важливі аспекти вихідних даних, в ідеалі близько до їх властивого виміру, відомий як зменшення розмірності. Кількість випадкових величин для аналізу зменшується при зменшенні розмірності. Віддалені дані, наприклад, не можуть вважатися для підвищення ефективності візуалізацій.
Алгоритм зменшення розмірності включає в себе наступне:
- Вибір функцій
- Аналіз основних компонентів (PCA)
Встановлення Scikit-learn
Перед використанням Scikit-learn необхідно встановити NumPy, SciPy, Matplotlib, IPython, Sympy і Pandas. Давайте встановимо їх за допомогою pip з консолі (працює тільки для Windows).
Давайте встановимо Scikit-learn тепер, коли ми встановили необхідні бібліотеки.
риси
Scikit-learn, іноді відомий як sklearn, — це набір інструментів Python для реалізації моделей машинного навчання та статистичного моделювання. Ми можемо використовувати його для створення кількох моделей машинного навчання для регресії, класифікації та кластеризації, а також статистичних інструментів для оцінки цих моделей. Він також включає зменшення розмірності, вибір функцій, вилучення ознак, ансамблеві підходи та вбудовані набори даних. Ми будемо досліджувати кожну з цих якостей по черзі.
1. Імпорт наборів даних
Scikit-learn включає в себе ряд попередньо створених наборів даних, таких як набір даних райдужної оболонки ока, набір даних про ціни на будинок, набір даних Titanic тощо. Ключові переваги цих наборів даних полягають у тому, що вони прості для сприйняття та можуть бути використані для негайної розробки моделей ML. Ці набори даних підходять для новачків. Аналогічно, ви можете використовувати sklearn для імпорту додаткових наборів даних. Аналогічно, ви можете використовувати його для імпорту додаткових наборів даних.
2. Розбиття набору даних для навчання та тестування
Sklearn включив можливість розділити набір даних на сегменти навчання та тестування. Розділ набору даних необхідний для неупередженої оцінки ефективності передбачення. Ми можемо вказати, яка частина наших даних повинна бути включена в набори даних поїздів і тестів. Ми розділили набір даних за допомогою розподілу тесту поїзда таким чином, що набір поїздів містить 80% даних, а тестовий набір – 20%. Набір даних можна розділити наступним чином:
3. Лінійна регресія
Лінійна регресія — це методика машинного навчання, що базується на контролі. Він виконує роботу регресії. На основі незалежних змінних регресія моделює значення прогнозу цілі. Здебільшого він використовується для визначення зв’язку між змінними та прогнозуванням. Різні моделі регресії відрізняються за типом зв’язку, який вони оцінюють між залежними та незалежними змінними, а також за кількістю використаних незалежних змінних. Ми можемо просто створити модель лінійної регресії за допомогою sklearn наступним чином:
4. Логістична регресія
Поширеним підходом до категоризації є логістична регресія. Він належить до того ж сімейства, що й поліноміальна та лінійна регресія, і належить до сімейства лінійних класифікаторів. Результати логістичної регресії прості для розуміння і швидко обчислюються. Так само, як і лінійна регресія, логістична регресія є методом контрольованої регресії. Вихідна змінна є категоричною, тож це єдина різниця. Він може визначити, чи є у пацієнта серцеві захворювання.
Різні проблеми класифікації, такі як виявлення спаму, можна вирішити за допомогою логістичної регресії. Прогнозування діабету, визначення того, чи буде споживач купувати конкретний продукт чи перейти до конкурента, визначення того, чи натисне користувач на конкретне маркетингове посилання, і багато інших сценаріїв — це лише кілька прикладів.
5. Дерево рішень
Найпотужнішим і широко використовуваним методом класифікації та прогнозування є дерево рішень. Дерево рішень — це деревовидна структура, яка виглядає як блок-схема, де кожен внутрішній вузол представляє тест за атрибутом, кожна гілка — висновок тесту, а кожен листовий вузол (термінальний вузол) містить мітку класу.
Коли залежні змінні не мають лінійного зв’язку з незалежними змінними, тобто коли лінійна регресія не дає правильних результатів, дерева рішень є корисними. Об’єкт DecisionTreeRegression() можна використовувати подібним чином для використання дерева рішень для регресії.
6. Випадковий ліс
Випадковий ліс - це a навчання за допомогою машини підхід для вирішення питань регресії та класифікації. Він використовує ансамблеве навчання, що є технікою, яка поєднує кілька класифікаторів для вирішення складних проблем. Метод випадкового лісу складається з великої кількості дерев рішень. Його можна використовувати для класифікації заявок на кредити, виявлення шахрайства та передбачення спалахів захворювань.
7. Матриця плутанини
Матриця плутанини — це таблиця, яка використовується для опису ефективності моделі класифікації. Наступні чотири слова використовуються для дослідження матриці плутанини:
- Справжній позитив: це означає, що модель передбачала сприятливий результат, і це було правильно.
- Справжній негатив: це означає, що модель передбачала поганий результат, і це було правильно.
- Хибнопозитивний: це означає, що модель очікувала сприятливого результату, але насправді він був негативним.
- Хибнонегативний: це означає, що модель очікувала негативного результату, тоді як результат був дійсно позитивним.
Реалізація матриці плутанини:
профі
- Це простий у використанні.
- Пакет Scikit-learn надзвичайно адаптивний і корисний, обслуговуючи цілі реального світу, такі як прогноз поведінки споживача, розвиток нейрообразу тощо.
- Користувачі, які бажають підключити алгоритми до своїх платформ, знайдуть детальну документацію API на веб-сайті Scikit-learn.
- Численні автори, співавтори та велика світова онлайн-спільнота підтримують і тримають Scikit-learn в курсі.
мінуси
- Це не ідеальний варіант для поглибленого вивчення.
Висновок
Scikit-learn — це важливий пакет для кожного вченого з даних, який має міцне розуміння та певний досвід. Цей посібник має допомогти вам маніпулювати даними за допомогою sklearn. Існує багато інших можливостей Scikit-learn, які ви відкриєте під час вашої пригоди з вивчення даних. Поділіться своїми думками в коментарях.
залишити коментар