Trendande ämnen
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Andrew Ngs team gjorde en gång ett stort misstag i en forskningsartikel.
Och det hände på grund av att datan slumpmässigt delades upp.
Så här gick det till (med lösning):
Det är vanligt att generera tränings- och valideringsset med hjälp av slumpmässig delning.
Men i många situationer kan det vara dödligt för modellbyggande.
Överväg att bygga en modell som genererar bildtexter för bilder.
På grund av språkets inneboende natur kan varje bild ha många olika bildtexter.
- Bild-1 → Bildtext-1, Bildtext-2, Bildtext-3, etc.
- Bild-2 → Bildtext-1, Bildtext-2, Bildtext-3, etc.
Kolla det här 👇

Om vi använder slumpmässig delning kommer samma datapunkt (bild) att vara tillgänglig i tränings- och valideringsuppsättningarna.
Därför utvärderar vi modellen på de instanser som den har tränats på.
Detta är ett exempel på dataläckage (även kallat gruppläckage), vilket resulterar i överanpassning!

Samma sak hände i Andrew Ngs artikel, där de förberedde en medicinsk datamängd för att upptäcka lunginflammation.
- Totalt antal bilder = 112k
- Totalt antal patienter = 30 000
På grund av slumpmässig uppdelning fanns samma patients bilder tillgängliga både i tränings- och valideringsseten.
Detta ledde till dataläckage, och valideringspoängen såg mycket bättre ut än de borde ha gjort.
Detta är deras första artikel👇

Gruppblandningsdelningen löste detta.
Det finns två steg:
1) Gruppera alla träningsinstanser som motsvarar en bild.
2) Efter gruppering måste HELA GRUPPEN (alla exempel på en bild) slumpmässigt tilldelas tåget eller valideringsuppsättningen.
Detta förhindrar gruppläckage.

Om du använder Sklearn implementerar GroupShuffleSplit denna idé.
Som exempel, betrakta oss att vi har följande datamängd:
- X1 och x2 är funktionerna.
- y är målvariabeln.
- grupp betecknar grupperingskriterierna.
Kolla det här 👇

Först importerar vi GroupShuffleSplit från sklearn och instansierar objektet.
Därefter låter split()-metoden för detta objekt oss utföra gruppdelning. Den returnerar en generator, och vi kan packa upp den för att få följande resultat:
- Datapunkterna i grupperna "A" och "C" är tillsammans i träningsmängden.
- Datapunkterna i grupp "B" är samlade i validerings-/testuppsättningen.
Kolla det här 👇

Några dagar senare uppdaterade Andrew Ngs team artikeln efter att ha använt samma grupp shuffle split-strategi för att säkerställa att samma patienter inte hamnade i både tränings- och valideringsseten.
👉 Över till dig: Har du stött på det här problemet tidigare?

18,52K
Topp
Rankning
Favoriter

