Scikit-mokytis
SKTet, pilnas pavadinimas scikit-learn, yra Python mašininio mokymosi biblioteka, sukurta remiantis duomenų mokslo paketais, tokiais kaip numpy, scipy ir matplotlib, apimanti beveik visus mašininio mokymosi aspektus, tokius kaip duomenų pavyzdžiai, išankstinis duomenų apdorojimas, modelio tikrinimas, funkcijų pasirinkimas, klasifikavimas, regresija, klasterizavimas ir matmenų mažinimas. Skirtingai nuo gilaus mokymosi atsargų, prieinamų įvairiose sistemose, tokiose kaip pytorch ir TensorFlow, sklearn yra pageidaujama tradicinio mašininio mokymosi biblioteka python, o kitų konkurentų nėra.
Oficiali svetainė:Hipersaito prisijungimas matomas. Šaltinis:Hipersaito prisijungimas matomas.
"Scikit-learn" plėtinys
Kaip klasikinė mašininio mokymosi sistema, "scikit-learn" buvo kuriama daugiau nei dešimt metų nuo savo gimimo, tačiau vartotojai plačiai kritikavo jos skaičiavimo greitį. "Scikit-learn" plėtinys yra nemokamas dirbtinio intelekto programinės įrangos greitintuvas, skirtas jums padėtiEsamas "Scikit-learn" kodas užtikrina nuo 10 iki 100 kartų didesnį pagreitį。 Programinės įrangos pagreitis pasiekiamas naudojant vektorines instrukcijas, AI aparatinės įrangos atminties optimizavimą, sriegimą ir optimizavimą.
Naudodami "Scikit-learn" plėtinį galite:
- Mokymas ir išvados yra 100 kartų greitesni tuo pačiu matematiniu tikslumu
- Pasinaudokite našumo patobulinimais įvairiose procesoriaus aparatinės įrangos konfigūracijose, įskaitant GPU ir kelių GPU konfigūracijas
- Integruokite plėtinius į esamas "Scikit-learn" programas nekeisdami kodo
- Toliau naudokite atvirojo kodo scikit-learn API
- Naudokite kelias kodo eilutes arba įgalinkite ir išjunkite plėtinius komandinėje eilutėje
Šaltinis:Hipersaito prisijungimas matomas. Dokumentacija:Hipersaito prisijungimas matomas.
Bandymo
Pirmiausia naudokite conda, kad paruoštumėte aplinką ir įdiegtumėte reikiamus paketus naudodami šią komandą:
Naujasis Python bandymo kodas yra toks:
Pagreitintas kodas yra toks:
Šaltinio kodo aiškinimas:
1.X, y = make_regression(n_samples=2000000, n_features=100, triukšmas=1, random_state=42) make_regression yra scikit-learn funkcija, kuri generuoja duomenų rinkinį tiesinės regresijos problemoms. n_samples=2000000: nurodo 2 000 000 mėginių skaičių sugeneruotame duomenų rinkinyje. n_features=100: nurodo, kad kiekvienas pavyzdys turi 100 funkcijų (t. y. įvesties kintamųjų). triukšmas = 1: standartinis triukšmo pridėjimo nuokrypis nuo tikslinės vertės y yra 1. Tai reiškia, kad tikslinė vertė turės tam tikrų atsitiktinių trikdžių. random_state=42: nustatykite atsitiktinę sėklą į 42, užtikrindami, kad sugeneruoti duomenys būtų tokie patys kiekvieną kartą paleidus kodą (pakartojamumas). Rezultatai: X yra NumPy formos masyvas (2000000, 100), atstovaujantis 2 000 000 pavyzdžių su 100 požymių; y yra vienmatis 2 000 000 ilgio masyvas, atitinkantis tikslinę vertę.
2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42) train_test_split yra "scikit-learn" funkcija, kuri padalija duomenų rinkinį į mokymo ir testavimo rinkinius. test_size=0,33: nurodo, kad 33 % duomenų rinkinio priskirta bandomajam rinkiniui, o likę 67 % – mokymo rinkiniui. random_state=42: nustatykite atsitiktinę sėklą į 42, užtikrindami, kad duomenų padalijimo rezultatas būtų tas pats kiekvieną kartą, kai paleidžiate kodą. : naudokite apatinį brūkšnį, kad nepaisytumėte grąžinamos reikšmės. Čia mums rūpi tik treniruočių rinkinio dalis (X_train ir y_train) ir ignoruojame testų rinkinio dalį. Rezultatus: X_train: treniruočių rinkinio funkcijų matrica, panaši į (1340000, 100) (apie 67% duomenų). y_train: 1 340 000 ilgio treniruočių rinkinio tikslinė vertė.
3. modelis = LinearRegression() LinearRegression yra scikit-learn klasė, įgyvendinanti linijinės regresijos modelius. Ši kodo eilutė sukuria tiesinės regresijos modelio egzempliorių ir priskiria reikšmes kintamojo modeliui. Pagal numatytuosius nustatymus LinearRegression nereguliuoja duomenų (t. y. nėra L1 ar L2 reguliavimo).
4. modelis.fit(X_train, y_train) Fit yra scikit-learn modelio metodas, naudojamas modeliui treniruoti. Čia pritaikymo metodas iškviečiamas taip, kad tilptų tiesinės regresijos modelis, naudojant treniruočių rinkinio duomenų X_train ir tikslinės vertės y_train. Modelis apskaičiuoja optimalų svorių (koeficientų) ir perėmimų rinkinį, kad sumažintų paklaidą tarp prognozuojamų ir teisingų verčių (paprastai mažiausių kvadratų). Baigus mokymą, modelio parametrai saugomi model.coef_ (funkcijos svoris) ir model.intercept_ (perėmimas).
Vykdymo laikas yra toks:
Matote, kad poveikis yra labai akivaizdus tiek be pagreičio, tiek po pagreičio,Tai trunka apie 16 sekundžių be įsibėgėjimo ir tik 0,1 sekundės po įsibėgėjimo!!!! |