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 indirinBu, 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 paketBu 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!
Ö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.pyDaha 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şlevlerAş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 istiyorsanBu 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 aktarread_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.htmlclean_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.
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.
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.
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.
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.
download_dataset_name (name, local_database = None, msg_flag = True, download_flag = True): Veri setinin belirtilen ismini indirmeye göre.
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.
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.
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.