Мақолада машинали ўқиш соҳасида кенг қўлланиладиган scikit-learn кутубхонасининг имкониятлари қараб чиқилган.
Калит сўзлар : machine learning, skicit-learn, data science, big data, python.
В статье рассматриваются возможности библиотеки Scikit-learn в области машинного обучения.
Ключевые слова : machine learning, skicit-learn, data science, big data, python.
Бугунги кунда ахборот технологиялари соҳаси жуда катта тезлик билан ривожланиб бормоқда. Шунингдек глобал тармоқ фойдаланувчилари сони ортиши, уларнинг ижтимоий тармоқларда активлиги, ахборот технологиялари соҳасининг деярли барча соҳаларга кириб бориши натижасида маълумотлар сони ортиб бормоқда. Internet World Stats статистик маълумотларига кўра 2020 йил охирига интернет актив фойдаланувчилари сони 5 млрд. нафардан ортди [1]. Тармоқ фойдаланувчиларинг асосий қисми ижтимоий тармоқ фойдаланувчиларига тўғри келади. Албатта фойдаланувчилар сони ортиши билан тармоқдаги трафик миқдори ҳам ортиб бормоқда. Broadband search статистик маълумотларига кўра фақат АҚШ фойдаланувчиларининг ўзигина ҳар минутда 3 Гб атрофида интернет трафигини генерация қилади [2]. Маълумотлар ҳажми ортиб бориши натижасида уларни қайта ишлашда муаммолар келиб чиқди. Айнан шу муаммоларни ечиш мақсадида янги йўналишлар big data, маълумотлар интеллектуал таҳлил, data science пайдо бўлди. Бу йўналишлар айнан шундай катта миқдордаги маълумотларни эффектив қайта ишлаш, улар асосида қарор қабул қилишга йўналтирилган. Катта миқдори маълумотларни ўрганиб улар асосида қарор қилиш албатта оптимал ечимга олиб келади. Айтиб ўтилган соҳаларнинг ишлаш жараёнида машинали ўқиш усуллари қўлланилиб келмоқда.
Машинали ўқиш сунъий интеллект соҳасидаги перспектив йўналишларидан бири бўлиб ҳисобланади. Машинали ўқиш усуллари мураккаб масалаларга эга сохалар яъни кўринишларни таниш, нутқни таниш, прогноз қилиш, аномалияларни ажратиш, автоном машиналар, маълумотлардаги қонуниятларни аниқлаш, тиббиёт диагностикаси, маълумотлар классификацияси, маретинг, матнни таниш каби соҳаларда қўлланилиб келмоқда. Машинали ўқиш бу шундай дастур бўлиб у бирор қарорни қабул қилиши учун ўқиш имкониятига эга. Дастур ўқиши борасида унинг қабул қиладиган қарорларининг аниқлиги ортиб боради. Бугунги кунда машинали ўқиш ҳар хил типдаги масалаларни ечишда қўлланилиб келмоқда, масалан, классификация, регрессия, кластеризация каби масалалар. Машинали ўқишни амалга ошириш учун бир қанча инструментал қуроллар ишлаб чиқилган бўлиб шулардан бири бу scikit-learn кутубхонаси. Ушбу мақолада айнан шу кутубхонасининг имкониятлари қараб чиқилади.
Scikit-learn ёки sklearn бу машинали ўқиш дастурлари учун мўлжалланган Python дастурлаш тилидаги кутубхона [3]. Кутубхонадаги машинали ўқиш алгоритмлари баҳоловчи кўринишида йиғилган. Натижада алгоритмларнинг қандай ишлаши, математика тафсилотлари дастурловчига кўринмайди.
Scikit-learn ва Python дастурлаш тили орқали катта бўлмаган код орқали маълумотлар таҳлили учун эффектив модел яратиш, маълумотлардаги қонуниятларни аниқлаш, прогноз қилиш имкони берувчи дастур яратиш мумкин. Мазкур кутубхона маълумотлар моделини ўқитилади ва кейинчалик ҳар бир моделнинг ишлаши текшириб борилади. Моделлар ўқишни тугатгандан сўнг улар орқали янги маълумотлар асосида прогнозларни амалга ошириш мумкин. Scikit-learn кутубхонаси моделларни ўқитиш ва тестдан ўтказиш учун зарур қуролларни ўз ичига олган. Моделларни ўқитиш жараёнида эффективликни орттириш учун уларнинг созламаларига ўзгартириш киритилиши мумкин.
Асосан машинали ўқиш икки турга ажралган, ўқитувчи ёрдамида ва мустақил ўрганувчи. Масалан, бирор бир объект кўринишини танидиган дастур яратиш керак бўлсин, у ҳолда шу объектнинг ҳар хил белгига эга кўринишлари орқали ўқитувчи ёрдамида машинали ўқиш амалга оширилади. Натижада дастур учун янги мазкур объектнинг янги кўриниши тақдим қилинганда дастур уни таниши мумкин. Кўринишни таниш эффективлиги ортиши учун ўқиш жараёни кўп миқдорда кўринишлар қараб чиқилади. Бугунги кунда ҳисоблаш техникалари қуввати ортиб бориши ва маълумотларнинг кўплиги машинали ўқиш эффективлиги ошириб бормоқда. Машинали ўқишда фойдаланиладиган маълумотлар dataset деб номланади. Scikit-learn кутубхонаси машинали ўқиш учун дастлабки маълумотлар тўпламини ҳам қилади. Тўпламларни кутубхона официал сайтидан юклаб олиш мумкин. Бундан ташқари маълумотлар тўпламини бошқа манбалардан ҳам юклаб олиш мумкин, масалан openml.org.
Ўқитувчи ёрдамида машинали ўқиш классификация ва регрессияга ажралади. Модел қатор ва устунлардан иборат маълумотлар тўпламида ўқишни амалга оширади. Ҳар бир қатор маълумот нуқтаси бўлиб, ҳар бир устун бу нуқтанинг бирор бир характеристикасини белгилаб беради. Ўқитувчи ёрдамида машинали ўқишда ҳар бир маълумот нуқтаси мақсадли метка билан боғланади. Айнан шу мақсадли метка янги маълумотларда моделнинг прогноз қилувчи қийматини билдиради.
Scikit-learn кутубхонаси бир қанча алгоритмлар ва методларни ўз ичига олган, улар 1-жадвалда келтирилган.
1-Жадвал
Scikit-Learn кутубхонаси методлари
№ |
Алгоритм тури |
Метод номи |
1 |
Классификация алгоритмлари |
Чизиқли моделлар, мантиқи регрессия |
2 |
Таянч векторлар методи, SVM |
|
3 |
k-NN |
|
4 |
Random Forest |
|
5 |
Ечимлар дарахти |
|
6 |
Naive Bayes |
|
7 |
Чизиқли дискриминант таҳлил |
|
8 |
Нейрон тармоқлари |
|
9 |
Регрессия алгоритмлари |
Чизиқли моделлар, чизиқли регрессия, Lasso, Elastic-net |
10 |
Таянч векторлар методи, SVM |
|
11 |
k-NN |
|
12 |
Ансамблли методлар, AdaBoost, Gradient Tree Boosting, Stacked Generalization |
|
13 |
Кластеризация алгоритмлари |
k-means |
14 |
Спектрал кластеризация |
|
15 |
Meanshift |
|
16 |
Affinitypropagation |
|
17 |
Вард методи |
|
18 |
Агломератив методлар |
|
19 |
Ўлчамни камайтириш методлари |
Бош компонент методи PCA |
20 |
LDA |
|
21 |
Факторли таҳлил |
|
22 |
Маълумотларни қайта ишлаш |
Маълумотларни стандартлаштириш ва нормаллаштириш |
23 |
Чизиқли қайта ўзгартириш |
|
24 |
Категорияли маълумотларни рақамлига айлантириш |
|
25 |
Узлуксиз маълумотларни дискрет маълумотга айлантириш |
|
26 |
Бинаризация |
|
27 |
Бўш қийматларни тўлдириш |
|
28 |
Векторлаштириш |
|
29 |
Моделлар билан ишлаш |
Кросс-валидация |
30 |
Гиперпараметрларни созлаш |
|
31 |
Моделни баҳолаш метрикалари |
|
32 |
Моделларни сақлаш |
|
33 |
Моделлар валидацияси |
Юқорида жадвалда келтирилган алгоритмлар, методлар булар ҳаммаси эмас, scikit-learn кутубхонаси ривожлантирилиб борилаётган инструмент. Унинг версияларини янада тўлиқтирилиб янгиланиб борилади. Ҳозирги кунда охирги версияси 0.24.2 бўлиб, 2021 йил 28 апрель куни оммага чиқарилган.
Машинали ўқиш усулларидан фойдаланиладиган дастурларда айтиб ўтилган scikit-learn қўлланиш дастурни яратишга кетган вақтни тежаш имкони беради. Бундан ташқари ушбу кутубхона соҳага кириб келаётган янги мутахассислар учун бу кутубхона ҳар хил тажрибалар ўтказиш, билимини орттириш, алгоритмларни солиштириш каби имкониятларни беради.
Адабиёт:
- Internet usage statistics. — Текст: электронный // Internet World Stats: [сайт]. — URL: https://internetworldstats.com/stats.htm (дата обращения: 18.05.2021).
- Internet usage statistics. — Текст: электронный // Broandband Search: [сайт]. — URL: https://www.broadbandsearch.net/blog/internet-statistics (дата обращения: 18.05.2021).
- Scikit-learn: Machine Learning in Python / Pedregosa Fabian, Varoquaux Gaël, Gramfort Alexandre [и др.]. — Текст: непосредственный // Journal of Machine Learning Research. — 2011. — № 12(85). — С. 2825−2830.
- Пол, Дейтел Python. Искусственный интеллект, большие данные и облачные вычисления / Дейтел Пол, Дейтел Харви. — СПб.: Питер, 2020. — 864 c.