您正在尝试将ML技术应用于由...组成的特征向量 strings 。这是不可能的,因为仅定义了数学运算 double / float 值。要解决此错误,您必须将此字符串标签转换为数字表示形式。为此,您可以使用 sklearn.preprocessing.LabelEncoder 。
strings
double
float
sklearn.preprocessing.LabelEncoder
>>> le = preprocessing.LabelEncoder() >>> le.fit(["paris", "paris", "tokyo", "amsterdam"]) LabelEncoder() >>> list(le.classes_) ['amsterdam', 'paris', 'tokyo'] >>> le.transform(["tokyo", "tokyo", "paris"]) array([2, 2, 1]...) >>> list(le.inverse_transform([2, 2, 1])) ['tokyo', 'tokyo', 'paris']
您可以在中找到更多信息 文件 。