数据集
机器学习常用数据集
数据集的结构组成
特征工程
定义:特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的模型准确性。特征工程包括数据的特征抽取、特征处理、特征选择、降维等。
特征工程常用工具Scikit-learn
Scikit-learn是python语言的机器学习工具,包括许多知名的机器学习算法的实现,文档完善,容易上手,丰富的API,使其在学术界颇受欢迎。
pip install Scikit-learn # 命令行
import sklearn
注:安装Scikit-learn需要numpy、pandas等库。
数据特征抽取
特征抽取针对非连续型数据,对文本等进行特征值化,特征值化是为了使计算机更好的理解数据。
Scikit-learn特征抽取API
sklearn.feature_extraction
字典特征抽取
- 作用:对字典数据进行特征值化
- 类:sklearn.feature_extraction.DictVectorizer
- DictVectorizer语法:
DictVectorizer(sparse = True,……)
(1)DictVectorizer.fit_transform(X)
X:字典或者包含字典的迭代器;
返回值:返回sparse矩阵。
(2)DictVectorizer.inverse_transform(X)
与(1)的操作相反,X是array数组或者sparse矩阵;返回转换之前数据格式。
(3)DictVectorize.get_feature_names():返回类别名称
from sklearn.feature_extraction import DictVectorizer
# 1. 实例化 DictVectorizer
dict = DictVectorizer()
# 2. 调用 fit_transform 方法输入数据并转换,返回sparse矩阵
data = dict.fit_transform([{
'city': '北京', 'temperature': 100},
{
'city': '上海', 'temperature': 60},
{
'city': '深圳', 'temperature': 30}])
print(data)
运行结果(sparse矩阵:节约内存,方便读取处理):
若实例化时,设置sparse=False:
from sklearn.feature_extraction import DictVectorizer
# 1. 实例化Dic