Kaggle ile kuruluşunuzda makine öğrenimi/yapay zekayı geliştirin

1. Giriş

47566e1490c16443.png

Last Updated: 2024-05-10

Kaggle nedir?

Kaggle, en büyük yapay zeka ve makine öğrenimi topluluğudur. Her seviyeden veri bilimi ve makine öğrenimi meraklısının en yeni teknikler ve teknolojilerle seviye atlayabileceği nihai platformdur. Bir sonraki projenize başlamak için veri kümeleri, not defterleri ve önceden eğitilmiş modellerden oluşan geniş bir depoyu keşfedin. Yarışmalara katılın, kurslardan bilgi edinin ve dünyanın dört bir yanından 18 milyonu aşkın kullanıcının yer aldığı çeşitli bir toplulukla bağlantı kurun. İster yeni başlayan ister deneyimli bir profesyonel olun, Kaggle becerilerinizi geliştirebileceğiniz, trendleri takip edebileceğiniz ve son teknoloji projelerde ortak çalışabileceğiniz bir platformdur.

Ne oluşturacaksınız?

Bu codelab'de bir Kaggle yarışması oluşturacak, yapılandıracak ve başlatacaksınız. Rakiplerin deneyimini inceleyip ilgi çekici bir yarışma düzenlemeyle ilgili en iyi uygulamaları öğreneceksiniz.

Neler öğreneceksiniz?

  • Düzenleyen tarafında Kaggle yarışması oluşturma ve yönetme hakkında bilgi edinme
  • Keşiften gönderime kadar rakip deneyiminde gezinme
  • İlgi çekici yarışmalar düzenlemeyle ilgili en iyi uygulamaları öğrenin

Bu codelab'de, hızlı bir şekilde yarışma oluşturmaya odaklanılır ve Kaggle'ın büyüyen yarışma kitaplığından yararlanılır.

Gerekenler

  • Güncel bir web tarayıcısı
  • Python hakkında temel bilgiler

2. Hazırlanma

Kaggle hesabı oluşturma

Kaggle web sitesini (https://www.kaggle.com/) ziyaret edip "Register" (Kaydol) seçeneğini tıklayarak ücretsiz bir hesap oluşturun.

Hesabınızı doğrulama

  1. Sayfanın sağ üst köşesindeki profil resminizi tıklayın.
  2. "Profiliniz"i tıklayın.
  3. Profil içeriğinin sağ tarafındaki "Ayarlar" düğmesini tıklayın.
  4. "Telefon Doğrulaması" bölümünde, hesabınızı doğrulamak için talimatları uygulayın.

3. İlk yarışmanızı oluşturma

Yapay zekayla üretilen yarışma şablonları

Yapay Zeka Tarafından Oluşturulan Yarışmalar, Kaggle'da kullanıcıların makine öğrenimi yarışmalarını hızlı ve kolay bir şekilde oluşturmasına olanak tanıyan yeni bir özelliktir. Kişiyi tanımlayabilecek bilgiler içermeden mevcut veri kümelerinin istatistiksel özelliklerini taklit eden sentetik veri kümeleri oluşturmak için yapay zekadan yararlanır.

İşleyiş şekli:

  1. Şablon seçme: Farklı makine öğrenimi görevlerine (ör. sınıflandırma, regresyon) göre şablon listesinden seçim yapın.
  2. Yapay zeka veri kümesi oluşturur: Kaggle'ın yapay zekası, seçtiğiniz şablona göre yarışmanız için yeni bir veri kümesi oluşturur. Bu veri kümesi, orijinaline benzer ancak özelliklerin bir alt kümesini kullanır ve özellik dağılımları biraz farklıdır.
  3. Yarışmanızı özelleştirin: Yarışma adı, açıklaması ve zaman çizelgesi gibi temel bilgileri girin. Ayrıca yarışmanızın gizlilik ayarlarını da seçebilirsiniz.
  4. Lansman: Ayrıntıları netleştirip lansman tarihini belirledikten sonra yarışmanızı başlatabilirsiniz.

Bu özellik, yarışma oluşturma sürecini kolaylaştırarak daha fazla kullanıcının erişebilmesini sağlar ve veri kümesi hazırlama yerine makine öğrenimi yönlerine odaklanmalarına olanak tanır.

Yarışma oluşturma

https://www.kaggle.com/competitions/new adresine gidin ve "New AI Generated Competition"ı (Yeni Yapay Zeka Tarafından Üretilen Yarışma) seçin.

2629bf77a282a46c.png

"Regression with a Crab Age Dataset" (Yengeç Yaşı Veri Kümesiyle Regresyon) yarışmasını seçin.

Yarışma Ayrıntıları

2dd2228b9d686a6e.png

Açıklayıcı bir ad ve altyazı girin. Örneğin, başlık olarak "<Adlarınız>'ın Yengeç Testi Yarışması", alt başlık olarak da "Nasıl çalıştığını görmek için ilk yarışmamı oluşturuyorum" ifadesini kullanabilirsiniz. Yarışma URL'sinin başlığa göre otomatik olarak doldurulduğunu unutmayın.

Görünürlük ve Erişim

Şimdi yarışmanın görünürlük ve erişim ayarlarını yapmamız gerekiyor.

5c7dcae412ddd574.png

Görünürlük

  • Herkese açık: Yarışmanız, Kaggle'daki herkes tarafından görülebilir. Arama sonuçlarında gösterileceği için ilgilenen herkes katılabilir.
  • Gizli: Yarışmanız herkese açık görünümden gizlenir. Arama sonuçlarında görünmez ve yalnızca özel olarak davet ettiğiniz kişiler katılabilir.

Kimler katılabilir?

  • Herkes: Bu, açık kapı politikasına benzer. Kaggle'daki herkes yarışmanıza katılabilir.
  • Yalnızca bağlantısı olan kişiler: Bu seçenek daha sınırlıdır. Özel bir bağlantı oluşturursunuz ve yalnızca bu bağlantıya sahip olan kişiler katılabilir.
  • Kısıtlanmış e-posta listesi: Bu, en kontrollü seçenektir. Belirli e-posta adreslerinin veya alan adlarının (ör. @okulunuz.edu) listesini sağlarsınız ve yalnızca bu adreslere sahip kişiler katılabilir.

Not Defterlerini ve Modelleri Etkinleştir ayarından daha sonra bahsedeceğiz. Şimdilik bu ayarın etkin olduğundan emin olun. Örnek yarışmamız için bu ayarları Özel ve Yalnızca bağlantıya sahip olanlar olarak belirleyin.

Şartları okuyup kabul edin ve "Yarışma Oluştur"u tıklayın.

4. Rakiplerinizi anlama ve yapılandırma

Kamera arkasında, benzersiz bir veri kümesiyle tamamen yeni bir yarışma oluşturduk. Yarışma ayarlarına hızlıca göz atalım.

Düzenleyen sekmesi

Düzenleyen sekmesinde, yarışmanızı düzgün şekilde yapılandırmak için ihtiyacınız olan her şey bulunur. Özellikle sayfanın sağ tarafındaki sayfa listesine bakın:

bcedd6768cc4f32c.png

Temel Ayrıntılar

Bu bölümde şunlar yer alır:

  • Genel
  • Gizlilik, Erişim ve Kaynaklar
  • Zaman çizelgesi
  • Puanlama ve Takımlar

Yarışmayı başlatırken Genel ve Gizlilik bölümlerini ele almıştık.

Zaman Çizelgesi

Yarışmanın bitiş tarihi saat dilimine göre belirlenir.

7141f4aea90bccb0.png

Puanlama ve Takım

Puanlama ve Ekip bölümünde, bir ekibe kaç kişinin katılabileceğini, her gün kaç kez gönderim yapabileceklerini ve son değerlendirme için kaç gönderim seçmeleri gerektiğini kontrol edebilirsiniz.

5efb6387612db941.png

Resimler

Resimler, yarışmanızın banner'ını ve küçük resmini özelleştirmenize olanak tanır. Bu durum, yarışmanın ana sayfasını ve yarışmanızın listeleme girişini etkiler.

6dfd442376a1c702.png

Düzenleyenler

Burada, diğer Kaggle kullanıcılarını yarışmanızın düzenleyicisi olarak ekleyebilirsiniz. Diğer sunucular, yarışmanıza tam erişime (başlatma dahil) sahip olur.

8f8c90eb6baa7747.png

Değerlendirme metriği

Değerlendirme Metriği sekmesi, yarışmanın kalbidir. Yarışmayı sıfırdan oluştururken hangi değerlendirme (veya puanlama) metriğinin kullanılacağı konusunda dikkatli bir şekilde düşünmeniz, çözüm dosyanızı yüklemeniz, herkese açık/özel test ayrımını tanımlamanız ve örnek bir gönderim sağlamanız gerekir. Ancak oluşturulmuş bir yarışma kullandığımız için bunların hiçbirini yapmamıza gerek yok.

Puanlama metriği

Bu, bir gönderimin çözüm dosyasına göre nasıl puanlanacağını belirler. Her metriğin belgeleri ve gerçek kodu mevcuttur.

Çözüm Dosyası

Oluşturulmuş bir yarışma kullandığımız için bu dosya yarışmanıza özeldir.

89fa1f42d177505a.png

Çözüm örnekleme, yarışma (herkese açık skor tablosu) sırasında gönderilere puan vermek için kullanılan çözüm dosyası miktarını, nihai skor tablosunu belirlemek için kullanılan satır sayısına göre ayarlamanıza olanak tanır. Yarışma sırasında kullanıcılar, gönderilerinden hangilerinin son skor tablosunda (burada özel skor tablosu olarak adlandırılır) kullanılacağını seçebilir (Puanlı Özel Gönderimler ayarına göre).

Bu süreç, rakiplerin aşırı uyum veya gönderi bombardımanı nedeniyle ödüllendirilmemesini sağlar.

Korumalı alan gönderimleri

Bu sayede yarışma düzenleyicileri, puanlamanın beklendiği gibi çalıştığından emin olabilir ve rakiplerin karşılaştırabileceği "karşılaştırma" gönderimleri belirleyebilir. Bu karşılaştırma gönderimleri, skor tablosunda gösterilir.

Ekipler ve Gönderimler

Bu özellik, yarışma sırasında düzenleyenlerin tüm puanları indirmesine ve takımları yönetmesine olanak tanır. Yarışma başlamadan önce bu alan boştur.

Launch Checklist

Bu konuya sonraki bölümde değineceğiz.

5. Yarışmanızı başlatma

50b03df072c02e6a.png

Yarışma sayfasının üst kısmındaki "Lansman Kontrol Listesi" düğmesini tıklayın.

Launch Checklist

Lansman Kontrol Listesi, yarışma başlatmadan önce yapılması gereken adımları gösterir. Yarışma şablonuyla başladığımız için bu adımların çoğu zaten tamamlandı. Yalnızca iki görev kaldı: son tarih belirleme ve yarışma kurallarını güncelleme.

938b9ed7bc4e0597.png

Son tarih belirleme

Öncelikle son tarihin yanındaki oku tıklayın. Yarışmalar genellikle en az birkaç ay sürer. Yarışmaların maksimum süresi bir yıldır.

Kuralları Düzenleme

Yarışma kurallarınız, başlatmadan önce varsayılan şablondan güncellenmelidir. Bu yarışmayı bir sınıf veya grup için düzenliyorsanız beklentilerle ilgili bilgileri buraya ekleyebilirsiniz.

Lansman

Başlatmaya hazırız. Yarışmanızı başlatın. Artık rakiplerin katılmasına izin verebilirsiniz.

6. Rakip Deneyimi

Yarışmanızı başlattığınıza göre şimdi de katılımcı deneyiminin nasıl olduğuna bakalım. Yarışmaya katılma ve gönderim gönderme konularını ele alacağız. Bu yarışmaya https://www.kaggle.com/competitions/google-io-demo-competition adresinden katılabilirsiniz.

Yarışmaya katılma

Yarışmanın ana sayfasına gittikten sonra sağ üstteki "Join Competition" (Yarışmaya Katıl) düğmesini tıklayın, ardından kuralları okuyup onaylayın.

İlk gönderiminizi yapma

Kod sekmesine gidin ve "Yeni Not Defteri"ni tıklayın. Bu işlem, yarışmaya katılabileceğiniz bir not defteri açar.

İlk olarak eğitim ve test verilerini okuyacağız.

# read the test and train data

train = pd.read_csv('/kaggle/input/google-io-demo-competition/train.csv')

test = pd.read_csv('/kaggle/input/google-io-demo-competition/test.csv')

Verilere göz atalım.

# verilerden bazılarına göz atın.

train.head()

Eğitim için verileri hazırlayalım. Bu durumda, sayısal bir değer olmadığından Cinsiyet'i çıkarırız. (İpucu: Bunu nasıl dahil edeceğinizi bulmak modelinizin performansını artırır.)

 Test verilerinden sonuçları bırakma

data = train.drop(columns=[‘Age', ‘Sex'])

answers = train[‘Age']

Ardından bir model oluştururuz. Bu örnekte, rastgele orman modeli oluşturuyoruz.

Model için # içe aktarma işlemi

from sklearn.model_selection import train_test_split

from sklearn.ensemble import RandomForestRegressor

from sklearn.metrics import mean_absolute_error

model = RandomForestRegressor()

​​# train the model

model.fit(data, answers)

Gönderim oluşturma:

predictions = model.predict(test.drop(columns=[‘Sex']))

submission = pd.DataFrame({‘id': test[‘id'], ‘Age': predictions})

submission.to_csv('submission.csv', index=False)

Ardından, sağ taraftaki yan menüden "Yarışmaya Gönder"i seçerek yarışmaya katılabilirsiniz.

1cf17449cae53abe.png

Başarılı bir yarışma düzenlemeyle ilgili ipuçları

  1. Temel bir gönderim yapan bir başlangıç not defteri eklediğinizden emin olun.
  2. Yarışmanın başlarında tartışma ve not defteri paylaşımını teşvik edin.
  3. İyi eğlenceler!