Programozási alapok MI projektekhez
Bevezetés
A gépi tanulási projektek fejlesztéséhez elengedhetetlen a megfelelő programozási alapok elsajátítása. Ebben a leckében a Python nyelv és a TensorFlow keretrendszer használatát tanuljuk meg MI projektek létrehozásához.
Python programozási alapok
Fejlesztői környezet beállítása
-
# Python letöltése és telepítése
# Anaconda környezet létrehozása
conda create -n ml-env python=3.9
conda activate ml-env
# Szükséges könyvtárak telepítése
pip install numpy pandas matplotlib tensorflow scikit-learn -
IDE választás
Alapvető Python koncepciók MI projektekhez
-
import numpy as np
# Tömbök létrehozása
arr = np.array([1, 2, 3, 4, 5])
matrix = np.array([[1, 2], [3, 4]])
# Műveletek
print(arr.mean()) # Átlag
print(arr.std()) # Szórás
print(matrix.T) # Transzponálás -
import pandas as pd
# Adatok betöltése
df = pd.read_csv('data.csv')
# Adatok előkészítése
X = df.drop('target', axis=1)
y = df['target']
# Hiányzó értékek kezelése
df.fillna(df.mean(), inplace=True)
TensorFlow alapok
TensorFlow telepítése és első lépések
-
import tensorflow as tf
# GPU elérhetőség ellenőrzése
print(tf.config.list_physical_devices('GPU'))
# TensorFlow verzió
print(tf.__version__) -
# Tenzor létrehozása
t1 = tf.constant([1, 2, 3])
t2 = tf.constant([[1, 2], [3, 4]])
# Műveletek tenzorokkal
result = tf.matmul(t2, t2) # Mátrix szorzás
Egyszerű neurális háló építése
-
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Dense
# Modell építése
model = Sequential([
Dense(64, activation='relu', input_shape=(784,)),
Dense(32, activation='relu'),
Dense(10, activation='softmax')
]) -
# Tanítás
history = model.fit(
X_train, y_train,
epochs=10,
batch_size=32,
validation_split=0.2
)
Egyszerű neurális hálók
Osztályozási feladat
- MNIST számjegy felismerés
from tensorflow.keras.datasets import mnist
# Adatok betöltése
(X_train, y_train), (X_test, y_test) = mnist.load_data()
Regressziós feladat
# Boston lakásár előrejelzés
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
Gyakorlati projektek
1. Képosztályozó projekt
from tensorflow.keras.preprocessing.image import ImageDataGenerator
# Adatok augmentálása
datagen = ImageDataGenerator(
rotation_range=20,
width_shift_range=0.2,
height_shift_range=0.2,
horizontal_flip=True
)
2. Szövegfeldolgozási projekt
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
Haladó koncepciók
Modell finomhangolás
-
from sklearn.model_selection import GridSearchCV
from tensorflow.keras.wrappers.scikit_learn import KerasClassifier -
from tensorflow.keras.callbacks import EarlyStopping
early_stop = EarlyStopping(
monitor='val_loss',
patience=3,
restore_best_weights=True
)
További források
- TensorFlow dokumentáció
- Keras dokumentáció
- Google Colab notebookok
- Deep Learning with Python (François Chollet)
Hivatkozások
- TensorFlow dokumentáció
- Keras API referencia
- Deep Learning Book (Goodfellow et al.)
További tanulási források