Scikit-learn
SKTet, täisnimi scikit-learn, on masinõppe teek Pythonis, mis põhineb andmeteaduse pakettidel nagu numpy, scipy ja matplotlib, hõlmates peaaegu kõiki masinõppe aspekte, nagu prooviandmed, andmete eeltöötlus, mudeli verifitseerimine, tunnuste valik, klassifitseerimine, regressioon, klasterdamine ja dimensioonide vähendamine. Erinevalt süvaõppest, mis on saadaval erinevates raamistikudes nagu pytorch ja TensorFlow, on sklearn traditsioonilise masinõppe jaoks eelistatud raamatukogu pythonis ning teisi konkurente pole.
Ametlik veebileht:Hüperlingi sisselogimine on nähtav. Allikas:Hüperlingi sisselogimine on nähtav.
Scikit-learn laiendus
Klassikalise masinõppe raamistikuna on scikit-learn arenenud üle kümne aasta alates selle sünnist, kuid selle arvutuskiirust on kasutajate poolt laialdaselt kritiseeritud. Scikit-learn laiendus on tasuta tehisintellekti tarkvara kiirendi, mis on loodud sind aitamaOlemasolev Scikit-learn kood pakub 10 kuni 100 korda kiiremat kiirendust。 Tarkvara kiirendus saavutatakse vektorkäsude, AI riistvara mälu optimeerimise, lõimimise ja optimeerimise kaudu.
Scikit-learn laiendusega saad:
- Treening ja järeldus on sama matemaatilise täpsusega 100 korda kiiremad
- Kasuta jõudluse paranemist erinevates CPU riistvarakonfiguratsioonides, sealhulgas GPU ja mitme GPU konfiguratsioonides
- Integreeri laiendused oma olemasolevatesse Scikit-Learn rakendustesse ilma koodi muutmata
- Jätka avatud lähtekoodiga scikit-learn API kasutamist
- Kasuta mõnda koodirida või luba ja keela käsurea laiendused
Allikas:Hüperlingi sisselogimine on nähtav. Dokumentatsioon:Hüperlingi sisselogimine on nähtav.
Katse
Esiteks kasuta conda, et valmistada keskkond ette ja paigaldada vajalikud paketid järgmise käsuga:
Uus Python'i testkood on järgmine:
Kiirendatud kood on järgmine:
Lähtekoodi tõlgendamine:
1.X, y = make_regression(n_samples=2000000, n_features=100, müra=1, random_state=42) make_regression on funktsioon scikit-learnis, mis genereerib andmestiku lineaarregressiooniprobleemide jaoks. n_samples=2000000: Määrab genereeritud andmekogumi 2 000 000 valimite arvu. n_features=100: Täpsustab, et igal proovil on 100 omadust (st sisendmuutujad). müra=1: Müra lisamise standardhälve sihtväärtusele y on 1. See tähendab, et sihtväärtusel esineb mõningaid juhuslikke häireid. random_state=42: Sea juhuslik seeme väärtuseks 42, tagades, et genereeritud andmed on iga koodi käivitamisel samad (korduvus). Tulemused: X on NumPy kuju massiivi (2000000, 100), mis esindab 2 000 000 proovi, igaühel 100 tunnust; y on ühemõõtmeline massiivi pikkusega 2 000 000 ja mis esindab sihtväärtust.
2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42) train_test_split on scikit-learni funktsioon, mis jagab andmestiku treening- ja testikomplektideks. test_size=0,33: Näitab, et 33% andmestikust on eraldatud testkomplektile ja ülejäänud 67% treeningkomplektile. random_state=42: Sea juhuslik seeme väärtuseks 42, tagades, et andmete jagamise tulemus oleks iga kord, kui koodi käivitad. : Kasuta alajooni, et ignoreerida tagastusväärtust. Siin hoolime ainult treeningkomplekti osast (X_train ja y_train) ning ignoreerime testikomplekti osa. Tulemus: X_train: Treeningkomplekti tunnusmaatriks, kujuga (1340000, 100) (umbes 67% andmetest). y_train: Koolituse sihtväärtus pikkusega 1 340 000.
3. mudel = LinearRegression() LinearRegression on scikit-learn klass, mis rakendab lineaarseid regressioonimudeleid. See koodirida loob lineaarse regressioonimudeli eksemplari ja määrab muutujamudelile väärtused. Vaikimisi LinearRegression andmeid ei regulariseeri (st puudub L1 või L2 regulaariseerimine).
4. model.fit(X_train, y_train) Sobivus on meetod scikit-learn mudelis, mida kasutatakse mudeli treenimiseks. Siin nimetatakse sobitusmeetodit lineaarregressioonimudeli sobitamiseks, kasutades treeningkomplekti andmeid X_train ja sihtväärtust y_train. Mudel arvutab optimaalse kaalude (kordajate) komplekti ja lõikab, et minimeerida viga ennustatud ja tõeliste väärtuste (tavaliselt väikseimate ruutude) vahel. Kui treening on lõpetatud, salvestatakse mudeli parameetrid model.coef_ (omaduse kaal) ja model.intercept_ (intercept).
Täitmise aeg on järgmine:
Näete, et efekt on väga ilmne nii ilma kiirenduseta kui ka pärast kiirendust,Ilma kiirenduseta kulub umbes 16 sekundit ja pärast kiirendust vaid 0,1 sekundit!!!! |