Konverze arff do csv

Převod souboru ARFF do CSV

Převeďte datové sady Weka ARFF do CSV pomocí Weka nebo Pythonu a zkontrolujte schema a ztrátu missing values.

Vytvořte soubory CSV online

Soubory ARFF zatím číst neumíme, takže tenhle převod nenabízíme. Pokud dokážete svou práci uložit do některého z těchto formátů nebo dalších, CSV z něj vyrobíme:

Jak převést soubor arff do formátu csv

Týmy převádějí datové sady Weka, když Excel, importér databáze nebo spolupracovník očekává plochou tabulku CSV namísto deklarací ARFF. CSV se snadněji kontroluje a vyměňuje, ale převodem se odstraní informace o schématu uložené v hlavičce ARFF.

Formáty ARFF a CSV

ARFF (Attribute-Relation File Format) je formát datové sady v prostém textu používaný především softwarem pro strojové učení Weka. Soubor ARFF obsahuje hlavičku s názvem relace a deklaracemi @ATTRIBUTE, po nichž následuje sekce @DATA obsahující záznamy.

Atributy mohou být číselné, nominální, řetězcové, datové a ve Weka také relační. Nominální deklarace, jako například @ATTRIBUTE class {yes,no}, definuje typ pole i jeho povolené hodnoty. ARFF může také ukládat řídké řádky, například {0 1,3 blue}, kde vynechané hodnoty používají výchozí hodnotu danou formátem.

CSV ukládá plochou tabulku jako řádky oddělené oddělovačem, obvykle s názvy sloupců v prvním řádku. Tabulkové aplikace, pandas, R, nástroje pro import do databází a mnoho datových portálů přijímají CSV přímo. CSV nemá standardní deklarace typů, seznamy nominálních hodnot, název relace, komentáře ani zápis řídkých řádků.

Převod pomocí Weka

Weka je nejspolehlivější desktopový převodník, protože načítá hlavičky ARFF, hodnoty v uvozovkách, chybějící hodnoty, nominální atributy a řídké instance.

  1. Otevřete Weka a spusťte Explorer.
  2. Na kartě Preprocess vyberte Open file... a zvolte soubor .arff.
  3. Zkontrolujte seznam atributů a počet instancí a ověřte, že Weka načetla očekávanou datovou sadu.
  4. Vyberte Save..., zvolte CSV data files (*.csv), zadejte výstupní název, například dataset.csv, a uložte soubor.
  5. Otevřete výsledek v textovém editoru nebo v zamýšleném cílovém programu a ověřte řádek záhlaví, oddělovač, kódování znaků a reprezentaci chybějících hodnot.

Pro opakovatelné převody spusťte CSV saver Weka v terminálu. Nahraďte /path/to/weka.jar cestou k nainstalovanému souboru JAR Weka:

java -cp /path/to/weka.jar weka.core.converters.CSVSaver -i input.arff -o output.csv

V systému Windows uzavřete cesty obsahující mezery do uvozovek, například "C:\Program Files\Weka-3-8\weka.jar". Pokud vaše verze vyžaduje další knihovny, použijte dodaný launcher instalace Weka nebo její konfiguraci classpath.

Převod pomocí Pythonu nebo online služby

pandas nativně nečte soubory ARFF; potřebuje parser ARFF. U běžných hustých souborů ARFF nainstalujte liac-arff a pandas:

pip install liac-arff pandas

import arff
import pandas as pd

with open("input.arff", encoding="utf-8") as source:
    dataset = arff.load(source)

columns = [name for name, _ in dataset["attributes"]]
pd.DataFrame(dataset["data"], columns=columns).to_csv("output.csv", index=False)

Řídké soubory ARFF před použitím parseru Pythonu v produkci otestujte; Weka je bezpečnější volbou, pokud jsou použity řídké instance, neobvyklé uvozování nebo definice atributů specifické pro Weka.

U malého souboru bez důvěrných údajů mohou služby v prohlížeči, jako jsou Zamzar a Convertio, nabízet převod z ARFF do CSV. Před nahráním ověřte aktuální podporu ARFF a podmínky uchovávání dat. Nenahrávejte zákaznické, zdravotnické, finanční, výzkumné ani proprietární datové sady do externí převodní služby.

Kontroly kompatibility

Původní soubor ARFF zachovejte. CSV zachovává hodnoty, ale ztrácí deklarované typy, názvy relací, komentáře atributů, omezení nominálních hodnot a další metadata hlavičky. Pokud příjemci musí rozlišovat čísla, data, kategorie a volný text, ponechte hlavičku ARFF nebo schéma zdokumentujte samostatně.

Chybějící hodnoty ARFF se běžně zapisují jako ?. V závislosti na převodníku může výstup CSV obsahovat prázdné pole, ? nebo jinou značku. Před importem do softwaru, který s prázdnými poli, NA a otazníky zachází odlišně, to ověřte.

Pole CSV obsahující čárky, uvozovky nebo zalomení řádků musí být podle pravidel CSV uzavřena v uvozovkách. Nepřevádějte ARFF nahrazováním čárek ani rozdělováním řádků pomocí základních textových příkazů; tyto metody poškozují hodnoty v uvozovkách a nedokážou rozbalit řídké řádky.

Některé instalace tabulkových aplikací očekávají kvůli místnímu nastavení místo čárky středník. Pokud se po otevření souboru zobrazí sloupce v jediné buňce, použijte dialog tabulkové aplikace pro import textu a výslovně vyberte oddělovač namísto ruční úpravy CSV.

ARFF vs CSV: srovnání formátů

Jak si formáty ARFF a CSV stojí v nejdůležitějších vlastnostech pro tento převod.

Srovnání souborových formátů ARFF a CSV
Vlastnost .ARFF Attribute-Relation File Format .CSV Comma-Separated Values
Čitelný jako prostý text Ano Ano
Datové typy Typovaný Typovaný
Vnořené struktury Ne Ne
Vzorce Ne Ne
Více tabulek nebo listů Ne Ne
Typická velikost souboru Malé Malé
Otevřený standard Částečně otevřený Ano
Nejvhodnější pro Výměna dat Výměna dat
Vývojář University of Waikato / WEKA project —
MIME typ text/arff text/csv

Často kladené otázky

Zachovají se při převodu ARFF do CSV typy atributů a seznamy nominálních hodnot?

Ne. CSV zachovává tabulkové hodnoty, ale ne název relace ARFF, deklarace atributů, datové typy ani předdefinované seznamy nominálních hodnot, takže při importu CSV může být nutné tyto údaje znovu vytvořit.

Změní se při exportu ARFF do CSV chybějící hodnoty a řídká data?

Chybějící hodnoty mohou být zapsány pomocí reprezentace CSV používané exportujícím softwarem, zatímco řídké záznamy ARFF se rozšíří na běžné řádky s hodnotou v každém sloupci. Před použitím k analýze výsledek zkontrolujte, zejména pokud by prázdné buňky mohly být zaměněny za skutečný prázdný text.

Budou řetězce ARFF obsahující čárky nebo uvozovky v CSV fungovat správně?

Měly by být uzavřeny a escapovány podle pravidel CSV, ale nesprávný export může jednu hodnotu ARFF rozdělit do více sloupců. To se běžně stává u textových nebo nominálních hodnot obsahujících čárky, uvozovky nebo zalomení řádků.

Lze převést CSV zpět na ARFF bez ztráty informací?

Ne bez obnovení informací, které CSV neobsahuje, například typů atributů, nominálních kategorií, názvu relace a některých konvencí pro chybějící hodnoty. Data lze obvykle rekonstruovat, ale původní schéma ARFF a formátování se automaticky nemusí obnovit.

Podobné .arff konverze

Reverzní konverze

Konverze do .csv
z jiných formátů

Sdílejte na sociálních sítích: