Въведение в генерирането на тестови данни

Тестовите данни са всеки вход, даден на модел за машинно обучение за тестване на неговата производителност и надеждност. За да се получат моделите за машинно обучение с отлична производителност, важно е Data Scientist да го обучава с всички възможни вариации на данните и след това да изпробва същия модел още по-разнообразни и сложни, но всеобхватни данни. Често става трудно да се включат всички сценарии и вариации в данните от изпитванията, получени след разделянето на изпита на влака. Следователно става важно да се създаде набор от данни с всички обхванати случаи на използване, които могат най-добре да измерват ефективността на нашия модел. Процесът на генериране на такъв набор от данни е известен като Тестово генериране на данни.

Правила за генериране на тестови данни при машинно обучение

В днешния свят, като сложността се увеличава с всеки изминал ден и продължителността на доставката намалява, учените трябва да подготвят възможно най-добрите модели в най-кратки срокове. Създадените модели обаче стават само най-ефективните модели, след като са тествани върху всички възможни сценарии. Всички тези сценарии може да не са възможни, за да може ученият с данни да разполага със себе си, и следователно може да се наложи да създаде някои синтетични данни за тестване на моделите.

Следователно, за да създадете тези синтетични набори от данни, има някои видове правила или насоки, които трябва да имате предвид:

  1. Трябва да наблюдавате статистическото разпределение на всяка функция в оригиналния или реалния набор от данни. Тогава съответно трябва да създадем тестовите данни със същите статични разпределения.
  2. Трябва да разберем ефекта от взаимодействието, което характеристиките имат един върху друг или върху зависимата променлива. Под това искаме да кажем, че трябва да запазим отношенията между променливите. Погледнете едноличните, двувариантни отношения и се опитайте да имате същите отношения, когато създавате тестовите данни.
  3. Генерираните данни за предпочитане трябва да са случайни и нормално разпределени.
  4. В случая на алгоритмите за класификация трябва да контролираме броя на наблюденията във всеки клас. Можем или наблюденията да бъдат разпределени еднакво, за да улесним тестването, или да имаме повече наблюдения в един от класовете.
  5. Случайният шум може да бъде инжектиран в данните за тестване на ML модела върху аномалии.
  6. Също така трябва да запазим скалата на стойностите и разликите в характеристиките на тестовите данни, т.е. стойностите на характеристиката трябва да бъдат изобразени правилно. Например стойностите на възрастта трябва да са около скобата 0-100, а не някакво число в хиляди.
  7. Ще се нуждаем от изключително богат и достатъчно голям набор от данни, който може да обхване всички сценарии на тестовите случаи и всички сценарии за тестване. Лошо проектираните данни от теста може да не изпробват всички възможни тестове или реални сценарии, които ще възпрепятстват работата на модела.
  8. Трябва да генерираме набора от данни достатъчно голям, така че не само производителността, но и стрес тестовете да се правят на моделната и софтуерната платформа.

Как да генерирам тестови данни?

Като цяло тестовите данни са хранилище от данни, които се генерират програмно. Някои от тези данни могат да бъдат използвани за тестване на очакваните резултати от модела на машинно обучение. Тези данни могат също да бъдат използвани за тестване на способността на машинния модел на обучение да се справи с външни хора и невиждани ситуации, дадени като вход към модела. Важно е да знаете какъв вид тестови данни трябва да бъдат генерирани и с каква цел.

След като знаем това, можем да следваме някой от следните методи за генериране на тестовите данни:

1. Можем да генерираме ръчно тестовите данни според познанията ни в областта и вида тестове, които трябва да направим на конкретен модел на машинно обучение. Можем да използваме excel за генериране на тези видове набори от данни.

2. Можем също да опитаме и да копираме огромни парчета от данни, които са ни на разположение в производствена среда, да направим необходимите промени в него и след това да тестваме моделите за машинно обучение.

3. Има много инструменти, предлагани на пазара безплатно или платени, които можем да използваме за създаване на тестови набори от данни.

4. Тестовите набори от данни също могат да бъдат генерирани с помощта на R или Python. Има няколко пакета като фейкър, които могат да ви помогнат в генерирането на синтетични набори от данни.

Предимство на генерирането на тестови данни

Въпреки че данните от теста са генерирани по някакъв начин и не са реални, това все още е фиксиран набор от данни, с фиксиран брой проби, фиксиран модел и фиксирана степен на разделяне на класа. Все още има няколко предимства, които генерирането на тестови данни предоставя:

1. Много от организациите може да не им е удобно да споделят чувствителните данни на своите потребители на своите доставчици на услуги, тъй като това може да наруши законите за сигурност или поверителност. В тези случаи генерираните тестови данни могат да бъдат полезни. Той може да възпроизведе всички статистически свойства на реални данни, без да излага реални данни.

2. Използвайки генерираните данни от теста, можем да включим сценарии в данните, с които все още не сме се сблъсквали, но очакваме или може да се сблъскаме в близко бъдеще.

3. Както беше обсъдено по-горе, генерираните данни ще запазят едновариантните, двувариантните и многовариантните връзки между променливите заедно със запазването само на специфични статистически данни.

4. След като получим нашия метод за генериране на данни, става лесно да създадем всякакви тестови данни и да спестим време както при търсене на данни, така и при проверка на производителността на модела.

5. Данните от теста ще предоставят на екипа така необходимата гъвкавост да коригира генерираните данни както и когато е необходимо, за да подобри модела.

заключение

В заключение, добре проектираните данни за тестване ни позволяват да идентифицираме и коригираме сериозни недостатъци в модела. Наличието на достъп до висококачествени набори от данни за тестване на вашите модели за машинно обучение ще помогне изключително за създаването на здрав и безупречен AI продукт. Генерирането на набори от данни за синтетични тестове идва като предимство в днешния свят, където е поверителността

Препоръчителни статии

Това е ръководство за генериране на тестови данни. Тук обсъждаме правилата и как да генерираме тестови данни с техните предимства. Може да разгледате и следните статии, за да научите повече -

  1. Тестване на Fuzz
  2. Машинно обучение за наука на данни
  3. Инструменти за научни данни
  4. Технологии за големи данни

Категория: