首页 > 解决方案 > 错误“无法将字符串转换为浮点数:'INLAND'”

问题描述

我正在做一个使用机器学习进行房价预测的项目,并希望将其提交给一家私人公司申请。

我正在为这个项目使用 Jupiter 笔记本,但我无法修复有关将单词字符串转换为数字数据的错误

from sklearn.model_selection import train_test_split
X_train,X_test, Y_train, Y_test= train_test_split(X,
                                              Y,
                                             test_size=0.2,
                                               random_state=0)
from sklearn.preprocessing import StandardScaler
independent_scalar = StandardScaler()
X_train = independent_scalar.fit_transform (X_train) #fit and transform
X_test = independent_scalar.transform (X_test) # only transform
print(X_train)

我期望训练集数据完全是数字的

标签: pythonmachine-learningscikit-learn

解决方案


我相信您拥有的数据集中有字符串。StandardScaler() 仅采用数值数据并将值标准化。

要将文本转换为数字数据,您可以查看sklearn.feature_extraction.text. 根据您的数据,您可以查看最适合的功能。CountVectorizer并且TfidfVectorizer是最常用的矢量化器。CountVectorizer基于词袋算法,TfidfVectorizer基于TF-IDF。

要知道使用哪个函数,如果我们知道数据集的样子会更容易。


推荐阅读