python - 自动特征选择 - Sklearn.feature_selection
问题描述
我有两个数据集,一个训练数据和一个测试数据。train.shape = (307511, 122) 和 test.shape = (48744, 121)。这两个数据集都包含这些 dtype:int32、float64 和 object。
我进行了热编码以将对象转换为 float 或 int dtype。
train = pd.get_dummies(train)
test = pd.get_dummies(test)
print('Train dummies shape: {}'.format(train.shape))
print('Test dummies shape: {}'.format(test.shape))
我从上面的代码中得到了这些结果:
Train dummies shape: (307511, 246)
Test dummies shape: (48744, 242)
形状已更改,因此 HotEncoding 已成功。但现在我面临的问题是,当我尝试训练和测试我的数据时,我得到了这个错误:
ValueError: Input contains NaN, infinity or a value too large for dtype('float32')
这些是我的进口:
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.feature_selection import SelectFromModel
from sklearn.ensemble import ExtraTreesClassifier
请帮忙
解决方案
尝试这个:
train.as_matrix().astype(np.float)
test.as_matrix().astype(np.float)
推荐阅读
- html - CSS中粗体字的一部分
- python - Python:在类主体中动态创建子类
- android - 将 Gradle 升级到版本 4 后生成错误
- angular - 无法解析 DialogService 的所有参数:(?, ?, ?)
- c++ - 如何在最前沿的 linux 上编译程序以在旧 linux 上运行
- sql - 如何对oracle sql中的数字字符串进行数学比较
- bash - 在 tgz 的所有文件中搜索一个文本
- android - Glide.with(context).load("file://"+bitmapList.get(position)) 显示错误?
- javascript - 使用 AJAX/jQuery 将内容加载到 div
- javascript - 如何将数组与 jQuery.val 一起使用