cuml-machine-learning

tarafından langchain-ai

GPU hızlandırmalı makine öğrenimini NVIDIA cuML kullanarak tablosal veriler üzerinde gerçekleştirmek için kullanılır. Sınıflandırma, regresyon, kümeleme, boyut indirgeme gibi görevler söz konusu olduğunda tetiklenir.

npx skills add https://github.com/langchain-ai/deepagents --skill cuml-machine-learning

cuML Machine Learning Skill

GPU-accelerated machine learning using NVIDIA RAPIDS cuML. cuML provides a scikit-learn-compatible API that runs on NVIDIA GPUs, enabling massive speedups on large datasets.

When to Use This Skill

Use this skill when:

  • Training classification models (predict categories, detect fraud, classify text)
  • Training regression models (forecast values, predict prices, estimate quantities)
  • Clustering data (segment customers, group documents, find patterns)
  • Dimensionality reduction (visualize high-dimensional data, compress features)
  • Preprocessing and feature engineering on large datasets
  • Any ML task on datasets with 10K+ rows where GPU acceleration helps

Initialization (REQUIRED)

Always start every script with this boilerplate. It tests actual GPU ML operations.

import pandas as pd
import numpy as np

try:
    import cudf
    import cuml
    # Smoke-test: verify GPU ML works end-to-end
    _test_data = cudf.DataFrame({'a': [1.0, 2.0, 3.0, 4.0], 'b': [5.0, 6.0, 7.0, 8.0]})
    _km = cuml.cluster.KMeans(n_clusters=2, n_init=1, random_state=42)
    _km.fit(_test_data)
    assert len(_km.labels_) == 4
    GPU = True
except Exception as e:
    print(f"[GPU] cuml unavailable, falling back to scikit-learn: {e}")
    GPU = False

def read_csv(path):
    return cudf.read_csv(path) if GPU else pd.read_csv(path)

def to_pd(df):
    """Convert cuML/cuDF output to pandas. Use this instead of .to_pandas() directly."""
    if not GPU:
        return df
    try:
        return df.to_pandas()
    except Exception as e:
        print(f"[GPU] .to_pandas() failed, using Arrow fallback: {e}")
        return df.to_arrow().to_pandas()

Import Patterns

# GPU mode
if GPU:
    from cuml.cluster import KMeans, DBSCAN, HDBSCAN
    from cuml.ensemble import RandomForestClassifier, RandomForestRegressor
    from cuml.linear_model import LinearRegression, Ridge, Lasso, LogisticRegression
    from cuml.neighbors import KNeighborsClassifier, KNeighborsRegressor
    from cuml.svm import SVC, SVR
    from cuml.decomposition import PCA, TruncatedSVD
    from cuml.manifold import UMAP, TSNE
    from cuml.preprocessing import StandardScaler, MinMaxScaler, LabelEncoder
    from cuml.model_selection import train_test_split
    from cuml.metrics import accuracy_score, r2_score, mean_squared_error
# CPU fallback
else:
    from sklearn.cluster import KMeans, DBSCAN, HDBSCAN
    from sklearn.ensemble import RandomForestClassifier, RandomForestRegressor
    from sklearn.linear_model import LinearRegression, Ridge, Lasso, LogisticRegression
    from sklearn.neighbors import KNeighborsClassifier, KNeighborsRegressor
    from sklearn.svm import SVC, SVR
    from sklearn.decomposition import PCA, TruncatedSVD
    from sklearn.manifold import TSNE
    from sklearn.preprocessing import StandardScaler, MinMaxScaler, LabelEncoder
    from sklearn.model_selection import train_test_split
    from sklearn.metrics import accuracy_score, r2_score, mean_squared_error
    # UMAP not in sklearn — skip or pip install umap-learn

Quick Reference

Train/Test Split (Start Here)

X = df[["feature1", "feature2", "feature3"]].astype("float32")
y = df["target"]

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Classification

model = RandomForestClassifier(n_estimators=100, max_depth=10, random_state=42)
model.fit(X_train, y_train)

predictions = model.predict(X_test)
accuracy = float(accuracy_score(to_pd(y_test), to_pd(predictions)))
print(f"Accuracy: {accuracy:.4f}")

# Feature importances (tree models only)
importances = to_pd(model.feature_importances_)
for name, imp in zip(feature_names, importances):
    print(f"  {name}: {imp:.4f}")

Regression

model = Ridge(alpha=1.0)
model.fit(X_train, y_train)

predictions = model.predict(X_test)
r2 = float(r2_score(to_pd(y_test), to_pd(predictions)))
mse = float(mean_squared_error(to_pd(y_test), to_pd(predictions)))
print(f"R² Score: {r2:.4f}")
print(f"MSE: {mse:.4f}")

# Coefficients
coeffs = to_pd(model.coef_)
print(f"Intercept: {float(model.intercept_):.4f}")

Clustering (KMeans)

X = df[["feature1", "feature2"]].astype("float32")

model = KMeans(n_clusters=4, n_init=10, random_state=42)
model.fit(X)

labels = to_pd(model.labels_)
centroids = to_pd(model.cluster_centers_)
inertia = float(model.inertia_)

print(f"Inertia: {inertia:.2f}")
print(f"Cluster sizes: {labels.value_counts().sort_index().to_dict()}")
print(f"Centroids:\n{centroids}")

Dimensionality Reduction (PCA)

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X.astype("float32"))

pca = PCA(n_components=3)
X_reduced = pca.fit_transform(X_scaled)

variance_ratio = to_pd(pca.explained_variance_ratio_)
print(f"Explained variance: {[f'{v:.4f}' for v in variance_ratio]}")
print(f"Total explained: {float(sum(variance_ratio)):.4f}")

Dimensionality Reduction (UMAP — GPU only)

if GPU:
    reducer = UMAP(n_components=2, n_neighbors=15, min_dist=0.1, random_state=42)
    embedding = to_pd(reducer.fit_transform(X_scaled))
    print(f"UMAP embedding shape: {embedding.shape}")

Preprocessing

# Scale numeric features
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X.astype("float32"))

# Encode categorical columns
le = LabelEncoder()
df["category_encoded"] = le.fit_transform(df["category"])

Data Type Requirements

  • cuML requires float32 or float64 for features. Always cast: X.astype("float32")
  • Integer targets (classification labels) work directly
  • Categorical columns must be encoded first (LabelEncoder or OneHotEncoder)
  • cuML does NOT support sparse matrices — always use dense data

Gotchas

IssueFix
TypeError: sparse inputConvert to dense: X.toarray() or don't use sparse
PCA solver='randomized' failsUse solver='full' or omit (cuML auto-selects)
UMAP not available on CPUSkip UMAP in CPU mode or pip install umap-learn
Float64 slower than float32Cast to float32: X.astype("float32")
Large dataset OOMReduce features or sample data before fitting

Output Guidelines

When reporting ML results:

  • Include dataset shape (rows × features) and target distribution
  • Show train/test split sizes
  • Report key metrics in a formatted table (accuracy, R², MSE, etc.)
  • For classification: show per-class metrics if multi-class
  • For clustering: show cluster sizes and centroid summaries
  • For dimensionality reduction: show explained variance ratios
  • List feature importances ranked by magnitude
  • Note any data quality issues (class imbalance, missing values, outliers)

langchain-ai tarafından daha fazla skill

langgraph-docs
langchain-ai
LangGraph dokümantasyonuna erişerek durum bilgisi olan ajanlar ve çoklu ajan iş akışları oluşturun. Resmi LangGraph Python dokümanlarını getirir; durum makineleri, grafik tabanlı ajan tasarımı ve insan-döngüde desenlerini kapsar. Sorgu türüne göre ilgili dokümantasyonu önceliklendirir: nasıl yapılır soruları için uygulama kılavuzları, teori için kavram sayfaları, uçtan uca örnekler için eğitimler ve teknik detaylar için API referansları. En alakalı 2–4 dokümantasyon URL'sini otomatik olarak seçer ve yanıtlamak için içeriklerini alır...
official
langgraph-human-in-the-loop
langchain-ai
Graf yürütmesini insan incelemesi, onayı veya doğrulaması için duraklatır, ardından girdileriyle devam eder. Üç bileşen gerektirir: bir checkpointer (InMemorySaver veya PostgresSaver), config içinde bir thread ID ve JSON-serializable interrupt payload'ları. interrupt(value) duraklatır ve verileri yüzeye çıkarır; Command(resume=value) devam ettirir ve bu değeri duraklatılan düğüme döndürür. interrupt() öncesindeki tüm kod devamda yeniden çalıştırılır, bu nedenle yan etkiler idempotent olmalıdır (insert değil upsert kullanın). Onay iş akışlarını destekler,...
official
web-research
langchain-ai
Web araştırması ile ilgili talepler için bu beceriyi kullanın; kapsamlı web araştırması yapmak için yapılandırılmış bir yaklaşım sunar.
official
langchain-oss-primer
langchain-ai
Herhangi bir LangChain, Deep Agents veya LangGraph ajan oluşturma projesine BAŞLANGIÇ NOKTASI. Diğer becerileri seçmeden veya herhangi bir şey yazmadan önce gerekli başlangıç noktası.
official
skill-creator
langchain-ai
Etkili beceriler oluşturmak için rehber; bu beceriler, uzmanlaşmış bilgi, iş akışları veya araç entegrasyonları ile ajan yeteneklerini genişletir. Kullanıcı…
official
social-media
langchain-ai
Platformaya özel sosyal medya gönderilerini, araştırma destekli içerik ve oluşturulan eşlik eden görsellerle hazırlar. LinkedIn gönderilerini (profesyonel tonla 1.300 karakter) ve Twitter/X thread'lerini (tweet başına 280 karakter, 1/🧵 formatı) destekler. Yazmadan önce araştırmayı bir alt ajana devretmeyi, ardından doğruluk ve alaka düzeyini sağlamak için bulguları okumayı gerektirir. generate_social_image aracıyla, küçük... için optimize edilmiş cesur, yüksek kontrastlı kompozisyonlarla otomatik olarak dikkat çekici sosyal görseller oluşturur.
official
deep-agents-memory
langchain-ai
Deep Agents için geçici, kalıcı ve hibrit yönlendirme seçeneklerine sahip takılabilir bellek ve dosya arka uçları. Dört arka uç türü: StateBackend (iş parçacığı kapsamlı, geçici), StoreBackend (oturumlar arası kalıcı), FilesystemBackend (yerel geliştirme için gerçek disk erişimi) ve CompositeBackend (farklı yolları farklı arka uçlara yönlendirir). FilesystemMiddleware altı dosya işleme aracı sağlar: ls, read_file, write_file, edit_file, glob, grep. CompositeBackend en uzun önek eşlemesini kullanarak yönlendirme yapar...
official
deep-agents-orchestration
langchain-ai
Alt ajanları yönetir, çok adımlı görevleri planlar ve hassas işlemler için insan onayı gerektirir. Görev aracı aracılığıyla uzmanlaşmış alt ajanlara iş dağıtır; özel alt ajanlar izole araç setlerini ve sistem yönlendirmelerini desteklerken, varsayılan "genel amaçlı" alt ajan ana ajan yapılandırmasını devralır. write_todos ile karmaşık iş akışlarını planlayıp takip eder, görevleri beklemede, devam eden ve tamamlanmış durumlar arasında düzenler; kalıcılık için bir thread_id gerektirir. Uygular...
official