Kılavuz: Dengesiz sınıflandırma için maliyete duyarlı karar ağacı (kod bağlantısı ile)

Yazar: Jason Brownlee

Çeviri: Chen Chao

Düzeltme: Feng Yu

Bu makale hakkında 3500 kelime , Okumanız tavsiye edilir 10+ dakika

Bu makale, dengesizlik sınıflandırmasında maliyete duyarlı karar ağacı algoritmasını tanıtmaktadır.

Karar ağacı algoritması dengeli sınıflandırma için etkilidir, ancak dengesiz veri setlerinde iyi performans göstermez.

Karar ağacı bölünme noktası, tüm örnekleri minimum kafa karışıklığı ile iki gruba ayırabilmektir. İki gruba sırasıyla kategorilerden birinin örnekleri hakim olduğunda, bölünme noktası ayarını seçmek için kullanılan kriterler mantıklıdır.Aslında, azınlık kategorisindeki örnekler göz ardı edilecektir.

Bu sorun, bölünmüş noktaları değerlendirme kriterlerini değiştirerek ve genellikle ağırlıklı bölme noktaları veya ağırlıklı karar ağaçlarına atıfta bulunan her kategorinin önemi dikkate alınarak çözülebilir.

Bu kılavuzda, dengesiz sınıflandırma için ağırlıklı karar ağaçları göreceksiniz.

Bu kılavuzu tamamladıktan sonra şunları öğreneceksiniz:

  • Standart karar ağacı algoritmasının dengesiz sınıflandırmayı nasıl desteklemediği.
  • Bir bölünme noktası seçerken, karar ağacı algoritması model hatasını sınıf ağırlıklarıyla nasıl ölçüyor?
  • Karar ağacı algoritmasında sınıfların ağırlıkları nasıl yapılandırılır ve farklı sınıf ağırlıkları yapılandırması için ızgara araması nasıl yapılır.

SMOTE algoritması, tek kategorili sınıflandırma, maliyete duyarlı öğrenme, eşik kayması ve daha fazlası, lütfen 30 adım adım öğretici ve eksiksiz Python kaynak kodunu içeren yeni kitabımda arama yapın.

Yeni kitap bağlantısı:

https://machinelearningmastery.com/cost-sensitive-decision-trees-for-imbalanced-classification/

Tamam, başlayalım.

Dengesizlik sınıflandırması için ağırlıklı karar ağacı nasıl yapılır

Fotoğraf, Bonnie Moreland, bazı hakları saklıdır.

Kılavuza genel bakış

Bu kılavuz dört bölüme ayrılmıştır, bunlar:

1. Dengesiz sınıflandırma veri seti

İki, dengesiz sınıflandırma karar ağacı

Üç, Scikit-Learn'de ağırlıklı karar ağacı kullanın

4. Ağırlıklı karar ağacının ızgara araması

1. Dengesiz sınıflandırma veri seti

Dengesizlik sınıflandırmasının karar düzeltmesine dalmadan önce, bir dengesizlik veri seti tanımlayalım.

Kullanabiliriz make_classification () işlevi Sentetik, dengesiz iki kategorili bir sınıflandırma veri seti tanımlamak için. Azınlık sınıfının çoğunluk sınıfına oranının 1: 100 olduğu 10.000 örnek oluşturacağız.

make_classification () işlevi:

https://machinelearningmastery.com/cost-sensitive-decision-trees-for-imbalanced-classification/

... # veri kümesini tanımlayınX, y = sınıflandırma yap (n_samples = 10000, n_features = 2, n_redundant = 0, n_clusters_per_class = 1, weight =, flip_y = 0, random_state = 3)

Oluşturulduktan sonra, oluşturulan veri setinin beklediğimiz gibi olduğunu doğrulamak için sınıfların dağılımını özetleyebiliriz.

... # özet sınıf dağılım sayacı = Sayaç (y) baskı (sayaç)

Son olarak, bu veri kümesindeki örnek sınıflandırmasının karşılaştığı zorlukları anlamamıza yardımcı olmak için örneklerin dağılım grafiğini oluşturabilir ve bunları sınıf etiketlerine göre renklendirebiliriz.

... # etiket için sınıfa göre örneklerin dağılım grafiği, _ counter.items (): row_ix = burada (y == etiket) pyplot.scatter (X, X, etiket = str (etiket)) pyplot.legend () pyplot.show ()

Sentetik veri kümelerinin ve çizim örneklerinin eksiksiz örneklerini oluşturmak için bu kodları bir araya getirin.

# Koleksiyonlardan sentetik dengesiz bir sınıflandırma veri kümesi oluşturun ve grafiğini içe aktarın Sklearn.datasets'den gelen sayaç, matplotlib'den içe_geri_ sınıflandırma içe aktarma, numpy içe aktarımdan # tanımlı veri kümesiX, y = yapma_ sınıflandırma (n_samples = 10000, n_features = 2, n_redundant = 0, n_clusters, weper_ flip_y = 0, random_state = 3) # özet sınıf dağılım sayacı = Sayaç (y) baskı (sayaç) # etiket için sınıf etiketine göre örnek dağılım grafiği, sayaç.items () içinde _: row_ix = burada (y == etiket) pyplot. scatter (X, X, label = str (etiket)) pyplot.legend () pyplot.show ()

Bu örneği çalıştırmak önce bir veri kümesi oluşturacak ve ardından sınıfların dağılımını özetleyecektir.

Bu veri kümesinin dağılımının 1: 100'e yakın olduğunu görebiliriz. Çoğunluk sınıfında 10.000'den biraz daha az örnek ve azınlık sınıfında 100 örnek vardır.

Sayaç ({0: 9900, 1: 100})

Daha sonra, sınıfın bazı çakışan değerleri ile çoğunluk sınıfının (mavi) çok sayıda örneğini ve azınlık sınıfının (turuncu) az sayıda örneğini gösteren veri kümesinin bir dağılım grafiği vardır.

Dengesizlik ile iki kategorili veri kümesinin 1: 100 dağılım grafiği

Ardından, bu veri setine standart bir karar ağacı modeli sığdırabiliriz. Karar ağacı scikit-learn araç setini kullanabilir Karar ağacı sınıflandırıcı oluşturmak.

Karar ağacı sınıflandırıcı:

https://machinelearningmastery.com/cost-sensitive-decision-trees-for-imbalanced-classification/

... # define modelmodel = DecisionTreeClassifier ()

Bu modeli değerlendirmek için tekrarlanan çapraz doğrulama kullanacağız, toplamda üç tekrarlı 10 katmanlı çapraz doğrulama . Modelin performansı, tüm tekrarlarda eğrinin altındaki ROC alanı (ROC AUC) ve tüm katmanların ortalaması ile elde edilecektir.

10 katmanlı çapraz doğrulama:

https://machinelearningmastery.com/k-fold-cross-validation/

... # değerlendirme prosedürünü tanımlayıncv = RepeatedStratifiedKFold (n_splits = 10, n_repeats = 3, random_state = 1) # model puanlarını değerlendirin = cross_val_score (model, X, y, skorlama = 'roc_auc', cv = cv, n_jobs = -1) # performans baskısını özetler ('Ortalama ROC AUC:% .3f' ortalama (puanlar))

Dengesiz sınıflandırma problemlerine ilişkin standart bir karar ağacı modelinin tanımlanmasına ve değerlendirilmesine ilişkin eksiksiz bir örnek aşağıdaki gibidir.

Karar ağaçları, kendileri dengesiz sınıflandırma problemleri için verimli olmasalar da ikili sınıflandırma görevleri için etkili bir modeldir.

# sklearn.datasets'den numpy import ortalamasından dengesiz bir sınıflandırma veri kümesine bir karar ağacı yerleştir sklearn.model_selection öğesinden make_classification'ı import cross_val_scorefrom sklearn.model_selection import RepeatedStratifiedKFoldfromfrom sklearn.tree import DecisionTreeClassifier # make datasetX = make datasetX = 0, n_clusters_per_class = 1, ağırlıklar =, flip_y = 0, random_state = 3) # model modelini tanımla = DecisionTreeClassifier () # değerlendirme prosedürünü tanımlacv = RepeatedStratifiedKFold (n_splits = 10, n_repeats = 3, random_state = 1) # model_değerini değerlendir (çapraz_değer = model, X, y, puanlama = 'roc_auc', cv = cv, n_jobs = -1) # performans baskısını özetle ('Ortalama ROC AUC:% .3f'% ortalama (puanlar))

Dengesiz veri kümeleri üzerindeki standart karar ağacı modelinin performansını değerlendirmek ve ROC AUC'yi rapor etmek için bu örneği çalıştırın.

Özel sonuçlarınız, öğrenme algoritmasının doğasında bulunan rastgeleliğe bağlı olarak değişebilir. Birkaç kez daha çalıştırmayı deneyin.

Bu modelin 0.5'ten daha büyük ROC AUC'ye ulaşabildiğini ve 0.746 ortalama değerine ulaşabildiğini görebiliriz.

Ortalama ROC AUC: 0.746

Bu, herhangi bir standart karar ağacı algoritması iyileştirmesi için karşılaştırmalı bir temel sağlar.

İki, dengesiz sınıflandırma karar ağacı

Karar ağacı algoritmasına ayrıca Sınıflandırma ve regresyon ağacı (CART) , Ağaçları kapsayan ve eğitim setinden örneklerin sınıflandırılması dahil.

Sınıflandırma ve regresyon ağaçları:

https://machinelearningmastery.com/classification-and-regression-trees-for-machine-learning/

Ağaç, eğitim setini ayırmak için kullanılabilir ve örnek, ağacın karar noktası üzerinden yaprak düğüme ulaşabilir ve sınıf etiketleri ile iliştirilebilir.

Ağaç, eğitim setini ayırmak için veri setindeki değişkenlerin değerleri kullanılarak oluşturulabilir. Her noktada, verilerin ayrılması, en saf (en az karışık) örnek grubunun en açgözlü şekilde seçilmesine izin verir.

Burada saflık, örneklerin temiz bir şekilde ayrıldığı anlamına gelir.Sadece 0 ve yalnızca 1 içeren örneklerden oluşan sınıf en saf, 50-50 karışık sınıf en az saftır. Ortak saflık genellikle Gini safsızlığı ile hesaplanır, ancak entropi ile de hesaplanabilir.

Bilgi entropisi:

https://machinelearningmastery.com/information-gain-and-mutual-information/

Saflık ölçümü, belirli bir sınıfın bir örneğinin yanlış sınıflandırılma olasılığının hesaplanmasını içerir. Bu olasılıkların hesaplanması, her bir gruptaki her sınıfın örnek sayısının toplanmasını içerir.

Ayırma kriterleri, yalnızca ayırmanın saflığını dikkate alacak şekilde değil, aynı zamanda her bir sınıfın önemini ağırlıklandıracak şekilde güncellenebilir.

"Maliyete duyarlı bir karar ağacını içe aktarma amacımız, bir örnek yanlış sınıflandırmasının kaybıyla orantılı olarak ağırlığı değiştirmektir ..."

- "Kayba duyarlı karar ağaçlarını içe aktarmak için bir örnek ağırlıklandırma yöntemi", 2002

https://machinelearningmastery.com/cost-sensitive-decision-trees-for-imbalanced-classification/

Bu, katsayıların ağırlıklı toplam için kullanıldığı, her gruptaki örneklerin sayısı ağırlıklı bir toplamla değiştirilerek elde edilebilir.

Daha büyük ağırlıklar daha önemli sınıflara atanır ve daha küçük ağırlıklar daha az önemli sınıflara atanır.

  • Küçük ağırlık: Düğümün saflığı için daha az önemlidir ve daha düşük bir etkiye sahiptir.
  • Büyük ağırlık: Saflığı düğümlemek daha önemlidir ve daha yüksek bir etkiye sahiptir.

Çoğunluk sınıfa küçük ağırlıklar atanabilir, bu da düğümün saflık puanını artırabilir (azaltabilir), aksi takdirde bu düğüm

Görünüşe göre sıralama o kadar iyi değil. Bu, çoğunluk sınıfından daha fazla örneklemin azınlık sınıfında sınıflandırılmasına ve azınlık sınıfındaki örneklere daha iyi uyum sağlamasına olanak sağlayabilir.

"Daha yüksek yanlış sınıflandırma maliyetleri olan sınıflardan örneklere daha yüksek ağırlıklar atanır."

- "Dengesiz Veri Kümelerinden Öğrenme", 2018, sayfa 71

https://machinelearningmastery.com/cost-sensitive-decision-trees-for-imbalanced-classification/

Bu nedenle, karar ağacı algoritmasındaki bu değişikliğe ağırlıklı karar ağacı, ağırlıklı karar ağacı veya maliyete duyarlı karar ağacı adı verilir.

Sınıfın dengesizliğine daha iyi uyum sağlamak için karar ağacı yapım algoritmasını değiştiren birçok çalışma olmasına rağmen, ayırma noktası hesaplamasının değiştirilmesi en yaygın olanıdır.

Üç, Scikit-Learn'de ağırlıklı karar ağacı kullanın

Scikit-Learn Python makine öğrenimi araç seti, sınıf ağırlıklandırmayı destekleyen bir karar ağacı algoritması uygulama yöntemi sağlar.

Karar ağacı algoritması, bir model hiper parametresi olarak belirtilebilen bir class_weight parametresi sağlar. sınıf_ağırlığı, her bir sınıf etiketini (örneğin, 0 ve 1) ve uydurma modeline uygulandığında karar ağacındaki ayırma grubu saflık hesaplamasının ağırlığını tanımlayan bir sözlüktür.

Örneğin, her kategori 0 ve 1 için 1'e 1 ağırlık şu şekilde tanımlanabilir:

... # model ağırlıklarını tanımlayın = {0: 1.0, 1: 1.0} model = DecisionTreeClassifier (sınıf_ağırlığı = ağırlıklar)

Sınıf ağırlıklarını tanımlamanın birçok yolu vardır, örneğin:

  • Saha uzmanlığı: Konu uzmanları ile görüşülerek belirlenir;
  • Ayarlama: Izgara araması gibi hiperparametre aramasıyla belirlenir;
  • Sezgisel: Genel en iyi uygulamaları kullanmayı belirleyin.

Sınıf ağırlıklandırmasını kullanmak için en iyi uygulama, eğitim setindeki sınıf dağılımının tersini kullanmaktır.

Örneğin, test seti sınıf dağılımı bir azınlık sınıfıdır: çoğunluk sınıfı 1: 100 oranına sahiptir. Bu oranın karşılıklılığı 1 çoğunluk ve 100 azınlıktır. Örneğin:

... # model ağırlıklarını tanımlayın = {0: 1.0, 1: 100.0} model = DecisionTreeClassifier (sınıf_ağırlığı = ağırlıklar)

Aynı oranı tanımlamak ve aynı sonucu elde etmek için kesirleri de kullanabiliriz. Örneğin:

... # model ağırlıklarını tanımlayın = {0: 0.01, 1: 1.0} model = DecisionTreeClassifier (sınıf_ağırlığı = ağırlıklar)

Buluşsal yöntem, class_weight 'i doğrudan' dengelenmiş 'olarak ayarlayarak ayarlanabilir. Örneğin:

... # define modelmodel = DecisionTreeClassifier (class_weight = 'dengeli')

Sınıf ağırlıklı karar ağacı algoritmasını, önceki bölümde tanımlanan değerlendirme prosedürünü kullanarak değerlendirebiliriz.

Sınıf ağırlıklı karar ağacı sürümünün, sınıf ağırlıklandırması olmadan standart karar ağacı algoritmasından daha iyi performans göstermesini bekliyoruz.

Tam örnek aşağıdaki gibidir:

# dengesiz bir sınıflandırma veri kümesindeki sınıf ağırlığına sahip karar ağacı, sklearn.datasets'den numpy import ortalamasından sklearn.model_selection'dan make_classification içe aktarın sklearn.model_selection'dan import cross_val_score import RepeatedStratifiedKFoldfoldfrom sklearn.tree import DecisionTreeClassifier # make datasetX n_redundant = 0, n_clusters_per_class = 1, agırlıklar =, flip_y = 0, random_state = 3) # model modelini tanımla = DecisionTreeClassifier (class_weight = 'dengeli') # değerlendirme prosedürünü tanımlacv = RepeatedStratifiedKFold (n_splits = 10, n_repeats = 1), random_state # model puanlarını değerlendirin = cross_val_score (model, X, y, puanlama = 'roc_auc', cv = cv, n_jobs = -1) # performans baskısını özetleyin ('Ortalama ROC AUC:% .3f' ortalama (puanlar))

Sentetik bir dengesiz sınıflandırma veri kümesi hazırlamak için bu örneği çalıştırın ve ardından karar ağacı algoritmasının ağırlıklı versiyonunu değerlendirmek için tekrarlanan çapraz doğrulamayı kullanın.

Sonuçlarınız, algoritmanın rastgeleliğinden etkilenebilir, birkaç kez daha çalıştırmayı deneyin.

ROC AUC'nin ortalama puanı rapor edilir ve karar ağacı algoritmasının ağırlıksız versiyonundan daha iyi bir puan alır: 0.759 vs. 0.746.

Ortalama ROC AUC: 0.759

4. Ağırlıklı karar ağacının ızgara araması

Eğitim setinin karşılıklı oranını kullanan sınıf ağırlıklandırma bir tür sezgiseldir.

Farklı sınıf ağırlıklarının kullanılması daha iyi performansla sonuçlanabilir ve bu da değerlendirme modeli performans ölçütlerinin seçimine fazlasıyla bağlıdır.

Bu bölümde, ağırlıklı karar ağacı için farklı ağırlıklarda bir dizi ızgara araştırması gerçekleştirecek ve en iyi ROC AUC'yi elde edebilecek sonuçları inceleyeceğiz.

Sınıf 0 ve sınıf 1 için aşağıdaki ağırlıkları deneyeceğiz:

  • Sınıf 0: 100, sınıf 1: 1;
  • Sınıf 0:10, Sınıf 1: 1;
  • Sınıf 0: 1, Sınıf 1: 1;
  • Sınıf 0: 1, sınıf 1: 100.

GridSearchCV sınıfı olarak tanımlanabilen bu grid arama parametreleri aşağıdaki gibidir:

GridSearchCV sınıfı:

https://machinelearningmastery.com/cost-sensitive-decision-trees-for-imbalanced-classification/

... # gridbalance = param_grid = dict (class_weight = balance) tanımlayın

Bu parametrelerde ızgara taraması yapmak için tekrarlanan çapraz doğrulama kullanabilir ve modelin performansını tahmin etmek için ROC AUC kullanabiliriz:

... # değerlendirme prosedürünü tanımlayıncv = RepeatedStratifiedKFold (n_splits = 10, n_repeats = 3, random_state = 1) # grid searchgrid = GridSearchCV (tahminci = model, param_grid = param_grid, n_jobs = -1, cv = cv, puanlama = 'roc_auc ')

Bir kez yürütüldüğünde, en iyi yapılandırmayı özetleyebiliriz ve tüm sonuçlar aşağıdaki gibidir:

... # en iyi konfigürasyon baskısını rapor edin ("En iyi:% s kullanarak% f"% (grid_result.best_score_, grid_result.best_params _)) # tüm konfigürasyonları rapor et = grid_result.cv_results_stds = grid_result.cv_results_params = grid_result.cv_results, params_result.cams_result. zip olarak (ortalama, std, parametreler): print ("% f (% f) ile:% r"% (ortalama, stdev, param))

Aşağıdaki örnek, beş farklı sınıf ağırlığı üzerinde bir ızgara araması gerçekleştiren, dengesiz bir veri kümesinde bir karar ağacı algoritmasıdır.

Sezgisel sınıf ağırlıklarının en iyi yapılandırma olmasını bekleyebiliriz.

# dengesizlik sınıflandırması için karar ağacına sahip ızgara arama sınıfı ağırlıkları sklearn.datasets'den numpy import ortalamasından sklearn.model_selection'dan make_classification içe aktarın sklearn.model_selection import GridSearchCV import RepeatedStratifiedKFoldfrom sklearn.tree import DecisionTreeClassifier # make datasetX = make datasetX n_redundant = 0, n_clusters_per_class = 1, weights =, flip_y = 0, random_state = 3) # define modelmodel = DecisionTreeClassifier () # define gridbalance = param_grid = dict (class_weight = balance) #_re Evaluation procedurecv = Repe defineStratifiedKFold, n_lits = 3, random_state = 1) # grid searchgrid tanımla = GridSearchCV (estimator = model, param_grid = param_grid, n_jobs = -1, cv = cv, scoreing = 'roc_auc') # grid searchgrid_result = grid.fit (X, y ) # en iyi yapılandırma baskısını rapor edin ("En iyi:% f kullanarak% f"% (grid_result.best_score_, grid_result.best_params _)) # tüm konfigürasyonları raporla = grid_result.cv_results_stds = grid_result.cv_results_params = grid_result.cv_results_for mean, stdev, zip cinsinden param (ortalama, stds, parametreler): print ("% f (% f) ile:% r"% (ortalama, stdev, param))

Bu örneği çalıştırmak, her bir sınıf ağırlığını değerlendirmek için tekrarlanan k-katmanı çapraz doğrulama kullanır ve en iyi konfigürasyonu ve ilişkili ortalama ROC AUC puanını bildirir.

Sonuçlarınız öğrenme algoritmasının rastgeleliğine göre değişebilir, birkaç kez daha çalıştırmayı deneyin.

Bu durumda, 1: 100 bir çoğunluk görebiliriz: analog ağırlıklandırmanın azınlığı en iyi ortalama ROC puanını elde edebilir. Bu, genel sezgisel yapılandırmayla eşleşir.

ROC AUC ortalama puanı üzerindeki etkisini görmek için daha katı sınıf ağırlıklarını keşfetmek ilginç olabilir.

En İyi: 0,752643 {'sınıf_ağırlığı': {0: 1, 1: 100}} 0,737306 (0,080007) kullanımıyla: {'sınıf_ağırlığı': {0: 100, 1: 1}} 0,747306 (0,075298) ile: {'sınıf_ağırlığı' : {0: 10, 1: 1}} 0,740606 (0,074948) ile: {'sınıf_ağırlığı': {0: 1, 1: 1}} 0,747407 (0,068104) ile: {'sınıf_ağırlığı': {0: 1, 1: 10}} 0,752643 (0,073195) ile: {'sınıf_ağırlığı': {0: 1, 1: 100}}

Daha fazla oku

Daha fazlasını öğrenmek istiyorsanız, bu bölüm daha fazla ilgili kaynak sağlar.

  • kağıt
  • "Maliyete Duyarlı Karar Ağaçlarını İçe Aktarmak için Bir Örnek Ağırlıklandırma Yöntemi", 2002.https: //machinelearningmastery.com/cost-sensitive-decision-trees-for-imbalanced-classification/
  • kitabın
  • "Dengesiz Verilerden Öğrenme", 2018 https://amzn.to/307Xlva
  • "Dengesiz Öğrenme: Temel Bilgiler, Algoritmalar ve Uygulamalar", 2013 https://amzn.to/32K9K6d
  • API
  • sklearn.utils.class_weight.compute_class_weight API: https://scikit-learn.org/stable/modules/generated/sklearn.utils.class_weight.compute_class_weight.html
  • sklearn.tree.DecisionTreeClassifier API: https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html
  • sklearn.model_selection.GridSearchCV API: https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html

sonuç olarak

Bu kılavuzda, dengesiz sınıflandırma için ağırlıklı karar ağaçlarını incelediniz. Özellikle şunları öğrendiniz:

  • Standart karar ağacı algoritması dengesiz sınıflandırmayı nasıl desteklemez;
  • Bir bölünme noktası seçerken, karar ağacı algoritması model hatasını sınıf ağırlıklarına göre nasıl ağırlıklandırır;
  • Karar ağacı algoritmasında sınıfların ağırlıkları nasıl yapılandırılır ve farklı sınıf ağırlıkları yapılandırması için ızgara araması nasıl yapılır.

Orjinal başlık:

Dengesiz Sınıflandırma için Maliyete Duyarlı Karar Ağaçları

Orijinal bağlantı:

https://machinelearningmastery.com/cost-sensitive-decision-trees-for-imbalanced-classification

Editör: Huang Jiyan

Düzeltme: Yang Xuejun

Çevirmen Profili

Chen Chao , Pekin Üniversitesinde Uygulamalı Psikoloji Yüksek Lisansı. Lisans derecesi bir kez bilgisayar ana dalındaydı ve sonra amansız bir şekilde psikoloji yolunda araştırma yapıyordu. Giderek daha fazla veri analizi ve programlamanın iki zorunlu hayatta kalma becerisi haline geldiğini keşfediyor, bu nedenle günlük hayatımda ilgili bilgilere daha iyi erişmek ve anlamak için her türlü çabayı gösteriyorum, ancak önümdeki yol uzun ve hala yoldayım.

-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.

100 GB veriyi 0,052 saniyede açmak? Bu Python açık kaynak kitaplığı veri analizi yapar
önceki
Salgın altında, bu dijital ekonomi yolları tehlikede
Sonraki
"Birkaç vuruşta öğrenme" 2020 En İyi Konferans Bildirileri ve Kuralları
OpenKG ikinci partiyi yayınladı ve yeni taç bilgi grafiğinin yaklaşık on açık veri kümesini güncelledi
Tecrit koğuşundaki devriye robotu burada! Tsinghua halkı geriliyor
Kambriyen sprint AI çipi bilim ve teknoloji kurulunun ilk paylaşımı: Çin Bilimler Akademisi'nin kuluçka dönemi, 4 yılda 17,5 milyar değerleme
Bilmeniz Gereken Salgın Engelleme Silahları-İnternet Tıp
"Savaş" salgını "sırasında yüz yüze bir röportaj devam ediyor ve dünyayı Wuhan'a yaklaştırıyor
"My City, My Song" "Little Brother Qingdao" Liu Zhiyang'ın orijinal şarkısı "Our Qingdao"
Orijinal yazar Tao Zhe, yüzünde soru işaretleri bulunan "açık sarı elbiseyi" dinledi: kulaklıkla ilgili bir sorun olduğunu düşünerek
Weihai'nin şefkatli patronu bir kez daha Hubei'deki sağlık personeline deniz salatalıklarını gönderdi
Bahar ekinoksunda Yongding Nehri'nin müziğini dinleyin
İş gününün sonundaki trafik kısıtlaması yeniden kaldırılmadı, Pekin önümüzdeki hafta bu yollara yoğunlaşacak.
"Bakım ve İç Açıcı Paketi" hazırlayın ve Haidian'daki en büyük cadde ve kasaba düzeyindeki merkezi gözlem noktasında "konuklara" bu şekilde servis yapın
To Top