MLTable Sınıf

MLTable'ları temsil eder.

MLTable, veri kaynağından veri yüklemek için bir dizi gevşek olarak 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ılması gerekmez. MLTable kullanılarak loadoluşturulması amaçlanmıştır.

Oluşturucu

MLTable()

Yöntemler

convert_column_types

Belirtilen sütunları ilgili belirtilen yeni türlerine dönüştürmek için bir dönüştürme adımı ekler.


   from mltable import DataType
       data_types = {
           'ID': DataType.to_string(),
           'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
           'Count': DataType.to_int(),
           'Latitude': DataType.to_float(),
           'Found': DataType.to_bool(),
           'Stream': DataType.to_stream()
       }
drop_columns

Veri kümesinden belirli sütunları bırakmak için bir dönüştürme adımı ekler. Boş bir liste, tanımlama grubu veya küme verildiğinde hiçbir şey bırakılmaz. Yinelenen sütunlar userErrorException oluşturur.

MLTable.traits.timestamp_column veya MLTable.traits.index_columns olan bir sütunu bırakma girişimi, UserErrorException'ı tetikler.

extract_columns_from_partition_format

Her yolun bölüm bilgilerini kullanmak ve bunları belirtilen bölüm biçimine göre sütunlar halinde ayıklamak için bir dönüştürme adımı ekler.

'{column_name}' biçim bölümü dize sütunu oluşturur ve '{column_name:yyyy/MM/dd/HH/mm/ss}' datetime sütunu oluşturur; burada tarih saat türü için yıl, ay, gün, saat, dakika ve saniyeyi ayıklamak için 'yyyy', 'MM', 'dd', 'HH', 'd' ve 'ss' kullanılır.

Biçim, ilk bölüm anahtarının konumundan dosya yolunun sonuna kadar başlamalıdır. Örneğin, bölümün bölüm adına ve saatlerine göre olduğu '/Accounts/2019/01/01/data.csv' yolu göz önünde bulundurulduğunda, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' değeri 'Accounts' olan bir 'Department' dize sütunu ve '2019-01-01' değeriyle 'PartitionDate' tarih saat sütunu oluşturur.

filter

Yalnızca belirtilen ifadeyle eşleşen kayıtları bırakarak verileri filtreleyin.

get_partition_count

Bu MLTable ile ilişkili verilerin temel alınan veri bölümlerinin sayısını döndürür.

keep_columns

Belirtilen sütunları korumak ve diğer tüm sütunları veri kümesinden bırakmak için bir dönüştürme adımı ekler. Boş bir liste, tanımlama grubu veya küme verildiğinde hiçbir şey bırakılmaz. Yinelenen sütunlar userErrorException oluşturur.

MLTable.traits.timestamp_column sütun veya MLTable.traits.index_columns içindeki sütunlar açıkça saklanmazsa, UserErrorException düzensizdir.

random_split

Bu MLTable'ı rastgele olarak iki MLTable'a böler; biri özgün MLTable verilerinin yaklaşık "yüzde"%, diğeri kalan mlTable'a sahip olur (1-"yüzde"%).

save

Bu MLTable'ı MLTable YAML dosyası olarak ve ilişkilendirilmiş yollarını verilen dizin yoluna kaydedin.

Yol verilmezse, varsayılan olarak geçerli çalışma dizinine ayarlanır. Yol yoksa oluşturulur. Yol uzaksa, temel alınan veri deposunun zaten mevcut olması gerekir. Yol yerel bir dizin ise ve mutlak değilse, mutlak yapılır.

Yol bir dosyayı işaret ederse, bir UserErrorException oluşturulur. Yol zaten kaydedilmekte olan bir veya daha fazla dosya içeren bir dizin yoluysa (MLTable YAML dosyası dahil) ve üzerine yazma False veya 'fail' olarak ayarlandıysa, UserErrorException oluşturulur. Yol uzaksa, birlikte konumlandırılmış yol olarak verilmeyen tüm yerel dosya yolları (MLTable'ın yüklendiği dizine göre dosya yolu) userErrorException oluşturur.

birlikte bulunan , ilişkili yolların yola nasıl kaydedileceğini denetler. True ise, dosyalar MLTable YAML dosyasının yanı sıra yola göreli dosya yolları olarak kopyalanır. Aksi takdirde ilişkili dosyalar kopyalanmaz, uzak yollar verilen şekilde kalır ve gerekirse yerel dosya yolları yol yeniden yönlendirme ile göreli olarak yapılır. Uzak URI'ler için göreli yol yeniden yönlendirmesi desteklenmediğinden, False'un önerilmez, ayrıca yol uzaksa userErrorException ile sonuçlanabileceğini unutmayın.

MLTable yerel göreli yollarla from_paths() veya from_read_delimited_files() gibi yöntemlerle programlı olarak oluşturulursa, MLTable dizin yolunun geçerli çalışma dizini olduğu varsayılır.

Yeni bir MLTable & ilişkili veri dosyalarını, yeni dosyaları kaydetmeden önce dizinin mevcut dosyalardan temizlenmediği bir MLTable dosyası ve ilişkili veri dosyaları içeren bir dizine kaydederken dikkatli olun. Özellikle mevcut veri dosyalarının yeni veri dosyalarıyla eşleşen adları yoksa, yeni dosyaları kaydettikten sonra zaten var olan veri dosyalarının kalıcı olması mümkündür. Yeni MLTable, yollarının altında bir desen belirleyicisi içeriyorsa, bu, mevcut veri dosyalarını yeni MLTable ile ilişkilendirerek MLTable'ı istemeden değiştirebilir.

Bu MLTable'daki dosya yolları yolda var olan bir dosyayı gösteriyorsa ancak farklı bir URI'sine sahipse, üzerine yazma 'başarısız' veya 'atla' ise, varolan dosyanın üzerine yazılmaz (atlanır).

select_partitions

Bölümü seçmek için bir dönüştürme adımı ekler.

show

Bu MLTable'ın ilk sayı satırlarını Pandas Veri Çerçevesi olarak alır.

skip

Bu MLTable'ın ilk sayı satırlarını atlamak için bir dönüştürme adımı ekler.

take

Bu MLTable'ın ilk sayı satırlarını seçmek için bir dönüştürme adımı ekler.

take_random_sample

Bu MLTable'ın her satırını olasılık olasılığıyla rastgele seçmek için bir dönüştürme adımı ekler. Olasılık [0, 1] aralığında olmalıdır. İsteğe bağlı olarak rastgele bir tohum ayarlayabilir.

to_pandas_dataframe

MLTable dosyasında belirtilen yollardaki tüm kayıtları Pandas DataFrame'e yükleyin.

validate

Bu MLTable'ın verilerinin yüklenebildiğini doğrular, MLTable'ın veri kaynaklarının geçerli işlemden erişilebilir olmasını gerektirir.

convert_column_types

Belirtilen sütunları ilgili belirtilen yeni türlerine dönüştürmek için bir dönüştürme adımı ekler.


   from mltable import DataType
       data_types = {
           'ID': DataType.to_string(),
           'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
           'Count': DataType.to_int(),
           'Latitude': DataType.to_float(),
           'Found': DataType.to_bool(),
           'Stream': DataType.to_stream()
       }
convert_column_types(column_types)

Parametreler

Name Description
column_types
Gerekli

Sütun sözlüğü: kullanıcının dönüştürmek istediği türler

Döndürülenler

Tür Description

Eklenen dönüştürme adımı ile MLTable

drop_columns

Veri kümesinden belirli sütunları bırakmak için bir dönüştürme adımı ekler. Boş bir liste, tanımlama grubu veya küme verildiğinde hiçbir şey bırakılmaz. Yinelenen sütunlar userErrorException oluşturur.

MLTable.traits.timestamp_column veya MLTable.traits.index_columns olan bir sütunu bırakma girişimi, UserErrorException'ı tetikler.

drop_columns(columns: str | List[str] | Tuple[str] | Set[str])

Parametreler

Name Description
columns
Gerekli
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

bu MLTable'dan bırakılabilir sütun

Döndürülenler

Tür Description

Eklenen dönüştürme adımı ile MLTable

extract_columns_from_partition_format

Her yolun bölüm bilgilerini kullanmak ve bunları belirtilen bölüm biçimine göre sütunlar halinde ayıklamak için bir dönüştürme adımı ekler.

'{column_name}' biçim bölümü dize sütunu oluşturur ve '{column_name:yyyy/MM/dd/HH/mm/ss}' datetime sütunu oluşturur; burada tarih saat türü için yıl, ay, gün, saat, dakika ve saniyeyi ayıklamak için 'yyyy', 'MM', 'dd', 'HH', 'd' ve 'ss' kullanılır.

Biçim, ilk bölüm anahtarının konumundan dosya yolunun sonuna kadar başlamalıdır. Örneğin, bölümün bölüm adına ve saatlerine göre olduğu '/Accounts/2019/01/01/data.csv' yolu göz önünde bulundurulduğunda, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' değeri 'Accounts' olan bir 'Department' dize sütunu ve '2019-01-01' değeriyle 'PartitionDate' tarih saat sütunu oluşturur.

extract_columns_from_partition_format(partition_format)

Parametreler

Name Description
partition_format
Gerekli
str

Verileri sütunlara ayıklamak için kullanılacak bölüm biçimi

Döndürülenler

Tür Description

Bölüm biçimi verilen biçime ayarlanmış MLTable

filter

Yalnızca belirtilen ifadeyle eşleşen kayıtları bırakarak verileri filtreleyin.

filter(expression)

Parametreler

Name Description
expression
Gerekli

Değerlendirilecek ifade.

Döndürülenler

Tür Description

Filtreden sonra MLTable

Açıklamalar

İfadeler, mltable'ın bir sütun adıyla dizinlenmesiyle başlatılır. Bunlar çeşitli işlevleri ve işleçleri destekler ve mantıksal işleçler kullanılarak birleştirilebilir. Sonuçta elde edilen ifade, tanımlandığı yerde değil, bir veri çekme gerçekleştiğinde her kayıt için gevşek bir şekilde değerlendirilir.


   filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
   filtered_mltable = mltable.filter('col("FBI Code") == "11"')

get_partition_count

Bu MLTable ile ilişkili verilerin temel alınan veri bölümlerinin sayısını döndürür.

get_partition_count() -> int

Döndürülenler

Tür Description
int

bu MLTable'daki veri bölümleri

keep_columns

Belirtilen sütunları korumak ve diğer tüm sütunları veri kümesinden bırakmak için bir dönüştürme adımı ekler. Boş bir liste, tanımlama grubu veya küme verildiğinde hiçbir şey bırakılmaz. Yinelenen sütunlar userErrorException oluşturur.

MLTable.traits.timestamp_column sütun veya MLTable.traits.index_columns içindeki sütunlar açıkça saklanmazsa, UserErrorException düzensizdir.

keep_columns(columns: str | List[str] | Tuple[str] | Set[str])

Parametreler

Name Description
columns
Gerekli
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

tutulacak bu MLTable'daki sütunlar

Döndürülenler

Tür Description

Eklenen dönüştürme adımı ile MLTable

random_split

Bu MLTable'ı rastgele olarak iki MLTable'a böler; biri özgün MLTable verilerinin yaklaşık "yüzde"%, diğeri kalan mlTable'a sahip olur (1-"yüzde"%).

random_split(percent=0.5, seed=None)

Parametreler

Name Description
percent
Gerekli

arasında bölünecek MLTable yüzdesi

seed
Gerekli

isteğe bağlı rastgele tohum

Döndürülenler

Tür Description

bu MLTable'ın verileri arasında "yüzde" ile bölünmüş iki MLTable

save

Bu MLTable'ı MLTable YAML dosyası olarak ve ilişkilendirilmiş yollarını verilen dizin yoluna kaydedin.

Yol verilmezse, varsayılan olarak geçerli çalışma dizinine ayarlanır. Yol yoksa oluşturulur. Yol uzaksa, temel alınan veri deposunun zaten mevcut olması gerekir. Yol yerel bir dizin ise ve mutlak değilse, mutlak yapılır.

Yol bir dosyayı işaret ederse, bir UserErrorException oluşturulur. Yol zaten kaydedilmekte olan bir veya daha fazla dosya içeren bir dizin yoluysa (MLTable YAML dosyası dahil) ve üzerine yazma False veya 'fail' olarak ayarlandıysa, UserErrorException oluşturulur. Yol uzaksa, birlikte konumlandırılmış yol olarak verilmeyen tüm yerel dosya yolları (MLTable'ın yüklendiği dizine göre dosya yolu) userErrorException oluşturur.

birlikte bulunan , ilişkili yolların yola nasıl kaydedileceğini denetler. True ise, dosyalar MLTable YAML dosyasının yanı sıra yola göreli dosya yolları olarak kopyalanır. Aksi takdirde ilişkili dosyalar kopyalanmaz, uzak yollar verilen şekilde kalır ve gerekirse yerel dosya yolları yol yeniden yönlendirme ile göreli olarak yapılır. Uzak URI'ler için göreli yol yeniden yönlendirmesi desteklenmediğinden, False'un önerilmez, ayrıca yol uzaksa userErrorException ile sonuçlanabileceğini unutmayın.

MLTable yerel göreli yollarla from_paths() veya from_read_delimited_files() gibi yöntemlerle programlı olarak oluşturulursa, MLTable dizin yolunun geçerli çalışma dizini olduğu varsayılır.

Yeni bir MLTable & ilişkili veri dosyalarını, yeni dosyaları kaydetmeden önce dizinin mevcut dosyalardan temizlenmediği bir MLTable dosyası ve ilişkili veri dosyaları içeren bir dizine kaydederken dikkatli olun. Özellikle mevcut veri dosyalarının yeni veri dosyalarıyla eşleşen adları yoksa, yeni dosyaları kaydettikten sonra zaten var olan veri dosyalarının kalıcı olması mümkündür. Yeni MLTable, yollarının altında bir desen belirleyicisi içeriyorsa, bu, mevcut veri dosyalarını yeni MLTable ile ilişkilendirerek MLTable'ı istemeden değiştirebilir.

Bu MLTable'daki dosya yolları yolda var olan bir dosyayı gösteriyorsa ancak farklı bir URI'sine sahipse, üzerine yazma 'başarısız' veya 'atla' ise, varolan dosyanın üzerine yazılmaz (atlanır).

save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)

Parametreler

Name Description
path
Gerekli
str

kaydedilecek dizin yolu, varsayılan olarak geçerli çalışma dizini

colocated
Gerekli

True ise, bu MLTable'daki yerel ve uzak dosya yollarının kopyalarını göreli yollar olarak yol altına kaydeder. Aksi takdirde hiçbir dosya kopyalama gerçekleşmez ve uzak dosya yolları, kaydedilen MLTable YAML dosyasına ve yerel dosya yollarına yol yeniden yönlendirmeli göreli dosya yolları olarak verildiği gibi kaydedilir. Yol uzaksa ve bu MLTable yerel dosya yolları içeriyorsa, bir UserErrorException oluşturulur.

overwrite
Gerekli
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]

Bir MLTable YAML dosyasının ve yol altında zaten mevcut olabilecek ilişkili dosyaların nasıl işlendiğini. Seçenekler mevcut dosyaları değiştirmek için 'üzerine yaz' (veya True), bir dosya zaten varsa hata vermek için 'başarısız' (veya Yanlış) veya mevcut dosyaları olduğu gibi bırakmak için 'atla'dır. ile de ayarlanabilir <xref:mltable.MLTableSaveOverwriteOptions>.

show_progress
Gerekli

stdout'a kopyalama ilerleme durumunu görüntüler

if_err_remove_files
Gerekli

kaydetme sırasında herhangi bir hata oluşursa, işlemi atomik hale getirmek için başarıyla kaydedilen dosyalar kaldırıldı

Döndürülenler

Tür Description

bu MLTable örneği

select_partitions

Bölümü seçmek için bir dönüştürme adımı ekler.

select_partitions(partition_index_list)

Parametreler

Name Description
partition_index_list
Gerekli
list of int

bölüm dizini listesi

Döndürülenler

Tür Description

Bölüm boyutu güncelleştirilmiş MLTable

Açıklamalar

Aşağıdaki kod parçacığı, sağlanan MLTable'dan seçilen bölümlere select_partitions API'sinin nasıl kullanılacağını gösterir.


   partition_index_list = [1, 2]
   mltable = mltable.select_partitions(partition_index_list)

show

Bu MLTable'ın ilk sayı satırlarını Pandas Veri Çerçevesi olarak alır.

show(count=20)

Parametreler

Name Description
count
Gerekli
int

tablonun en üstünden seçilebilen satır sayısı

Döndürülenler

Tür Description
<xref:Pandas> <xref:Dataframe>

MLTable'ın ilk satırlarını sayma

skip

Bu MLTable'ın ilk sayı satırlarını atlamak için bir dönüştürme adımı ekler.

skip(count)

Parametreler

Name Description
count
Gerekli
int

atlana satır sayısı

Döndürülenler

Tür Description

Eklenen dönüştürme adımı ile MLTable

take

Bu MLTable'ın ilk sayı satırlarını seçmek için bir dönüştürme adımı ekler.

take(count=20)

Parametreler

Name Description
count
Gerekli
int

tablonun en üstünden seçilebilen satır sayısı

Döndürülenler

Tür Description

Eklenen "take" dönüştürme adımıyla MLTable

take_random_sample

Bu MLTable'ın her satırını olasılık olasılığıyla rastgele seçmek için bir dönüştürme adımı ekler. Olasılık [0, 1] aralığında olmalıdır. İsteğe bağlı olarak rastgele bir tohum ayarlayabilir.

take_random_sample(probability, seed=None)

Parametreler

Name Description
probability
Gerekli

her satırın seçilme şansı

seed
Gerekli

isteğe bağlı rastgele tohum

Döndürülenler

Tür Description

Eklenen dönüştürme adımı ile MLTable

to_pandas_dataframe

MLTable dosyasında belirtilen yollardaki tüm kayıtları Pandas DataFrame'e yükleyin.

to_pandas_dataframe()

Döndürülenler

Tür Description

Bu MLTable'daki yollardan kayıtları içeren Pandas Dataframe

Açıklamalar

Aşağıdaki kod parçacığı, sağlanan MLTable'a karşılık gelen pandas veri çerçevesini almak için to_pandas_dataframe API'sinin nasıl kullanılacağını gösterir.


   from mltable import load
   tbl = load('.\samples\mltable_sample')
   pdf = tbl.to_pandas_dataframe()
   print(pdf.shape)

validate

Bu MLTable'ın verilerinin yüklenebildiğini doğrular, MLTable'ın veri kaynaklarının geçerli işlemden erişilebilir olmasını gerektirir.

validate()

Döndürülenler

Tür Description

Hiç kimse

Öznitelikler

partition_keys

Bölüm anahtarlarını döndür.

Döndürülenler

Tür Description

bölüm anahtarları

paths

Bu MLTable'a verilen özgün yolları içeren sözlüklerin listesini döndürür. Göreli yerel dosya yollarının, bu MLTable örneğinin yüklendiği MLTable YAML dosyasının bulunduğu dizine göre olduğu varsayılır.

Döndürülenler

Tür Description

MLTable'da belirtilen yolları içeren dikte listesi