Az Anaconda a tudomány és a gépi tanulás platformja a Python és R programnyelvek számára. Úgy tervezték, hogy a projektek létrehozásának és terjesztésének folyamata egyszerű, stabil és reprodukálható legyen a rendszerek között, és elérhető Linux, Windows és OSX rendszereken. Az Anaconda egy Python alapú platform, amely főbb adattudományi csomagokat kurál, beleértve a pandákat, a scikit-learn, a SciPy, a NumPy és a Google gépi tanulási platformját, a TensorFlow-t. Csomagolva van conda (pip típusú telepítő eszköz), Anaconda navigátor a GUI élményhez és spyder egy IDE-hez.Ez az oktatóanyag bemutatja az Anaconda, a conda és a spyder alapjait a Python programozási nyelv számára, és bemutatja a saját projektek létrehozásának megkezdéséhez szükséges fogalmakat.
Telepítés
Ezen a webhelyen számos nagyszerű cikk található az Anaconda telepítéséről különböző terjesztőkre és natív csomagkezelő rendszerekre. Ezért az alábbiakban néhány linket adok ehhez a munkához, és átugrom az eszköz ismertetését.
- CentOS
- Ubuntu
A conda alapjai
A Conda az Anaconda csomagkezelő és környezetvédelmi eszköz, amely az Anaconda magja. Nagyon hasonlít a pip-hez, azzal a különbséggel, hogy Python, C és R csomagkezeléssel való együttműködésre tervezték. A Conda a virtuális környezethez hasonló módon kezeli a virtuális környezetet is, amiről itt írtam.
Erősítse meg a telepítést
Az első lépés a telepítés és a verzió megerősítése a rendszeren. Az alábbi parancsok ellenőrzik, hogy az Anaconda telepítve van-e, és kinyomtatják a verziót a terminálra.
$ conda --verzióAz alábbihoz hasonló eredményeket kell látnia. Jelenleg a 4. verzióm van.4.7 telepítve.
$ conda --verzióconda 4.4.7
Frissítse a verziót
A conda frissíthető a conda frissítési argumentumának használatával, mint az alábbiakban.
$ conda frissítés condaEz a parancs conda-ra frissül a legfrissebb kiadásra.
Folytatás ([y] / n)? yCsomagok letöltése és kibontása
conda 4.4.8: ##################################################################### ########### | 100%
openssl 1.0.2n: #################################################################### ######## | 100%
igazolás 2018.1.18: ##################################################################### ##### | 100%
ca-tanúsítványok 2017.08.26: ################################################################ | 100%
Tranzakció előkészítése: kész
A tranzakció ellenőrzése: kész
Tranzakció végrehajtása: kész
A verzió argumentum újbóli futtatásával látjuk, hogy a verzióm 4-re frissült.4.8, amely az eszköz legújabb kiadása.
$ conda --verzióconda 4.4.8
Új környezet létrehozása
Új virtuális környezet létrehozásához futtassa az alábbi parancssorozatot.
$ conda create -n tutorialConda python = 3 $ Folytatás ([y] / n)? yAz új környezetébe telepített csomagokat alább láthatja.
Csomagok letöltése és kibontásaigazolás 2018.1.18: ##################################################################### ##### | 100%
sqlite 3.22.0: ##################################################################### ######### | 100%
kerék 0.30.0: ##################################################################### ########## | 100%
tk 8.6.7: ##################################################################### ############## | 100%
7. sor.0: ##################################################################### ########## | 100%
ncurses 6.0: ##################################################################### ########### | 100%
libcxxabi 4.0.1: ##################################################################### ####### | 100%
python 3.6.4: ##################################################################### ########## | 100%
libffi 3.2.1: ##################################################################### ########## | 100%
telepítőeszközök 38.4.0: ##################################################################### ##### | 100%
libedit 3.1: ##################################################################### ########### | 100%
xz 5.2.3: ##################################################################### ############## | 100%
zlib 1.2.11: ##################################################################### ########### | 100%
9. pip.0.1: ##################################################################### ############# | 100%
libcxx 4.0.1: ##################################################################### ########## | 100%
Tranzakció előkészítése: kész
A tranzakció ellenőrzése: kész
Tranzakció végrehajtása: kész
#
# A környezet aktiválásához használja:
#> forrás aktiválása tutorialConda
#
# Az aktív környezet deaktiválásához használja:
#> forrás deaktivál
#
Aktiválás
Hasonlóan a virtualenv-hez, aktiválnia kell az újonnan létrehozott környezetet is. Az alábbi parancs aktiválja a környezetet Linuxon.
forrás aktiválása tutorialConda Bradleys-Mini: ~ BradleyPatton $ forrás aktiválás tutorialConda(tutorialConda) Bradleys-Mini: ~ BradleyPatton $
Csomagok telepítése
A conda list parancs felsorolja a projektjére jelenleg telepített csomagokat. A telepítés paranccsal további csomagokat és azok függőségeit adhatja hozzá.
$ conda list # csomag a / Users / BradleyPatton / anaconda / envs / tutorialConda környezetben:#
# Név Verzió Build Channel
ca-tanúsítványok 2017.08.26 ha1e5d58_0
igazolás 2018.1.18 py36_0
libcxx 4.0.1 h579ed51_0
libcxxabi 4.0.1 hebd6815_0
libedit 3.1 hb4e282d_0
libffi 3.2.1 h475c297_4
ncurses 6.0 hd04f020_2
openssl 1.0.2n hdbc3d79_0
9. pip.0.1 py36h1555ced_4
python 3.6.4 hc167b69_1
7. sor.0 hc1231fa_4
telepítőeszközök 38.4.0 py36_0
sqlite 3.22.0 h3efe00b_0
tk 8.6.7 h35a86e2_3
kerék 0.30.0 py36h5eb2c71_1
xz 5.2.3 h0278029_2
zlib 1.2.11 hf3cbc9b_2
A pandák telepítéséhez az aktuális környezetbe hajtsa végre az alábbi shell parancsot.
$ conda telepít pandákatLetölti és telepíti a megfelelő csomagokat és függőségeket.
A következő csomagok lesznek letöltve:csomag | épít
---------------------------|-----------------
libgfortran-3.0.1 | h93005f0_2 495 KB
pandas-0.22.0 | py36h0a44026_0 10.0 MB
numpy-1.14.0 | py36h8a80b8c_1 3.9 MB
python-dateutil-2.6.1 | py36h86d2abb_1 238 KB
mkl-2018.0.1 | hfbd8650_4 155.1 MB
pytz-2017.3 | py36hf0bf824_0 210 KB
hat-1.11.0 | py36h0e22d5e_1 21 KB
intel-openmp-2018.0.0 | h8158457_8 493 KB
------------------------------------------------------------
Összesen: 170.3 MB
A következő ÚJ csomagokat TELEPÍTIK:
intel-openmp: 2018.0.0-h8158457_8
libgfortran: 3.0.1-h93005f0_2
mkl: 2018.0.1-hfbd8650_4
szám: 1.14.0-py36h8a80b8c_1
pandák: 0.22.0-py36h0a44026_0
python-dateutil: 2.6.1-py36h86d2abb_1
pytz: 2017.3-py36hf0bf824_0
hat: 1.11.0-py36h0e22d5e_1
A list parancs újbóli végrehajtásával látjuk, hogy az új csomagok települnek a virtuális környezetünkbe.
$ conda lista# csomag a / Users / BradleyPatton / anaconda / envs / tutorialConda környezetben:
#
# Név Verzió Build Channel
ca-tanúsítványok 2017.08.26 ha1e5d58_0
igazolás 2018.1.18 py36_0
intel-openmp 2018.0.0 h8158457_8
libcxx 4.0.1 h579ed51_0
libcxxabi 4.0.1 hebd6815_0
libedit 3.1 hb4e282d_0
libffi 3.2.1 h475c297_4
libgfortran 3.0.1 h93005f0_2
mkl 2018.0.1 hfbd8650_4
ncurses 6.0 hd04f020_2
1. szám.14.0 py36h8a80b8c_1
openssl 1.0.2n hdbc3d79_0
pandák 0.22.0 py36h0a44026_0
9. pip.0.1 py36h1555ced_4
python 3.6.4 hc167b69_1
python-dateutil 2.6.1 py36h86d2abb_1
pytz 2017.3 py36hf0bf824_0
7. sor.0 hc1231fa_4
telepítőeszközök 38.4.0 py36_0
hat 1.11.0 py36h0e22d5e_1
sqlite 3.22.0 h3efe00b_0
tk 8.6.7 h35a86e2_3
kerék 0.30.0 py36h5eb2c71_1
xz 5.2.3 h0278029_2
zlib 1.2.11 hf3cbc9b_2
Az Anaconda adattárba nem tartozó csomagok esetén használhatja a tipikus pip parancsokat. Nem térek ki erre itt, mivel a legtöbb Python-felhasználó ismeri a parancsokat.
Anaconda Navigator
Az Anaconda tartalmaz egy GUI alapú navigátor alkalmazást, amely megkönnyíti az életet a fejlesztés szempontjából. Előtelepített projektként tartalmazza a spyder IDE és a jupyter notebookot. Ez lehetővé teszi, hogy gyorsan kiváltson egy projektet a grafikus felhasználói felületen.
Annak érdekében, hogy újonnan létrehozott környezetünkből kezdhessünk el dolgozni a navigátor segítségével, ki kell választanunk a környezetünket a bal oldali eszköztár alatt.
Ezután telepítenünk kell azokat az eszközöket, amelyeket használni szeretnénk. Számomra ez a spyder IDE. Itt végzem a legtöbb adattudományi munkámat, és számomra ez egy hatékony és produktív Python IDE. Egyszerűen kattintson a telepítés gombra a dokk csempén a spyder számára. A Navigator elvégzi a többit.
A telepítés után ugyanarról a dokkcsempéről nyithatja meg az IDE-t. Ez elindítja a spydert az asztali környezetből.
Spyder
A spyder az alapértelmezett IDE az Anaconda számára, és erőteljes a Python szabványos és adattudományi projektjeihez egyaránt. A spyder IDE integrált IPython noteszgépet, kódszerkesztő ablakot és konzolablakot tartalmaz.
A Spyder tartalmaz még normál hibakeresési képességeket és egy változó felfedezőt is, amely segít abban az esetben, ha valami nem a tervezett módon megy.
Illusztrációként mellékeltem egy kis SKLearn alkalmazást, amely véletlenszerű forrest regressziót használ a jövőbeni részvényárfolyamok előrejelzéséhez. Az eszköz hasznosságának bemutatásához az IPython Notebook kimenetét is felvettem.
Van néhány más oktatóanyagom, amelyeket az alábbiakban írtam, ha folytatni szeretné az adattudományt. Ezek többségét az Anaconda segítségével írják, és a spyder abnd-nak zökkenőmentesen kell működnie a környezetben.
- pandas-read_csv-tutorial
- pandas-data-frame-tutorial
- psycopg2-tutorial
- Kwant
a pandas_datareader importadatokból
importálja a numpy-t np-ként
import talib as ta
a sklearn-től.cross_validation vonat_teszt_split importálása
a sklearn-től.linear_model import LinearRegression
a sklearn-től.metrikák importja a_négyzet_hiba
a sklearn-től.együttes import RandomForestRegressor
a sklearn-től.metrikák importja a_négyzet_hiba
def get_data (szimbólumok, start_date, end_date, szimbólum):
panel = adatok.DataReader (szimbólumok, 'yahoo', start_date, end_date)
df = panel ['Bezárás]
nyomtatás (df.fej (5))
nyomtatás (df.farok (5))
nyomtatás df.loc ["2017-12-12"]
nyomtatás df.loc ["2017-12-12", szimbólum]
nyomtatás df.loc [:, szimbólum]
df.fillna (1.0)
df ["RSI"] = ta.RSI (np.tömb (df.iloc [:, 0]))
df ["SMA"] = ta.SMA (np.tömb (df.iloc [:, 0]))
df ["BBANDSU"] = ta.BANDANDS (np.tömb (df.iloc [:, 0])) [0]
df ["BBANDSL"] = ta.BANDANDS (np.tömb (df.iloc [:, 0])) [1]
df ["RSI"] = df ["RSI"].műszak (-2)
df ["SMA"] = df ["SMA"].műszak (-2)
df ["BBANDSU"] = df ["BBANDSU"].műszak (-2)
df ["BBANDSL"] = df ["BBANDSL"].műszak (-2)
df = df.fillna (0)
nyomtatás df
vonat = df.minta (frac = 0.8, random_state = 1)
teszt = df.loc [~ df.index.isin (vonat.index)]
nyomtatás (vonat.alak)
nyomtatás (teszt.alak)
# Szerezze be az összes oszlopot az adatkeretről.
oszlopok = df.oszlopok.tolist ()
oszlopok nyomtatása
# Tárolja azt a változót, amelyre jósolunk.
cél = szimbólum
# Inicializálja a modellosztályt.
model = RandomForestRegressor (n_becslők = 100, min_minták_levelek = 10, random_state = 1)
# Illessze a modellt az edzésadatokhoz.
modell.fit (vonat [oszlopok], vonat [cél])
# Készítse elő a tesztkészletre vonatkozó előrejelzéseinket.
jóslatok = modell.megjósolni (teszt [oszlopok])
"pred" nyomtatás
jóslatok nyomtatása
# df2 = pd.DataFrame (adatok = előrejelzések [:])
#print df2
#df = pd.konkat ([teszt, df2], tengely = 1)
# Számítási hiba a tesztjóslatok és a tényleges értékek között.
print "mean_squared_error:" + str (mean_squared_error (jóslatok, teszt [target]))
return df
def normalize_data (df):
return df / df.iloc [0 ,:]
def plot_data (df, title = "Részvényárfolyamok"):
ax = df.plot (cím = cím, betűméret = 2)
fejsze.set_xlabel ("Dátum")
fejsze.set_ylabel ("Ár")
cselekmény.előadás()
def tutorial_run ():
# Válasszon szimbólumokat
szimbólum = "EGRX"
szimbólumok = [szimbólum]
#get adatok
df = get_data (szimbólumok, '2005-01-03', '2017-12-31', szimbólum)
normalize_data (df)
plot_data (df)
ha __name__ == "__main__":
tutorial_run () Név: EGRX, Hossz: 979, dtype: float64
EGRX RSI SMA BBANDSU BBANDSL
Dátum
2017-12-29 53.419998 0.000000 0.000000 0.000000 0.000000
2017-12-28 54.740002 0.000000 0.000000 0.000000 0.000000
2017-12-27 54.160000 0.000000 0.000000 55.271265 54.289999
Következtetés
Az Anaconda nagyszerű környezet az adattudomány és a gépi tanulás számára a Pythonban. Kínálatában vannak olyan kurátor csomagok, amelyeket úgy terveztek, hogy együttműködjenek egy erőteljes, stabil és reprodukálható adat-tudományos platform számára. Ez lehetővé teszi a fejlesztő számára, hogy terjessze tartalmaikat, és biztosítsa, hogy ugyanazokat az eredményeket hozza létre a gépek és az operációs rendszerek között. Beépített eszközök segítik az élet megkönnyítését, mint például a Navigator, amely lehetővé teszi projektek egyszerű létrehozását és környezeti váltást. Az algoritmusok fejlesztésével és a pénzügyi elemzéshez szükséges projektek létrehozásával foglalkozom. Még azt tapasztalom, hogy a legtöbb Python-projektemnél használom, mert ismerem a környezetet. Ha el akarja kezdeni a Python-t és az adattudományt, az Anaconda jó választás.