UCI Machine Learning Veritabanının Python API'sini tanıtın

Eser sahibi: Tirthajyoti Sarkar

Çeviri: Wang Yutong

Redaksiyon: Ding Nanya

Bu makale hakkında 2600 kelime , 9 dakika okumanız tavsiye edilir.

Bu makale sizi UCI veritabanının Python API'sini anlamanıza, kodu gerçek vakalar aracılığıyla söküp açıklamaya götürecektir.

Bu makale, UCI makine öğrenimi kitaplığı için basit ve sezgisel bir API'nin nasıl tanıtılacağını tanıtacaktır. Kullanıcılar, veri setinin açıklamasını görüntüleyebilir, ilgilenilen veri setini arayabilir ve hatta veri setinin veya makine öğrenimi görevlerinin boyutuna göre indirebilir.

Giriş

UCI makine öğrenimi kitaplığı, makine öğrenimi alanında bir eserdir. Yeni başlayanlar ve ileri seviyedeki öğrenciler için bir dükkan gibidir. Makine öğrenimi algoritmalarının ampirik analizi için veri tabanlarını, iş bilgilerini ve veri oluşturucularını bir araya getirir. 1987'de, California Üniversitesi'nden David Aha, Irvine ve öğrencileri web sitesini ftp dosyaları biçiminde oluşturdu. O zamandan beri, dünyanın her yerinden öğrenciler, eğitimciler ve araştırmacılar bunu makine öğrenimi veri kümelerinin ana kaynağı olarak kullandılar. Belgenin etkisinin bir işareti olarak, 1000'den fazla alıntı yapıldı ve bilgisayar bilimi alanında en çok alıntı yapılan 100 "makale" arasında yer aldı.

UCI bağlantısını ekleyin:

Buna karşılık, kullanıcıların portalı manipüle etmesi zaman ve çaba gerektirir, çünkü ilgilenilen veri kümesinin basit ve sezgisel bir API veya indirme bağlantısı yoktur ve hedef verilerin bulunduğu orijinal sayfaya gitmek için birden çok sayfaya atlanması gerekir. Ek olarak, belirli bir tür makine öğrenimi göreviyle (regresyon veya sınıflandırma gibi) ilgileniyorsanız ve göreve karşılık gelen tüm veri setlerini indirmek istiyorsanız, basit komutlarla bunu başarmak zordur.

UCI ML web sitesine basit ve sezgisel bir API sunmaktan çok mutluyum.Kullanıcılar veri kümesi açıklamalarını kolayca bulabilir, ilgilendikleri belirli veri kümelerini arayabilir ve hatta boyuta veya makine öğrenimi görevlerine göre veri kümelerini indirebilirler.

Buradan indirin

Bu, kullanıcıların UCI ML veri kümelerini etkileşimli olarak kullanmaları için işlevler ve yöntemler sağlayan, MIT tarafından lisanslanan bir Python 3.6 açık kaynak kod kitaplığıdır. Aşağıdaki Github sayfası kod tabanını indirebilir / kopyalayabilir / ayırabilir.

Github'a eklendi: https://github.com/tirthajyoti/UCI-ML-API Gerekli paket

Bu kodu çalıştırmak için yalnızca aşağıdaki üç yaygın olarak kullanılan Python paketi gereklidir. Bu destek paketlerinin kurulumunu kolaylaştırmak için, setup.bash ve setup.bat dosyaları depomda yer almaktadır. Sadece bir Linux / Windows kabuğunda çalıştırın!

  • Pandalar
  • Güzelsoup 4
  • Talepler
O nasıl çalışır?

Öncelikle, ağa bağlı olduğunuzdan emin olun! Ardından, repoyu Github'da indirin / klonlayın ve yukarıdaki paketlerin kurulu olduğundan emin olun.

git klon https://github.com/tirthajyoti/UCI-ML-API.git{your_local_directory}

Sonra Git'i klonladığınız yerel_dizininize gidin ve terminalde aşağıdaki komutları çalıştırın.

python Main.py

Daha sonra çeşitli görevleri gerçekleştirmenize izin veren bir menü açılacaktır. Menünün ekran görüntüsü aşağıdaki gibidir:

Şu anda desteklenen özellikler ve işlevler

Aşağıdakiler şu anda uygulanan özelliklerdir (yani yukarıdaki şekilde 1-9)

1. Veri kümesi adını, açıklamasını ve URL'sini içeren yerel bir veritabanı oluşturmak için tüm web sitesini tarayın.

2. Veri kümesi adlarını, boyutlarını ve makine öğrenimi görevlerini içeren yerel bir veritabanı oluşturmak için tüm web sitesini tarayın.

3. Belirli bir veri kümesini arayın ve indirin.

4. İlk birkaç veri kümesini indirin.

5. Tüm veri kümelerinin adlarını görüntüleyin.

6. Tüm veri kümelerinin kısa bir açıklamasını gösterin.

7. Veri kümesi için tek satırlı açıklamaları ve web bağlantılarını arayın (daha fazla bilgi edinin).

8. Veri setinin boyutuna göre veri setini indirin.

9. Veri kümesini, kendisiyle ilişkili makine öğrenimi görevine göre indirin.

Vaka (bir veri seti arayın ve indirin)

Örneğin, iyi bilinen Iris veri setini indirmek istiyorsanız, menüden 3. seçeneği seçin ve depolanan yerel veritabanının adını girin (daha hızlı arama için). Iris veri setini indirebilir ve "Iris" adlı bir klasörde saklayabilirsiniz!

Vakalar (anahtar kelimeleri içeren veri kümelerini arayın)

7. seçeneği seçerseniz, anahtar sözcükleri kullanarak arama yapacak ve adları arama dizesiyle eşleşen tüm veri kümelerinin (çift kısımların) kısa bir özetini alacaksınız. Verileri gerektiği gibi daha ayrıntılı incelemek için her sonuca bir web bağlantısı da alabilirsiniz. Aşağıdaki ekran görüntüsü, Kanser anahtar kelimesini kullanarak yapılan bir aramanın sonucudur.

Başka bir yol bulmak istiyorsan

Bu basit kullanıcı API'sinden kaçınmak ve temel işlevleri kullanmak istiyorsanız, bu da mümkündür. Genel süreç aşağıdaki gibidir, önce gerekli paketleri içe aktarın.

UCI_ML_Functions'dan pandaları pd olarak içe aktar * içe aktar

read_dataset_table (): URL'den veri kümesini okuyun ve sonraki veri temizliği ve sınıflandırması için daha fazla işleyin.

url: https://archive.ics.uci.edu/ml/datasets.html

clean_dataset_table (): Orijinal veri kümesini (DataFrame nesnesi (DataFrame)) temizleyin ve verileri döndürün. İşlenen veriler, eksik değerleri içeren gözlemleri siler. Ve "varsayılan görev" sütununu silin, bu sütun, veri kümesiyle ilişkili ana bilgisayar öğrenme görevlerini görüntülemek için kullanılır.

build_local_table (dosyaadı = Yok, msg_flag = Doğru): UCI ML web sitesini okuyun ve yerel bir tablo oluşturmak için adı, boyutu, ML görevini, veri türünü ve diğer bilgileri kullanın.

  • dosya adı: Kullanıcının seçebileceği dosya adı. Seçilmezse, varsayılan adı seçin ('UCI table.csv')
  • msg_flag: Kontrol bilgisi karmaşıklığı (ayrıntı düzeyi)

build_dataset_list (): UCI ML veri seti sayfasındaki bilgileri alın ve tüm veri seti bilgilerini içeren bir liste oluşturun.

build_dataset_dictionary (): UCI ML veri kümesi sayfasındaki bilgileri alın ve tüm veri kümelerinin adlarını ve açıklamalarını içeren bir sözlük oluşturun. Ek olarak, veri setine karşılık gelen benzersiz bir tanımlayıcı oluşturulur ve indiricinin, veri dosyasını indirmek için bu tanımlayıcı dizisine ihtiyacı vardır. Bu durumda ortak ad çalışmaz.

build_full_dataframe (): Verileri indirmek için URL bağlantısı dahil tüm bilgileri içeren bir DataFrame oluşturun.

build_local_database (dosyaadı = Yok, msg_flag = Doğru): UCI ML web sitesini okuyun ve yerel bir veritabanı oluşturmak için şu bilgileri kullanın: ad, özet, veri sayfası URL'si.

  • dosya adı: Kullanıcı tarafından seçilebilecek dosya adı. Seçilmezse, program varsayılan adı seçecektir ('UCI veritabanı.csv')
  • msg_flag: Kontrol bilgisi karmaşıklığı (ayrıntı düzeyi)

return_abstract (ad, local_database = Yok, msg_flag = Yanlış): Verilen adı arayarak belirli bir veri kümesinin (ve daha fazla bilgi için bir web bağlantısının) tek satırlık açıklamasını döndürür.

  • local_database: Yerel olarak depolanan veritabanı adı (CSV dosyası), yani UCI ML deposundaki tüm veri kümeleri hakkında bilgi içeren aynı dizinde
  • msg_flag: Kontrol bilgisi karmaşıklığı (ayrıntı düzeyi)

description_all_dataset (msg_flag = False): build_dataset_dictionary işlevini çağırın ve tüm veri kümelerinin açıklamasını görüntüleyin.

print_all_datasets_names (msg_flag = False): build_dataset_dictionary işlevini çağırın ve tüm veri kümelerinin adlarını görüntüleyin.

extract_url_dataset (veri kümesi, msg_flag = False): Bir veri kümesi tanımlayıcısı verildiğinde, bu işlev gerçek ham verilerin bulunduğu sayfanın URL'sini çıkarır.

download_dataset_url (url, dizin, msg_flag = False, download_flag = Doğru): Verilen url'deki bağlantıdan tüm dosyaları indirin.

  • msg_flag: Kontrol bilgisi karmaşıklığı (ayrıntı düzeyi)
  • Bayrak İndir: Varsayılan, Doğru'dur. Yanlış olarak ayarlanırsa, yalnızca dizin oluşturulur ancak indirilmez (test amacıyla)

download_datasets (num = 10, local_database = Yok, msg_flag = True, download_flag = True): Veri kümelerini indirin ve veri kümesinin adını taşıyan yerel bir dizine yerleştirin. Varsayılan olarak, yalnızca ilk 10 veri seti indirilir. Kullanıcı indirilecek veri setlerinin sayısını seçebilir.

  • msg_flag: Kontrol bilgisi karmaşıklığı (ayrıntı düzeyi)
  • Bayrak İndir: Varsayılan, Doğru'dur. False olarak ayarlanırsa, yalnızca dizin oluşturulur ancak indirme başlatılmaz (test amacıyla)

download_dataset_name (name, local_database = None, msg_flag = True, download_flag = True): Veri setinin belirtilen ismini indirmeye göre.

  • local_database: Yerel olarak depolanan veritabanı adı (CSV dosyası), yani UCI ML havuzundaki tüm veri kümelerinin adı ve URL bilgileri aynı dizinde bulunur
  • msg_flag: Kontrol bilgisi karmaşıklığı (ayrıntı düzeyi)
  • Bayrak İndir: Varsayılan, Doğru'dur. False olarak ayarlanırsa, yalnızca dizin oluşturulur ancak indirme başlatılmaz (test amacıyla)

download_datasets_size (size = 'Small', local_database = None, local_table = None, msg_flag = False, download_flag = True): 'boyut' standardını karşılayan tüm veri setlerini indirin.

  • boyut: Kullanıcının indirmek istediği veri kümesinin boyutu. Değer şunlardan herhangi biri olabilir: "Küçük", "Orta", "Büyük", "Çok Büyük".
  • local_database: Yerel olarak depolanan veritabanı adı (CSV dosyası), yani aynı dizinde, UCI ML havuzundaki tüm veri kümelerinin adını ve URL bilgilerini içerir.
  • local_table: Yerel olarak depolanan veritabanının (CSV dosyası) adı, yani UCI ML deposu üzerindeki tüm veri setlerine ilişkin özellik bilgileri aynı dizinde yer alır, yani örnek sayısı ve veri seti tarafından gerçekleştirilen makine öğrenme görevlerinin türü.
  • msg_flag: Kontrol bilgi karmaşıklığı (ayrıntı düzeyi).
  • Bayrak İndir: Varsayılan değer True'dur. False olarak ayarlanırsa, yalnızca dizin indirilmeden oluşturulur (test amacıyla).

download_datasets_task (görev = 'Sınıflandırma', local_database = Yok, local_table = Yok, msg_flag = Yanlış, download_flag = Doğru): kullanıcının ML görev standardına uymasını istediği tüm veri kümelerini indirin.

  • görev: Kullanıcı, veri setinin makine öğrenimi görevini indirmek istiyor. Görev değeri şunlardan herhangi biri olabilir: 'Sınıflandırma', 'Öneri Sistemleri', 'Regresyon', 'Diğer / Bilinmeyen', 'Kümeleme', 'Nedensel Keşif'
  • local_database: Yerel olarak depolanan veritabanı adı (CSV dosyası), yani UCI ML havuzundaki tüm veri kümelerinin adı ve URL bilgileri aynı dizinde bulunur
  • local_table: Yerel olarak depolanan veritabanının (CSV dosyası) adı, yani UCI ML deposu üzerindeki tüm veri setlerine ilişkin özellik bilgileri aynı dizinde yer alır, yani örnek sayısı ve veri seti tarafından gerçekleştirilen makine öğrenimi görevlerinin türü
  • msg_flag: Kontrol bilgisi karmaşıklığı (ayrıntı düzeyi)
  • Bayrak İndir: Varsayılan değer True'dur. False olarak ayarlanırsa, yalnızca dizin indirilmeden oluşturulur (test amacıyla)

Orjinal başlık:

UCI makine öğrenimi deposu için basit ve sezgisel bir Python API ile tanışın

Orijinal bağlantı:

https://www.codementor.io/tirthajyotisarkar/introducing-a-simple-and-intuitive-python-api-for-uci-machine-learning-repository-p8dfargnt

Çevirmen Profili

Wang Yutong UIUC, istatistik alanında yüksek lisans derecesi için çalışıyor, istatistik lisansında uzmanlaşıyor ve şu anda Kodlama becerilerinin geliştirilmesine odaklanıyor. Teoriden uygulamaya geçişte, verilere hayranlık duyuyoruz ve gelişmeye devam ediyoruz.

- Bitiş -

Tsinghua-Qingdao Veri Bilimi Enstitüsü'nün resmi WeChat kamu platformunu takip edin " THU Veri Pastası "Ve kız kardeş numarası" Veri Pastası THU "Daha fazla ders avantajı ve kaliteli içerik elde edin.

Yüz milyarlarca pazarı "süpürmek" için yarım yıllık araştırma ve geliştirme çalışmaları, Facebook'un telekom hayalinin ayrıntılı bir açıklaması
önceki
ABD süper yüksek hızlı tren ikilisi HTT, kabin fotoğrafları patladı
Sonraki
Alman ekonomik durgunluğu, Çin'den bile daha kötü olan ciddi hava kirliliğinden mi kaynaklanıyor? !
Rizhao'daki insanlar Çin Yeni Yılını tapınak fuarını ziyaret ederek geçirmek ve otantik Shandong Yeni Yılı lezzetini hissetmek için buraya gelirler.
Dünya elemeleri - Özil, Almanya'yı sekiz maçta 6-0 galip çıkardı Rashford, İngiltere'yi 2-1 geri aldı
GIF-Üç tarak Evergrande'nin kapısını kırmayı başaramadı, Zahavi ayağa kalkmak istemeyen çimlerde yatıyordu!
Yeni Yıl hediyesi: 365 makine öğrenimi kavramı, "yırtılmaya dayanıklı" AI takvimi sınırlı ön satış
Madden! Fransız çevik kuvvet polisi sarı yelekli videoyu bastırdı
Haberler | 5. Chengdu Yaratıcı Tasarım Haftası, 1.191 milyar yuan'ı aşan toplam işlem tutarı ile başarıyla sona erdi
Wu Shichun: "Kitaplar" doğru yolu seçti ve özü kavradı. HER ŞEY bana dokundu
Wenchuan depreminden Jinsha Nehri bariyer gölüne kadar, değişiklikleri yaşadılar ve aynı
Çiftçilik ve hasatta annenin tadını tatmak için Wuhan'da yüzden fazla kadın girişimciye yönelik platform kuruldu.
Pratik mücadeleyi güçlendirmek, yoldaşlar edinmek ve insanlarla bağlantı kurmak için Milano'da Pratik Çin İşletme Okulu açıldı
Dünya elemeleri - Robben Hollanda'yı 3-1, Ronaldo asist Portekiz 1-0, Belçika 2-1 Fransa 0-0
To Top