机器学习(1)--特征工程之特征抽取

三者关系:人工智能>机器学习>深度学习

机器学习:

机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测

机器学习的数据:文件csv(mysql有性能瓶颈,读取速度慢,格式不符合机器学习所要求的格式)

Pandas:读取工具

数据集结构:

可用数据集

1. Kaggle

特点:

1)大数据竞赛平台            

2)80万科学家              

3)真实数据              

4)数据量巨大

2. UCI

特点:

1)收录了360个数据集              

2)覆盖科学、生活、经济等领域                        

3)数据量几十万

3. scikit-learn

特点:

1)数据量较小              

2)方便学习

常用数据集结构的结构组成

特征值+目标值

数据处理工具

Pandas:一个数据读取非常方便以及基本的处理格式的工具

sklearn:对于特征的处理提供了强大的接口

特征工程

目的:特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的模型准确性

包括三大内容:特征抽取,特征预处理和降维

一、特征抽取

目的:将字典、文本或字符串等其他类型的数据转化成数字类型的数据(特征值化)

sklearn特征抽取API:sklearn.feature_extraction

1. 字典特征抽取:sklearn.feature_extraction.DictVectorizer(类,使用需要实例化)

DictVectorizer语法:

1)DictVectorizer.fit_transform(X)      

       X:字典或者包含字典的迭代器

       返回值:返回sparse矩阵,X指sparse参数,其默认为True

2)DictVectorizer.inverse_transform(X)

        X:array数组或者sparse矩阵

        返回值:转换之前数据格式

3)DictVectorizer.get_feature_names()

         返回类别名称

4)DictVectorizer.transform(X)

          按照原先的标准转换

字典特征提取流程:

1)实例化类DictVectorizer

2)调用fit_transform方法输入数据并转换(注意返回格式)

from sklearn.feature_extraction import DictVectorizer


def dictvec():
    """
    字典数据抽取
    :return:None
    “”“
    #实例化
    dict = DictVectorizer()

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

    return None
   
if __name__ == "__main__":
    dictvec()

结果显示:

默认转换为sparse矩阵:节约内存,方便读取处理

将sparse参数=False,转换格式将转变为ndarray二维数组

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值