mltable Modül

MLTable nesneleri oluşturma ve bunlarla etkileşim kurma işlevselliğini içerir

Sınıflar

DataType

Desteklenen sütun türlerinin (int, bool, string vb.) düzgün işlenmesini işlemek için yardımcı sınıfı. Şu anda sütunların dönüştürülecek türleri belirtmek için MLTable.convert_column_types(. . .) & from_delimited_files(...) ile kullanılıyor. DataType.from_(...) ile farklı türler seçilir *Yöntemler.

MLTable

MLTable'ları temsil eder.

MLTable, veri kaynağından veri yüklemek için bir dizi yavaş değerlendirilen, sabit işlem tanımlar. MLTable'dan veri teslimi istenene kadar veriler kaynaktan yüklenmez.

Yeni bir MLTable başlatın.

Bu oluşturucu doğrudan çağrılmamalıdır. MLTable kullanılarak loadoluşturulması amaçlanmıştır.

Metadata

MLTable'ın meta veri bölümüne eşleyen sınıf.

Arbritrary meta veri özelliklerinin alma & eklenmesini destekler.

Traits

MLTable'ın nitelikler bölümüne eşleyen sınıf.

Şu anda desteklenen özellikler: timestamp_column ve index_columns

Numaralandırmalar

MLTableFileEncoding

MLTable oluşturmak için dosyalardan veri okurken kodlamanın nasıl işlendiğine ilişkin seçenekleri tanımlar.

Bu numaralandırma değerleri MLTable sınıfında kullanılır.

MLTableHeaders

MLTable oluşturmak için dosyalardan veri okurken sütun üst bilgilerinin nasıl işlendiğine ilişkin seçenekleri tanımlar.

Bu numaralandırma değerleri MLTable sınıfında kullanılır.

MLTablePartitionSize

Farklı bellek birimlerindeki belirli dosya biçimleri için çeşitli bölümleri okumak için ayrılan belleği temsil eden yardımcı sabit listesi. Şu anda sınırlandırılmış veya JSON satır dosyaları okunurken kullanılır.

İkili olarak bellek birimi olarak bayt, kilobayt, megabayt ve gigabayt destekler.

MLTableSaveOverwriteOption

MLTable.save() dosyasındaki dosya çakışmalarını işleme seçeneklerini tanımlar. Çakışma oluşursa EIther hata oluşturur, var olan dosyanın üzerine yeni dosya yazar veya mevcut dosyayı olduğu gibi bırakır.

İşlevler

from_delimited_files

Belirtilen sınırlandırılmış dosyalar listesinden bir MLTable oluşturur.

from_delimited_files(paths, header='all_files_same_headers', delimiter=',', support_multi_line=False, empty_as_string=False, encoding='utf8', include_path_column=False, infer_column_types=True)

Parametreler

paths
list[dict[str, str]]
Gerekli

Yollar, yerel veya bulut yolları olan dosya veya klasörleri destekler. Göreli yerel dosya yollarının geçerli çalışma dizinine göre olduğu varsayılır. Yerel dosya yolunun göreli olduğu üst dizin geçerli çalışma dizini değilse, bunun yerine bu yolu mutlak bir dosya yolu olarak geçirmenizi öneririz.

header
Union[str, MLTableHeaders]
Gerekli

Dosyalardan okurken sütun üst bilgilerinin nasıl işlenme şekli. sabit listesi MLTableHeaderskullanılarak belirtilen seçenekler. Desteklenen üst bilgiler :'no_header', 'from_first_file', 'all_files_different_headers' ve 'all_files_same_headers'.

delimiter
str
Gerekli

sütunları bölmek için kullanılan ayırıcı

support_multi_line
bool
Gerekli

Yanlış ise, tırnak içindeki alan değerleri dahil olmak üzere tüm satır sonları bir kayıt sonu olarak yorumlanır. Verileri bu şekilde okumak, birden çok CPU çekirdeğinde paralel yürütme için daha hızlı ve daha iyileştirilmiştir. Ancak, yanlış hizalanmış alan değerleriyle sessizce daha fazla kayıt üretmeye neden olabilir. Sınırlandırılmış dosyaların tırnak içine alınmış satır sonları içerdiği biliniyorsa bu, True olarak ayarlanmalıdır.

Örnek olarak bu csv dosyası göz önüne alındığında, veriler support_multi_line göre farklı şekilde okunur.

A,B,C A1,B1,C1 A2,"B 2",C2


   from mltable import from_delimited_files

   # default behavior: support_multi_line=False
   mltable = from_delimited_files(path)
   print(mltable.to_pandas_dataframe())
   #      A   B     C
   #  0  A1  B1    C1
   #  1  A2   B  None
   #  2  2"  C2  None

   # to handle quoted line breaks
   mltable = from_delimited_files(path, support_multi_line=True)
   print(mltable.to_pandas_dataframe())
   #      A       B   C
   #  0  A1      B1  C1
   #  1  A2  B\r\n2  C2
empty_as_string
bool
Gerekli

Boş alanların nasıl işlenmesi gerektiği. True boş alanları boş dizeler olarak okursa, aksi takdirde null olarak okur. True ve sütun tarih saat veya sayısal veriler içeriyorsa, boş alanlar yine de null olarak okunur.

encoding
Union[str, MLTableFileEncoding]
Gerekli

sabit MLTableFileEncodinglistesi kullanılarak dosya kodlamasını belirtir. Desteklenen kodlamalar şunlardır:

  • utf8 as "utf8", "utf-8", "utf-8 bom"
  • iso88591 olarak "iso88591" veya "iso-8859-1"
  • "latin1" veya "latin-1" olarak latin1
  • utf16, "utf16" veya "utf-16" olarak
  • "windows1252" veya "windows-1252" olarak windows1252
include_path_column
bool
Gerekli

Yol bilgilerini MLTable'da bir sütun olarak tutma, birden çok dosyayı okurken ve belirli bir kaydın hangi dosyadan geldiğini bilmek veya dosya yolunda depolanabilecek yararlı bilgileri tutmak istediğinizde yararlıdır.

infer_column_types
Union[bool, dict[str, Union[str, dict[Union[Tuple[str], str], DataType]]]
Gerekli

True ise, tüm sütun türlerini otomatik olarak çıkarsar. False ise, sütunları dize olarak bırakır. Sözlük ise, türleri belirli türlere ayarlanacak sütunları temsil eder (diğer tüm sütunlar çıkarılır). Sözlük, pozitif bir tamsayı sayısına eşlenmiş sample_size adlı bir anahtar içerebilir ve sütun türlerini çıkarsamak için kullanılacak satır sayısını temsil edebilir. Sözlükte 'column_type_overrides' adlı bir anahtar da bulunabilir. Sözlükteki her anahtar, sütun adını temsil eden bir dize veya bir sütun adı grubunu temsil eden bir dize grubudur. Her değer bir dizedir ('boole', 'string', 'float' veya 'int') ya da bir DataType. mltable. DataType.to_stream() desteklenmez. Boş bir sözlük verilirse True olduğu varsayılır. Varsayılan değer True'dır.

infer_column_types biçimlendirme örneği.


   from mltable import from_delimited_files

   # default behavior: support_multi_line=False
   mltable = from_delimited_files(paths, infer_column_types={
       'sample_size': 100,
       'column_type_overrides': {
           'colA': 'boolean'
           ('colB', 'colC'): DataType.to_int()
       }
   })

Döndürülenler

MLTable

Dönüş türü

Açıklamalar

Geçerli bir yol dizesi olmalıdır.


   # load mltable from local delimited file
   from mltable import from_delimited_files
   paths = [{"file": "./samples/mltable_sample/sample_data.csv"}]
   mltable = from_delimited_files(paths)

from_delta_lake

Delta lake tablosundan Parquet dosyalarında okunacak bir MLTable nesnesi oluşturur.

from_delta_lake(delta_table_uri, timestamp_as_of=None, version_as_of=None, include_path_column=False)

Parametreler

delta_table_uri
str
Gerekli

Okunacak delta lake parquet dosyalarını içeren delta tablo dizinine işaret eden URI. Desteklenen URI türleri şunlardır: yerel yol URI'sini, depolama URI'sini, uzun formlu veri deposu URI'sini veya veri varlığı uri'sini.

timestamp_as_of
string
Gerekli

Belirli bir noktadan eşleşen parquet dosyalarında okumak için kullanılacak RFC-3339/ISO-8601 biçiminde tarih saat dizesi. ex) "2022-10-01T00:00:00Z", "2022-10-01T00:00:00+08:00", "2022-10-01T01:30:00-08:00"

version_as_of
int
Gerekli

parquet dosyalarının belirli bir sürümünde okumak için kullanılacak tamsayı sürümü.

include_path_column
bool
Gerekli

Yol bilgilerini bir sütun olarak tutun, birden çok dosyayı okurken yararlı olur ve belirli bir kaydın hangi dosyadan geldiğini bilmek veya dosya yolunda depolanabilecek yararlı bilgileri tutmak istersiniz.

Döndürülenler

MLTable örneği

Dönüş türü

Açıklamalar

from_delta_lake , delta lake klasöründen tablolu gösterime veri yükleme işlemlerini tanımlayan bir MLTable nesnesi oluşturur.

Verilerin Azure Machine Learning tarafından erişilebilir olması için yolun delta tablo dizinine işaret etmesi ve başvuruda bulunılan delta lake dosyalarının AzureML hizmetleri tarafından veya genel web URL'lerinin arkasında erişilebilir olması gerekir.

from_delta_lake , delta lake verilerinin şu konuma işaret eden bir uri'den okunmasını destekler: yerel yol, Blob, ADLS 1. Nesil ve ADLS 2. Nesil

Kullanıcılar döndürülen MLTable'da to_pandas_dataframe() öğesini çağırarak verileri okuyabilir ve gerçekleştirebilir


   # create an MLTable object from a delta lake using timestamp versioning and materialize the data
   from mltable import from_delta_lake
   mltable_ts = from_delta_lake(delta_table_uri="./data/delta-01", timestamp_as_of="2021-05-24T00:00:00Z")
   pd = mltable_ts.to_pandas_dataframe()

   # create  an MLTable object from a delta lake using integer versioning and materialize the data
   from mltable import from_delta_lake
   mltable_version = from_delta_lake(delta_table_uri="./data/delta-02", version_as_of=1)
   pd = mltable_version.to_pandas_dataframe()

from_json_lines_files

Verilen JSON dosya yolları listesinden bir MLTable oluşturun.

from_json_lines_files(paths, invalid_lines='error', encoding='utf8', include_path_column=False)

Parametreler

paths
list[dict[str, str]]
Gerekli

Yollar, yerel veya bulut yolları olan dosya veya klasörleri destekler. Göreli yerel dosya yollarının geçerli çalışma dizinine göre olduğu varsayılır. Yerel dosya yolunun göreli olduğu üst dizin geçerli çalışma dizini değilse, bunun yerine bu yolu mutlak bir dosya yolu olarak geçirmenizi öneririz.

invalid_lines
str
Gerekli

Geçersiz JSON olan satırları işleme, 'bırakma' veya 'hata' olabilir. Geçersiz satırlar 'bırak' bırakılırsa, aksi takdirde hata oluşur.

encoding
Union[str, MLTableFileEncoding]
Gerekli

sabit MLTableFileEncodinglistesi kullanılarak dosya kodlamasını belirtir. Desteklenen dosya kodlamaları:

  • utf8 as "utf8", "utf-8", "utf-8 bom"
  • iso88591 olarak "iso88591" veya "iso-8859-1"
  • "latin1" veya "latin-1" olarak latin1
  • utf16, "utf16" veya "utf-16" olarak
  • "windows1252" veya "windows-1252" olarak windows1252
include_path_column
bool
Gerekli

Yol bilgilerini bir sütun olarak tutun, birden çok dosyayı okurken yararlı olur ve belirli bir kaydın hangi dosyadan geldiğini bilmek veya dosya yolunda depolanabilecek yararlı bilgileri tutmak istersiniz.

Döndürülenler

MLTable

Dönüş türü

Açıklamalar

Geçerli bir yol sözlüğü olmalıdır


   # load mltable from local JSON paths
   from mltable import from_json_lines_files
   paths = [{'file': './samples/mltable_sample/sample_data.jsonl'}]
   mltable = from_json_lines_files(paths)

from_parquet_files

Verilen parquet dosyaları listesinden MLTable oluşturun.

from_parquet_files(paths, include_path_column=False)

Parametreler

paths
list[dict[str, str]]
Gerekli

Yollar, yerel veya bulut yolları olan dosya veya klasörleri destekler. Göreli yerel dosya yollarının geçerli çalışma dizinine göre olduğu varsayılır. Yerel dosya yolunun göreli olduğu üst dizin geçerli çalışma dizini değilse, bunun yerine bu yolu mutlak bir dosya yolu olarak geçirmenizi öneririz.

include_path_column
bool
Gerekli

Yol bilgilerini bir sütun olarak tutun, birden çok dosyayı okurken yararlı olur ve belirli bir kaydın hangi dosyadan geldiğini bilmek veya dosya yolunda depolanabilecek yararlı bilgileri tutmak istersiniz.

Döndürülenler

MLTable örneği

Dönüş türü

Açıklamalar

Geçerli bir yol sözlüğü olmalıdır


   # load mltable from local parquet paths
   from mltable import from_parquet_files
   paths = [{'file': './samples/mltable_sample/sample.parquet'}]
   mltable = from_parquet_files(paths)

from_paths

Verilen yollardan MLTable oluşturun.

from_paths(paths)

Parametreler

paths
list[dict[str, str]]
Gerekli

Yollar, yerel veya bulut yolları olan dosya veya klasörleri destekler. Göreli yerel dosya yollarının geçerli çalışma dizinine göre olduğu varsayılır. Yerel dosya yolunun göreli olduğu üst dizin geçerli çalışma dizini değilse, bunun yerine bu yolu mutlak bir dosya yolu olarak geçirmenizi öneririz.

Döndürülenler

MLTable örneği

Dönüş türü

Açıklamalar

Geçerli bir yol sözlüğü olmalıdır


   # load mltable from local paths
   from mltable import from_paths
   tbl = from_paths([{'file': "./samples/mltable_sample"}])

   # load mltable from cloud paths
   from mltable import load
   tbl = from_paths(
       [{'file': "https://<blob-storage-name>.blob.core.windows.net/<path>/sample_file"}])

load

Verilen uri'de bulunan MLTable dosyasını (YAML) yükler.

storage_options 'abonelik', 'resource_group', 'çalışma alanı' veya 'konum' anahtarlarını destekler. Tümü bir Azure makine öğrenmesi çalışma alanı bulmalıdır.

load(uri, storage_options: dict = None, ml_client=None)

Parametreler

uri
str
Gerekli

uri, uzun formlu veri deposu uri'sini, depolama uri'sini, yerel yolu veya veri varlığı uri'sini ya da veri varlığı kısa uri'sini destekler

storage_options
dict[str, str]
Gerekli

URI bir AML varlığı olduğunda AML çalışma alanı bilgileri

Döndürülenler

MLTable

Dönüş türü

Açıklamalar

Verilen uri'de 'MLTable' adlı geçerli bir MLTable YAML dosyası bulunmalıdır.


   # load mltable from local folder
   from mltable import load
   tbl = load('.\samples\mltable_sample')

   # load mltable from azureml datastore uri
   from mltable import load
   tbl = load(
       'azureml://subscriptions/<subscription-id>/
       resourcegroups/<resourcegroup-name>/workspaces/<workspace-name>/
       datastores/<datastore-name>/paths/<mltable-path-on-datastore>/')

   # load mltable from azureml data asset uri
   from mltable import load
   tbl = load(
         'azureml://subscriptions/<subscription-id>/
         resourcegroups/<resourcegroup-name>/providers/Microsoft.MachineLearningServices/
         workspaces/<workspace-name>/data/<data-asset-name>/versions/<data-asset-version>/')

   # load mltable from azureml data asset short uri
   from mltable import load
   from azure.ai.ml import MLClient
   from azure.identity import DefaultAzureCredential
   credential = DefaultAzureCredential()
   ml_client = MLClient(credential, <subscription_id>, <resourcegroup-name>, <workspace-name>)
   tbl = load('azureml:<data-asset-name>:<version>', ml_client=ml_client)