Машинное обучение и глубокое обучение играют жизненно важную роль в нашей повседневной жизни. Сегодняшняя машина может автоматически обнаруживать или классифицировать изображения. Здесь я хочу показать пошаговый процесс классификации изображений и повысить точность модели, и вы сможете понять, как экспериментировать с данными огромными способами.
Здесь вы можете увидеть классификацию изображений с помощью алгоритмов машинного обучения, таких как логистическая регрессия, KNN, классификатор случайного леса, Adaboost, нейронные сети (сверточные нейронные сети-CNN), алгоритмы обучения передачи (Resnet50, VGG-16, VGG-19 и другие) . Я реализую все алгоритмы шаг за шагом, чтобы вы могли реализовать и реализовать любую задачу классификации.
Предварительная обработка данных
Предварительная обработка данных является важной частью перед обучением данных по выбранной вами модели. Я запускаю свой код в версии Google Colab Pro. Вы также можете запустить его в общей версии Google Colab. Здесь я использую набор данных kaggle Gender Classification.
Смонтируйте данные из Google colab и разархивируйте файл
from google.colab import drive drive.mount('/content/drive') # Path of the file path = '/content/drive/MyDrive/Colab Notebooks/Abdullah Al Hasib/image.zip' # Extract the file from zipfile import ZipFile with ZipFile(path,'r') as zip: zip.extractall('gender')
Здесь я взял проверочные данные для обучения и тестирования, потому что проверочные данные содержат почти 11000 изображений. Этого достаточно для алгоритмов машинного обучения. После того, как я выполню алгоритм глубокого обучения, я буду экспериментировать со всеми данными, потому что глубокое обучение может так много работать с большими данными.
# number of images in each sector import os print(len(os.listdir('/content/gender/Validation/female'))) print(len(os.listdir('/content/gender/Validation/male')))
Есть 5841 женское изображение и 5808 мужское изображение. Теперь возьмите изображения в один список и возьмите метку. Я изменил размер изображений в форме (48,48,3), и для мужского изображения метка равна 1, а для женского изображения метка равна 0.
Теперь нормализуйте данные (диапазон значений данных от 0 до 1) и измените форму изображения из 2D-изображения в 1D-вектор. Затем разделите данные для обучения и тестирования с помощью библиотеки sklearn.
Классификация изображений с использованием логистической регрессии (LR)
Теперь сопоставьте данные обучения с моделью LR. Затем спрогнозируйте тестовые данные с помощью обученной модели и посмотрите, насколько модель может обучиться по показателю точности.
Accuracy is : 0.9007153075822604
Для лучшего понимания вы также можете просмотреть отчет о классификации модели и матрицу путаницы.
precision recall f1-score support male 0.90 0.90 0.90 1725 female 0.90 0.90 0.90 1770 accuracy 0.90 3495 macro avg 0.90 0.90 0.90 3495 weighted avg 0.90 0.90 0.90 3495
Это все для первой части. После части я напишу другие алгоритмы машинного обучения, алгоритмы глубокого обучения, трансферное обучение и многое другое.
Счастливого обучения :)