Megosztás a következőn keresztül:


Metaadatok szerkesztése

Fontos

A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.

2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.

A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.

Egy adatkészlet oszlopainak metaadatait szerkeszti

Kategória: Adatátalakítás /-manipuláció

Megjegyzés

A következőkre vonatkozik: Machine Learning Studio (klasszikus)

Hasonló húzással használható modulok érhetők el Azure Machine Learning tervezőben.

A modul áttekintése

Ez a cikk azt ismerteti, hogyan használhatja a Machine Learning Studio Metaadatok szerkesztése modulját az adatkészlet oszlopaihoz társított metaadatok változására. Az adatkészletben az értékek és az adattípusok ténylegesen nem módosulnak; a metaadatok változásai a Machine Learning, amelyek az oszlop használatát jelzik az lefelé irányuló összetevők számára.

A metaadatok jellemző változásai a következők lehetnek:

  • Logikai vagy numerikus oszlopok kategorikus értékekként való kezelése

  • Annak jelzése, hogy melyik oszlop tartalmazza az osztálycímkét , vagy a kategorizálni vagy előrejelezni kívánt értékeket

  • Oszlopok megjelölése jellemzőkként

  • Dátum-/időértékek numerikus értékre vagy fordítva

  • Oszlopok átnananálása

A Metaadatok szerkesztése mindig használható, amikor módosítania kell egy oszlop definícióját, általában egy lefelé irányuló modul követelményeinek megfelelően. Egyes modulok például csak bizonyos adattípusokkal működnek, vagy jelzőket igényelnek az oszlopokon, például IsFeatureIsCategoricalvagy .

A szükséges művelet végrehajtása után visszaállíthatja a metaadatokat az eredeti állapotába.

Metaadatok szerkesztése konfigurálása

  1. A Machine Learning Studióban (klasszikus) adja hozzá a Metaadatok szerkesztése modult a kísérlethez, és kösse össze a frissíteni kívánt adatkészletet. Ezt az Adatátalakítás alatt, a Manipulálás kategóriában találja .

  2. Kattintson a Launch the column selector (Oszlopválasztó indítása) elemre , és válassza ki a megfelelő oszlopot vagy oszlopkészletet. Az oszlopokat kiválaszthatja egyenként, név vagy index alapján, vagy típus szerint is.

    Tipp

    Segítségre van szüksége az oszlopindexek használatával? Lásd a Műszaki megjegyzések szakaszt .

  3. Válassza az Adattípus lehetőséget , ha más adattípust kell hozzárendelni a kijelölt oszlopokhoz. Bizonyos műveletekhez szükség lehet az adattípus módosítására: ha például a forrásadatkészletben szövegként kezelt számok vannak, a matematikai műveletek használata előtt numerikus adattípusra kell módosítania őket.

    • A támogatott adattípusok a következőek: String, Integer, Floating point, Boolean, DateTimeés TimeSpan.

    • Ha több oszlop van kijelölve, a metaadatok módosításait az összes kijelölt oszlopra alkalmaznia kell. Tegyük fel például, hogy 2-3 numerikus oszlopot választ. Mindegyiket módosíthatja sztring adattípusra, és átnevezheti őket egyetlen műveletben. Egy oszlopot azonban nem módosíthat sztring adattípusra, és egy másik oszlopot lebegő értékről egész számra.

    • Ha nem ad meg új adattípust, az oszlop metaadatai változatlanok maradnak.

    • Az adattípus-módosítások csak az adatkészlethez társított metaadatokat és az adatok lefelé irányuló műveletekben való kezelését érintik. A tényleges oszlopértékek csak akkor módosulnak, ha más műveletet (például kerekítést) hajt végre az oszlopon. Az eredeti adattípust bármikor helyreállíthatja a Metaadatok szerkesztése használatával az oszlop adattípusának alaphelyzetbe állításával.

    Megjegyzés

    Ha bármilyen számtípust DateTime típusúra módosít, hagyja üresen a DateTime formátum mezőt. Jelenleg nem lehet megadni a céladatformátumot.

Machine Learning a dátumok számokká vagy számokká konvertálhatók, ha a számok kompatibilisek a támogatott .NET DateTime objektumok egyikének számával. További információkért lásd a Műszaki megjegyzések szakaszt .

  1. Válassza a Kategorikus lehetőséget annak megadásához, hogy a kiválasztott oszlopokban lévő értékeket kategóriákként kell kezelni.

    Előfordulhat például, hogy van egy olyan oszlopa, amely a 0,1 és a 2 számokat tartalmazza, de tudja, hogy a számok valójában a "Dohányzó", a "Nem dohányzó" és az "Ismeretlen" számokat jelentik. Ebben az esetben az oszlop kategorikusként való megjelölése biztosítja, hogy az értékek ne numerikus számításokban, csak az adatok csoportosítására használhatók.

  2. A Mezők lehetőséget akkor használhatja, ha módosítani szeretné, Machine Learning a modellben található adatokat.

    • Funkció: Ezzel a beállítással megjelölheti az oszlopokat funkcióként olyan modulokkal való használatra, amelyek csak funkcióoszlopokkal működnek. Alapértelmezés szerint a rendszer kezdetben minden oszlopot jellemzőként kezel.

    • Címke: Ezzel a beállítással jelölhető meg a címke (más néven kiszámítható attribútum vagy célváltozó). Számos modul megköveteli, hogy legalább egy (és csak egy) címkeoszlop legyen jelen az adatkészletben.

      Sok esetben Machine Learning, hogy egy oszlop tartalmaz-e osztálycímkét, de ezen metaadatok beállításával biztosíthatja az oszlop helyes azonosítását. Ennek a beállításnak a beállítása nem módosítja az adatértékeket, csak azt, ahogyan egyes gépi tanulási algoritmusok kezelik az adatokat.

    • Súlyozás: Ezt a lehetőséget numerikus adatokkal használva jelezheti, hogy az oszlopértékek a gépi tanulási pontozási vagy betanítási műveletekhez használt súlyokat jelölik. Egy adatkészletben csak egy súlyozási oszlop lehet, és az oszlopnak numerikusnak kell lennie. Ez a lehetőség csak a következő modellekben működik: Two-Class Logisztikai regresszió, Two-Class támogatóvektor-gép és Two-Class Neurális hálózat.

    Tipp

    Vannak olyan adatok, amelyek nem illenek ezekbe a kategóriákba? Az adatkészlet tartalmazhat például olyan értékeket, mint például az egyedi azonosítók, amelyek nem hasznosak változóként. Bizonyos esetekben az adattitkok problémákat okozhatnak, ha egy modellben használják.

    Szerencsére "a kép alatt" Machine Learning az összes adatot, így nem kell törölnie ezeket az oszlopokat az adatkészletből. Ha bizonyos speciális oszlopkészleten kell műveleteket végrehajtania, csak ideiglenesen távolítsa el az összes többi oszlopot az Adathalmaz oszlopainak kijelölése modullal . Később az Oszlopok hozzáadása modullal egyesítheti az oszlopokat az adatkészlettel.

  3. Az alábbi beállításokkal törölje a korábbi kijelöléseket, és állítsa vissza a metaadatokat az alapértelmezett értékekre.

    • Funkció törlése: Ezzel a beállítással eltávolíthatja a funkciójelölőt.

      Mivel a rendszer kezdetben az összes oszlopot jellemzőként kezeli, a matematikai műveleteket végző modulok esetében előfordulhat, hogy ezt a lehetőséget kell használnia, hogy megakadályozza a numerikus oszlopok változóként való használatát.

    • Címke törlése: Ezzel a beállítással eltávolíthatja a címke metaadatait a megadott oszlopból.

    • Pontszám törlése: Ezzel a beállítással eltávolíthatja a pontszám metaadatait a megadott oszlopból.

      Az oszlopok pontszámként való explicit megjelölésének lehetősége jelenleg nem érhető el a Machine Learning. Egyes műveletek azonban azt eredményezik, hogy egy oszlop belső pontszámként van megjelölve. Emellett egy egyéni R-modul pontértékeket is kihozhat.

    • Súly törlése: Ezzel a beállítással eltávolíthatja a súlyozási metaadatokat a megadott oszlopból.

  4. Az Új oszlopnevek mezőbe írja be a kiválasztott oszlop vagy oszlopok új nevét.

    • Az oszlopnevek csak az UTF-8 kódolás által támogatott karaktereket használhatnak. Üres sztringek, nullértékek vagy teljes egészében szóközökből álló nevek nem engedélyezettek.

    • Több oszlop átnevezéséhez írja be a neveket vesszővel elválasztott listaként az oszlopindexek sorrendjében.

    • Az összes kijelölt oszlopot át kell nevezni. Oszlopok nem hagyhatóak ki és nem hagyhatóak ki.

    Tipp

    Ha több oszlopot kell átneveznie, beilleszthet egy előre előkészített vesszővel tagolt sztringet. Vagy használja az R-szkript végrehajtása vagy az Apply SQL Transformation (Átalakítás végrehajtása) modult. A kódokat és példákat a Műszaki megjegyzések szakaszban talál.

  5. Futtassa a kísérletet.

Példák

A Metaadatok szerkesztése az adatok előkészítéséhez és a modellek elkészítéséhez való használatára vonatkozó példákért lásd a Azure AI Gallery:

  • Mellrák észlelése: Az oszlopnevek az adatkészlethez való csatlakozás után módosulnak. A Patient ID (Betegazonosító) oszlop is kategorikusként van megjelölve, hogy ne egy számításban legyen használva, hanem sztringértékként kezelve.

  • Twitter-hangulatelemzés: Bemutatja, hogyan használható a Metaadatok szerkesztése annak biztosítására, hogy az oszlopok funkciókként legyen kezelve. A kísérlet későbbi része törli a funkció metaadatait.

  • Adatfeldolgozás és elemzés: Ebben a mintában a Metaadatok szerkesztése segítségével definiálhat új oszlopneveket a weblapról betöltött adatokhoz.

Technikai megjegyzések

Ez a szakasz ismert problémákat, gyakori kérdéseket és néhány gyakori áthidaló megoldást tartalmaz.

Ismert problémák

  • Az egyéni metaadatok nem támogatottak. Nem lehet egyéni metaadatokat használni a metaadatokban Machine Learning az oszlop metaadatainak szerkesztésére a Metaadatok szerkesztése kívül. Nem adhat hozzá például olyan metaadatokat, amelyek azt jelzik, hogy egy oszlop egyedi azonosító, vagy nem adhat hozzá más leíró attribútumokat. Machine Learning csak az R-hez használt metaadat-attribútumokat támogatja a tényezők, jellemzők, súlyok és címkék kezeléshez.

  • Nem támogatott adattípusok. A következő numerikus adattípusok nem támogatottak: Dupla (decimális) és TimeStamp.

  • Pontszámoszlopok azonosítása. A Metaadatok szerkesztése lehetőség jelenleg nem tartalmaz pontszámokat tartalmazó oszlopokat. Az R-szkript végrehajtása modullal azonban az alábbihoz hasonló szkriptekkel jelezheti, hogy egy oszlop pontszámokat tartalmaz:

    dataset <- maml.mapInputPort(1)   
    attr(dataset$x, "label.type")= "True Labels"  
    attr(dataset$y, "feature.channel")= "Multiclass Classification Scores"  
    attr(dataset$y, "score.type")= "Assigned Labels"  
    maml.mapOutputPort("dataset");
    
  • Datetime-formátumokkal kapcsolatos problémák. Az adatforrások datetime által használt mögöttes adattípus Machine Learning.POSIXct

    Ha egy oszlop összes dátumát az alapértelmezett elemző is elemezheti, a rendszer importálja az oszlopot, és sztringadatként kezeli.

    Ha egy oszlopot a DateTime Metaadatok szerkesztése modullal próbál konvertálni, és hibaüzenetet kap, az azt jelenti, hogy a dátum nem olyan formátumú, amelyet a .Net alapértelmezés szerint elfogad. Ebben az esetben azt javasoljuk, hogy az R-szkript végrehajtása vagy az Apply SQL Transformation (Transzformáció alkalmazása) modul használatával alakítsa át az oszlopot egy olyan formátumra, amelyet az alapértelmezett elemző elfogad.

    DateTime.Parse metódus

    Szabványos dátum- és időformátum sztringek

Oszlopok kiválasztása oszlopindexek használatával

Nagyon nagy adatkészletek esetében nem megvalósítható manuálisan begépelni vagy kiválasztani az összes oszlopnevet. Az oszlopindex használata egy parancsikon, amely számos oszlop megadására használható. Ez a szakasz néhány tippet tartalmaz az oszlopindexek használatával kapcsolatban.

Nyissa meg például az Oszlopválasztót, kattintson a WITH RULES (SZABÁLYOKKAL) elemre, válassza az Include (Be) és az column index (oszlopindexek) lehetőséget, majd írjon be egy tartományt vagy számsorozatot az alábbiak szerint:

  • Írja be 1-20 a parancsot az első 20 oszlop kiválasztásához
  • Az 5-20 5-östől kezdődő és a 20. oszlopot is tartalmazó oszloptartomány kiválasztásához írja be a következőt: .
  • A felesleges 1,5,10,15 oszlopok kiválasztásához írja be a következőt:
  • Az 1-2, 5 1., 2. és 5. oszlop kiválasztásához írja be a következőt: 3. és 4. oszlop kihagyása
  • Nem írhat be olyan indexértéket, amely nagyobb, mint az adatkészletben elérhető oszlopok száma.

Az alábbi kísérletek néhány további módszert mutatnak be több oszlop kiválasztására és módosítására:

  • Bináris besorolás: Mellrák észlelése: Az eredeti adatok számos üres oszlopot tartalmaznak, amelyek egy táblázatból való importálás során jönnek létre. A további oszlopok eltávolítása az Adatok felosztása modul 1–11 . oszlopának megadásával lett eltávolítva .

  • Adatkészlet letöltése az UCI-ból: Bemutatja, hogyan adhatja meg listaként az oszlopneveket az Adatok manuális beírása modullal, majd hogyan szúrhatja be a listát fejlécként az adatkészletbe az R-szkript végrehajtása modullal.

  • Reguláris kifejezés oszlopok kijelölése: Ez a kísérlet egy egyéni modult biztosít, amellyel reguláris kifejezést alkalmazhat az oszlopnevekre. Ezt a modult használhatja bemenetként a metaadatok szerkesztéséhez.

Alternatív módszerek az oszlopnevek módosítására

Ha sok oszlopot kell átnevezni, használhatja az R-szkript végrehajtása modult vagy az Apply SQL Transformation (Átalakítás alkalmazása) modult.

R-szkript használata

A függvények által Machine Learning adatkészletek data.frame fájlként vannak áthozva ebbe a modulba, ami azt jelenti, hogy az R függvény és más kapcsolódó R-függvények colnames() használatával listába sorolhatja vagy módosíthatja az oszlopneveket.

Az alábbi kód például létrehozza az új oszlopnevek listáját, majd alkalmazza a listát a bemeneti adatkészletre új oszlopfejlécek létrehozásához.

irisdata <- maml.mapInputPort(1);    
newnames <- c("CLASS", "SEPAL  LENGTH", "SEPAL WIDTH", "PETAL LENGTH", "PETAL WIDTH");
colnames(irisdata) = newnames
maml.mapOutputPort("irisdata");

Az alábbi példa egy reguláris kifejezést használ az R-ban a megadott sztring összes példányának globális lecserélését a oszlopnevében irisdata:

# Map input dataset to variable
newirisdata <- maml.mapInputPort(1) # class: data.frame
names(newirisdata) <- gsub("col", "iris", names(newirisdata))
maml.mapOutputPort("newirisdata");

A SQL

Az alábbi példa bemenetként egy adatkészletet használ, majd az AS kulcsszóval módosítja az oszlopneveket .

SELECT col1 as [C1], 
  col2 as [C2], 
  col3 as [C3], 
  col4 as [C4],
  col5 as [C5] 
FROM t1;

Várt bemenet

Név Típus Description
Adathalmaz Adattábla Bemeneti adatkészlet

Modulparaméterek

Name Tartomány Típus Alapértelmezett Description
Oszlop Bármelyik ColumnSelection (Oszlopválasztás) Válassza ki az oszlopokat, amelyekre a módosításokat alkalmaznia kell.
Adattípus Lista Metaadat-szerkesztő adattípusa Változatlan Adja meg az oszlop új adattípusát.
Kategorikus Lista Metaadat-szerkesztő kategorikus Változatlan Jelezze, hogy az oszlop kategorikusként legyen-e megjelölve.
Mezők Lista Metaadat-szerkesztő jelzője Változatlan Tanulási algoritmusokkal megadhatja, hogy az oszlopot szolgáltatásnak vagy címkének kell-e tekinteni.
Új oszlopnevek bármelyik Sztring Írja be az oszlopok új nevét.

Kimenet

Név Típus Description
Eredményadatkészlet Adattábla Módosított metaadatokkal kapcsolatos adatkészlet

Kivételek

Kivétel Description
0003-as hiba Kivétel történik, ha egy vagy több bemeneti adatkészlet null vagy üres.
0017-es hiba Kivétel történik, ha egy vagy több megadott oszlop típusa az aktuális modul által nem támogatott.
0020-as hiba Kivételt képez, ha a modulnak átadott egyes adatkészletek oszlopainak száma túl kicsi.
0031-es hiba Kivétel történik, ha az oszlopkészletben lévő oszlopok száma kisebb a szükségesnél.
0027-es hiba Kivétel történik, ha két objektumnak azonos méretűnek kell lennie, de nem azok.
0028-as hiba Kivétel történik, ha az oszlopkészlet ismétlődő oszlopneveket tartalmaz, és nem engedélyezett.
0037-es hiba Kivétel történik, ha több címkeoszlop van megadva, és csak egy engedélyezett.

A Studio (klasszikus) moduljaival kapcsolatos hibák listájáért tekintse meg a Machine Learning hibakódokat.

Az API-kivételek listájáért tekintse meg a Machine Learning REST API hibakódokat.

Lásd még

Manipuláció
Adatátalakítás
A–Z modullista