Scikit-learn
SKTet, fullständigt namn scikit-learn, är ett maskininlärningsbibliotek i Python, byggt på data science-paket som numpy, scipy och matplotlib, och täcker nästan alla aspekter av maskininlärning såsom exempeldata, dataförbehandling, modellverifiering, funktionsval, klassificering, regression, klustring och dimensionsreduktion. Till skillnad från deep learning-standarden som finns i olika ramverk som pytorch och TensorFlow, är sklearn det föredragna biblioteket för traditionell maskininlärning i python, och det finns inga andra konkurrenter.
Officiell webbplats:Inloggningen med hyperlänken är synlig. Källa:Inloggningen med hyperlänken är synlig.
Tillägg för Scikit-learn
Som ett klassiskt maskininlärningsramverk har scikit-learn utvecklats i mer än tio år sedan dess födelse, men dess beräkningshastighet har kritiserats mycket av användare. Extension för Scikit-learn är en gratis AI-mjukvaruaccelerator som är utformad för att hjälpa digBefintlig Scikit-learn-kod ger 10 till 100 gånger snabbare hastighetsökningar。 Mjukvaruacceleration uppnås genom vektorinstruktioner, minnesoptimering för AI-hårdvara, trådning och optimering.
Med Scikit-learn-tillägget kan du:
- Träning och inferens är 100 gånger snabbare med samma matematiska precision
- Dra nytta av prestandaförbättringar över olika CPU-hårdvarukonfigurationer, inklusive GPU- och multi-GPU-konfigurationer
- Integrera tillägg i dina befintliga Scikit-learn-applikationer utan att ändra koden
- Fortsätt använda det öppna källkods-API:et scikit-learn
- Använd några rader kod eller aktivera och inaktivera tillägg i kommandoraden
Källa:Inloggningen med hyperlänken är synlig. Dokumentation:Inloggningen med hyperlänken är synlig.
Test
Använd först conda för att förbereda miljön och installera nödvändiga paket med följande kommando:
Den nya Python-testkoden är följande:
Den accelererade koden är följande:
Tolkning av källkod:
1.X, y = make_regression(n_samples=2000000, n_features=100, brus=1, random_state=42) make_regression är en funktion i scikit-learn som genererar en datamängd för linjära regressionsproblem. n_samples=20000000: Specificerar antalet prover i den genererade datamängden på 2 000 000. n_features=100: Anger att varje prov har 100 egenskaper (dvs. indatavariabler). brus=1: Standardavvikelsen för att lägga till brus på målvärdet y är 1. Detta innebär att målvärdet kommer att ha vissa slumpmässiga störningar. random_state=42: Sätt det slumpmässiga fröet till 42, och säkerställ att den genererade datan är densamma varje gång koden körs (upprepbarhet). Resultat: X är en NumPy-array med form (2000000, 100) som representerar 2 000 000 prover med 100 funktioner vardera; Y är en endimensionell matris på 2 000 000 i längd som representerar målvärdet.
2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42) train_test_split är en funktion i scikit-learn som delar upp datasetet i tränings- och testuppsättningar. test_size=0,33: Indikerar att 33 % av datasetet är allokerat till testsetet och resterande 67% till träningsmängden. random_state=42: Sätt det slumpmässiga fröet till 42, så att resultatet av datadelningen är detsamma varje gång du kör koden. : Använd ett understreck för att ignorera returvärdet. Här bryr vi oss bara om träningsdelen (X_train och y_train) och ignorerar testset-delen. Utfall: X_train: Funktionsmatrisen för träningsuppsättningen, formad som (1340000, 100) (ungefär 67 % av datan). y_train: Målvärdet för träningsuppsatsen med en längd på 1 340 000.
3. modell = LinjärRegression() LinearRegression är en kurs i scikit-learn som implementerar linjära regressionsmodeller. Denna kodrad skapar en instans av en linjär regressionsmodell och tilldelar värden till variabelmodellen. Som standard regulariserar linjärregression inte data (dvs. ingen L1- eller L2-regularisering).
4. model.fit(X_train, y_train) Fit är en metod i scikit-learn-modellen som används för att träna modellen. Här anropas anpassningsmetoden för att anpassa den linjära regressionsmodellen med hjälp av träningsmängdsdata X_train och målvärdet y_train. Modellen beräknar en optimal uppsättning vikter (koefficienter) och intercept för att minimera felet mellan de förutsagda och sanna värdena (vanligtvis minsta kvadrater). När träningen är klar lagras modellens parametrar i model.coef_ (funktionens vikt) och model.intercept_ (intercept).
Utföringstiden är följande:
Du kan se att effekten är mycket tydlig både utan acceleration och efter acceleration,Det tar ungefär 16 sekunder utan acceleration och bara 0,1 sekunder efter acceleration!!!! |