Я использую 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)