Spaces:
Sleeping
Sleeping
File size: 1,192 Bytes
8efad72 | 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 | import pandas as pd
from sklearn.model_selection import StratifiedKFold
from sklearn.metrics import accuracy_score
from transformers import pipeline
# pakai model yang sama dengan sistem
model = pipeline("sentiment-analysis",
model="w11wo/indonesian-roberta-base-sentiment-classifier")
def predict(texts):
outputs = model(texts)
preds = []
for o in outputs:
l = o['label'].lower()
if "positive" in l:
preds.append("positive")
elif "negative" in l:
preds.append("negative")
else:
preds.append("neutral")
return preds
def run_cv(path="data/eval_dataset.csv", k=5):
df = pd.read_csv(path)
X = df["text"]
y = df["label"]
skf = StratifiedKFold(n_splits=k, shuffle=True, random_state=42)
scores = []
for train_idx, test_idx in skf.split(X, y):
X_test = X.iloc[test_idx].tolist()
y_test = y.iloc[test_idx].tolist()
y_pred = predict(X_test)
acc = accuracy_score(y_test, y_pred)
scores.append(acc)
print("Cross-validation scores:", scores)
print("Mean accuracy:", sum(scores)/len(scores))
if __name__ == "__main__":
run_cv() |