1. Wprowadzenie

Last Updated: 2024-05-10
Co to jest Kaggle?
Kaggle to największa społeczność AI i ML, czyli platforma dla entuzjastów nauki o danych i uczenia maszynowego na wszystkich poziomach zaawansowania, którzy chcą rozwijać swoje umiejętności dzięki najnowszym technikom i technologiom. Odkrywaj ogromne repozytorium zbiorów danych, notatników i wstępnie wytrenowanych modeli, aby rozpocząć kolejny projekt. Bierz udział w konkursach, korzystaj z kursów i nawiązuj kontakty z różnorodną społecznością ponad 18 milionów użytkowników z całego świata. Niezależnie od tego, czy dopiero zaczynasz, czy jesteś doświadczonym profesjonalistą, Kaggle to miejsce, w którym możesz doskonalić swoje umiejętności, wyprzedzać konkurencję i współpracować przy najnowocześniejszych projektach.
Co utworzysz
W tym ćwiczeniu utworzysz, skonfigurujesz i uruchomisz konkurs Kaggle. Poznasz perspektywę uczestnika konkursu i sprawdzone metody prowadzenia angażującego konkursu.
Czego się nauczysz
- Dowiedz się, jak tworzyć konkursy Kaggle i nimi zarządzać z perspektywy organizatora.
- Poznaj proces rywalizacji od etapu eksploracji po przesłanie zgłoszenia
- Poznaj sprawdzone metody prowadzenia angażującego konkursu
To ćwiczenie skupia się na szybkim tworzeniu konkursu i wykorzystuje rosnącą bibliotekę konkursów Kaggle.
Czego potrzebujesz
- aktualnej przeglądarki internetowej,
- podstawowa znajomość języka Python,
2. Przygotowania
Utwórz konto Kaggle
Wejdź na stronę Kaggle (https://www.kaggle.com/) i kliknij „Zarejestruj się”, aby utworzyć bezpłatne konto.
Weryfikacja konta
- W prawym górnym rogu strony kliknij swoje zdjęcie profilowe.
- Kliknij „Twój profil”.
- Kliknij przycisk „Ustawienia” po prawej stronie treści profilu.
- W sekcji „Weryfikacja telefoniczna” postępuj zgodnie z instrukcjami, aby zweryfikować konto.
3. Tworzenie pierwszego konkursu
Przedstawiamy szablony konkursów wygenerowane przez AI
Konkursy generowane przez AI to nowa funkcja na platformie Kaggle, która umożliwia użytkownikom szybkie i łatwe tworzenie konkursów z zakresu uczenia maszynowego. Wykorzystuje ona AI do generowania syntetycznych zbiorów danych, które naśladują właściwości statystyczne istniejących zbiorów danych, ale nie zawierają żadnych informacji umożliwiających identyfikację osoby.
Jak to działa:
- Wybierz szablon: wybierz szablon z listy na podstawie różnych zadań uczenia maszynowego (np. klasyfikacji, regresji).
- AI generuje zbiór danych: AI Kaggle tworzy nowy zbiór danych na potrzeby Twojego konkursu na podstawie wybranego szablonu. Ten zbiór danych jest podobny do oryginalnego, ale zawiera podzbiór funkcji i ma nieco inne rozkłady funkcji.
- Dostosuj zawody: wpisz podstawowe informacje, takie jak nazwa, opis i harmonogram zawodów. Możesz też wybrać ustawienia prywatności dla swojego konkursu.
- Uruchomienie: po sfinalizowaniu szczegółów i ustawieniu daty uruchomienia możesz rozpocząć konkurs.
Ta funkcja upraszcza proces tworzenia konkursów, dzięki czemu jest on dostępny dla większej liczby użytkowników. Mogą oni skupić się na aspektach uczenia maszynowego, a nie na przygotowywaniu zbiorów danych.
Tworzenie konkursu
Otwórz stronę https://www.kaggle.com/competitions/new i wybierz „New AI Generated Competition” (Nowy konkurs wygenerowany przez AI).

Wybierz konkurs „Regression with a Crab Age Dataset”.
Szczegóły zawodów

Wpisz opisową nazwę i podtytuł. Możesz na przykład użyć tytułu „Testowe zawody w łapaniu krabów <Twoje imiona>” i podtytułu „Tworzę pierwsze zawody, aby sprawdzić, jak to działa”. Pamiętaj, że adres URL konkursu jest wypełniany automatycznie na podstawie tytułu.
Widoczność i dostęp
Teraz musimy ustawić widoczność i dostęp do konkursu.
Widoczność
- Publiczne: Twoje zawody są widoczne dla wszystkich użytkowników Kaggle. Będzie on widoczny w wynikach wyszukiwania, więc każdy zainteresowany będzie mógł do niego dołączyć.
- Prywatne: Twoje zawody są ukryte przed widokiem publicznym. Nie będzie widoczne w wynikach wyszukiwania i tylko osoby, które zaprosisz, będą mogły w nim uczestniczyć.
Kto może dołączyć
- Każdy: to jak polityka otwartych drzwi. Do Twojego konkursu na Kaggle może dołączyć każdy.
- Tylko osoby, które mają link: ta opcja jest bardziej ekskluzywna. Wygenerujesz specjalny link, a dołączyć będą mogły tylko osoby, które go mają.
- Lista e-mailowa z ograniczonym dostępem: ta opcja daje największą kontrolę. Podajesz listę konkretnych adresów e-mail lub domen (np. @twojaszkola.edu) i tylko osoby z tymi adresami mogą dołączyć.
Ustawienie Włączanie notatników i modeli omówimy bardziej szczegółowo w dalszej części tego artykułu. Na razie upewnij się, że jest włączona. W naszym przykładowym zestawie konkurencji ustaw te opcje na Prywatny i Tylko osoby z linkiem.
Przeczytaj i zaakceptuj warunki, a następnie kliknij „Utwórz konkurs”.
4. Analiza i konfigurowanie konkurencji
Za kulisami stworzyliśmy zupełnie nowy konkurs z unikalnym zbiorem danych. Przyjrzyjmy się szybko ustawieniom konkursu.
Karta hosta
Karta gospodarza zawiera wszystko, czego potrzebujesz jako gospodarz, aby prawidłowo skonfigurować konkurs. Sprawdź listę stron po prawej stronie:

Informacje podstawowe
Ta sekcja zawiera:
- Ogólne
- Prywatność, dostęp i materiały
- Oś czasu
- Wyniki i zespoły
Sekcje Ogólne i Prywatność zostały omówione podczas rozpoczęcia konkursu.
Oś czasu
Data zakończenia konkursu jest zależna od strefy czasowej.

Wyniki i zespół
Sekcja Punktacja i zespół umożliwia określenie, ile osób może dołączyć do zespołu, ile razy dziennie mogą przesyłać zgłoszenia i ile z nich muszą wybrać do ostatecznej oceny.

Obrazy
Obrazy umożliwiają dostosowanie banera i miniaturki konkursu. Wpłynie to na stronę główną konkursu oraz na wpis z informacjami o konkursie.

Hosty
Możesz tu dodać innych użytkowników Kaggle jako gospodarzy konkursu. Inni gospodarze będą mieć pełny dostęp do Twojego konkursu (w tym możliwość jego uruchomienia).

Dane oceny
Karta Dane oceny to najważniejsza część konkursu. Podczas tworzenia konkursu od podstaw musisz dokładnie przemyśleć, jakiego wskaźnika oceny (lub punktacji) użyć, przesłać plik z rozwiązaniem, określić podział testu na część publiczną i prywatną oraz podać przykładowe zgłoszenie. Ponieważ jednak użyliśmy wygenerowanych zawodów, nie musimy tego robić.
Wskaźnik oceny
Określa, jak przesłane rozwiązanie jest oceniane na tle pliku z rozwiązaniem. Każdy rodzaj danych ma dokumentację i dostępny kod.
Plik rozwiązania
Ponieważ korzystamy z wygenerowanego konkursu, ten plik jest unikalny dla Twojego konkursu.

Próbkowanie rozwiązania umożliwia dostosowanie ilości pliku rozwiązania, która jest używana do oceniania zgłoszeń podczas konkursu (publiczna tabela wyników), w porównaniu z liczbą wierszy używanych do określania ostatecznej tabeli wyników. Podczas konkursu użytkownicy będą mogli wybrać (na podstawie ustawienia Ocenione zgłoszenia prywatne), które z ich zgłoszeń mają być użyte na ostatecznej tablicy wyników (zwanej tutaj tablicą wyników prywatnych).
Dzięki temu uczestnicy nie są nagradzani za nadmierne dopasowanie ani za zalewanie platformy zgłoszeniami.
Zgłoszenia do piaskownicy
Dzięki temu organizatorzy zawodów mogą mieć pewność, że punktacja działa zgodnie z oczekiwaniami, a także mogą ustawiać „wzorcowe” zgłoszenia, z którymi uczestnicy mogą porównywać swoje wyniki. Przesłane wyniki testów porównawczych będą widoczne na tablicy wyników.
Zespoły i zgłoszenia
Podczas zawodów umożliwia to gospodarzom pobieranie wszystkich wyników, a także zarządzanie drużynami. Przed rozpoczęciem konkursu to pole jest puste.
Launch Checklist
Omówimy to w następnej sekcji.
5. Uruchamianie konkursu
U góry strony konkursu kliknij przycisk „Lista kontrolna”.
Launch Checklist
Lista kontrolna uruchomienia zawiera wymagane kroki, które należy wykonać przed uruchomieniem konkursu. Ponieważ zaczęliśmy od szablonu konkursu, większość tych kroków jest już wykonana. Pozostały tylko 2 zadania: ustalenie terminu i zaktualizowanie zasad konkursu.

Ustawianie terminu
Najpierw kliknij strzałkę obok opcji Ustaw termin. Konkursy trwają zwykle co najmniej kilka miesięcy. Maksymalny czas trwania konkursu to rok.
Edytuj reguły
Przed rozpoczęciem konkursu musisz zaktualizować zasady konkursu, korzystając z domyślnego szablonu. Jeśli organizujesz zawody dla zajęć lub grupy, możesz tu umieścić informacje o oczekiwaniach.
Uruchom
Wszystko gotowe do uruchomienia! Uruchom konkurs. Teraz mogą dołączyć do Ciebie konkurenci.
6. Competitor Experience
Konkurs został już uruchomiony, więc przyjrzyjmy się, jak wygląda to z perspektywy uczestnika. Wyjaśnimy, jak dołączyć do konkursu i przesłać zgłoszenie. Aby to zrobić, możesz wziąć udział w konkursie Google IO Demo Competition: https://www.kaggle.com/competitions/google-io-demo-competition
Dołączanie do konkursu
Po przejściu na stronę główną zawodów kliknij przycisk „Dołącz do zawodów” w prawym górnym rogu, a następnie przeczytaj i zaakceptuj zasady.
Przesyłanie pierwszej próbki
Otwórz kartę kodu i kliknij „Nowy notatnik”. Otworzy się notatnik, w którym możesz przesłać zgłoszenie do konkursu.
Najpierw wczytamy dane treningowe i testowe.
# odczyt danych testowych i treningowych
train = pd.read_csv('/kaggle/input/google-io-demo-competition/train.csv')
test = pd.read_csv('/kaggle/input/google-io-demo-competition/test.csv')
Przyjrzyjmy się danym.
# przyjrzyjmy się niektórym danym
train.head()
Przygotujmy dane do trenowania. W tym przypadku usuwamy płeć, ponieważ nie jest to wartość liczbowa. (Wskazówka: ustalenie, jak to zrobić, powinno poprawić skuteczność modelu).
# drop out the results from the test data
data = train.drop(columns=[‘Age', ‘Sex'])
answers = train[‘Age']
Następnie tworzymy model. W tym przypadku używamy modelu lasu losowego.
# importów modelu
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_absolute_error
model = RandomForestRegressor()
# trenowanie modelu
model.fit(data, answers)
Tworzenie zgłoszenia:
predictions = model.predict(test.drop(columns=[‘Sex']))
submission = pd.DataFrame({‘id': test[‘id'], ‘Age': predictions})
submission.to_csv(‘submission.csv', index=False)
Następnie możesz zgłosić swój udział w konkursie, wybierając „Submit to Competition” (Zgłoś udział w konkursie) w menu po prawej stronie.

Wskazówki dotyczące przeprowadzania świetnych konkursów
- Pamiętaj, aby dołączyć notatnik startowy, który umożliwia przesłanie podstawowego zgłoszenia.
- Zachęcaj do korzystania z dyskusji i udostępniania notatników na wczesnym etapie konkursu.
- Baw się dobrze!

