Найти тему
ЦифроПроф

Метрики качества

Фото из открытых источников
Фото из открытых источников

Одна из наиболее распространенных метрик в машинном обучении accuracy - соотношение количества правильных ответов к общему количеству. Задание по теме: Напишите функцию accuracy(), которая:

  1. Принимает на вход правильные ответы и предсказания,
  2. Сравнивает их в цикле for.
  3. Возвращает долю правильных ответов.

import pandas as pd
from sklearn.tree import DecisionTreeClassifier

df = pd.read_csv('/datasets/train_data.csv')
df.loc[df['last_price'] > 5650000, 'price_class'] = 1
df.loc[df['last_price'] <= 5650000, 'price_class'] = 0
features = df.drop(['last_price', 'price_class'], axis=1)
target = df['price_class']
model = DecisionTreeClassifier(random_state=12345)
model.fit(features, target)

test_df = pd.read_csv('/datasets/test_data.csv')
test_df.loc[test_df['last_price'] > 5650000, 'price_class'] = 1
test_df.loc[test_df['last_price'] <= 5650000, 'price_class'] = 0
test_features = test_df.drop(['last_price', 'price_class'], axis=1)
test_target = test_df['price_class']
test_predictions = model.predict(test_features)

def error_count(answers, predictions):
count = 0
for i in range(len(answers)):
if answers[i] != predictions[i]:
count += 1
return count

def accuracy(answers, predictions):
correct=0
for i in range(len(answers)):
if answers[i] == predictions[i]:
correct+=1
return correct/len(answers)

print("Accuracy:", accuracy(test_target, test_predictions))

Наука
7 млн интересуются