Spaces:
Sleeping
Sleeping
File size: 836 Bytes
244c747 24d99bd 244c747 24d99bd 244c747 24d99bd 244c747 24d99bd 244c747 24d99bd 244c747 24d99bd 244c747 24d99bd 244c747 24d99bd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | import pandas as pd
import numpy as np
from sklearn.ensemble import RandomForestClassifier
def train_model(counts: pd.DataFrame, labels: list):
"""
Train Random Forest model on RNA-seq data
counts:
rows = samples
columns = genes
labels:
sample classes
"""
X = counts
y = np.array(labels)
model = RandomForestClassifier(
n_estimators=100,
random_state=42
)
model.fit(X, y)
feature_importances = pd.DataFrame({
"Gene": counts.columns,
"Importance": model.feature_importances_
}).sort_values(
by="Importance",
ascending=False
)
return model, feature_importances
def get_top_biomarkers(
feature_importances: pd.DataFrame,
top_n=10
):
return feature_importances.head(top_n) |