Автор оригинала: Alex Polymath.
Здравствуйте, меня зовут Алекс.
Я изучаю машинное обучение. И когда я заканчиваю какое-то задание, мне нравится его публиковать. Чтобы люди могли найти простые образцы для начала работы.
Вы можете запустить Google collab или использовать свой компьютер.
Обзор
В этом уроке мы рассмотрим
- Как разделить данные на тестовые и обучающие
- Как скомпилировать нейронную сеть с помощью keras
- Как нарисовать живой график точности нейронной сети
1. Загрузите данные из kaggle.
Там будет 2 файла
- Там будет 2 файла
- test.csv.zip Я понятия не имею, почему, но test file не имеет никакого смысла, так как там нет меток.
test.csv.zip || Я понятия не имею, почему, но || test || file не имеет никакого смысла, || так как там нет меток.
2. Если вы используете Google colab
Drag’n’Drop train.csv.zip файл в файлы
3. Распакуйте файл
!unzip train.csv.zip
3. Импортируйте другие вещи, которые нам нужны
!pip install livelossplot
import numpy as np import pandas as pd import matplotlib.pyplot as plt plt.style.use('ggplot') import keras from sklearn.preprocessing import LabelBinarizer from sklearn.model_selection import train_test_split from livelossplot import PlotLossesKeras
4. Приготовьте данные
train_df = pd.read_csv('/content/train.csv') #might be in other place train_labels = train_df['label'] #We need Y values - labels train_labels = train_labels.to_numpy() # nothing smart just convert to numpy array del train_df['label'] # remove label from original dataframe to use it as X train_data = train_df.to_numpy() # we can't use values 1,2,3,4,4,5 for Y # instead we should use smth like [1,0,0,0,0,0], [0,1,0,0,0,0], ... y = LabelBinarizer().fit_transform(train_labels) #Split train and test data X_train, X_test, y_train, y_test = train_test_split(train_data, y, test_size=0.1) # Ok, ready to go
5. Скомпилируйте нейронную сеть
# Define sequential model model = keras.Sequential() # Define the first layer model.add(keras.layers.Dense(128, activation="relu", input_shape=(784,))) model.add(keras.layers.Dense(128, activation="relu", input_shape=(128,))) model.add(keras.layers.Dense(128, activation="relu", input_shape=(128,))) model.add(keras.layers.Dense(128, activation="relu", input_shape=(128,))) # Add activation function to classifier model.add(keras.layers.Dense(10, activation='softmax')) # Finish the modecl compilation model.compile('adam', loss='categorical_crossentropy', metrics=['accuracy']) # Complete the model fit operation # callbacks=[PlotLossesKeras()] - this is a single magic line of code which draw #live chart model.fit(train_data, y, epochs=10, validation_data=(X_test, y_test), callbacks=[PlotLossesKeras()], verbose=0)
Потрясающе, ты это сделал!
Теперь вы можете тренировать нейронную сеть для обнаружения покемонов!