colab: name 'metadata' is not defined
Google Colab (в Synthetic Data Vault) не видит метаданные:
from sdv.single_table import CTGANSynthesizer
synthesizer = CTGANSynthesizer(metadata.csv)
synthesizer.fit(data.csv)
NameError Traceback (most recent call last)
<ipython-input-14-cd8dfb16b726> in <cell line: 3>()
1 from sdv.single_table import CTGANSynthesizer
2
----> 3 synthesizer = CTGANSynthesizer(metadata.csv)
4
5 synthesizer.fit(data.csv)
NameError: name 'metadata' is not defined
Файл metadata.csv. Перезагружал и с другими файлами и отдельно, не помогает.
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
from sdv.single_table import CTGANSynthesizer
synthesizer = CTGANSynthesizer(metadata.csv)
Я так понимаю, "metadata.csv" - это файл с данными формата csv
. Тогда нужно сделать следующее:
- Прочитать файл "metadata.csv" в
Pandas.DataFrame
:
import pandas as pd
my_dataframe = pd.read_csv("metadata.csv")
- Создать из датафрейма объект метаданных:
from sdv.metadata import Metadata
metadata = Metadata.detect_from_dataframe(
data=my_dataframe,
table_name='hotel_guests')
- Наконец-то использовать эти метаданные:
from sdv.single_table import CTGANSynthesizer
synthesizer = CTGANSynthesizer(metadata)
Если я правильно понял документацию.
P.S. Что касается собственно ошибки.
----> 3 synthesizer = CTGANSynthesizer(metadata.csv)
NameError: name 'metadata' is not defined
С точки зрения Питона вы здесь как будто пытаетесь обращаться к полю csv
переменной metadata
, которая у вас в коде не описана. Поэтому такая ошибка.