Гарчиг[Нуух][Үзүүлэх]
Хэрэв та Python програмист бол эсвэл үйлдвэрлэлийн системд машин сургалтыг нэвтрүүлэх хүчирхэг хэрэгсэл хайж байгаа бол Scikit-learn бол таны шалгах хэрэгтэй номын сан юм.
Scikit-learn нь маш сайн баримтжуулсан бөгөөд ашиглахад хялбар бөгөөд та машин сурахад шинээр орсон, хурдан ажиллаж эхлэхийг хүсч байгаа эсвэл ML судалгааны хамгийн сүүлийн үеийн хэрэгслийг ашиглахыг хүсч байгаа эсэхээс үл хамааран ашиглахад хялбар юм.
Энэ нь танд хэдхэн мөр кодоор урьдчилан таамаглах өгөгдлийн загварыг бүтээх боломжийг олгодог бөгөөд дараа нь тухайн загварыг таны өгөгдөлд нийцүүлэн дээд түвшний номын сан болгон ашигладаг. Энэ нь уян хатан бөгөөд бусадтай сайн ажилладаг Python номын сангууд График хийхэд Matplotlib, массив векторчлолд зориулсан NumPy, өгөгдлийг дүрслэн харуулах панда гэх мэт.
Энэхүү гарын авлагаас та энэ нь юу болох, хэрхэн ашиглах, давуу болон сул талуудын талаар олж мэдэх болно.
Гэж юу вэ Scikit сурах?
Scikit-learn (мөн sklearn гэгддэг) нь статистикийн олон төрлийн загварууд болон машин сургалтыг санал болгодог. Ихэнх модулиудаас ялгаатай нь sklearn-ийг C биш харин Python дээр хөгжүүлдэг. Хэдийгээр Python-д боловсруулагдсан ч sklearn-ийн үр ашиг нь NumPy-г өндөр гүйцэтгэлтэй шугаман алгебр болон массивын үйлдлүүдэд ашигласантай холбоотой юм.
Scikit-Learn нь Google-ийн Summer of Code төслийн нэг хэсэг болгон бүтээгдсэн бөгөөд тэр цагаас хойш дэлхий даяарх сая сая Python төвтэй өгөгдөл судлаачдын амьдралыг илүү хялбар болгосон. Цувралын энэ хэсэг нь номын санг танилцуулж, нэг элемент болох өгөгдлийн багцын хувиргалт дээр анхаарлаа төвлөрүүлэхэд чиглэдэг бөгөөд энэ нь урьдчилан таамаглах загварыг боловсруулахаас өмнө хийх гол бөгөөд амин чухал алхам юм.
Номын сан нь SciPy (Scientific Python) дээр суурилдаг бөгөөд үүнийг scikit-learn-ийг ашиглахаас өмнө суулгасан байх ёстой. Энэ стек нь дараах зүйлсийг агуулна.
- NumPy: Python-ын стандарт n хэмжээст массив багц
- SciPy: Энэ бол шинжлэх ухааны тооцооллын үндсэн багц юм
- Панда: Өгөгдлийн бүтэц, дүн шинжилгээ
- Matplotlib: Энэ бол хүчирхэг 2D/3D графикийн номын сан юм
- Симпи: Симбол математик
- IPython: Сайжруулсан интерактив консол
Scikit-learn номын сангийн програмууд
Scikit-learn бол өгөгдлийн шинжилгээ, олборлолтын боловсронгуй функц бүхий нээлттэй эхийн Python багц юм. Энэ нь танд өгөгдлийн шинжлэх ухааны төслүүдээс хамгийн их ашиг хүртэхэд тань туслах олон тооны суурилуулсан алгоритмуудтай ирдэг. Scikit-learn номын санг дараах байдлаар ашигладаг.
1. Регресс
Регрессийн шинжилгээ нь хоёр ба түүнээс дээш хувьсагчийн хоорондын хамаарлыг шинжлэх, ойлгох статистик арга юм. Регрессийн шинжилгээ хийхэд ашигласан арга нь аль элементүүд хамааралтай, аль нь үл тоомсорлож болох, тэдгээрийн харилцан үйлчлэлийг тодорхойлоход тусалдаг. Жишээлбэл, регрессийн аргыг хувьцааны үнийн зан төлөвийг илүү сайн ойлгоход ашиглаж болно.
Регрессийн алгоритмууд нь:
- Шугаман регресс
- Рижийн регресс
- Лассо регресс
- Шийдвэрийн модны регресс
- Санамсаргүй ой
- Вектор машинуудыг дэмжих (SVM)
2. Ангилал
Ангиллын арга нь шинэ ажиглалтын ангиллыг тодорхойлохын тулд сургалтын өгөгдлийг ашигладаг Хяналттай сургалтын арга юм. Ангилал дахь алгоритм нь өгөгдсөн зүйлээс суралцдаг мэдээллийн сан эсвэл ажиглалт хийж, дараа нь нэмэлт ажиглалтыг олон анги, бүлэглэлийн аль нэгэнд ангилдаг. Жишээлбэл, эдгээрийг имэйлийн харилцааг спам эсвэл спам гэж ангилахад ашиглаж болно.
Ангиллын алгоритмууд нь дараахь зүйлийг агуулна.
- Логистик регресс
- K-хамгийн ойрын хөршүүд
- Вектор машиныг дэмжих
- Шийдвэр гаргах мод
- Санамсаргүй ой
3. Бүлэглэх
Scikit-learn дахь кластер хийх алгоритмууд нь ижил төстэй шинж чанартай өгөгдлийг олонлогт автоматаар байрлуулахад ашиглагддаг. Кластер гэдэг нь нэг бүлэгт байгаа зүйлсийг бусад бүлгийнхтэй илүү төстэй болгохын тулд багц зүйлсийг бүлэглэх үйл явц юм. Жишээлбэл, хэрэглэгчийн мэдээллийг байршлаас нь хамааруулан тусгаарлаж болно.
Кластер хийх алгоритмд дараахь зүйлс орно.
- DB-SCAN
- K- гэсэн үг
- Mini-Batch K-Means
- Спектрийн бөөгнөрөл
4. Загвар сонгох
Загвар сонгох алгоритмууд нь өгөгдлийн шинжлэх ухааны санаачлагуудад ашиглах оновчтой параметр, загварыг харьцуулах, баталгаажуулах, сонгох аргуудыг өгдөг. Өгөгдсөн өгөгдлөөс харахад загвар сонгох нь нэр дэвшигчдийн бүлгээс статистикийн загварыг сонгох асуудал юм. Хамгийн энгийн нөхцөлд урьд өмнө нь байсан мэдээллийн цуглуулгыг харгалзан үздэг. Гэсэн хэдий ч уг даалгаварт туршилтын загварыг багтааж болох бөгөөд ингэснээр олж авсан өгөгдөл нь загвар сонгох асуудалд сайн тохирно.
Параметрүүдийг тохируулах замаар нарийвчлалыг сайжруулах загвар сонгох модулиудад:
- Хөндлөнгийн баталгаажуулалт
- Торон хайлт
- Хэмжүүр
5. Хэмжээг багасгах
Өгөгдлийг өндөр хэмжээст орон зайгаас бага хэмжээст орон зай руу шилжүүлэх, ингэснээр бага хэмжээст дүрслэл нь анхны өгөгдлийн зарим чухал талыг, түүний төрөлхийн хэмжээстэй ойролцоо байлгахыг хэмжээст байдлын бууралт гэж нэрлэдэг. Хэмжээг багасгах үед шинжилгээнд зориулагдсан санамсаргүй хэмжигдэхүүнүүдийн тоо багасна. Жишээлбэл, гаднах өгөгдлийг дүрслэлийн үр ашгийг дээшлүүлэхэд тооцохгүй байж болно.
Хэмжээг багасгах алгоритм нь дараахь зүйлийг агуулна.
- Онцлог сонголт
- Үндсэн бүрэлдэхүүн хэсгийн шинжилгээ (PCA)
Scikit-learn суулгаж байна
Scikit-learn-ийг ашиглахын өмнө NumPy, SciPy, Matplotlib, IPython, Sympy болон Pandas-г суулгасан байх шаардлагатай. Тэдгээрийг консолоос pip ашиглан суулгацгаая (зөвхөн Windows дээр ажилладаг).
Шаардлагатай сангуудыг суулгасан тул одоо Scikit-learn програмыг суулгацгаая.
онцлог
Заримдаа sklearn гэгддэг Scikit-learn нь машин сургалтын загвар болон статистик загварчлалыг хэрэгжүүлэхэд зориулагдсан Python хэрэгслийн хэрэгсэл юм. Бид үүнийг регресс, ангилал, кластер хийх олон машин сургалтын загвар, мөн эдгээр загварыг үнэлэх статистик хэрэгслийг бий болгоход ашиглаж болно. Үүнд мөн хэмжээст байдлын бууралт, онцлогийг сонгох, шинж чанарыг задлах, ансамблийн арга барил, суурилуулсан мэдээллийн багц орно. Бид эдгээр чанар тус бүрийг нэг нэгээр нь судлах болно.
1. Өгөгдлийн багц импортлох
Scikit-learn нь цахилдаг датасет, гэрийн үнийн датасет, титаник датасет гэх мэт урьдчилан бүтээгдсэн өгөгдлийн багцуудыг агуулдаг. Эдгээр өгөгдлийн багцын гол давуу тал нь тэдгээрийг ойлгоход хялбар бөгөөд ML загварыг нэн даруй боловсруулахад ашиглаж болно. Эдгээр мэдээллийн багц нь шинэхэн хүмүүст тохиромжтой. Үүний нэгэн адил та нэмэлт өгөгдлийн багц импортлохын тулд sklearn ашиглаж болно. Үүний нэгэн адил та үүнийг нэмэлт өгөгдлийн багц импортлоход ашиглаж болно.
2. Датасетийг сургалт, туршилтанд хуваах
Sklearn нь өгөгдлийн багцыг сургалт, туршилтын сегментүүдэд хуваах чадварыг багтаасан. Өгөгдлийн багцыг хуваах нь урьдчилан таамаглах гүйцэтгэлийг шударгаар үнэлэхэд шаардлагатай. Бид галт тэрэгний болон туршилтын мэдээллийн багцад бидний өгөгдлийн хэдийг оруулах ёстойг тодорхойлж болно. Бид өгөгдлийн багцыг галт тэрэгний туршилтын хуваалтыг ашиглан хуваасан бөгөөд галт тэрэгний багц өгөгдлийн 80%, туршилтын багц нь 20% байна. Мэдээллийн багцыг дараах байдлаар хувааж болно.
3. Шугаман регресс
Шугаман регресс нь хяналтанд суурилсан сургалтанд суурилсан машин сургалтын техник юм. Энэ нь регрессийн ажлыг гүйцэтгэдэг. Бие даасан хувьсагчдад тулгуурлан регресс нь зорилгын таамаглалын утгыг загварчилдаг. Энэ нь ихэвчлэн хувьсагч болон таамаглах хоорондын холбоог тодорхойлоход ашиглагддаг. Өөр өөр регрессийн загварууд нь хамааралтай болон бие даасан хувьсагчдын хооронд үнэлдэг холболтын төрлөөс гадна ашигласан бие даасан хувьсагчдын тоогоор ялгаатай байдаг. Бид sklearn ашиглан шугаман регрессийн загварыг дараах байдлаар үүсгэж болно.
4. Логистик регресс
Ангилах нийтлэг арга бол логистик регресс юм. Энэ нь олон гишүүнт ба шугаман регрессийн гэр бүлд багтдаг бөгөөд шугаман ангилагчийн бүлэгт хамаарна. Логистик регрессийн үр дүн нь ойлгоход хялбар бөгөөд тооцоолоход хурдан байдаг. Шугаман регрессийн нэгэн адил логистик регресс нь хяналттай регрессийн арга юм. Гаралтын хувьсагч нь категоритой тул цорын ганц ялгаа нь энэ юм. Энэ нь өвчтөнд зүрхний өвчин байгаа эсэхийг тодорхойлох боломжтой.
Логистик регрессийг ашиглан спам илрүүлэх зэрэг төрөл бүрийн ангиллын асуудлыг шийдэж болно. Чихрийн шижин өвчнийг урьдчилан таамаглах, хэрэглэгч тодорхой бүтээгдэхүүн худалдаж авах эсвэл өрсөлдөгч рүү шилжих эсэхийг тодорхойлох, хэрэглэгч тодорхой маркетингийн холбоос дээр дарах эсэхийг тодорхойлох, бусад олон хувилбарууд нь цөөн хэдэн жишээ юм.
5. Шийдвэрийн мод
Ангилах, таамаглах хамгийн хүчирхэг, өргөн хэрэглэгддэг арга бол шийдвэрийн мод юм. Шийдвэрлэх мод нь дотоод зангилаа бүр нь атрибут дээрх тестийг, мөчир бүр нь тестийн дүгнэлтийг, навчны зангилаа (терминал зангилаа) бүр нь ангийн шошготой, урсгал диаграм шиг харагдах модны бүтэц юм.
Хамаарах хувьсагчид бие даасан хувьсагчидтай шугаман хамааралгүй тохиолдолд, өөрөөр хэлбэл шугаман регресс нь зөв дүгнэлт гаргахгүй бол шийдвэрийн мод нь ашигтай байдаг. DecisionTreeRegression() объектыг регрессийн шийдвэрийн модыг ашиглахтай ижил төстэй байдлаар ашиглаж болно.
6. Санамсаргүй ой
Санамсаргүй ой нь a машин суралцах регресс болон ангиллын асуудлыг шийдвэрлэх арга. Энэ нь төвөгтэй асуудлыг шийдвэрлэхийн тулд олон ангилагчийг хослуулсан арга техник болох ансамблийн сургалтыг ашигладаг. Санамсаргүй ойн арга нь олон тооны шийдвэрийн модноос бүрддэг. Үүнийг зээлийн хүсэлтийг ангилах, залилан мэхлэх үйлдлийг илрүүлэх, өвчний дэгдэлтийг урьдчилан таамаглахад ашиглаж болно.
7. Төөрөгдлийн матриц
Төөрөгдлийн матриц нь ангиллын загварын гүйцэтгэлийг тодорхойлоход хэрэглэгддэг хүснэгт юм. Төөрөгдлийн матрицыг шалгахын тулд дараах дөрвөн үгийг ашигладаг.
- Үнэн эерэг: Энэ нь загвар нь эерэг үр дүнг төсөөлж, зөв байсан гэсэн үг юм.
- Үнэн сөрөг: Энэ нь загвар нь муу үр дүнг төсөөлж, зөв байсан гэсэн үг юм.
- Худал эерэг: Энэ нь загвар нь эерэг үр дүнг хүлээж байсан боловч энэ нь үнэхээр сөрөг байсан гэсэн үг юм.
- Хуурамч сөрөг: Энэ нь загвар нь сөрөг үр дүнг хүлээж байсан бол үр дүн нь үнэхээр эерэг байсан гэсэн үг юм.
Төөрөгдлийн матрицын хэрэгжилт:
Давуу тал
- Хэрэглэхэд хялбар.
- Scikit-learn багц нь хэрэглэгчийн зан төлөвийг урьдчилан таамаглах, мэдрэлийн дүрсийг хөгжүүлэх гэх мэт бодит зорилгод үйлчилдэг, маш дасан зохицох чадвартай, хэрэгцээтэй юм.
- Алгоритмуудыг платформтойгоо холбохыг хүссэн хэрэглэгчид Scikit-learn вэбсайтаас API-ийн нарийвчилсан баримт бичгийг олох болно.
- Олон тооны зохиолчид, хамтран ажиллагсад болон дэлхий даяарх томоохон онлайн нийгэмлэгүүд Scikit-learn-ийг дэмжиж, шинэчилж байдаг.
Байг
- Энэ нь гүнзгийрүүлэн судлах хамгийн тохиромжтой сонголт биш юм.
Дүгнэлт
Scikit-learn бол өгөгдөл судлаач хүн бүрийн мэдлэг, туршлага хуримтлуулах чухал багц юм. Энэхүү гарын авлага нь sklearn ашиглан өгөгдөл боловсруулахад туслах болно. Scikit-learn-ийн өөр олон боломжууд байгаа бөгөөд та өгөгдлийн шинжлэх ухааны адал явдлаар ахих тусам олж мэдэх болно. Сэтгэгдэл хэсэгт санал бодлоо хуваалцаарай.
хариу үлдээх