import pandas as pd
from sklearn.preprocessing import LabelEncoder
df = pd.read_csv('C:/Users/Samuel Mireku/Desktop/pokemon_data.csv')
#data shape(800, 12)
print(df.shape)
#CHECKING FOR NULLS AND SUM OF NULLS
print(df.iloc[0:12].isnull())
print(df.isnull().sum())
#removes nulls
print(df.dropna(inplace=True))
print(df['Type 2'])
#removal of nulls brought shape to 414, 12
print(df.shape)
print(df.columns)
#dropped '#' column
print(df.drop(['#'], axis=1))
#encoding
var_mod = ['Name', 'Type 1', 'Type 2', 'HP', 'Attack', 'Defense', 'Sp. Atk',
'Sp. Def', 'Speed', 'Generation', 'Legendary']
le = LabelEncoder()
for i in var_mod:
df[i] = le.fit_transform(df[i])
from sklearn.model_selection import train_test_split
X = df.iloc[0:12]
y = df.iloc[12]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=5)
print(X_train)
print(y_train)
print(X_test)
from sklearn.naive_bayes import GaussianNB
#Create a Gaussian Classifier
clf = GaussianNB()
clf.fit(X_train, y_train)
clf.predict(X_test)
clf.score(X_test, y_test)
Out [91]: 0.0 - это мой показатель точности
Мой показатель точности дает 0.0, есть идеи, как решить эту проблему? Не повезло, рыскать в Интернете за ответами. Пожалуйста, имейте в виду, что я новичок в этом. может быть проблема в кодировке? Я выбрал кодировку, потому что это была ошибка, которую я получал до кодирования:
'ValueError: не удалось преобразовать строку в число с плавающей точкой:'