Özellik deposu nedir?

Bu sayfada bir özellik deposunun ne olduğu, sağladığı avantajlar ve Databricks Özellik Deposu'nun belirli avantajları açıklanmaktadır.

Özellik deposu, veri bilimcilerinin özellikleri bulmasına ve paylaşmasına olanak tanıyan ve ayrıca özellik değerlerini hesaplamak için kullanılan kodun model eğitimi ve çıkarımı için kullanılmasını sağlayan merkezi bir depodur.

Makine öğrenmesi, gelecekteki sonuçları tahmin etmek için bir model oluşturmak için mevcut verileri kullanır. Hemen hemen her durumda, ham verilerin bir model oluşturmak için kullanılabilmesi için önce ön işleme ve dönüştürme gerekir. Bu işleme özellik mühendisliği, bu işlemin çıkışlarına ise modelin yapı taşları olan özellikler adı verilir.

Özellikler geliştirmek karmaşıktır ve zaman alır. Bir diğer zorluk da makine öğrenmesi için model eğitimi için özellik hesaplamalarının yapılması ve ardından model tahminlerde bulunmak için kullanıldığında tekrar yapılması gerektiğidir. Bu uygulamalar aynı ekip tarafından veya aynı kod ortamı kullanılarak yapılamaz ve bu da gecikmelere ve hatalara neden olabilir. Ayrıca, bir kuruluştaki farklı ekipler genellikle benzer özellik gereksinimlerine sahip olur ancak diğer ekiplerin yaptığı işlerin farkında olmayabilir. Özellik deposu bu sorunları gidermek için tasarlanmıştır.

Databricks Özellik Deposu neden kullanılır?

Databricks Özellik Deposu, Azure Databricks'in diğer bileşenleriyle tamamen tümleşiktir.

  • Bulunabilirlik. Databricks çalışma alanından erişilebilen Özellik Deposu kullanıcı arabirimi, mevcut özelliklere göz atmanızı ve aramanızı sağlar.
  • Lineage. Azure Databricks'te bir özellik tablosu oluşturduğunuzda, özellik tablosunu oluşturmak için kullanılan veri kaynakları kaydedilir ve erişilebilir. Özellik tablosundaki her özellik için özelliği kullanan modellere, not defterlerine, işlere ve uç noktalara da erişebilirsiniz.
  • Model puanlama ve sunma ile tümleştirme. Bir modeli eğitmek için Özellik Deposu'ndan özellikleri kullandığınızda, model özellik meta verileriyle birlikte paketlenmiştir. Modeli toplu puanlama veya çevrimiçi çıkarım için kullandığınızda özellik, Özellik Deposu'ndan otomatik olarak alınır. Çağıranın bunları bilmesi veya yeni verileri puanlayan özellikleri aramak veya birleştirmek için mantık içermesi gerekmez. Bu, model dağıtım ve güncelleştirmelerini çok daha kolay hale getirir.
  • Belirli bir noktaya aramalar. Özellik Deposu, belirli bir noktaya doğruluğa ihtiyaç duyan zaman serisini ve olay tabanlı kullanım örneklerini destekler.

Unity Kataloğunda Özellik Mühendisliği

Databricks Runtime 13.3 LTS ve üzeri ile çalışma alanınız Unity Kataloğu için etkinleştirildiyse Unity Kataloğu özellik deponuz olur. Model eğitimi veya çıkarım için birincil anahtarla Unity Kataloğu'ndaki herhangi bir Delta tablosunu veya Delta Live Tablosunu özellik tablosu olarak kullanabilirsiniz. Unity Kataloğu özellik bulma, idare, köken ve çalışma alanları arası erişim sağlar.

Databricks Özellik Deposu nasıl çalışır?

Özellik Deposu'nu kullanan tipik makine öğrenmesi iş akışı şu yolu izler:

  1. Ham verileri özelliklere dönüştürmek için kod yazın ve istenen özellikleri içeren bir Spark DataFrame oluşturun.
  2. Unity Kataloğu için etkinleştirilmiş çalışma alanları için DataFrame'i Unity Kataloğu'nda özellik tablosu olarak yazın. Çalışma alanınız Unity Kataloğu için etkinleştirilmemişse, DataFrame'i Çalışma Alanı Özellik Deposu'nda özellik tablosu olarak yazın.
  3. Özellik deposundaki özellikleri kullanarak modeli eğitin. Bunu yaptığınızda model, eğitim için kullanılan özelliklerin belirtimlerini depolar. Model çıkarım için kullanıldığında, uygun özellik tablolarındaki özellikleri otomatik olarak birleştirir.
  4. Modeli Model Kayıt Defteri'ne kaydedin.

Artık modeli kullanarak yeni verilerle ilgili tahminlerde bulunabilirsiniz.

Toplu kullanım örnekleri için model, ihtiyaç duyduğu özellikleri Özellik Deposu'ndan otomatik olarak alır.

Toplu makine öğrenmesi kullanım örnekleri için Özellik Deposu iş akışı.

Gerçek zamanlı kullanım örnekleri için, özellikleri bir çevrimiçi mağazada yayımlayın veya çevrimiçi bir tablo kullanın.

Çıkarım zamanında model, çevrimiçi mağazadan önceden hesaplanan özellikleri okur ve istemci isteğinde sağlanan verilerle uç noktaya hizmet veren modele ekler.

Sunulan makine öğrenmesi modelleri için Özellik Deposu akışı.

Özellik Deposu'ni kullanmaya başlama

Feature Store ile çalışmaya başlamak için aşağıdaki makalelere bakın:

  • Özellik deposu özelliklerini gösteren örnek not defterlerinden birini deneyin.
  • Özellik Deposu Python API'sinin başvuru malzemesine bakın.
  • Feature Store ile eğitim modelleri hakkında bilgi edinin.
  • Unity Kataloğu'nda Özellik Mühendisliği hakkında bilgi edinin.
  • Çalışma Alanı Özellik Deposu hakkında bilgi edinin.
  • Bir modeli eğitmek veya puanlamak için belirli bir zaman itibarıyla en son özellik değerlerini almak için zaman serisi özellik tablolarını ve belirli bir noktaya aramaları kullanın.
  • Gerçek zamanlı sunum ve otomatik özellik arama için çevrimiçi mağazalarda veya çevrimiçi tablolarda özellik yayımlama hakkında bilgi edinin.
  • Databricks platformundaki özellikleri Databricks dışında dağıtılan modellerde veya uygulamalarda düşük gecikme süresiyle kullanılabilir hale getiren Özellik Sunma hakkında bilgi edinin.

Unity Kataloğu'nda Özellik Mühendisliği'ni kullandığınızda, Unity Kataloğu özellik tablolarının çalışma alanları arasında paylaşılmasıyla ilgilenir ve özellik tablolarına erişimi denetlemek için Unity Kataloğu ayrıcalıklarını kullanırsınız. Aşağıdaki bağlantılar yalnızca Çalışma Alanı Özellik Deposu içindir:

Desteklenen veri türleri

Unity Kataloğu ve Çalışma Alanı Özellik Deposu'nda Özellik Mühendisliği aşağıdaki PySpark veri türlerini destekler:

  • IntegerType
  • FloatType
  • BooleanType
  • StringType
  • DoubleType
  • LongType
  • TimestampType
  • DateType
  • ShortType
  • ArrayType
  • BinaryType [1]
  • DecimalType [1]
  • MapType [1]

[1] BinaryType, DecimalTypeve MapType , Unity Kataloğu'nda ve Çalışma Alanı Özellik Deposu v0.3.5 veya üzeri sürümlerde Özellik Mühendisliği'nin tüm sürümlerinde desteklenir.

Yukarıda listelenen veri türleri, makine öğrenmesi uygulamalarında yaygın olan özellik türlerini destekler. Örneğin:

  • Yoğun vektörleri, tensörleri ve eklemeleri olarak ArrayTypedepolayabilirsiniz.
  • Seyrek vektörleri, tensorları ve eklemeleri olarak MapTypedepolayabilirsiniz.
  • Metni olarak StringTypedepolayabilirsiniz.

Çevrimiçi mağazalarda ArrayType yayımlandığında ve MapType özellikler JSON biçiminde depolanır.

Özellik Deposu kullanıcı arabirimi, özellik veri türlerinde meta verileri görüntüler:

Karmaşık veri türleri örneği

Daha Fazla Bilgi

Özellik Mağazası'nı kullanmaya yönelik en iyi yöntemler hakkında daha fazla bilgi için, Özellik Mağazaları için Kapsamlı Kılavuz'ı indirin.