Как я могу создать и обучить пользовательский набор данных в своем собственном наборе данных?

У меня есть вопросы по работе.

Я создаю мультиклассовую модель классификации, которая классифицирует входное изображение как одну метку из 4 классов.

В настоящее время у меня есть 100 000 изображений, которые состоят из 4 несбалансированных классов. И у меня также есть файл csv, включающий информацию об имени файла, классе, пути. Я сделал файл csv, используя библиотеку Pandas.

Теперь, учитывая мою вычислительную мощность, я хочу просто протестировать только 20 000 изображений. Конечно, эти 20 000 изображений должны иметь изображения 4 классов с одинаковым соотношением.

На мой взгляд, будет хорошо использовать информацию моего файла csv по классам. Но моя проблема в том, что я понятия не имею, как конкретизировать свои мысли. Так что мне нужны ваши советы, ребята.

Заранее спасибо!

Пожалуйста, отредактируйте вопрос, чтобы ограничить его конкретной проблемой с достаточной детализацией, чтобы найти адекватный ответ.

Ftagliacarne 21.11.2022 17:09

Спасибо за ваши Коментарии. Я не знал, как объяснить свою проблему... но я пытаюсь.

hailey 22.11.2022 02:11
Скраппинг поиска Apple App Store с помощью Python
Скраппинг поиска Apple App Store с помощью Python
📌Примечание: В этой статье я покажу вам, как скрапировать поиск Apple App Store и получить точно такой же результат, как на Apple iMac, потому что...
Редкие достижения на Github ✨
Редкие достижения на Github ✨
Редкая коллекция доступна в профиле на GitHub ✨
Мутабельность и переработка объектов в Python
Мутабельность и переработка объектов в Python
Объекты являются основной конструкцией любого языка ООП, и каждый язык определяет свой собственный синтаксис для их создания, обновления и...
Другой маршрут в Flask Python
Другой маршрут в Flask Python
Flask - это фреймворк, который поддерживает веб-приложения. В этой статье я покажу, как мы можем использовать @app .route в flask, чтобы иметь другую...
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
Проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
Python PyPDF2 - запись метаданных PDF
Python PyPDF2 - запись метаданных PDF
Python скрипт, который будет записывать метаданные в PDF файл, для этого мы будем использовать PDF ридер из библиотеки PyPDF2 . PyPDF2 - это...
2
2
58
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вот решение, которое я нашел, хотя оно может быть не самым оптимальным. Предположим, что у вас есть 5000 изображений для каждого класса. Если у вас есть фрейм данных (ваш CSV-файл), который структурирован следующим образом:

>>> df

       filename  class
0       one.png      1
1       two.png      2
.
.
.
99,000 name.png     4

Затем вы можете получить подфрейм данных с помощью

subdf = pd.DataFrame(columns=df.columns)
class_names = df['class'].unique()
n_to_sample = 20,000/len(class_names)

for class_name in class_names:
    subdf = pd.concat([subdf,df[df['class']==class_name].sample(n=n_to_sample)])

Надеюсь, это сработало!

О, я очень ценю твою помощь. Я собираюсь попробовать ваше решение прямо сейчас :) А затем я попробовал другой код, используя функции query() и sample() библиотеки Pandas! Это также работает!

hailey 23.11.2022 02:16

В частности, я применяю функции query() и sample(frac=0.2), да, параметр frac возвращает не только 20 000 изображений. Но мне нужно то же соотношение, что и исходный набор данных, несбалансированный. Поэтому я могу использовать ваши разрешения, когда мне нужны одинаковые данные о соотношении для каждой этикетки. В любом случае спасибо вам огромное!

hailey 23.11.2022 07:03

Другие вопросы по теме