tgoop.com/machinelearning_interview/2164
Create:
Last Update:
Last Update:
⚙️ Задача по машинному обучению: Классификация текстовых отзывов с использованием современных LLM.
Условие:
Дана выборка текстовых отзывов о продуктах с метками настроения (позитивный/негативный).
Необходимо:
1️⃣ Разделить данные на обучающую и тестовую выборки (80/20)
2️⃣ Обучить классификатор на основе Claude 3
3️⃣ Сравнить качество с GPT-4 и Gemini 1.5
4️⃣ Оценить точность и время обработки
Решение:
import anthropic
import openai
import google.generativeai as genai
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import time
# Пример данных (в реальной задаче - загрузка датасета)
reviews = ["Отличный товар, всем рекомендую!",
"Ужасное качество, не покупайте..."]
labels = [1, 0] # 1=позитивный, 0=негативный
# Разделение данных
X_train, X_test, y_train, y_test = train_test_split(reviews, labels, test_size=0.2)
def classify_with_claude(text):
client = anthropic.Anthropic(api_key="your_api_key")
response = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=100,
messages=[{"role": "user", "content": f"Классифицируй отзыв: '{text}'. Ответь только '1' (позитивный) или '0' (негативный)"}]
)
return int(response.content[0].text)
# Аналогичные функции для GPT-4 и Gemini...
# Тестирование
models = {"Claude 3": classify_with_claude,
"GPT-4": classify_with_gpt4,
"Gemini 1.5": classify_with_gemini}
for name, model in models.items():
start = time.time()
preds = [model(text) for text in X_test]
elapsed = time.time() - start
acc = accuracy_score(y_test, preds)
print(f"{name}: Accuracy = {acc:.2f}, Time = {elapsed:.1f} сек")
Пишите свои варианты решения в комментариях👇
@machinelearning_interview
#junior
BY Machine learning Interview
Share with your friend now:
tgoop.com/machinelearning_interview/2164