机器学习 特征工程

机器学习

机器学习的数据:文件csv
mysql:1、性能瓶颈,读取速度
pandas:读取数据 真正的多线程
可用数据集:scikit-learn:数据量较小,方便学习
UCI特点:1、收录了360个数据集
2、覆盖科学、生活、经济等领域
3、数据量几十万
Kaggle特点:1、大数据竞赛平台
2、80万科学家
3、真实数据
4、数据量巨大

特征工程:

特征工程是将原始数据转换为更好的代表预测模型的潜在问题的特征的过程,从而提高了对未知数据预测的准确性
特征工程能够直接影响预测结果

scikit-learn中包含分类,回归,聚类,降维,模型选择,特征工程

数据的特征抽取

1、字典数据进行特征值化(字典特征抽取)

类sklearn.feature_extraction.DictVectorizer

DictVectorizer语法

DictVectorizer.fit_transform(X)
X:字典或包含字典的迭代器[{‘city’:北京,‘temperature’:100},{与前面的类似},{}]
返回值:返回sparse矩阵
DictVectorizer.inverse_transform(X,sparse=False) # 加上sparse=False后返回ndarray矩阵
X:array数组或sparse矩阵
返回值:转换之前的数据
DictVectorizer.get_feature_names()
返回类别名称
DictVectorizer.transform(X)
按照原先的标准转换

2、对文本数据进行特征值化(文本特征抽取)

类sklearn.feature_extraction.text.CountVectorizer

CountVectorizer语法

CountVectorizer()
返回词频矩阵
CountVectorizer.fit_transform(X)
X:文本或者包含文本字符串的可迭代对象
返回值:返回sparse矩阵
CountVectorizer.inverse_teansform(X)
X:array数组或者sparse矩阵
返回值:转换之前数据格式
CountVectorizer.get_feature_names()
返回值:单词列表
例如:cv = CountVerctorizer()
data = cv.fit_transform([“Life is short,I like python”,“Life is too long,i dislike pyhton”])
print(data.toarray()) # 转换成ndarray 格式。

默认无法进行中文
可以通过jieba包对文章进行分词,再统计。

TfidfVectorizer语法

为了解决一些无关紧要的词出现的影响 例如所以,我们,明天等。我们经常采用
tf-idf 朴素贝叶斯
Tf:term frequency:词的频率 出现次数
idf:逆文档频率inverse document frequency log(总文档数量/该词出现的文档数量)
tf*idf叫做重要性程度。

类sklearn.feature_extraction**.text**.TfidfVectorizer
TfidfVectorizer(stop_words=None,…)
返回词的权重矩阵
TfidfVectorizer.fit_transform(X)
X:文本或包含文本字符串的可迭代对象
返回值:返回sparse
TfidfVectorizer.inverse_transform(X)
X:array数组或sparse矩阵
返回值:转换之间数据格式
TfidfVectorizer.get_feature_name()
返回值:单词列表

数据的特征预处理
数据的降维

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值