机器学习(数据集的组成、特征工程、特征抽取、特征预处理、数据降维)

一.什么是机器学习及其目的机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测。目的:让机器学习程序替换手动的步骤,减少企业的成本也提高企业的效率。二.数据集的构成1.历史数据的格式机器学习的数据:文件csv。不存在Mysql:因为存在性能瓶颈(数据大的时候,读取速度受限),格式不太符合机器学习要求的数据格式。Pandas(读取工具):处理计算速度非常快,nump...
摘要由CSDN通过智能技术生成

一.什么是机器学习及其目的

机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测。
目的:让机器学习程序替换手动的步骤,减少企业的成本也提高企业的效率。

二.数据集的构成

1.历史数据的格式

机器学习的数据:文件csv。
不存在Mysql:因为存在性能瓶颈(数据大的时候,读取速度受限),格式不太符合机器学习要求的数据格式。
Pandas(读取工具):处理计算速度非常快,numpy释放了GIL,真正的多线程。

2.数据集的结构

(1)可用的数据集

kaggle特点:大数据竞赛平台,80万科学家,真实数据,数据巨大。
UCI特点:收录了360个数据集,覆盖了科学、生活、经济等领域,数据量几十万。
scikit-learn:数据量小,方便学习。

(2)常用数据集数据的结构组成

结构:特征值+目标值

(3)数据中对于特征值的处理

pandas:一个数据读取非常方便以及基本的处理格式的工具。机器学习中不需要进行去重复值。
sklearn:对于特征处理提供了强大的接口。

三.特征工程

数据预处理——>特征工程——>机器学习——>模型评估

1.特征工程

特征工程:将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的预测准确性。
特征工程的意义:直接影响预测结果。
sklearn库:scikit-learn import sklearn 导入 skearn 包

2.特征抽取

(1)特征抽取

特征抽取对文本等数据进行特征值化。
sklearn特征抽取API:sklearn.feature_extraction。
字典特征抽取作用:对字典数据进行特征值化。
类:sklearn.feature_extraction.DictVectorizer
DictVectorizer 语法:
DictVectorizer(sparse = True,…)
DictVectorizer.fit_transform(x):x是字典或者包含字典的迭代器,返回sparse矩阵。
DictVectorizer.inverse_transform(x):x是array数组或者sparse矩阵,返回值为转换之前数据格式。
DictVectorizer.get_feature_names():返回类别名称。
DictVectorizer.transform(x):按照原先的标准转换。

from sklearn.feature_extraction import DictVectorizer
def dictver():
    """
    字典数据抽取
    return: None
    """
    # 实例化
    dict = DictVectorizer(sparse=False)

    # 调用fit_transform方法
    data = dict.fit_transform([{
   'city': '北京', 'temperature': 70},
                               {
   'city': '上海', 'temperature': 80},
                               {
   'city': '成都', 'temperature': 60}])
                               
    # 特征值化后的数据
    print(data)
    
    # 转换为之前的数据格式
    print(dict.inverse_transform(data))
    
    # 获得类别名称
    print(dict.get_feature_names())

    return None


if __name__ == "__main__":
    dictver()

运行结果如下图所示:
返回矩阵的原因:节约内存、方便读取处理。字典数据抽取:把字典中一些类别数据,分别进行转换成特征。
为每一个类别生成布尔列,这些列中只有一列可以为每个样本取值。

one-hot编码的布尔矩阵

Sample Human Penguin Qctopus Alien
1 1 0 0 0
2 1 0 0 0
3 0 1 0 0
4 0 0 1 0
5 0 0 0 1
6 0 0 1 0
7 0 0 0 1

(2)文本特征抽取

作用:对文本数据进行特征值化
类:sklearn.feature_extraction.text.CountVectorizer
CountVectorizer 语法:
CountVectorizer():返回词频矩阵
CountVectorizer.fit_transform(x):x是文本或者包含文本字符串的迭代器,返回sparse矩阵。
CountVectorizer.inverse_transform(x):x是array数组或者sparse矩阵,返回值为转换之前数据格式。
CountVectorizer.get_feature_names():返回单词列表。


                
  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值