В Интернете доступно множество наборов данных, но позвольте мне упомянуть несколько удивительных ресурсов. Если вы уже связаны со мной в LinkedIn, возможно, вы видели этот список. Если вы не подключены, нажмите эту ссылку. Следующие сайты могут помочь вам получить необходимый набор данных:

Популярные репозитории открытых данных:

  1. Репозиторий машинного обучения UC Irvine: https://lnkd.in/f5CUDj7
  2. Наборы данных Kaggle: https://lnkd.in/fKWqVbw
  3. Наборы данных Amazon AWS: https://lnkd.in/fnVYnm5

Мета-порталы (в них перечислены репозитории открытых данных):

  1. Http://dataportals.org/
  2. Http://opendatamonitor.eu/
  3. Http://quandl.com/

Другие страницы со списком многих популярных репозиториев открытых данных:

  1. Список наборов данных машинного обучения в Википедии: https://lnkd.in/f6wujcB
  2. Вопрос Quora.com: https://lnkd.in/fuHPfFF
  3. Субреддит наборов данных: https://lnkd.in/fmqkisy

Что, если бы вы не смогли найти набор данных даже на этих сайтах? что бы вы сделали?

Вы бы обвиняли Интернет в том, что он не предоставил вам набор данных о ваших потребностях, или вы проклинали бы всю вселенную?

Что ж, я бы не стал делать то и другое, о чем говорилось выше. Я бы создал свой собственный набор данных и поверил бы мне, это не заняло бы больше 5 минут.

Теперь позвольте мне показать вам, как быстро создать свой собственный набор данных. Мы будем использовать пакет Python под названием Faker.

  1. Установите библиотеку Faker.
pip install faker

2. Импортируйте библиотеку.

from faker import Faker

3. Назначьте функцию Faker переменной и установите случайное начальное число.

fake = Faker()
fake.seed(4321)

Мы будем создавать набор данных об отелях. Чтобы сделать это руководство кратким и точным, мы создадим в общей сложности 8 столбцов, вы можете создавать их сколько угодно.

4. Назначьте каждой переменной пустой массив, чтобы мы могли вставить в него некоторые данные.

ID=[]
name=[]
phone=[]
age=[]
gender=[]
address=[]
checkin=[]
checkout=[]

5. Давайте вставим 100 записей для телефона, адреса, времени прибытия, оплаты и имени.

for _ in range(100):
 phone.append(fake.phone_number())
 address.append(fake.country())
 checkin.append(fake.date_time_ad())
 checkout.append(fake.date_time_ad())
 name.append(fake.name())

6. Мы должны вставить значения ID, возраста и пола отдельно. Идентификатор будет содержать данные от 1 до 100. В переменной age мы установим минимальный возраст, равный 8, и максимальный возраст, равный 80, также мы назначим размер как 100. Половая часть довольно сложна, потому что вы не можете назначать мужчин и женщин случайным образом. Кроме того, некоторые алгоритмы машинного обучения принимают только числа. Мы присвоим 0 и 1 мужчинам и женщинам, и соотношение будет 60:40 соответственно.

ID=pd.Series(range(1,101))
age=np.random.randint(8, high=80, size=100)
gender=np.random.choice([0, 1], size=100, p=[.6, .4])

7. Теперь мы успешно вставили данные в эти пустые массивы. Давайте назначим эти данные столбцам фрейма данных.

data= pd.DataFrame({‘Timestamp’:timestamp,’ID’:ID,’name’:name,’Phone number’:phone,’age’:age, ‘gender’:gender, ‘address’:address,’checkin’:checkin,’checkout’:checkout})

Вот и все! Мы успешно создали наш собственный набор данных.

Здесь вам может потребоваться исследовательский анализ данных, потому что набор данных недостаточно чистый, и вам нужно найти взаимосвязь переменных, выбросы и прочее. Но именно здесь вы узнаете самую важную часть науки о данных, то есть EDA.

Давайте займемся базовым EDA.

8. Замените 0 и 1 на мужчин и женщин соответственно.

data.gender.replace(1,’female’,inplace=True)
data.gender.replace(0,’male’,inplace=True)

9. Преобразуйте регистрацию заезда и выезда в формат DateTime.

data[‘checkin’]=pd.to_datetime(data.checkin, errors=’coerce’)
data[‘checkout’]=pd.to_datetime(data.checkout, errors=’coerce’)

10. Давайте теперь установим дату отъезда как заселение + 3 дня.

import datetime
enddate = pd.to_datetime(data.checkin) + pd.DateOffset(days=3)
data[‘checkout’]=enddate

11. Давайте что-нибудь наметим.

plt.figure(figsize=(20,20))
plt.scatter(list(data.checkin.values),list(data.address.values),color=’r’)

Мы можем выполнить здесь чертовски много EDA, но чтобы статья была короткой и точной, я оставляю вам следующие шаги. Получайте удовольствие от EDA и этого руководства.

Вот ссылка на полный код: https://github.com/kunaldhariwal/Building-a-custom-dataset

Я надеюсь, что это помогло вам пополнить свою базу знаний :)

Следуйте за мной, чтобы узнать больше!

Благодарим за прочтение и драгоценное время!