Aracılığıyla paylaş


Sınıflandırma için veri hazırlama

Verilerinizi sınıflandırmaya hazırlamak için AutoML'yi kullanmayı öğrenin.

Bu makalede AutoML'nin verileri sınıflandırma eğitimi için nasıl hazırladığı ve yapılandırılabilir veri ayarları açıklanmaktadır. Deneme kurulumu sırasında bu seçenekleri AutoML kullanıcı arabiriminde ayarlayabilirsiniz.

AutoML API'sini kullanarak bu ayarları yapılandırmak için AutoML Python API başvurusuna bakın.

Desteklenen veri özelliği türleri

Yalnızca aşağıda listelenen özellik türleri desteklenir. Örneğin, görüntüler desteklenmez .

Aşağıdaki özellik türleri desteklenir:

  • Sayısal (ByteType, ShortType, IntegerType, LongType, FloatTypeve DoubleType)
  • Boolean (Boole Mantığı)
  • Dize (kategorik veya İngilizce metin)
  • Zaman damgaları (TimestampType, DateType)
  • ArrayType[Numeric] (Databricks Runtime 10.4 LTS ML ve üzeri)
  • DecimalType (Databricks Runtime 11.3 LTS ML ve üzeri)

Eksik değerleri atama

Databricks Runtime 10.4 LTS ML ve üzerinde, null değerlerin nasıl işaretleneceğini belirtebilirsiniz. Kullanıcı arabiriminde, tablo şemasındaki Impute with sütunundaki açılan listeden bir yöntem seçin. API'de parametresini imputers kullanın. Daha fazla bilgi için bkz . AutoML Python API başvurusu.

Varsayılan olarak, AutoML sütun türüne ve içeriğe göre bir imputation yöntemi seçer.

Not

Varsayılan olmayan bir imputation yöntemi belirtirseniz, AutoML anlamsal tür algılaması gerçekleştirmez.

Sınıflandırma sorunları için dengesiz veri kümesi desteği

Databricks Runtime 11.3 LTS ML ve üzeri sürümlerde AutoML bir veri kümesinin dengesiz olduğunu algılarsa, ana sınıfın (es) küçük örneklemesini yaparak ve sınıf ağırlıkları ekleyerek eğitim veri kümesinin dengesizliğini azaltmaya çalışır. AutoML yalnızca eğitim veri kümesini dengeler ve test ve doğrulama veri kümelerini dengelemez. Bunun yapılması, model performansının her zaman gerçek giriş sınıfı dağıtımıyla zenginleştirilmemiş veri kümesinde değerlendirilmesini sağlar.

AutoML, dengesiz bir eğitim veri kümesini dengelemek için belirli bir sınıfın aşağı örnekleme derecesiyle ters ilişkili sınıf ağırlıklarını kullanır. Örneğin, 100 örneği olan bir eğitim veri kümesinde A sınıfına ait 95 örnek ve B sınıfına ait beş örnek varsa, AutoML A sınıfını 70 örne düşürerek bu dengesizliği azaltır; yani A sınıfını 70/95 veya 0,736 oranında aşağı örnekleme yaparken B sınıfındaki örnek sayısını 5'te tutar. Son modelin doğru şekilde ayarlandığından ve model çıkışının olasılık dağılımının girişle aynı olduğundan emin olmak için AutoML, A sınıfı için sınıf ağırlığını 1/0,736 veya 1,358 oranına göre ölçeklendirir ve B sınıfının ağırlığını 1 olarak tutar. AutoML daha sonra model eğitiminde bu sınıf ağırlıklarını parametre olarak kullanarak modeli eğitirken her sınıftan örneklerin uygun şekilde ağırlıklı olmasını sağlar.

Sütun seçimi

Databricks Runtime 10.3 ML ve üzerinde AutoML'nin eğitim için hangi sütunları kullanması gerektiğini belirtebilirsiniz. Kullanıcı arabiriminde bir sütunu hariç tutmak için, Dahil Et sütunundaki işareti kaldırın. API'de parametresini exclude_cols kullanın. Daha fazla bilgi için bkz . AutoML Python API başvurusu.

Tahmin hedefi olarak veya verileri bölmek için saat sütunu olarak seçilen sütunu bırakamazsınız.

Varsayılan olarak, tüm sütunlar eklenir.

Verileri, eğitim, doğrulama ve test kümelerine bölün

AutoML, eğitim, doğrulama ve test için verilerinizi üç bölmeye böler. ML sorununun türüne bağlı olarak, verileri bölmek için farklı seçenekleriniz vardır.

Verileri eğitim, doğrulama ve test kümelerine bölmek için aşağıdaki yöntemleri kullanın:

(Varsayılan) Rastgele bölme: Veri bölme stratejisi belirtilmezse veri kümesi rastgele olarak 60% eğitim bölmesi, 20% doğrulama bölmesi ve 20% test bölmesine ayrılır. Sınıflandırma için katmanlı rastgele bölme, her sınıfın eğitim, doğrulama ve test kümelerinde yeterince temsil edilmesini sağlar.

Kronolojik bölme: Databricks Runtime 10.4 LTS ML ve sonrasında, kronolojik eğitim, doğrulama ve test bölümleri oluşturmak için bir zaman sütunu seçebilirsiniz. Kronolojik bölmeler eğitim için en erken veri noktalarını, doğrulama için bir sonraki en erken ve test için en son noktaları kullanır. Zaman sütunu bir zaman damgası, tamsayı veya dize sütunu olabilir.

El ile bölme: Databricks Runtime 15.3 ML ve üzerinde, el ile bölme ayarlamak için API'yi kullanabilirsiniz. Bölünmüş bir sütun belirtin ve eğitim, doğrulama ve test veri kümelerinde kullanmak istediğiniz satırları tanımlamak için train, validateveya test değerlerini kullanın. train, testveya validate dışındaki bölünmüş sütun değerlerine sahip tüm satırlar yoksayılır ve buna karşılık gelen bir uyarı oluşturulur.

Büyük veri kümelerini örnekleme

AutoML hiper parametre ayarlama denemelerini bir kümenin çalışan düğümlerine dağıtsa da, her model tek bir çalışan düğümünde eğitilir.

AutoML, veri kümenizi yüklemek ve eğitmek için gereken belleği otomatik olarak tahmin eder ve gerekirse veri kümesini örnekler.

Databricks Runtime sürümü Örnekleme davranışı
9,1 LTS ML - 10,4 LTS ML Örnekleme kesri sabittir ve kümenin düğüm türüne veya düğüm başına belleğe bağlı değildir .
11.x ML Çekirdek başına daha fazla belleğe sahip çalışan düğümleri için örnekleme kesri artar . Örnek boyutunu artırmak için:
  • Bellek için iyileştirilmiş örnek türünü kullanın.
  • Spark yapılandırmasında spark.task.cpus ayarlayın. Varsayılan değer 1'dir ve en yüksek değer çalışan düğümündeki CPU sayısıdır. En yüksek değer, çalışan düğümündeki CPU sayısıdır. Bu değeri artırdığınızda, örnek boyutu daha büyük olur, ancak paralel olarak daha az deneme çalıştırılır.

Örnek: 4 çekirdeği ve 64 GB RAM'i olan bir makinede:
  • Her çalışan için, spark.task.cpus=1ile her biri 16 GB RAM kullanan dört deneme çalışır.
  • spark.task.cpus=4ile 64 GB RAM'in tamamını kullanarak çalışan başına bir deneme çalıştırılır.
11,3 LTS ML ve üzeri AutoML veri kümesini örneklediyse, örnekleme kesri kullanıcı arabiriminin Genel Bakış sekmesinde gösterilir.
12.2 LTS ML ve üzeri AutoML, eğitim görevi başına daha fazla CPU çekirdeği ayırarak daha büyük veri kümelerini işleyebilir. Toplam belleği daha fazla olan bir örneği seçerek örnek boyutunu artırın.

Sınıflandırma sorunları için AutoML, hedef etiket dağılımını korumak üzere katmanlı örnekleme için PySpark sampleByyöntemini kullanır.

Regresyon sorunları için AutoML, PySpark sampleyöntemini kullanır.

Anlamsal tür algılama

Not

  • AutoML, özel atama yöntemleri belirtilen sütunlar için anlamsal tür algılaması gerçekleştirmez.

Databricks Runtime 9.1 LTS ML ve üzeri sürümlerde AutoML, sütunların tablo şemasındaki Spark veya pandas veri türünden farklı bir anlam türüne sahip olup olmadığını algılamaya çalışır. AutoML bu sütunları algılanan anlam türü olarak ele alır. Bu algılamalar en iyi çabadır ve bazen anlam türlerinin varlığını kaçırabilir. Ayrıca bir sütunun semantik türünü el ile ayarlayabilir veyaek açıklamaları kullanarak AutoML'ye bir sütun için semantik tür algılama uygulamamasını söyleyebilirsiniz.

AutoML özellikle şu ayarlamaları yapar:

  • Tarih veya zaman damgası verilerini temsil eden dize ve tamsayı sütunları zaman damgası türü olarak değerlendirilir.
  • Sayısal verileri temsil eden dize sütunları sayısal bir tür olarak değerlendirilir.

Databricks Runtime 10.1 ML ve üzeri ile AutoML şu ayarlamaları da yapar:

  • Kategorik kimlikler içeren sayısal sütunlar kategorik bir özellik olarak değerlendirilir.
  • İngilizce metin içeren dize sütunları bir metin özelliği olarak değerlendirilir.

Anlamsal tür ek açıklamaları

Databricks Runtime 10.1 ML ve üzeri sürümlerde, bir sütuna anlam türü ek açıklaması yerleştirerek atanan anlam türünü el ile denetleyebilirsiniz. sütun <column-name> anlam türüne el ile <semantic-type>olarak not eklemek için aşağıdaki söz dizimini kullanın:

metadata_dict = df.schema["<column-name>"].metadata
metadata_dict["spark.contentAnnotation.semanticType"] = "<semantic-type>"
df = df.withMetadata("<column-name>", metadata_dict)

<semantic-type> aşağıdakilerden biri olabilir:

  • categorical: Sütun, kimlik olarak ele alınması gereken sayısal değerler gibi kategorik değerler içermektedir.
  • numeric: Sütun sayısal değerler (örneğin, sayılara ayrıştırılabilir dize değerleri) içerir.
  • datetime: Sütun zaman damgası değerlerini (zaman damgalarına dönüştürülebilen dize, sayısal veya tarih değerleri) içerir.
  • text: Dize sütunu İngilizce metin içerir.

Bir sütundaki anlamsal tür algılamayı devre dışı bırakmak için özel nativeanahtar sözcüğünü kullanın.