[파이썬][라이브러리] 모델 학습에 필요한 가짜 유저 정보 만들기
데이터가 필요한데 구할수가 없어
- 어느날 추천시스템을 구현하게 될 날이 생겼다.
구현에 필요한 데이터가 너무 부족해서 직접 데이터를 구하거나, 만들어야하는 상황에 쳐했을 때 해당 라이브러리가 많이 도움이 되었다.
프로토타입을 제작중이여서 해당 라이브러리를 통해 보다 빠르게 작업에 들어갈 수 있었다.
++ 생각보다 퀄리티가 은근 좋다. (다국어를 지원한다는 점!)
Faker
- 시제품 개발 또는 테스트 모델에 사용되는 데이터가 필요한 경우 사용되는 라이브러리이다.
- 직접 가짜 데이터를 수집하는 경우도 있지만, 해당 데이터가 없거나 또는 빠르게 테스트를 해야하는 경우 매우 용이하다.
설치
pip install Faker
기본적인 예시
from faker import Faker
fake = Faker()
fake.name()
# 'Alicia Knapp'
fake.address()
# '35926 Christopher Forks Suite 109\nShannontown, TN 07685'
fake.copany()
# 'Weber-Gaines'
Faker 명령어
dir(fake)
'''
'aba',
'add_provider',
'address',
'administrative_unit',
'am_pm',
'android_platform_token',
'ascii_company_email',
'ascii_email',
'ascii_free_email',
'ascii_safe_email',
'bank_country',
'bban',
'binary',
'boolean',
'bothify',
'bs',
'building_number',
'cache_pattern',
'catch_phrase',
'century',
'chrome',
'city',
'city_prefix',
'city_suffix',
'color',
'color_name',
'company',
'company_email',
'company_suffix',
'coordinate',
'country',
'country_calling_code',
'country_code',
'credit_card_expire',
'credit_card_full',
'credit_card_number',
'credit_card_provider',
'credit_card_security_code',
'cryptocurrency',
'cryptocurrency_code',
'cryptocurrency_name',
'csv',
'currency',
'currency_code',
'currency_name',
'currency_symbol',
'current_country',
'current_country_code',
'date',
'date_between',
'date_between_dates',
'date_object',
'date_of_birth',
'date_this_century',
'date_this_decade',
'date_this_month',
'date_this_year',
'date_time',
'date_time_ad',
'date_time_between',
'date_time_between_dates',
'date_time_this_century',
'date_time_this_decade',
'date_time_this_month',
'date_time_this_year',
'day_of_month',
'day_of_week',
'del_arguments',
'dga',
'domain_name',
'domain_word',
'dsv',
'ean',
'ean13',
'ean8',
'ein',
'email',
'factories',
'file_extension',
'file_name',
'file_path',
'filter_by_length',
'firefox',
'first_name',
'first_name_as_list',
'first_name_female',
'first_name_female_as_list',
'first_name_male',
'first_name_male_as_list',
'first_name_nonbinary',
'first_name_nonbinary_as_list',
'fixed_width',
'format',
'free_email',
'free_email_domain',
'future_date',
'future_datetime',
'generator_attrs',
'get_arguments',
'get_formatter',
'get_providers',
'hex_color',
'hexify',
'hostname',
'http_method',
'iana_id',
'iban',
'image',
'image_url',
'internet_explorer',
'invalid_ssn',
'ios_platform_token',
'ipv4',
'ipv4_network_class',
'ipv4_private',
'ipv4_public',
'ipv6',
'isbn10',
'isbn13',
'iso8601',
'items',
'itin',
'job',
'json',
'language_code',
'language_name',
'last_name',
'last_name_as_list',
'last_name_female',
'last_name_female_as_list',
'last_name_male',
'last_name_male_as_list',
'last_name_nonbinary',
'last_name_nonbinary_as_list',
'latitude',
'latlng',
'lexify',
'license_plate',
'linux_platform_token',
'linux_processor',
'local_latlng',
'locale',
'locales',
'localized_ean',
'localized_ean13',
'localized_ean8',
'location_on_land',
'longitude',
'mac_address',
'mac_platform_token',
'mac_processor',
'md5',
'military_apo',
'military_dpo',
'military_ship',
'military_state',
'mime_type',
'month',
'month_name',
'msisdn',
'name',
'name_female',
'name_male',
'name_nonbinary',
'nic_handle',
'nic_handles',
'null_boolean',
'numerify',
'opera',
'paragraph',
'paragraphs',
'parse',
'password',
'past_date',
'past_datetime',
'phone_number',
'port_number',
'postalcode',
'postalcode_in_state',
'postalcode_plus4',
'postcode',
'postcode_in_state',
'prefix',
'prefix_as_list',
'prefix_female',
'prefix_female_as_list',
'prefix_male',
'prefix_male_as_list',
'prefix_nonbinary',
'prefix_nonbinary_as_list',
'pricetag',
'profile',
'provider',
'providers',
'psv',
'pybool',
'pydecimal',
'pydict',
'pyfloat',
'pyint',
'pyiterable',
'pylist',
'pyset',
'pystr',
'pystr_format',
'pystruct',
'pytimezone',
'pytuple',
'random',
'random_choices',
'random_digit',
'random_digit_not_null',
'random_digit_not_null_or_empty',
'random_digit_or_empty',
'random_element',
'random_elements',
'random_int',
'random_letter',
'random_letters',
'random_lowercase_letter',
'random_number',
'random_sample',
'random_uppercase_letter',
'randomize_nb_elements',
'rgb_color',
'rgb_css_color',
'ripe_id',
'safari',
'safe_color_name',
'safe_domain_name',
'safe_email',
'safe_hex_color',
'secondary_address',
'seed',
'seed_instance',
'seed_locale',
'sentence',
'sentences',
'set_arguments',
'set_formatter',
'sha1',
'sha256',
'simple_profile',
'slug',
'ssn',
'state',
'state_abbr',
'street_address',
'street_name',
'street_suffix',
'suffix',
'suffix_as_list',
'suffix_female',
'suffix_female_as_list',
'suffix_male',
'suffix_male_as_list',
'suffix_nonbinary',
'suffix_nonbinary_as_list',
'swift',
'swift11',
'swift8',
'tar',
'text',
'texts',
'time',
'time_delta',
'time_object',
'time_series',
'timezone',
'tld',
'tsv',
'unique',
'unix_device',
'unix_partition',
'unix_time',
'upc_a',
'upc_e',
'uri',
'uri_extension',
'uri_page',
'uri_path',
'url',
'user_agent',
'user_name',
'uuid4',
'weights',
'windows_platform_token',
'word',
'words',
'year',
'zip',
'zipcode',
'zipcode_in_state',
'zipcode_plus4']
'''
- 위와 같이 굉장히 많은 함수들이 존재한다.
한글 예시
from faker import Faker
fake = Faker('ko')
print(fake.company)
# 하전
print(fake.name)
# 김예원