机器学习 笔记(二)特征工程概述 | 特征提取概述 | 基于sklearn的数据集划分 | 特征工程目的、概念 | 字典特征提取 DictVerctorizer| 文本特征提取+Demo

本文介绍了机器学习中的特征工程,包括其目的和概念,以及特征工程在数据处理中的位置。讲解了如何使用scikit-learn加载和划分数据集,如鸢尾花和波士顿房价数据集,并探讨了特征抽取,如字典特征提取和文本特征提取,如CountVectorizer和TfidfVectorizer。特征工程对于提升机器学习模型性能至关重要。
摘要由CSDN通过智能技术生成

参考资料


添加链接描述

运行环境

  • win10操作系统
  • anaconda3
  • juyper notebook
  • python3

一、数据集


1.1 数据集的选择

在这里插入图片描述

  1. Scikit-learn 工具介绍

在这里插入图片描述

  • Python语言的机器学习工具
  • Scikit-learn 包含许多知名的机器学习算法的实现
  • Scikit-learn 文档完善,容易上手,提供丰富API

安装

pip3 install scikit-learn

导入:

import sklearn

Scikit-learn 包含的内容

在这里插入图片描述

  • 分类、聚类、回归
  • 特征工程
  • 模型选择、调优

1.2 sklearn 数据集

0x001 scikit-learn数据集API介绍

  • sklearn.datasets
    • 加载获取流行数据集
    • datasets.load_xxx() 获取小规模数据集,数据包含在datasets里
    • datasets.frech_xxx(data_home=None) 获取大规模数据集,需从网络上下载,函数第一个参数为data_home,表示数据集下载的目录,默认位置为~/scikit_learn_data/

0x010 sklearn 小数据集

  • sklearn.datasets.load_iris() 加载并返回鸢尾花数据集
from sklearn.datasets import load_iris
import pandas as pd    

iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df.head() # 输出前五行

运行结果:

在这里插入图片描述

  • sklearn.datasets.load_boston() 加载并返回波士顿放假数据集
from sklearn.datasets import load_boston
import pandas as pd    

boston = load_boston()
df = pd.DataFrame(boston.data, columns=boston.feature_names)
df.head()

在这里插入图片描述

0x011 大数据集

  • sklearn.datasets.fetch_xxx(data_home=None, subset=‘train’)
    • subset: ‘train’ 或者 ‘test’ , ‘all’, 可选,选择要加载的数据集
    • 训练集的"训练", 测试集的"测试",两者的"全部"

0x100 sklearn数据集返回值介绍

  • loadfrech 返回的数据类型是dataset.base.Bunch (字典格式)

    参数列表

    参数 描述
    data 特征数据数组,是[n_samples * n_features] 的二维 numpy.ndarray数组
    target 标签数组,是 n_samples 的一维numpy.ndarray数组
    DESCR 数据描述
    feature_names 特征名称,部分数据集没有,比如新闻数据、手写数字、回归数据集等
    target_names 标签名称

Bunch对象获取值的两种方法

bunch['key']

bunch.key

1.3 数据集的划分

机器学习一般的数据会划分为两个部分:

  • 训练数据: 用于训练,构建模型
  • 测试数据:在模型检验时使用,用于评估模型是否有效

划分比例:

  • 训练集:70% 80% 75%
  • 测试集:30% 20% 30%

数据集划分API

sklearn.model_selection.train_test_split(arrays, *options)

参数列表

参数 描述
x 数据集的特征值
y 数据集的标签值
test_size 测试集的大小,一般为float,默认为0.25
random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同
return 训练集特征值,测试集特征值,训练集目标值,测试集目标值 x_train, x_test, y_train, y_test

范例:划分鸢尾花数据集

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import pandas as pd    

iris = load_iris()
x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2)

pd.DataFrame(x_train, columns=iris.feature_names)

运行结果:
在这里插入图片描述

二、特征工程 Feature Engineering介绍


目标

  • 了解特征工程在机器学习当中的重要性
  • 知道特征工程的分类

2.1 特征工程 目的

机器学习领域的大神 Andrew Ng(吴恩达)老师说过 : "Coming up with features is difficult, ti

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值