Scikit-learn
SKTet, koko nimi scikit-learn, on koneoppimiskirjasto Pythonissa, joka perustuu data-analytiikkaohjelmiin kuten numpy, scipy ja matplotlib. Se kattaa lähes kaikki koneoppimisen osa-alueet, kuten näytedatan, datan esikäsittelyn, mallin varmennuksen, ominaisuuksien valinnan, luokittelun, regression, klusteroinnin ja ulottuvuuksien pienentämisen. Toisin kuin syväoppimisen varasto, jota on saatavilla eri kehysteissä kuten pytorch ja TensorFlow, sklearn on suosituin kirjasto perinteiseen koneoppimiseen pythonissa, eikä muita kilpailijoita ole.
Virallinen verkkosivusto:Hyperlinkin kirjautuminen on näkyvissä. Lähde:Hyperlinkin kirjautuminen on näkyvissä.
Laajennus Scikit-learnille
Klassisena koneoppimisen viitekehyksenä scikit-learn on kehittynyt yli kymmenen vuotta syntymästään lähtien, mutta sen laskentanopeutta on laajasti kritisoitu käyttäjien keskuudessa. Scikit-learnin laajennus on ilmainen tekoälyohjelmistokiihdytin, joka on suunniteltu auttamaan sinuaOlemassa oleva Scikit-learn-koodi tarjoaa 10–100 kertaa nopeampia nopeutuksia。 Ohjelmistokiihdytys saavutetaan vektorikäskyjen, tekoälylaitteiston muistin optimoinnin, säikeyttämisen ja optimoinnin avulla.
Scikit-learn-laajennuksen avulla voit:
- Koulutus ja päättely ovat 100 kertaa nopeampia samalla matemaattisella tarkkuudella
- Hyödynnä suorituskyvyn parannuksia eri CPU-laitteistokokoonpanoissa, mukaan lukien GPU- ja moni-GPU-kokoonpanot
- Integroi laajennukset olemassa oleviin Scikit-learn-sovelluksiin ilman koodin muokkaamista
- Jatka avoimen lähdekoodin scikit-learn API:n käyttöä
- Käytä muutamaa koodiriviä tai ota ja poista käytöstä päätteet komentorivillä
Lähde:Hyperlinkin kirjautuminen on näkyvissä. Dokumentaatio:Hyperlinkin kirjautuminen on näkyvissä.
Testi
Ensiksi käytä condaa ympäristön valmisteluun ja tarvittavien pakettien asentamiseen seuraavalla komennolla:
Uusi Python-testikoodi on seuraava:
Nopeutettu koodi on seuraava:
Lähdekoodin tulkinta:
1.X, y = make_regression(n_samples=2000000, n_features=100, noise=1, random_state=42) make_regression on scikit-learnin funktio, joka tuottaa aineiston lineaarisille regressio-ongelmille. n_samples=2000000: Määrittelee otosten määrän generoidussa 2 000 000 aineistossa. n_features=100: Määrittelee, että jokaisessa otoksessa on 100 ominaisuutta (eli syötemuuttujia). noise=1: Keskihajonta lisäkohinalle tavoitearvolle y on 1. Tämä tarkoittaa, että kohdearvossa on satunnaisia häiriöitä. random_state=42: Aseta satunnaissiemen arvoon 42 varmistaen, että generoitu data on sama joka kerta kun koodi ajetaan (toistettavuus). Tulokset: X on NumPy-taulukko, jonka muoto (2000000, 100), joka edustaa 2 000 000 näytettä, joissa kukin on 100 ominaisuutta; y on yksiulotteinen taulukko, jonka pituus on 2 000 000 ja joka edustaa tavoitearvoa.
2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42) train_test_split on scikit-learnin funktio, joka jakaa aineiston harjoitus- ja testijoukkoihin. test_size=0,33: Tarkoittaa, että 33 % aineistosta on varattu testijoukolle ja loput 67 % koulutusjoukolle. random_state=42: Aseta satunnaissiemen arvoon 42, varmistaen, että datan jaon tulos on sama joka kerta kun ajat koodin. : Käytä alaviivaa palautusarvon ohittamiseen. Täällä välitämme vain harjoitussarjan osasta (X_train ja y_train) ja jätämme testisetin huomiotta. Tulos: X_train: Harjoitusjoukon ominaisuusmatriisi, muodoltaan (1340000, 100) (noin 67 % datasta). y_train: Koulutuksen tavoitearvo, jonka pituus on 1 340 000.
3. model = LinearRegression() LinearRegression on scikit-learnin kurssi, joka toteuttaa lineaarisia regressiomalleja. Tämä koodirivi luo lineaarisen regressiomallin ja määrittää muuttujamallille arvot. Oletuksena LinearRegression ei säännöllistele dataa (eli ei L1- tai L2-säännöllistystä).
4. model.fit(X_train, y_train) Fit on menetelmä scikit-learn-mallissa, jota käytetään mallin kouluttamiseen. Tässä sovitusmenetelmää kutsutaan sovittamaan lineaarinen regressiomalli käyttäen harjoitusaineistoa X_train ja tavoitearvoa y_train. Malli laskee optimaalisen joukon painoja (kertoimia) ja interceptejä, jotta ennustettujen ja todellisten arvojen (yleensä pienimmän neliösumman) välinen virhe minimoidaan. Kun koulutus on valmis, mallin parametrit tallennetaan model.coef_ (ominaisuuden paino) ja model.intercept_ (intercept).
Suoritusaika on seuraava:
Näet, että vaikutus on hyvin ilmeinen sekä ilman kiihtyvyyttä että sen jälkeen,Kiihtyvyyden jälkeen kestää noin 16 sekuntia ja kiihdytyksen jälkeen vain 0,1 sekuntia!!!! |