← Каталог
Алгоритмы ИИ — Пример реализации на Python с TensorFlow
Фрагмент из «Алгоритмы ИИ»: Пример реализации на Python с TensorFlow.
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
# Генерация данных
X, y = make_classification(
n_samples=10000,
n_features=50,
n_informative=30,
n_redundant=20,
random_state=42
)
# Разделение и масштабирование
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
# Построение модели
model = Sequential([
Dense(128, activation='relu', input_shape=(50,)),
Dropout(0.3),
Dense(64, activation='relu'),
Dropout(0.3),
Dense(32, activation='relu'),
Dense(1, activation='sigmoid')
])
# Компиляция модели
model.compile(
optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy']
)
# Обучение модели
model.fit(
X_train, y_train,
epochs=20,
batch_size=64,
validation_split=0.2,
verbose=1
)
# Оценка качества
loss, accuracy = model.evaluate(X_test, y_test)
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
# Генерация данных
X, y = make_classification(
n_samples=10000,
n_features=50,
n_informative=30,
n_redundant=20,
random_state=42
)
# Разделение и масштабирование
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
# Построение модели
model = Sequential([
Dense(128, activation='relu', input_shape=(50,)),
Dropout(0.3),
Dense(64, activation='relu'),
Dropout(0.3),
Dense(32, activation='relu'),
Dense(1, activation='sigmoid')
])
# Компиляция модели
model.compile(
optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy']
)
# Обучение модели
model.fit(
X_train, y_train,
epochs=20,
batch_size=64,
validation_split=0.2,
verbose=1
)
# Оценка качества
loss, accuracy = model.evaluate(X_test, y_test)