Scikit-learn
Az SKTet, teljes neve scikit-learn, egy gépi tanulási könyvtár Python nyelven, amely adat-tudományi csomagok, mint a numpy, scip és matplotlib alapján épül, és szinte minden gépi tanulási területet lefed, mint például mintaadatok, adatfeldolgozás, modellellenőrzés, jellemzők kiválasztása, osztályozás, regresszió, klaszterezés és dimenziócsökkentés. Ellentétben a különböző keretrendszerekben, mint a pytorch és a TensorFlow mélytanulási készleteivel, a sklearn a hagyományos gépi tanulás számára a Python által preferált könyvtár, és nincsenek más versenytársak.
Hivatalos weboldal:A hiperlink bejelentkezés látható. Forrás:A hiperlink bejelentkezés látható.
Kiterjesztés a Scikit-learn számára
A scikit-learn klasszikus gépi tanulási keretrendszerként több mint tíz éve fejlődik születése óta, de számítási sebességét széles körben bírálták a felhasználók. A Scikit-learn kiterjesztése egy ingyenes AI szoftvergyorsító, amely segít nekedA meglévő Scikit-learn kód 10-100-szor gyorsabb gyorsítást biztosít。 A szoftvergyorsítást vektorutasítások, memóriaoptimalizálás AI hardverhez, szálakozás és optimalizálás révén érjük el.
A Scikit-learn kiterjesztéssel a következőket teheted:
- A képzés és következtetés százszor gyorsabb ugyanilyen matematikai pontossággal
- Profitáljon a teljesítmény javulásából különböző CPU hardverkonfigurációkban, beleértve a GPU és a többGPU konfigurációkat is
- Integrálj bővítményeket a meglévő Scikit-learn alkalmazásaidba kód módosítása nélkül
- Folytasd a nyílt forráskódú scikit-learn API használatát
- Használj néhány kódsort, vagy engedélyezd és tilts ki a kiterjesztéseket a parancssorban
Forrás:A hiperlink bejelentkezés látható. Dokumentáció:A hiperlink bejelentkezés látható.
Teszt
Először a conda segítségével készítse elő a környezetet, és telepítse a szükséges csomagokat a következő parancsmal:
Az új Python tesztkód a következő:
A gyorsított kód a következő:
Forráskód értelmezése:
1.X, y = make_regression(n_samples=2000000, n_features=100, zaj=1, random_state=42) make_regression egy függvény a scikit-learnben, amely lineáris regressziós problémákhoz generál adathalmazt. n_samples=2000000: Megadja a 2 000 000 generált adathalmazban lévő mintaszámot. n_features=100: Megadja, hogy minden mintavétel 100 jellemzőt tartalmaz (azaz bemeneti változókat). zaj=1: A célérték y hang hozzáadásának szabványos szórája 1. Ez azt jelenti, hogy a célértéknek lehetnek véletlenszerű zavarásai. random_state=42: Állítsuk be a véletlenszerű magot 42-re, biztosítva, hogy a generált adatok minden alkalommal ugyanazok legyenek, amikor a kódot futtatják (ismételhetőség). Eredmények: X egy NumPy forma tömbje (2000000, 100), amely 2 000 000 mintát képvisel, mindegyik 100 jellemzővel; y egy egydimenziós, 2 000 000 hosszú tömb, amely a célértéket képviseli.
2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42) train_test_split egy függvény a scikit-learnben, amely az adathalmazt betanítási és teszthalmazokra osztja. test_size=0,33: Azt jelzi, hogy az adathalmaz 33%-a a teszthalmazhoz van rendelve, a fennmaradó 67%-ot pedig a képzési halmazhoz. random_state=42: Állítsd be a véletlenszerű magot 42-re, hogy az adatfelosztás eredménye minden alkalommal ugyanaz legyen, amikor futtatod a kódot. : Használj aláhúzót a visszatérési érték figyelmen kívül hagyására. Itt csak a képzési készlet (X_train és y_train) érdekel, és figyelmen kívül hagyjuk a tesztkészletet. Eredmény: X_train: A képzési készlet jellemzőmátrixa (1340000, 100) alakú, (az adatok kb. 67%-a). y_train: A kiképzés célértéke 1 340 000 hosszúságú.
3. model = LinearRegression() A LinearRegression egy scikit-learn osztály, amely lineáris regressziós modelleket valósít meg. Ez a kódsor lineáris regressziós modell példányát hozza létre, és értékeket rendel a változó modellhez. Alapértelmezés szerint a LinearRegression nem regularizál adatokat (azaz nincs L1 vagy L2 regularizáció).
4. model.fit(X_train, y_train) Az illeszkedés egy módszer a scikit-learn modellben, amelyet a modell betanítására használnak. Itt a fit módszert hívják a lineáris regressziós modellhez a X_train tanítóhalmaz adatai és a y_train célérték alapján. A modell optimális súlyhalmazt (együtthatókat) és metszeteket számol ki, hogy minimalizálja a hibát a jósolt és az igaz értékek (általában legkisebb négyzetek) között. A képzés befejezése után a modell paraméterei model.coef_ (a jellemző súlya) és model.intercept_ (elfogás) kategóriákban tárolódnak.
A végrehajtási idő a következő:
Látható, hogy a hatás nagyon nyilvánvaló gyorsulás nélkül és gyorsulás után is,Körülbelül 16 másodperc gyorsítás nélkül, és csak 0,1 másodperc gyorsítás után!!!! |