Scikit-mācīties
SKTet, pilns nosaukums scikit-learn, ir mašīnmācīšanās bibliotēka Python, kas izveidota, pamatojoties uz datu zinātnes pakotnēm, piemēram, numpy, scipy un matplotlib, aptverot gandrīz visus mašīnmācīšanās aspektus, piemēram, datu paraugu datus, datu priekšapstrādi, modeļa pārbaudi, funkciju izvēli, klasifikāciju, regresiju, klasterizāciju un dimensiju samazināšanu. Atšķirībā no dziļās mācīšanās krājumiem, kas pieejami dažādos ietvaros, piemēram, pytorch un TensorFlow, sklearn ir vēlamā bibliotēka tradicionālajai mašīnmācībai python, un citu konkurentu nav.
Oficiālā mājas lapa:Hipersaites pieteikšanās ir redzama. Avots:Hipersaites pieteikšanās ir redzama.
Scikit-learn paplašinājums
Kā klasiska mašīnmācīšanās sistēma scikit-learn ir attīstījusies vairāk nekā desmit gadus kopš tās dzimšanas, taču lietotāji ir plaši kritizējuši tā skaitļošanas ātrumu. Scikit-learn paplašinājums ir bezmaksas AI programmatūras paātrinātājs, kas paredzēts, lai jums palīdzētuEsošais Scikit-learn kods nodrošina 10 līdz 100x ātrāku paātrinājumu。 Programmatūras paātrinājums tiek panākts, izmantojot vektoru instrukcijas, AI aparatūras atmiņas optimizāciju, vītni un optimizāciju.
Izmantojot paplašinājumu Scikit-learn, varat:
- Apmācība un secinājumi ir 100 reizes ātrāki ar tādu pašu matemātisko precizitāti
- Izmantojiet veiktspējas uzlabojumus dažādās CPU aparatūras konfigurācijās, tostarp GPU un vairāku GPU konfigurācijās
- Integrējiet paplašinājumus esošajās Scikit-learn lietojumprogrammās, nemainot kodu
- Turpiniet izmantot atvērtā koda scikit-learn API
- Izmantojiet dažas koda rindiņas vai komandrindā iespējojiet un atspējojiet paplašinājumus
Avots:Hipersaites pieteikšanās ir redzama. Dokumentācija:Hipersaites pieteikšanās ir redzama.
Tests
Pirmkārt, izmantojiet conda, lai sagatavotu vidi un instalētu nepieciešamās pakotnes ar šādu komandu:
Jaunais Python testa kods ir šāds:
Paātrinātais kods ir šāds:
Pirmkoda interpretācija:
1.X, y = make_regression(n_samples=2000000, n_features=100, troksnis=1, random_state=42) make_regression ir funkcija scikit-learn, kas ģenerē datu kopu lineārās regresijas problēmām. n_samples=2000000: norāda paraugu skaitu ģenerētajā datu kopā 2 000 000. n_features=100: norāda, ka katram paraugam ir 100 līdzekļi (t.i., ievades mainīgie). troksnis=1: standarta novirze, pievienojot troksni mērķa vērtībai y, ir 1. Tas nozīmē, ka mērķa vērtībai būs daži nejauši traucējumi. random_state=42: iestatiet nejaušo sēklu uz 42, nodrošinot, ka ģenerētie dati ir vienādi katru reizi, kad kods tiek izpildīts (atkārtojamība). Rezultāti: X ir NumPy formas masīvs (2000000, 100), kas pārstāv 2 000 000 paraugu ar 100 iezīmēm katrā; y ir viendimensiju masīvs, kura garums ir 2 000 000, kas apzīmē mērķa vērtību.
2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42) train_test_split ir funkcija scikit-learn, kas sadala datu kopu apmācības un testa kopās. test_size=0,33: norāda, ka 33% datu kopas ir piešķirti testa kopai, bet atlikušie 67% ir piešķirti apmācības kopai. random_state=42: iestatiet nejaušo sēklu uz 42, nodrošinot, ka datu sadalīšanas rezultāts ir vienāds katru reizi, kad palaižat kodu. : izmantojiet pasvītrojumu, lai ignorētu atgriezto vērtību. Šeit mēs rūpējamies tikai par treniņu komplekta daļu (X_train un y_train) un ignorējam testa komplekta daļu. Rezultātu: X_train: Treniņu komplekta funkciju matrica, veidota kā (1340000, 100) (aptuveni 67% datu). y_train: Treniņu komplekta mērķa vērtība ar garumu 1 340 000.
3. modelis = lineārā regresija() LinearRegression ir scikit-learn klase, kas īsteno lineāros regresijas modeļus. Šī koda rinda izveido lineārās regresijas modeļa instanci un piešķir vērtības mainīgajam modelim. Pēc noklusējuma LinearRegression neregulē datus (t.i., nav L1 vai L2 regularizācijas).
4. modelis.fit(X_train, y_train) Fit ir metode scikit-learn modelī, kas tiek izmantota modeļa apmācīšanai. Šeit tiek izsaukta piemērotības metode, lai atbilstu lineārās regresijas modelim, izmantojot apmācības kopas datu X_train un mērķa vērtību y_train. Modelis aprēķina optimālu svaru (koeficientu) un pārtverto vērtību kopu, lai samazinātu kļūdu starp prognozētajām un patiesajām vērtībām (parasti mazākajiem kvadrātiem). Kad apmācība ir pabeigta, modeļa parametri tiek saglabāti model.coef_ (funkcijas svars) un model.intercept_ (pārtveršana).
Izpildes laiks ir šāds:
Jūs varat redzēt, ka efekts ir ļoti acīmredzams gan bez paātrinājuma, gan pēc paātrinājuma,Tas aizņem apmēram 16 sekundes bez paātrinājuma un tikai 0,1 sekundi pēc paātrinājuma!!!! |