Съдържание[Крия][Покажи]
Ако сте програмист на Python или ако търсите мощен инструментариум, който да използвате за въвеждане на машинно обучение в производствена система, Scikit-learn е библиотека, която трябва да проверите.
Scikit-learn е добре документиран и лесен за използване, независимо дали сте нов в машинното обучение, искате да започнете бързо или искате да използвате най-актуалния инструмент за изследване на ML.
Позволява ви да изградите прогнозен модел на данни само в няколко реда код и след това да използвате този модел, за да отговаря на вашите данни като библиотека от високо ниво. Той е гъвкав и работи добре с други Python библиотеки като Matplotlib за диаграми, NumPy за векторизация на масиви и pandas за визуализация на данни.
В това ръководство ще разберете всичко за това какво представлява, как можете да го използвате, заедно с неговите плюсове и минуси.
Какво е Научете се?
Scikit-learn (известен още като sklearn) предлага разнообразен набор от статистически модели и машинно обучение. За разлика от повечето модули, sklearn е разработен на Python, а не на C. Въпреки че е разработен в Python, ефективността на sklearn се приписва на използването на NumPy за високопроизводителна линейна алгебра и операции с масиви.
Scikit-Learn е създаден като част от проекта Summer of Code на Google и оттогава улеснява живота на милиони специалисти по данни, ориентирани към Python, по целия свят. Този раздел от поредицата се фокусира върху представянето на библиотеката и фокусирането върху един елемент – трансформации на набор от данни, които са ключова и жизненоважна стъпка, която трябва да се предприеме, преди да се разработи модел за прогнозиране.
Библиотеката е базирана на SciPy (Scientific Python), който трябва да бъде инсталиран, преди да можете да използвате scikit-learn. Този стек съдържа следните елементи:
- NumPy: Стандартният n-мерен пакет за масиви на Python
- SciPy: Това е основен пакет за научни изчисления
- Pandas: Структури на данни и анализ
- Matplotlib: Това е мощна библиотека за 2D/3D графики
- Sympy: Символична математика
- IPython: Подобрена интерактивна конзола
Приложения на библиотеката Scikit-learn
Scikit-learn е пакет Python с отворен код със сложен анализ на данни и функции за копаене. Предлага се с множество вградени алгоритми, които да ви помогнат да извлечете максимума от вашите проекти за наука за данни. Библиотеката Scikit-learn се използва по следните начини.
1. Регресия
Регресионният анализ е статистическа техника за анализиране и разбиране на връзката между две или повече променливи. Методът, използван за извършване на регресионен анализ, помага да се определи кои елементи са подходящи, кои могат да бъдат игнорирани и как взаимодействат. Регресионните техники, например, могат да се използват за по-добро разбиране на поведението на цените на акциите.
Алгоритмите за регресия включват:
- линейна регресия
- Ридж регресия
- Регресия на Ласо
- Регресия на дървото на решенията
- Случайна гора
- Поддържащи векторни машини (SVM)
2. Класификация
Методът за класификация е подход на контролирано обучение, който използва данни от обучението, за да идентифицира категорията на нови наблюдения. Алгоритъмът в Класификацията се учи от дадено набор от данни или наблюдения и след това класифицира допълнителни наблюдения в един от многото класове или групи. Те могат например да се използват за класифициране на имейл комуникациите като спам или не.
Алгоритмите за класификация включват следното:
- Логистична регресия
- K-най-близки съседи
- Поддържаща векторна машина
- Дърво на решенията
- Случайна гора
3. Групиране
Алгоритмите за клъстериране в Scikit-learn се използват за автоматично подреждане на данни с подобни свойства в набори. Групирането е процес на групиране на набор от елементи, така че тези в същата група да са по-сходни с тези в други групи. Данните за клиентите, например, могат да бъдат разделени въз основа на тяхното местоположение.
Алгоритмите за групиране включват следното:
- DB-СКАНИРАНЕ
- К-средства
- Мини-партидни K-средства
- Спектрално групиране
4. Избор на модел
Алгоритмите за избор на модели предоставят методи за сравняване, валидиране и избор на оптимални параметри и модели за използване в инициативи в областта на науката за данни. При дадени данни изборът на модел е проблемът за избор на статистически модел от група кандидат-модели. При най-основните обстоятелства се взема предвид вече съществуваща колекция от данни. Въпреки това, задачата може да включва и проектиране на експерименти, така че получените данни да са добре пригодени за проблема с избора на модел.
Модулите за избор на модели, които могат да подобрят точността чрез регулиране на параметрите, включват:
- Кръстосана проверка
- Търсене в мрежа
- Метрика
5. Намаляване на размерността
Прехвърлянето на данни от пространство с големи размери в пространство с ниски размери, така че представянето с ниски размери да запази някои значими аспекти на оригиналните данни, в идеалния случай близо до присъщото им измерение, е известно като намаляване на размерността. Броят на произволните променливи за анализ намалява, когато се намали размерността. Отдалечените данни, например, може да не се считат за подобряване на ефективността на визуализациите.
Алгоритъмът за намаляване на размерността включва следното:
- Избор на функции
- Анализ на основни компоненти (PCA)
Инсталиране на Scikit-learn
NumPy, SciPy, Matplotlib, IPython, Sympy и Pandas трябва да бъдат инсталирани, преди да използвате Scikit-learn. Нека ги инсталираме с помощта на pip от конзолата (работи само за Windows).
Нека инсталираме Scikit-learn сега, след като сме инсталирали необходимите библиотеки.
Характеристики:
Scikit-learn, понякога известен като sklearn, е инструментариум на Python за внедряване на модели за машинно обучение и статистическо моделиране. Можем да го използваме за създаване на множество модели на машинно обучение за регресия, класификация и клъстериране, както и статистически инструменти за оценка на тези модели. Той също така включва намаляване на размерността, избор на характеристики, извличане на характеристики, подходи на ансамбли и вградени набори от данни. Ще изследваме всяко от тези качества едно по едно.
1. Импортиране на набори от данни
Scikit-learn включва редица предварително изградени набори от данни, като набор от данни за ириса, набор от данни за цените на дома, набор от данни за титаник и т.н. Основните предимства на тези набори от данни са, че те са лесни за разбиране и могат да се използват за незабавно разработване на 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, които ще откриете, докато напредвате през вашето приключение в областта на науката за данни. Споделете вашите мисли в коментарите.
Оставете коментар