Talaan ng nilalaman[Tago][Ipakita]
Kung ikaw ay isang Python programmer o kung ikaw ay naghahanap ng isang makapangyarihang toolkit na magagamit upang ipakilala ang machine learning sa isang production system, ang Scikit-learn ay isang library na kailangan mong tingnan.
Ang Scikit-learn ay mahusay na dokumentado at simpleng gamitin, baguhan ka man sa machine learning, gustong bumangon at tumakbo nang mabilis, o gusto mong gamitin ang pinaka-up-to-date na tool sa pananaliksik sa ML.
Binibigyang-daan ka nitong bumuo ng predictive data model sa ilang linya lang ng code at pagkatapos ay gamitin ang modelong iyon upang umangkop sa iyong data bilang high-level na library. Ito ay nababaluktot at mahusay na gumagana sa iba Mga aklatan ng Python tulad ng Matplotlib para sa pag-chart, NumPy para sa array vectorization, at pandas para sa data visualization.
Sa gabay na ito, malalaman mo ang lahat tungkol sa kung ano ito, kung paano mo ito magagamit, kasama ang mga kalamangan at kahinaan nito.
Ano ang Scikit-matuto?
Nag-aalok ang Scikit-learn (kilala rin bilang sklearn) ng magkakaibang hanay ng mga istatistikal na modelo at machine learning. Hindi tulad ng karamihan sa mga module, ang sklearn ay binuo sa Python sa halip na C. Sa kabila ng pag-develop sa Python, ang kahusayan ng sklearn ay iniuugnay sa paggamit nito ng NumPy para sa high-performance na linear algebra at array operations.
Ang Scikit-Learn ay nilikha bilang bahagi ng proyekto ng Summer of Code ng Google at mula noon ay ginawang mas simple ang buhay ng milyun-milyong Python-centric data scientist sa buong mundo. Nakatuon ang seksyong ito ng serye sa pagpapakita ng library at pagtutok sa isang elemento - ang mga pagbabagong-anyo ng dataset, na isang susi at mahalagang hakbang na dapat gawin bago bumuo ng modelo ng hula.
Ang library ay batay sa SciPy (Scientific Python), na dapat na mai-install bago mo magamit ang scikit-learn. Ang stack na ito ay naglalaman ng mga sumusunod na item:
- NumPy: Ang karaniwang n-dimensional array package ng Python
- SciPy: Ito ay isang pangunahing pakete para sa siyentipikong pag-compute
- Pandas: Mga istruktura at pagsusuri ng data
- Matplotlib: Ito ay isang malakas na 2D/3D plotting library
- Sympy: Simbolikong matematika
- IPython: Pinahusay na interactive na console
Mga aplikasyon ng Scikit-Learn library
Ang Scikit-learn ay isang open-source na Python package na may sopistikadong pagsusuri ng data at mga feature sa pagmimina. May kasama itong napakaraming built-in na algorithm upang matulungan kang masulit ang iyong mga proyekto sa agham ng data. Ang Scikit-learn library ay ginagamit sa mga sumusunod na paraan.
1. Pagbabalik
Ang pagsusuri ng regression ay isang istatistikal na pamamaraan para sa pagsusuri at pag-unawa sa koneksyon sa pagitan ng dalawa o higit pang mga variable. Ang pamamaraang ginamit sa paggawa ng regression analysis ay tumutulong sa pagtukoy kung aling mga elemento ang may kaugnayan, na maaaring hindi papansinin, at kung paano sila nakikipag-ugnayan. Ang mga diskarte sa pagbabalik, halimbawa, ay maaaring gamitin upang mas maunawaan ang pag-uugali ng mga presyo ng stock.
Kasama sa mga algorithm ng regression ang:
- De-pagbabalik
- Ridge Regression
- Lasso Regression
- Desisyon Tree Regression
- Random Forest
- Suporta sa Vector Machines (SVM)
2. Pag-uuri
Ang paraan ng Pag-uuri ay isang Supervised Learning na diskarte na gumagamit ng data ng pagsasanay upang matukoy ang kategorya ng mga bagong obserbasyon. Natututo ang isang algorithm sa Classification mula sa isang ibinigay dataset o mga obserbasyon at pagkatapos ay inuuri ang mga karagdagang obserbasyon sa isa sa maraming klase o pagpapangkat. Maaari silang, halimbawa, gamitin upang uriin ang mga komunikasyon sa email bilang spam o hindi.
Kasama sa mga algorithm ng pag-uuri ang mga sumusunod:
- Logistic Regression
- K-Pinakalapit na Kapitbahay
- Suportahan ang Vector Machine
- Puno ng Desisyon
- Random Forest
3. Clustering
Ang mga clustering algorithm sa Scikit-learn ay ginagamit upang awtomatikong ayusin ang data na may mga katulad na katangian sa mga set. Ang clustering ay ang proseso ng pagpapangkat ng isang set ng mga item upang ang mga nasa parehong grupo ay mas katulad ng mga nasa ibang grupo. Ang data ng customer, halimbawa, ay maaaring paghiwalayin batay sa kanilang lokasyon.
Kasama sa mga algorithm ng clustering ang mga sumusunod:
- DB-SCAN
- K-Ibig sabihin
- Mini-Batch K-Means
- Spectral Clustering
4. Pagpili ng Modelo
Ang mga algorithm sa pagpili ng modelo ay nagbibigay ng mga pamamaraan para sa paghahambing, pagpapatunay, at pagpili ng pinakamainam na mga parameter at modelo para sa paggamit sa mga hakbangin sa agham ng data. Dahil sa data, ang pagpili ng modelo ay ang problema sa pagpili ng istatistikal na modelo mula sa isang pangkat ng mga modelo ng kandidato. Sa pinakapangunahing mga pangyayari, ang isang dati nang koleksyon ng data ay isinasaalang-alang. Gayunpaman, ang gawain ay maaari ring isama ang disenyo ng mga eksperimento upang ang data na nakuha ay angkop na angkop sa problema sa pagpili ng modelo.
Kasama sa mga module ng pagpili ng modelo na maaaring mapabuti ang katumpakan sa pamamagitan ng pagsasaayos ng mga parameter:
- Cross-validation
- Paghahanap ng Grid
- Mga Sukatan
5. Pagbawas ng Dimensionality
Ang paglipat ng data mula sa isang high-dimensional na espasyo patungo sa isang mababang-dimensional na espasyo upang ang mababang-dimensional na representasyon ay nagpapanatili ng ilang makabuluhang aspeto ng orihinal na data, na mas malapit sa likas na dimensyon nito, ay kilala bilang dimensionality reduction. Ang bilang ng mga random na variable para sa pagsusuri ay nababawasan kapag ang dimensionality ay nabawasan. Ang outlying data, halimbawa, ay hindi maaaring ituring na mapabuti ang kahusayan ng mga visualization.
Kasama sa algorithm ng Dimensionality Reduction ang mga sumusunod:
- Pagpipilian sa tampok na ito
- Principal Component Analysis (PCA)
Pag-install ng Scikit-learn
Kinakailangang ma-install ang NumPy, SciPy, Matplotlib, IPython, Sympy, at Pandas bago gamitin ang Scikit-learn. I-install natin ang mga ito gamit ang pip mula sa console (gumagana lamang para sa Windows).
I-install natin ang Scikit-learn ngayong na-install na natin ang mga kinakailangang library.
Mga tampok
Ang Scikit-learn, kung minsan ay kilala bilang sklearn, ay isang Python toolkit para sa pagpapatupad ng mga modelo ng machine learning at statistical modeling. Maaari naming gamitin ito para gumawa ng maraming modelo ng machine learning para sa regression, classification, at clustering, pati na rin mga statistical tool para sa pagtatasa ng mga modelong ito. Kasama rin dito ang pagbabawas ng dimensyon, pagpili ng tampok, pagkuha ng tampok, mga diskarte sa ensemble, at mga built-in na dataset. Isa-isa nating sisiyasatin ang bawat isa sa mga katangiang ito.
1. Pag-import ng mga Dataset
Kasama sa Scikit-learn ang ilang pre-built na dataset, gaya ng iris dataset, home price dataset, titanic dataset, at iba pa. Ang mga pangunahing bentahe ng mga dataset na ito ay ang mga ito ay simple upang maunawaan at maaaring magamit upang agad na bumuo ng mga modelo ng ML. Ang mga dataset na ito ay angkop para sa mga baguhan. Katulad nito, maaari mong gamitin ang sklearn upang mag-import ng mga karagdagang dataset. Katulad nito, maaari mo itong gamitin upang mag-import ng mga karagdagang dataset.
2. Paghahati ng Dataset para sa Pagsasanay at Pagsubok
Kasama sa Sklearn ang kakayahang hatiin ang dataset sa mga segment ng pagsasanay at pagsubok. Ang paghahati sa dataset ay kinakailangan para sa isang walang pinapanigan na pagtatasa ng pagganap ng hula. Maaari naming tukuyin kung gaano karami sa aming data ang dapat isama sa mga dataset ng tren at pagsubok. Hinati namin ang dataset gamit ang train test split para ang train set ay binubuo ng 80% ng data at ang test set ay may 20%. Maaaring hatiin ang dataset tulad ng sumusunod:
3. Linear Regression
Ang Linear Regression ay isang pinangangasiwaang learning-based na machine learning technique. Nagsasagawa ito ng isang regression job. Batay sa mga independyenteng variable, ang regression ay nagmomodelo ng isang halaga ng hula ng layunin. Ito ay kadalasang ginagamit upang matukoy ang link sa pagitan ng mga variable at paghula. Ang iba't ibang mga modelo ng regression ay naiiba sa mga tuntunin ng uri ng koneksyon na sinusuri nila sa pagitan ng mga umaasa at independiyenteng mga variable, pati na rin ang bilang ng mga independiyenteng variable na ginamit. Magagawa lang natin ang Linear Regression na modelo gamit ang sklearn tulad ng sumusunod:
4. Logistic Regression
Ang isang karaniwang diskarte sa pagkakategorya ay logistic regression. Ito ay nasa parehong pamilya bilang polynomial at linear regression at kabilang sa linear classifier family. Ang mga natuklasan ng logistic regression ay simple upang maunawaan at mabilis na makalkula. Sa parehong paraan tulad ng linear regression, ang logistic regression ay isang pinangangasiwaang pamamaraan ng regression. Ang output variable ay categorical, kaya iyon lang ang pagkakaiba. Matutukoy nito kung may sakit sa puso o wala ang isang pasyente.
Maaaring malutas ang iba't ibang isyu sa pag-uuri, gaya ng pagtukoy ng spam, gamit ang logistic regression. Pagtataya ng diabetes, pagtukoy kung bibili ang isang mamimili ng isang partikular na produkto o lilipat sa isang karibal, pagtukoy kung magki-click ang isang user sa isang partikular na link sa marketing, at marami pang mga senaryo ay ilan lamang sa mga halimbawa.
5. Puno ng Desisyon
Ang pinakamakapangyarihan at malawakang ginagamit na pamamaraan ng pag-uuri at paghula ay ang puno ng desisyon. Ang decision tree ay isang istraktura ng puno na mukhang isang flowchart, kung saan ang bawat panloob na node ay kumakatawan sa isang pagsubok sa isang katangian, ang bawat sangay ay kumakatawan sa konklusyon ng pagsubok, at ang bawat leaf node (terminal node) ay may hawak na label ng klase.
Kapag ang mga umaasang variable ay walang linear na relasyon sa mga independiyenteng variable, ibig sabihin, kapag ang linear regression ay hindi gumagawa ng tamang mga natuklasan, ang mga puno ng desisyon ay kapaki-pakinabang. Ang DecisionTreeRegression() object ay maaaring gamitin sa katulad na paraan upang magamit ang isang decision tree para sa regression.
6. Random Forest
Ang isang random na kagubatan ay a machine learning diskarte para sa paglutas ng mga isyu sa pagbabalik at pag-uuri. Gumagamit ito ng ensemble learning, na isang pamamaraan na pinagsasama ang maramihang mga classifier upang malutas ang mga kumplikadong problema. Ang isang random na paraan ng kagubatan ay binubuo ng isang malaking bilang ng mga puno ng desisyon. Maaari itong gamitin upang ikategorya ang mga aplikasyon ng pautang, tuklasin ang mapanlinlang na gawi, at asahan ang mga paglaganap ng sakit.
7. Confusion Matrix
Ang confusion matrix ay isang talahanayan na ginagamit upang ilarawan ang pagganap ng modelo ng pag-uuri. Ang sumusunod na apat na salita ay ginagamit upang suriin ang confusion matrix:
- True Positive: Ito ay nagpapahiwatig na ang modelo ay nag-project ng isang kanais-nais na kinalabasan at ito ay tama.
- True Negative: Ito ay nagpapahiwatig na ang modelo ay nag-proyekto ng isang masamang resulta at ito ay tama.
- False Positive: Ito ay nagpapahiwatig na ang modelo ay umaasa ng isang kanais-nais na resulta ngunit ito ay talagang negatibo.
- Maling Negatibo: Ipinapahiwatig nito na inaasahan ng modelo ang isang negatibong resulta, habang ang kinalabasan ay talagang positibo.
Pagpapatupad ng confusion matrix:
Mga kalamangan
- Ito ay simpleng gamitin.
- Ang pakete ng Scikit-learn ay lubos na madaling ibagay at kapaki-pakinabang, na naghahatid ng mga layunin sa totoong mundo tulad ng paghula sa gawi ng consumer, pagbuo ng neuroimage, at iba pa.
- Ang mga user na gustong ikonekta ang mga algorithm sa kanilang mga platform ay makakahanap ng detalyadong dokumentasyon ng API sa website ng Scikit-learn.
- Maraming mga may-akda, collaborator, at isang malaking pandaigdigang online na suporta sa komunidad at panatilihing napapanahon ang Scikit-matuto.
Kahinaan
- Hindi ito ang perpektong opsyon para sa malalim na pag-aaral.
Konklusyon
Ang Scikit-learn ay isang kritikal na pakete para sa bawat data scientist na magkaroon ng malakas na kaalaman at ilang karanasan. Ang gabay na ito ay dapat makatulong sa iyo sa pagmamanipula ng data gamit ang sklearn. Marami pang kakayahan ng Scikit-Learn na matutuklasan mo habang sumusulong ka sa iyong pakikipagsapalaran sa agham ng data. Ibahagi ang iyong mga saloobin sa mga komento.
Mag-iwan ng Sagot