Почему изменение размера моего теста на любое число всегда дает оценку точности 1? - PullRequest
0 голосов
/ 29 марта 2019

Я использую GaussianNavieBayes в наборе данных, найденном в Kaggle, который предсказывает сердечно-сосудистые заболевания.Мой показатель точности всегда равен 1. Что я делаю не так?

Я попытался установить размер тестового набора очень маленьким и очень большим.Это всегда 1. Однако, когда я переключился на исходные значения, я получил оценку точности около 0,5.Я делаю что-то неправильно?

import pandas as pd
import numpy as np

from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.preprocessing import StandardScaler

gnb = GaussianNB()
dataset = pd.read_csv('cardio.csv', sep=';')
cardio_features = ['age', 'gender', 'height', 'weight', 'ap_hi', 'ap_lo',
       'cholesterol', 'gluc', 'smoke', 'alco', 'active']

x = StandardScaler().fit_transform(dataset[cardio_features].copy())
y = dataset[['cardio']].copy()

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)

y_pred = gnb.fit(x_train,y_train.values.ravel()).predict(y_test)

accuracy_score(y_true = y_test, y_pred = y_pred)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...