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.
|
| 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
|
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
|
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 |
|---|---|
|
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
|
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
|
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
|
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
|
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
|
atlana satır sayısı |
Döndürülenler
| Tür | Description |
|---|---|
|
Eklenen dönüştürme adımı ile MLTable |
take
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
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 |