Содржина[Крие][Прикажи]
Ако сте програмер на Python или ако барате моќен комплет алатки за да го искористите за воведување на машинско учење во производствен систем, Scikit-learn е библиотека што треба да ја проверите.
Scikit-learn е добро документиран и едноставен за користење, без разлика дали сте нови во машинското учење, сакате брзо да започнете и да работите или сакате да ја користите најсовремената алатка за истражување на ML.
Ви овозможува да конструирате модел на предвидливи податоци во само неколку линии код, а потоа го користи тој модел за да одговара на вашите податоци како библиотека на високо ниво. Тој е флексибилен и добро функционира со други Библиотеки на Python како Matplotlib за цртање графикони, NumPy за векторизација на низи и панди за визуелизација на податоци.
Во овој водич, ќе дознаете сè за тоа што е тоа, како можете да го користите, заедно со неговите добрите и лошите страни.
Што е Скицит-научи?
Scikit-learn (исто така познат како sklearn) нуди разновиден сет на статистички модели и машинско учење. За разлика од повеќето модули, sklearn е развиен во Python наместо C. И покрај тоа што е развиен во Python, ефикасноста на sklearn се припишува на неговата употреба на NumPy за операции со линеарна алгебра и низа со високи перформанси.
Scikit-Learn беше создаден како дел од проектот Summer of Code на Google и оттогаш ги направи поедноставни животите на милиони научници за податоци кои се насочени кон Пајтон ширум светот. Овој дел од серијата се фокусира на презентирање на библиотеката и фокусирање на еден елемент - трансформации на податоци, кои се клучен и витален чекор што треба да се преземе пред да се развие модел за предвидување.
Библиотеката се заснова на SciPy (Scientific Python), кој мора да се инсталира пред да можете да го користите scikit-learn. Овој оџак ги содржи следните ставки:
- NumPy: стандарден пакет со n-димензионална низа на Python
- SciPy: Тоа е основен пакет за научно пресметување
- Панди: Структури на податоци и анализа
- Matplotlib: Тоа е моќна 2D/3D библиотека за заговор
- Sympy: Симболичка математика
- IPython: Подобрена интерактивна конзола
Апликации на библиотеката Scikit-learn
Scikit-learn е пакет со отворен код на Python со софистицирана анализа на податоци и карактеристики за рударство. Доаѓа со плејада вградени алгоритми кои ќе ви помогнат да го извлечете максимумот од вашите проекти за наука за податоци. Библиотеката Scikit-learn се користи на следниве начини.
1. Регресија
Регресивната анализа е статистичка техника за анализа и разбирање на поврзаноста помеѓу две или повеќе променливи. Методот што се користи за да се направи регресивна анализа помага во одредувањето кои елементи се релевантни, кои може да се игнорираат и како тие комуницираат. Техниките на регресија, на пример, може да се користат за подобро разбирање на однесувањето на цените на акциите.
Алгоритмите за регресија вклучуваат:
- линеарна регресија
- Регресија на гребенот
- Ласо регресија
- Регресија на дрвото на одлуки
- Случајна шума
- Векторски машини за поддршка (SVM)
2. Класификација
Методот на класификација е пристап на надгледувано учење кој користи податоци за обука за да ја идентификува категоријата на свежи набљудувања. Алгоритам во Класификација учи од дадено база на податоци или набљудувања и потоа ги класифицира дополнителните набљудувања во една од многуте класи или групирања. Тие, на пример, може да се користат за класифицирање на е-пошта комуникациите како спам или не.
Алгоритмите за класификација го вклучуваат следново:
- Логистичка регресија
- К-Најблиски соседи
- Векторска машина за поддршка
- Дрво на одлуки
- Случајна шума
3. Кластерирање
Алгоритмите за кластерирање во Scikit-learn се користат за автоматско распоредување на податоци со слични својства во множества. Кластерирањето е процес на групирање на збир на ставки така што оние во истата група ќе бидат послични со оние во другите групи. Податоците за клиентите, на пример, може да се одвојат врз основа на нивната локација.
Алгоритмите за кластерирање го вклучуваат следново:
- DB-SCAN
- К-средства
- Мини-серија К-средства
- Спектрално кластерирање
4. Избор на модел
Алгоритмите за избор на модели обезбедуваат методи за споредување, потврдување и избирање на оптимални параметри и модели за употреба во иницијативите за наука за податоци. Со оглед на податоците, изборот на моделот е проблемот на избор на статистички модел од група кандидатски модели. Во најосновните околности, се зема предвид претходно постоечко собирање на податоци. Меѓутоа, задачата може да вклучува и дизајн на експерименти, така што добиените податоци се добро прилагодени на проблемот со изборот на моделот.
Модулите за избор на модели кои можат да ја подобрат точноста со прилагодување на параметрите вклучуваат:
- Вкрстена валидација
- Пребарување на мрежа
- Метрика
5. Намалување на димензиите
Трансферот на податоци од високодимензионален простор во нискодимензионален простор, така што нискодимензионалното претставување зачувува некои значајни аспекти на оригиналните податоци, идеално блиску до нивната инхерентна димензија, е познато како намалување на димензионалноста. Бројот на случајни променливи за анализа се намалува кога димензионалноста е намалена. Оддалечените податоци, на пример, може да не се сметаат за подобрување на ефикасноста на визуелизациите.
Алгоритмот за намалување на димензиите го вклучува следново:
- Избор на карактеристики
- Анализа на главните компоненти (PCA)
Инсталирање на Scikit-learn
NumPy, SciPy, Matplotlib, IPython, Sympy и Pandas треба да се инсталираат пред да се користи Scikit-learn. Ајде да ги инсталираме користејќи pip од конзолата (работи само за Windows).
Ајде да инсталираме Scikit-learn сега кога ги инсталиравме потребните библиотеки.
Карактеристики
Scikit-learn, понекогаш познат како sklearn, е комплет алатки за Python за имплементација на модели за машинско учење и статистичко моделирање. Може да го користиме за да создадеме повеќе модели на машинско учење за регресија, класификација и групирање, како и статистички алатки за оценување на овие модели. Вклучува и намалување на димензионалноста, избор на карактеристики, екстракција на карактеристики, пристапи на ансамбл и вградени сетови на податоци. Ќе ги испитаме секоја од овие квалитети едно по едно.
1. Увоз на збирки на податоци
Scikit-learn вклучува голем број претходно изградени збирки на податоци, како што се базата на податоци за ирис, база на податоци за цените на домот, база на податоци Titanic итн. Клучните предности на овие збирки на податоци се дека тие се едноставни за разбирање и може да се користат за веднаш да се развијат ML модели. Овие збирки на податоци се соодветни за почетници. Слично на тоа, можете да користите sklearn за да увезете дополнителни збирки на податоци. Слично на тоа, можете да го користите за увоз на дополнителни збирки на податоци.
2. Разделување на збир на податоци за обука и тестирање
Sklearn ја вклучи способноста да се подели датата на податоци на сегменти за обука и тестирање. Потребно е раздвојување на базата на податоци за непристрасна проценка на перформансите на предвидувањето. Можеме да одредиме колку од нашите податоци треба да бидат вклучени во збирките на податоци за воз и тест. Ние ја поделивме базата на податоци со користење на поделба на тест на воз, така што множеството воз содржи 80% од податоците, а тест множеството има 20%. Податокот може да се подели на следниов начин:
3. Линеарна регресија
Линеарната регресија е техника на машинско учење базирана на надгледувано учење. Врши регресивна работа. Врз основа на независни променливи, регресијата моделира вредност за предвидување на целта. Најчесто се користи за одредување на врската помеѓу променливите и предвидувањето. Различните регресивни модели се разликуваат во однос на типот на врската што ја оценуваат помеѓу зависните и независните променливи, како и бројот на користени независни променливи. Ние едноставно можеме да го создадеме моделот на линеарна регресија користејќи sklearn како што следува:
4. Логистичка регресија
Вообичаен пристап за категоризација е логистичка регресија. Тој е во исто семејство како полиномната и линеарната регресија и припаѓа на семејството на линеарни класификатори. Наодите од логистичката регресија се едноставни за разбирање и брзо се пресметуваат. На ист начин како и линеарната регресија, логистичката регресија е техника на надгледувана регресија. Излезната променлива е категорична, така што тоа е единствената разлика. Може да утврди дали пациентот има срцева болест или не.
Различни проблеми со класификација, како што е откривањето спам, може да се решат со помош на логистичка регресија. Прогнозирање на дијабетес, одредување дали потрошувачот ќе купи одреден производ или ќе се префрли на ривал, одредување дали корисникот ќе кликне на одредена маркетинг врска и многу други сценарија се само неколку примери.
5. Дрво на одлуки
Најмоќната и најшироко користена техника за класификација и предвидување е дрвото на одлуки. Дрвото на одлуки е структура на дрво што изгледа како дијаграм на текови, при што секој внатрешен јазол претставува тест на атрибут, секоја гранка го претставува заклучокот од тестот и секој лист јазол (краен јазол) има ознака за класа.
Кога зависните променливи немаат линеарна врска со независните променливи, т.е. кога линеарната регресија не дава точни наоди, стеблата на одлуки се корисни. Објектот DecisionTreeRegression() може да се користи на сличен начин за да се користи стебло на одлуки за регресија.
6. Случајна шума
Случајна шума е а машинско учење пристап за решавање на прашања од регресија и класификација. Тоа го користи учењето на ансамбл, што е техника која комбинира повеќе класификатори за решавање на комплицирани проблеми. Случаен шумски метод се состои од голем број стебла за одлучување. Може да се користи за категоризација на апликациите за заем, откривање на измамничко однесување и предвидување на појава на болести.
7. Матрица за конфузија
Матрицата за конфузија е табела што се користи за опишување на перформансите на моделот за класификација. Следниве четири збора се користат за испитување на матрицата за конфузија:
- Вистински позитивен: Тоа означува дека моделот проектирал поволен исход и дека бил точен.
- Вистински негативен: Тоа означува дека моделот проектирал лош исход и дека бил точен.
- Лажно позитивно: Тоа означува дека моделот очекувал поволен исход, но навистина бил негативен.
- Лажно негативно: Тоа означува дека моделот очекувал негативен исход, додека исходот бил навистина позитивен.
Имплементација на матрица за конфузија:
Добрите
- Едноставно е за користење.
- Пакетот Scikit-learn е исклучително прилагодлив и корисен, опслужувајќи ги реалните цели, како што се предвидување на однесувањето на потрошувачите, развој на невро-слика итн.
- Корисниците кои сакаат да ги поврзат алгоритмите со нивните платформи ќе најдат детална документација за API на веб-страницата Scikit-learn.
- Бројни автори, соработници и голема светска онлајн заедница го поддржуваат и го ажурираат Scikit-learn.
Конс
- Тоа не е идеална опција за длабинско проучување.
Заклучок
Scikit-learn е критичен пакет за секој научник за податоци за да има силно разбирање и одредено искуство. Овој водич треба да ви помогне со манипулација со податоци користејќи sklearn. Има многу повеќе способности на Scikit-learn што ќе ги откриете додека напредувате низ вашата авантура на науката за податоци. Споделете ги вашите размислувања во коментарите.
Оставете Одговор