Scikit-learn — Devid Kurnapo tomonidan 2007-yilda Google Summer of Code loyihasi sifatida boshlangan va 2010-yilda to’liq chop etilgan, Python tilidagi klassik mashinali o’qitish kutubxonasi. U SciPy ekotizimining bir qismi sifatida rivojlangan, shundan uning nomi ham kelib chiqqan.
Google Summer of Code loyihasi sifatida boshlanishi
Kurnapo Scikit-learn’ning dastlabki versiyasini talaba loyihasi sifatida yaratgan, keyinchalik Frantsiyaning INRIA tadqiqot institutidagi olimlar guruhi loyihani qabul qilib, uni jiddiy, keng qo’llaniladigan kutubxonaga aylantirishgan.
Klassik mashinali o’qitish algoritmlariga e’tibor
TensorFlow yoki PyTorch‘dan farqli o’laroq, Scikit-learn chuqur neyron tarmoqlarga emas, balki klassik mashinali o’qitish algoritmlariga — chiziqli regressiya, tasodifiy o’rmon (random forest), tayanch vektor mashinalari (SVM), klasterlash kabi usullarga ixtisoslashgan. Bu algoritmlar ko’plab amaliy masalalar uchun neyron tarmoqlarga qaraganda tezroq va tushunarliroq hisoblanadi.
NumPy va SciPy asosida qurilishi
Scikit-learn to’g’ridan-to’g’ri NumPy massivlar va SciPy’ning ilmiy hisoblash funksiyalari ustiga qurilgan, bu esa uni Python‘ning ilmiy hisoblash ekotizimi bilan chuqur uyg’unlashtiradi. Ma’lumotlar odatda Pandas orqali tayyorlanib, keyin Scikit-learn algoritmlariga uzatiladi.
Izchil API dizayni
Scikit-learn’ning eng katta kuchli tomonlaridan biri — uning barcha algoritmlari bir xil, izchil interfeysga (fit(), predict(), transform()) ega. Bu izchillik dasturchiga bitta algoritmni boshqasiga almashtirishni kodning katta qismini qayta yozmasdan amalga oshirish imkonini beradi.
Chuqur o’rganishdan farqi
Scikit-learn rasm tanish yoki tabiiy tilni qayta ishlash kabi murakkab, katta hajmdagi ma’lumot talab qiladigan vazifalar uchun mo’ljallanmagan — bunday hollarda TensorFlow yoki PyTorch afzal ko’riladi. Ammo tuzilgan (structured) ma’lumotlar bilan ishlashda, masalan mijozlar segmentatsiyasi yoki narx bashorati kabi vazifalarda, Scikit-learn hamon eng keng qo’llaniladigan vosita hisoblanadi.
Bog’liq tushunchalar
NumPy, SciPy, Mashinali o’qitish, Python, Klassifikatsiya, Regressiya, Pandas