Sizler için 7 kullanışlı Python kütüphanesi derledim.Makine öğrenimi ile uğraşıyorsanız gelip birlikte öğrenmelisiniz.
1. Prophet
📘
Prophet , Facebook'un açık kaynak kodlu zaman serisi tahmin aracı kütüphanesidir.Stan çatısını temel alarak zaman serilerindeki trendleri, periyodikliği ve tatil etkilerini otomatik olarak tespit edebilir ve bu bilgilere dayanarak tahminlerde bulunabilir. Bu kitaplığın GitHub'da 15 binden fazla yıldızı var.
Link:
https://github.com/facebook/prophet
Prophet genellikle gelecek aylar, yıllar veya onyıllardaki satışlar, pazar payı vb. zaman serisi verilerini tahmin etmek için kullanılır. Python ve R'nin iki sürümünü sağlar, platformlar arasında kullanılabilir ve CPU ile GPU'nun paralel hesaplamasını destekler. Prophet'in giriş veri formatı gereksinimi, zaman damgalarını ve hedef değerleri içeren bir veri çerçevesidir ve zaman aralığı, tahmin süresi ve ödemesiz dönem gibi parametrelerle tahmin yapmayı destekler. Prophet, eksik verilere ve trenddeki değişikliklere karşı dirençlidir ve genellikle aykırı değerleri iyi idare eder.
# Python
forecast = m.predict(future)
forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()
2. Deep Lake
📘
Deep Lake , her boyutta yapay zeka veri kümesi oluşturmak, depolamak ve bunlar üzerinde işbirliği yapmak için basit bir API sağlayan bir veri kümesi biçimidir. Bu kitaplığın GitHub'da 5 binden fazla yıldızı var.
Link:
https://github.com/activeloopai/deeplake
Deep Lake'in veri düzeni, modelleri geniş ölçekte eğitirken verilerin hızlı dönüştürülmesine ve akışına olanak tanır. Deep Lake Google, Waymo, Kızıl Haç, Oxford Üniversitesi ve daha fazlası tarafından kullanılıyor.
#Python
for epoch in range(2):
running_loss = 0.0
for i, data in enumerate(deeplake_loader):
images, labels = data['images'], data['labels']
# zero the parameter gradients
optimizer.zero_grad()
# forward + backward + optimize
outputs = net(images)
loss = criterion(outputs, labels.reshape(-1))
loss.backward()
optimizer.step()
# print statistics
running_loss += loss.item()
if i % 100 == 99: #print every 100 mini-batches
print('[%d, %5d] loss: %.3f' %
(epoch + 1, i + 1, running_loss / 100))
running_loss = 0.03. Optuna
📘
Optuna , modelin performansını artırmak için çeşitli kurallar kullanarak kullanıcıların bir makine öğrenimi modelinin hiperparametrelerini otomatik olarak ayarlamasına yardımcı olabilen otomatik bir makine öğrenimi hiperparametre ayarlama aracıdır. Bu kitaplığın GitHub'da 7 binden fazla yıldızı var.
Link:
https://github.com/optuna/optuna
Optuna, hiperparametreleri otomatik olarak ayarlamak için bir Bayes optimizasyon algoritması ve parametre uzayını keşfetmek için ağaç tabanlı bir yaklaşım kullanır. Bu, Optuna'nın makine öğrenimi modellerini eğitirken otomatik olarak hiperparametre ayarı gerçekleştirmesini ve böylece modellerin performansını iyileştirmesini sağlar. Optuna, TensorFlow, PyTorch, XGBoost vb. dahil olmak üzere çeşitli makine öğrenimi çerçeveleriyle entegre edilebilir. Ayrıca, kayıp işlevlerini en aza indirme, doğruluğu en üst düzeye çıkarma ve daha fazlası dahil olmak üzere çeşitli optimizasyon hedeflerini destekler.
Genel olarak Optuna, kullanıcıların makine öğrenimi modellerinin performansını ve doğruluğunu iyileştirmesine yardımcı olabilecek güçlü bir araçtır. Kullanım kolaylığı ve ölçeklenebilirliği, onu makine öğrenimi iş akışında önemli bir araç haline getirir.
import ...
# Define an objective function to be minimized.
def objective(trial):
# Invoke suggest methods of a Trial object to generate hyperparameters
regressor_name = trial.suggest_categorical('regressor',['SVR', 'RandomForest'])
if regressor_name = 'SVR':
svr_c = trial.suggest_float('svr_c', 1e-10, 1e10, log=True)
regressor_obj = sklearn.svm.SVR(C=svr_c)
else:
rf_max_depth = trial.suggest_int('rf_max_depth', 2, 332)
regressor_obj = sklearn.ensemble.RandomForestRegressor(max_depth=rf_max_depth)
X, y = sklearn.datasets.fetch_california_housing(return_X_y=True)
X_train, X_val, y_train, y_val = sklearn.model_selection.train_test_split(X, y, random_state=0)
regressor_obj.fit(X_train, y_train) y_pred = regressor_obj.predict(X_val)
error = sklearn.metrics.mean_squared_error(y_val, y_pred)
return error # An objective value linked with the Trial object.
study = optuna.create_study() # Create a neW study
study.optimize(objective, n_trials=100) # Invoke opotimization of the objective function4.pycm
📘
pycm , ikili ve çok sınıflı metrikleri hesaplamak için bir Python kitaplığıdır. Bu kitaplığın GitHub'da Binden fazla yıldızı var.
Link:
https://github.com/sepandhaghighi/pycm
Doğruluk, geri çağırma, F1 değeri, karışıklık matrisi vb. dahil olmak üzere yaygın olarak kullanılan çeşitli göstergeleri hesaplayabilir. Ayrıca pycm, karışıklık matrisinin görselleştirilmesi, modelin performansının göstergesinin kaynağındaki farklılığın değerlendirilmesi gibi bazı ek işlevler de sağlar. pycm, bir modelin performansını hızlı bir şekilde değerlendirmeye yardımcı olabilecek çok kullanışlı bir kitaplıktır.
from pycm import *
y_actu = [2, 0, 2, 2, 0, 1, 1, 2, 2, 0, 1, 2]
y_pred = [0, 0, 2, 1, 0, 2, 1, 0, 2, 2, 2, 2]
cm = ConfusionMatrix(actual_vector=y_actu, predict_vector=y_pred)
cm.classes
cm.print_matrix()
cm.print_normalized_matrix()
5. NannyML
📘
NannyML , dağıtım sonrası model performansını tahmin etmeye (hedefe erişmeden), veri kaymasını tespit etmeye ve veri kayması uyarılarını model performansındaki değişikliklere akıllıca bağlamaya olanak tanıyan açık kaynaklı bir Python kitaplığıdır. Bu kitaplığın GitHub'da Binden fazla yıldızı var.
Link:
https://github.com/NannyML/nannyml
Veri bilimcileri için tasarlanan NannyML, kullanımı kolay etkileşimli bir görsel arayüze sahiptir ve şu anda tüm tablo kullanım durumlarını, sınıflandırmayı ve regresyonu desteklemektedir. NannyML'nin temel katkıda bulunanları, model performansını tahmin etmek için birkaç yeni algoritma geliştirdi: Diğerleri arasında Güvene Dayalı Performans Tahmini (CBPE) ve Doğrudan Kayıp Tahmini (DLE). NannyML, kapalı bir "performans izleme + dağıtım sonrası veri bilimi" döngüsü oluşturarak veri bilimcilerin sessiz model hatalarını hızlı bir şekilde anlamasını ve otomatik olarak algılamasını sağlar. Veri bilimcileri, NannyML'yi kullanarak nihayet dağıttıkları makine öğrenimi modellerinde tam görünürlük ve güven sağlayabilirler.
import nannyml as nml
from IPython.display import display
# Load synthetic data
reference, analysis, analysis_target = nml.load_synthnetic_binary_classification_dataset()
display(reference.head())
display(analysis.head())
# Choose a chunker or set a chunk size
chunk size = 5000
# initialize, specify required data columns,, fit estimator and estimate
estimator = nml.CBPE(
y_pred_proba='y_pred_proba',
y_pred='y_pred',
y_true='work_home_actual',
metrics=['roc_auc'],
chunk_size=chunk_size,
problem_type='classification_binary',
)
estimator = estimator.fit(reference)
estimated_performance = estimator.estimate(analysis)
# Show results
figure = estimated_performance.plot(kind='performance', metric='roc_auc', plot_reference=True)
figure.show()6. ColossalAI
📘
ColossalAI , yüksek kaliteli derin öğrenme modelleri oluşturmak ve dağıtmak için açık kaynaklı bir makine öğrenimi aracı kitaplığıdır. Bu kitaplığın GitHub'da 6,5 binden fazla yıldızı var.
Link:
https://github.com/hpcaitech/ColossalAI
ColossalAI, modelleri hızlı bir şekilde oluşturmak ve eğitmek için kullanılabilecek bir dizi önceden tanımlanmış model ve model altyapısı sağlar. Ayrıca, modelin yüksek kalitesini ve doğruluğunu sağlamak için model değerlendirme, ayarlama ve görselleştirme için bir dizi araç sağlar. Ek olarak, ColossalAI, çeşitli farklı arabirimler aracılığıyla diğer sistemlerle entegre olmasını sağlayan bir dağıtım modelini destekler. ColossalAI'nin avantajı, kullanımının kolay olması ve veri bilimcileri ile makine öğrenimi mühendislerine yüksek kaliteli büyük ölçekli modeller oluşturmanın ve devreye almanın hızlı ve verimli bir yolunu sunabilmesidir.
from colossalai.logging import get_dist_logger
from colossalai.trainer import Trainer, hooks
# build components and initialize with colossaalai.initialize
...
# create a logger so that trainer can log on thhe console
logger = get_dist_logger()
# create a trainer object
trainer = Trainer(
engine=engine,
logger=logger
)💦 7. Emcee
📘
emcee , Markov zinciri Monte Carlo (MCMC) yöntemini kullanarak model uydurma ve parametre tahmini için açık kaynaklı bir Python kitaplığıdır. Bu kitaplığın GitHub'da 1 binden fazla yıldızı var.
Link:
https://github.com/dfm/emcee
emcee, nesne yönelimlidir ve yerleştirme sürecini tanılamak ve hata ayıklamak için birçok araca sahiptir. Uydurma sürecini paralelleştirebilen ve uydurma verimliliğini artırabilen "karar ağacı yapısı zinciri" adı verilen bir yöntem kullanır. emcee, karmaşık doğrusal olmayan modelleri işlemek için çok uygundur ve büyük veri kümelerine kolayca ölçeklenir. Ayrıca NumPy, SciPy ve Matplotlib gibi diğer Python kitaplıklarıyla da kolayca bütünleşir.
import numpy as np
import emcee
def log_prob(x, ivar):
return -0.5 * np.sum(ivar * x ** 2)
ndim, nwalkers = 5, 100
ivar = 1./np.random.rand(ndim)
p0 = np.random.randn(nwalkers, ndim)
sampler = emcee.EnsembleSampler(nwalkers, ndim, log_prob, args=[ivar])
sampler.run_mcmc(p0, 10000)💡Özet
Bu 7 araç kitaplığı çok faydalıdır. Makine öğrenimi çalışanları için, iş verimliliğini büyük ölçüde artırabilir ve basit bir şekilde karmaşık kod yazmanıza olanak tanır. Dolayısıyla, bu araç kitaplıklarını öğrenmediyseniz, onlar hakkında bilgi edinmek için biraz zaman ayırabilirsiniz.