Python scikit-learn,数据的特征抽取,特征值化

scikit-learn工具可以做:数据的特征抽取、特征预处理、降维。

数据的特征抽取:将文本等数据进行特征值化(转换成计算机可以理解的数字类型)

 

demo.py(字典数据抽取,字典类型的数据转换成数字类型,DictVectorizer):

from sklearn.feature_extraction import DictVectorizer  # 需要pip3安装scikit-learn。依赖Numpy,pandas等模块


# 字典数据抽取(将字典类型的数据转换成数字类型)

# 实例化DictVectorizer
dict = DictVectorizer(sparse=False)  # sparse=False表示返回矩阵形式(默认True)。(sparse表示稀疏,矩阵形式浪费内存)

# 调用fit_transform
data = dict.fit_transform([{'city': '北京','temperature': 100}, {'city': '上海','temperature':60}, {'city': '深圳','temperature': 30}])

print(dict.get_feature_names())  # ['city=上海', 'city=北京', 'city=深圳', 'temperature']
print(data)  # 第一列表示是否是"上海",第二列表示是否是"北京",最后一列表示"temperature"(本身是数值类型,不需要转换)。 参考get_feature_names()的返回值。
'''
[[  0.   1.   0. 100.]
[  1.   0.   0.  60.]
[  0.   0.   1.  30.]]
'''

# 将数字类型转换成字典类型
print(dict.inverse_transform(data))  # [{'city=北京': 1.0, 'temperature': 100.0}, {'temperature': 60.0, 'city=上海': 1.0}, {'temperature': 30.0, 'city=深圳': 1.0}]

 

 

上一篇:PHP冒泡排序法


下一篇:机器学习入门之sklearn介绍