В Интернете доступно множество наборов данных, но позвольте мне упомянуть несколько удивительных ресурсов. Если вы уже связаны со мной в LinkedIn, возможно, вы видели этот список. Если вы не подключены, нажмите эту ссылку. Следующие сайты могут помочь вам получить необходимый набор данных:
Популярные репозитории открытых данных:
- Репозиторий машинного обучения UC Irvine: https://lnkd.in/f5CUDj7
- Наборы данных Kaggle: https://lnkd.in/fKWqVbw
- Наборы данных Amazon AWS: https://lnkd.in/fnVYnm5
Мета-порталы (в них перечислены репозитории открытых данных):
Другие страницы со списком многих популярных репозиториев открытых данных:
- Список наборов данных машинного обучения в Википедии: https://lnkd.in/f6wujcB
- Вопрос Quora.com: https://lnkd.in/fuHPfFF
- Субреддит наборов данных: https://lnkd.in/fmqkisy
Что, если бы вы не смогли найти набор данных даже на этих сайтах? что бы вы сделали?
Вы бы обвиняли Интернет в том, что он не предоставил вам набор данных о ваших потребностях, или вы проклинали бы всю вселенную?
Что ж, я бы не стал делать то и другое, о чем говорилось выше. Я бы создал свой собственный набор данных и поверил бы мне, это не заняло бы больше 5 минут.
Теперь позвольте мне показать вам, как быстро создать свой собственный набор данных. Мы будем использовать пакет Python под названием Faker.
- Установите библиотеку 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
Я надеюсь, что это помогло вам пополнить свою базу знаний :)
Следуйте за мной, чтобы узнать больше!
Благодарим за прочтение и драгоценное время!