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

1. Giriş

47566e1490c16443.png

Son güncelleme: 10.05.2024

Kaggle nedir?

Kaggle, dünyadaki en büyük yapay zeka ve Her seviyeden veri bilimi ve makine öğrenimi meraklılarının en yeni teknik ve teknolojilere seviye atlatmak için kullanabileceği en iyi platform olan makine öğrenimi topluluğu. Yeni 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 tüm dünyadan 18 milyondan fazla kullanıcının oluşturduğu zengin toplulukla bağlantı kurun. İster acemi ister tecrübeli bir profesyonel olun Kaggle ile becerilerinizi geliştirebilir, bir adım önde olmak ve en son teknolojiye sahip projelerde ortak çalışmalar yürütebilirsiniz.

Oluşturacaklarınız

Bu codelab'de bir kaggle yarışması oluşturacak, yapılandıracak ve başlatacaksınız. Rakiplerin deneyimini inceleyecek ve ilgi çekici bir rekabet ortamına sahip olmaya yönelik en iyi uygulamaları öğreneceksiniz.

Neler öğreneceksiniz?

  • Kaggle yarışmasının sunucu tarafından nasıl oluşturulacağını ve yönetileceğini anlama
  • Keşiften gönderime kadar rakip deneyiminde gezinme
  • İlgi çekici bir yarışma yürütmeye yönelik en iyi uygulamaları öğrenin

Bu codelab'de, hızlıca yarışma oluşturmaya odaklanılmakta ve Kaggle'ın büyüyen rekabet kitaplığından yararlanılmaktadır.

Gerekenler

  • Yeni bir web tarayıcısı
  • Python ile ilgili temel bilgiler

2. Kurulum

Kaggle Hesabı oluşturma

Kaggle web sitesini (https://www.kaggle.com/) ziyaret edin ve "Register"i (Kaydol) tıklayın bir ücretsiz 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. "Ayarlar"ı tıklayın profil içeriğinin sağ tarafındaki düğme
  4. "Telefon Doğrulaması" bölümünün altında Hesap doğrulama talimatlarını uyguladığında

3. İlk rakibinizi oluşturma

Yapay zeka tarafından üretilmiş yarışma şablonları ile tanışın

Yapay Zeka Tarafından Üretilmiş Yarışmalar, kullanıcıların hızlı ve kolay bir şekilde makine öğrenimi yarışmaları oluşturmasına olanak tanıyan, Kaggle'daki yeni bir özelliktir. Yapay zekadan yararlanarak kimliği tanımlayabilecek bilgiler içermeden mevcut veri kümelerinin istatistiksel özelliklerini taklit eden sentetik veri kümeleri oluşturur.

İşleyiş şekli:

  1. Şablon seçin: Farklı makine öğrenimi görevlerine (ör. sınıflandırma, regresyon) dayanan bir şablon listesinden seçim yapın.
  2. Yapay zeka bir veri kümesi oluşturur: Kaggle'ın yapay zekası, seçtiğiniz şablona göre rakipleriniz için yeni bir veri kümesi oluşturur. Bu veri kümesi orijinale benzer ancak bazı özellikleri kullanır ve özellik dağılımları biraz farklıdır.
  3. Rakiplerinizi özelleştirin: Yarışmanın adı, açıklaması ve zaman çizelgesi gibi temel bilgileri girin. Rakiplerinizin gizlilik ayarlarını da seçebilirsiniz.
  4. Lansman: Ayrıntıları bitirip bir lansman yaptıktan sonra yarışmanızı başlatmaya hazırsınız demektir.

Bu özellik, yarışma oluşturma sürecini kolaylaştırarak daha fazla kullanıcının erişmesini sağlar ve veri kümesi hazırlığı yerine makine öğrenimi özelliklerine odaklanmasını sağlar.

Yarışma oluşturma

https://www.kaggle.com/competitions/new adresine gidip "New AI Generated Rekabet"i (Yapay Zeka Tarafından Üretilmiş Yeni Rekabet) seçin.

2629bf77a282a46c.png

"Yengeç Yaşı Veri Kümesiyle Regresyon"u seçin Rekabet.

Yarışma Ayrıntıları

2dd2228b9d686a6e.png

Açıklayıcı bir ad ve alt başlık girin. Örneğin, "<Your Names>'s Test Crab Contest"i kullanabilirsiniz. ve "Nasıl çalıştığını görmek için ilk yarışmamı oluşturmak" gibi bu seçeneği belirleyin. Yarışma URL'sinin başlığa göre otomatik olarak doldurulduğunu unutmayın.

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

Şimdi de rekabet için görünürlük ve erişimi ayarlamamız gerekiyor.

5c7dcae412ddd574.png

Görünürlük

  • Herkese açık: Rakipleriniz, Kaggle'daki herkes tarafından görülebilir. Arama sonuçlarında görüneceği için ilgilenen herkes katılabilir.
  • Gizli: Rakipleriniz herkese açık görünümden gizlenir. Bu görüşme aramalarda görünmez ve yalnızca özel olarak davet ettiğiniz kullanıcılar katılabilir.

Kimler katılabilir?

  • Herkes: Bu, açık kapı politikası gibidir. Kaggle'daki herkes rakiplerinize katılabilir.
  • Yalnızca bağlantıya sahip kişiler: Bu daha özeldir. Özel bir bağlantı oluşturursunuz ve yalnızca bu bağlantıyı alan kullanıcılar katılabilir.
  • Kısıtlanmış e-posta listesi: Bu, en kontrol edilen seçenektir. Belirli e-posta adresleri veya alan adlarının (@okulunuz.edu gibi) bir listesini sağlarsınız ve yalnızca bu adreslere sahip kullanıcılar katılabilir.

Daha sonra Not defterlerini ve Modelleri Etkinleştir ayarı hakkında daha fazla bilgi vereceğiz. Şimdilik bu ayarın açık olduğundan emin olun. Örnek rekabetimizde bu ayarları Gizli ve Yalnızca bağlantıya sahip kişiler olarak belirleyin.

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

4. Rakiplerinizi anlama ve yapılandırma

Perde arkasında benzersiz bir veri kümesiyle yepyeni bir rekabet yarattık. Yarışma ayarlarına hızlıca göz atalım.

Barındırıcı sekmesi

Düzenleyen sekmesinde, rakiplerinizi doğru şekilde yapılandırmak için ihtiyacınız olan her şeyi bulabilirsiniz. Özellikle sayfanın sağındaki sayfa listesine bakın:

bcedd6768cc4f32c.png

Temel Ayrıntılar

Bu bölüm şunları içerir:

  • Genel
  • Gizlilik, Erişim ve Kaynaklar
  • Zaman çizelgesi
  • Puanlama ve Ekipler

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

Zaman Çizelgesi

Yarışmanın bitiş tarihi, saat dilimini dikkate alır.

7141f4aea90bccb0.png

Puanlama ve Ekip

Puanlama ve Ekip bölümü bir ekibe kaç kişinin katılabileceğini, her gün kaç kez gönderimde bulunabileceğini ve nihai değerlendirme için kaç tane gönderim seçmesi gerektiğini kontrol etmenize olanak tanır.

5efb6387612db941.png

Resimler

Resimler, banner'ı ve küçük resmi rakiplerinize göre özelleştirmenize olanak tanır. Bu, yarışmanın ana sayfasını ve rakiplerinizin giriş girişini etkileyecektir.

6dfd442376a1c702.png

Düzenleyenler

Burada diğer Kaggle kullanıcılarını rakiplerinize ev sahipliği yapacak olarak ekleyebilirsiniz. Diğer düzenleyenler, rakiplerinize tam erişime (başlatma dahil) sahip olur.

8f8c90eb6baa7747.png

Değerlendirme Metriği

Değerlendirme Metriği sekmesi rekabetin temelini oluşturur. Sıfırdan bir yarışma 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 grubunu tanımlamanız ve örnek bir gönderim sağlamanız gerekir. Ancak oluşturulmuş bir rekabet kullandığımız için herhangi bir işlem yapmamız gerekmiyor.

Puanlama Metriği

Bu, bir gönderimin çözüm dosyasına göre nasıl puanlanacağını belirler. Her metrikle ilgili belgeler ve gerçek kod mevcuttur.

Çözüm Dosyası

Oluşturulmuş bir rekabet kullandığımız için bu dosya rakiplerinize özeldir.

89fa1f42d177505a.png

Çözüm Örneklemesi, yarışma sırasında gönderimleri puanlamak için kullanılan çözüm dosyası miktarını (herkese açık skor tablosu) ve nihai skor tablosunu belirlemek için kullanılacak satır sayısını ayarlamanıza olanak tanır. Yarışma sırasında kullanıcılar, (Puanlı Özel Gönderimler ayarına bağlı olarak) son skor tablosu için hangi gönderimlerinin kullanılacağını (burada Özel Skor Tablosu olarak adlandırılır) seçmelerine izin verilir.

Bu süreç, rakiplerin fazla ücret ödeme veya çok fazla gönderim nedeniyle ödüllendirilmemesini sağlar.

Korumalı Alan Gönderimleri

Bunlar, yarışmayı düzenleyen kişilerin puanlamanın beklendiği gibi yapılmasını ve "karşılaştırma" ayarını yapmasını sağlar e-postalara yanıt verebilirsiniz. Bu karşılaştırma gönderimleri skor tablosunda gösterilir.

Ekipler ve Gönderimler

Yarışma sırasında bu, düzenleyenler tüm skorları indirmelerine ve takımları yönetmelerine olanak tanır. Yarışma başlamadan önce bu alan boş bırakılır.

Launch Checklist

Bu konuyu bir sonraki bölümde ele alacağız.

5. Rakiplerinizi başlatma

50b03df072c02e6a.png

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

Launch Checklist

Lansman Kontrol Listesi'nde, bir yarışma başlatmadan önce uygulanması gereken adımlar gösterilir. Zaten bir yarışma şablonuyla başladığımız için bu adımların çoğu tamamlanmış durumda. Kalan yalnızca iki görev var: bir teslim tarihi belirlemek ve yarışma kurallarını güncellemek.

938b9ed7bc4e0597.png

Son tarih belirleyin

Önce Son Tarih Belirle'nin yanındaki oku tıklayın. Yarışmalar genellikle en az birkaç ay sürer. Yarışmalar için maksimum süre bir yıldır.

Kuralları Düzenleme

Rekabet kurallarınızın, başlatılmadan önce varsayılan şablona göre güncellenmesi gerekir. Bu yarışmayı bir sınıf veya grup için düzenliyorsanız orası beklentiler hakkında bilgi koymak için iyi bir yerdir.

Lansman

Lansmana hazırız. Siz de yarışmaya başlayın. Artık rakiplerinizin de katılması için hazırsınız.

6. Rakip Deneyimi

Rakiplerinizi başlattığınıza göre şimdi rakiplerin deneyimine bir göz atalım. Yarışmaya katılma ve başvuru gönderme konularına değineceğiz. Bunun için şu adresten Google KS Demo Yarışması'na katılabilirsiniz: https://www.kaggle.com/competitions/google-io-demo-competition

Yarışmaya katılma

Yarışma ana sayfasına gittikten sonra "Yarışmaya Katıl"ı tıklayın. düğmesini tıklayın, ardından kuralları okuyup onayla.

İlk gönderiminizi yapma

Kod sekmesine gidin ve "Yeni Not Defteri"ni tıklayın. Yarışmaya göndermek için kullanabileceğiniz bir not defteri açılır.

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

Ⰳ# test ve eğitim verilerini okuyun

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

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

Verilere göz atalım.

Ⰳ# Bazı verilere göz atın

train.head()

Şimdi verileri eğitim için hazırlayalım. Bu örnekte, Sex'i çıkarırız çünkü bu sayı sayısal bir değer değildir. (İpucu: Bunu nasıl ekleyeceğinizi bulmak, modelinizin performansını artıracaktır).

Ⰳ # sonuçları, test verilerinden çıkarıyor

data = training.drop(columns=["Yaş", "Cinsellik"])

cevaplar = eğitim[‘Yaş']

Sonra bir model oluşturuyoruz. Bu örnekte, rastgele bir orman modeli kullanıyoruz.

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

sklearn.model_selection içe aktarma işlemini tren_test_split'ten yapın

sklearn.ensemble içe aktarma RandomForestRegressor'dan

sklearn.metrics içe aktarma ortalama_mutlu hata kodu

model = RandomForestRegressor()

# modeli eğitme

model.fit(veriler; yanıtlar)

Gönderim oluşturun:

氃predictions = model.predict(test.drop(columns=[Seks']))

submission = pd.DataFrame({‘id&#39;: test[‘id&#39;], ‘Age&#39;: predictions})

submit.to_csv("submission.csv"; index=False)

Daha sonra, "Yarışmaya Gönder"i seçerek yarışmaya başvurabilirsiniz. tıklayın.

1cf17449cae53abe.png

Mükemmel bir rekabet yürütmeyle ilgili ipuçları

  1. Temel gönderim için bir başlangıç not defteri eklediğinizden emin olun.
  2. Yarışmanın başlarında tartışma kullanımını ve not defterlerini paylaşmayı teşvik edin.
  3. Eğlenin