python - 错误“无法将字符串转换为浮点数:'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)
我期望训练集数据完全是数字的
解决方案
我相信您拥有的数据集中有字符串。StandardScaler() 仅采用数值数据并将值标准化。
要将文本转换为数字数据,您可以查看sklearn.feature_extraction.text
. 根据您的数据,您可以查看最适合的功能。CountVectorizer
并且TfidfVectorizer
是最常用的矢量化器。CountVectorizer
基于词袋算法,TfidfVectorizer
基于TF-IDF。
要知道使用哪个函数,如果我们知道数据集的样子会更容易。
推荐阅读
- c# - 如何获得表格的正确宽度?
- tableau-api - 表格计算字段中的 IF 部分未执行
- javascript - Angular ng-repeat 导致多个循环
- javascript - Firebase 实时数据库和 HTTP 请求:多轴上的复杂查询
- hyperledger-fabric - Hyperledger Fabric v1.3 - 共识
- svg - 带有过滤器的 SVG 图像 - 过滤器覆盖的区域大于图像
- matlab - 迭代求解非线性方程
- architecture - 是对等软件架构还是只是一种模式?
- caching - 如何从 EaselJS / CreateJS 中的缓存对象以外的源绘制到 cacheCanvas?
- r - 如何使用日期作为过滤器