【发布时间】:2023-06-28 11:47:01
【问题描述】:
我在使用 sklearn 时遇到问题。 当我用“.fit()”训练它时,它会显示 ValueError “ValueError: could not convert string to float: 'Casado'” 这是我的代码: """
from sklearn.naive_bayes import GaussianNB
import pandas as pd
# 1. Create Naive Bayes classifier:
gaunb = GaussianNB()
# 2. Create dataset:
dataset = pd.read_csv("archivos_de_datos/Datos_Historicos_Clientes.csv")
X_train = dataset.drop(["Compra"], axis=1) #Here I removed the last column "Compra"
Y_train = dataset["Compra"] #This one only consists of that column "Compra"
print("X_train: ","\n", X_train)
print("Y_train: ","\n", Y_train)
dataset2 = pd.read_csv("archivos_de_datos/Nuevos_Clientes.csv")
X_test = dataset2.drop("Compra", axis=1)
print("X_test: ","\n", X_test)
# 3. Train classifier with dataset:
gaunb = gaunb.fit(X_train, Y_train) #Here shows "ValueError: could not convert string to float: 'Casado'"
# 4. Predict using classifier:
prediction = gaunb.predict(X_test)
print("PREDICTION: ",prediction)
"""
我使用的数据集是一个 .csv 文件,看起来像这样(但有更多行):
IdCliente,EstadoCivil,Profesion,Universitario,TieneVehiculo,Compra
1,Casado,Empresario,Si,No,No
2,Casado,Empresario,Si,Si,No
3,Soltero,Empresario,Si,No,Si
我正在尝试训练它以确定(使用测试数据集)最后一列是是还是否(Si 或否)
感谢您的帮助,我显然是新手,我不明白我在这里做错了什么
【问题讨论】:
-
也许朴素贝叶斯分类器正在寻找数字特征?
标签: python scikit-learn valueerror naivebayes