零基础学python--机器学习:数据集及特征工程介绍(代码片段)

是Dream呀 是Dream呀     2022-12-02     158

关键词:

@TOC

一、数据集

1.可用数据集

  • 公司内部 百度
  • 数据接口 花钱
  • 学习阶段可用的数据集:1.sklearn, 2.kaggle, 3.UCI

Kaggle网址:https://www.kaggle.com/datasets

UCI数据集网址: http://archive.ics.uci.edu/ml/

scikit-learn网址:http://scikit-learn.org/stable/datasets/index.html#datasets

1.1Scikit-learn工具介绍

  • Python语言的机器学习工具
  • Scikit-learn包括许多知名的机器学习算法的实现
  • Scikit-learn文档完善,容易上手,丰富的API
  • 目前稳定版本0.19.1

1.2安装

pip3 install Scikit-learn==0.19.1


安装好之后可以通过以下命令查看是否安装成功

import sklearn

注:安装scikit-learn需要Numpy, Scipy等库

1.3Scikit-learn包含的内容

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

    2.sklearn数据集

    2.1scikit-learn数据集API介绍

    sklearn.datasets:

  • 加载获取流行数据集
  • *datasets.load_():** 获取小规模数据集,数据包含在datasets里
  • *datasets.fetch_(data_home=None)** 获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/

2.2sklearn小数据集

sklearn.datasets.load_iris()
加载并返回鸢尾花数据集

sklearn.datasets.load_boston()
加载并返回波士顿房价数据集

2.3sklearn大数据集

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

2.4sklearn数据集的使用

以鸢尾花数据集为例:

sklearn数据集返回值介绍
load和fetch返回的数据类型datasets.base.Bunch(字典格式)
data:特征数据数组,是 [n_samples * n_features] 的二维 numpy.ndarray 数组
target:标签数组,是 n_samples 的一维 numpy.ndarray 数组
DESCR:数据描述
feature_names:特征名,新闻数据,手写数字、回归数据集没有
target_names:标签名

from sklearn.datasets import load_iris
# 获取鸢尾花数据集
iris = load_iris()
print("鸢尾花数据集的返回值:\\n", iris)
# 返回值是一个继承自字典的Bench
print("鸢尾花的特征值:\\n", iris["data"])
print("鸢尾花的目标值:\\n", iris.target)
print("鸢尾花特征的名字:\\n", iris.feature_names)
print("鸢尾花目标值的名字:\\n", iris.target_names)
print("鸢尾花的描述:\\n", iris.DESCR)


思考:拿到的数据是否全部都用来训练一个模型?

3.数据集的划分

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

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

划分比例:

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

数据集划分api
sklearn.model_selection.train_test_split(arrays, *options)

  • x 数据集的特征值
  • y 数据集的标签值
  • test_size 测试集的大小,一般为float
  • random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
  • return 测试集特征训练集特征值值,训练标签,测试标签(默认随机取)
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

def datasets_demo():
    """
    对鸢尾花数据集的演示
    :return: None
    """
    # 1、获取鸢尾花数据集
    iris = load_iris()
    print("鸢尾花数据集的返回值:\\n", iris)
    # 返回值是一个继承自字典的Bench
    print("鸢尾花的特征值:\\n", iris["data"])
    print("鸢尾花的目标值:\\n", iris.target)
    print("鸢尾花特征的名字:\\n", iris.feature_names)
    print("鸢尾花目标值的名字:\\n", iris.target_names)
    print("鸢尾花的描述:\\n", iris.DESCR)

    # 2、对鸢尾花数据集进行分割
    # 训练集的特征值x_train 测试集的特征值x_test 训练集的目标值y_train 测试集的目标值y_test
    x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=22)
    print("x_train:\\n", x_train.shape)
    # 随机数种子
    x_train1, x_test1, y_train1, y_test1 = train_test_split(iris.data, iris.target, random_state=6)
    x_train2, x_test2, y_train2, y_test2 = train_test_split(iris.data, iris.target, random_state=6)
    print("如果随机数种子不一致:\\n", x_train == x_train1)
    print("如果随机数种子一致:\\n", x_train1 == x_train2)

    return None

二、特征工程介绍

用的是同一个算法,结果为什么会不同呐,这就是我们要说的特征工程的意义。

1.为什么需要特征工程(Feature Engineering)

机器学习领域的大神Andrew Ng(吴恩达)老师说“Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering. ”

注:业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。

2.什么是特征工程

特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。
意义:会直接影响机器学习的效果

3.特征工程的位置与数据处理的比较


pandas:一个数据读取非常方便以及基本的处理格式的工具(数据清洗和清理)
sklearn:对于特征的处理提供了强大的接口(特征工程)
特征工程包含内容

  • 特征抽取
  • 特征预处理
  • 特征降维

零基础学python--机器学习:特征预处理(代码片段)

@TOC什么是特征预处理?一、什么是特征预处理#scikit-learn的解释providesseveralcommonutilityfunctionsandtransformerclassestochangerawfeaturevectorsintoarepresentationthatismoresuitableforthedownstreamestimators.翻译过来:通过一些转换函数将 查看详情

零基础学python--机器学习:机器学习算法和开发

@TOC一、机器学习算法分类1.分析1.2中的例子分类问题特征值:猫/狗的图片;目标值:猫/狗-类别分类问题↑回归问题特征值:房屋的各个属性信息;回归问题无监督学习特征值:人物的各个属性信息;目标值:无无监督学习2.总... 查看详情

转行零基础该如何学python?

对于python的入门首先会学习python基础语法,面向对象编程与程序设计模式的理解、python数据分析基础、python网络编程、python并发与高效编程等等。通过前期python学习来了解和掌握常量变量的使用,运算符的使用、流程控制的使用... 查看详情

python机器学习从零开始数据准备(代码片段)

...解和专业知识的掌握。在机器学习的应用开发中,最基础的是特征工程。——吴恩达 1.数据预处理数据预处理需要根据数据本身的特性进行,有缺失的要填补 查看详情

零基础学python--机器学习:人工智能与机器学习概述

@TOC一、机器学习与人工智能、深度学习了解机器学习定义以及应用场景说明机器学习算法监督学习与无监督学习的区别说明监督学习中的分类、回归特点说明机器学习算法目标值的两种数据类型说明机器学习(数据挖掘)的开发流... 查看详情

机器学习基础

1.机器学习概述  1.什么是机器学习:   2.为什么需要机器学习:  3.机器学习应用场景 2.数据来源和类型  1.数据来源  2.数据类型   3.可用数据集   4.常用数据集数据的机构组成  数据的特征... 查看详情

黄佳《零基础学机器学习》chap3笔记(代码片段)

黄佳《零基础学机器学习》chap3笔记第3课线性回归——预测网店的销售额文章目录黄佳《零基础学机器学习》chap3笔记第3课线性回归——预测网店的销售额3.1问题定义:小冰的网店广告该如何投放3.2数据的收集和预处理3.2.1... 查看详情

黄佳《零基础学机器学习》chap1笔记(代码片段)

黄佳《零基础学机器学习》chap1笔记这本书实在是让我眼前一亮!!!感觉写的真的太棒了!文章目录黄佳《零基础学机器学习》chap1笔记第1课机器学习快速上手路径——唯有实战1.1机器学习族谱1.2云环境入门实... 查看详情

机器学习基础一文带你用sklearn做特征工程(代码片段)

使用sklearn做特征工程特征工程是什么?有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度... 查看详情

pandas高级数据分析快速入门之五——机器学习特征工程篇(代码片段)

...——Python开发环境篇Pandas高级数据分析快速入门之二——基础篇Pandas高级数据分析快速入门之三——数据挖掘与统计分析篇Pandas高级数据分析快速入门之四——数据可视化篇Pandas高级数据分析快速入门之五——机器学习特征工程... 查看详情

pandas高级数据分析快速入门之五——机器学习特征工程篇(代码片段)

...——Python开发环境篇Pandas高级数据分析快速入门之二——基础篇Pandas高级数据分析快速入门之三——数据挖掘与统计分析篇Pandas高级数据分析快速入门之四——数据可视化篇Pandas高级数据分析快速入门之五——机器学习特征工程... 查看详情

python机器学习算法学习的步骤机器学习的应用及流程(获取数据特征工程模型模型评估)(代码片段)

...法),统计学(贯穿整个学习过程),算法根据数学基础一步步的推导出来的。需要编程语言把学到的知识应用到实践中,pyth 查看详情

机器学习基础教程笔记---特征工程(代码片段)

目录特征工程2.1数据集2.1.1可用数据集2.1.2sklearn数据集2.1.3数据集的划分2.2特征工程介绍学习目标2.2.1为什么需要特征工程(FeatureEngineering)2.2.2什么是特征工程2.2.3特征工程的位置与数据处理的比较​2.3特征提取学习目标2.3.1特征提... 查看详情

python机器学习特征工程含义方法对应函数详解(图文解释)

觉得有帮助请点赞关注收藏~~~特征工程特征工程的目标是从实例的原始数据中提取出供模型训练的合适特征。在掌握了机器学习的算法之后,特征工程就是最具创造性的活动了。特征的提取与问题的领域知识密切相关一般来... 查看详情

机器学习实战基础(十八):sklearn中的数据预处理和特征工程特征选择之wrapper包装法

Wrapper包装法 包装法也是一个特征选择和算法训练同时进行的方法,与嵌入法十分相似,它也是依赖于算法自身的选择,比如coef_属性或feature_importances_属性来完成特征选择。但不同的是,我们往往使用一个目标函数作为黑盒... 查看详情

sklearn与特征工程(代码片段)

...ipy库的扩展,scikit-learn也是建立在Python的NumPy和matplotlib库基础之上。NumPy可以让Python支持大量多维矩阵数据的高效操作,matplotlib提供了可视化工具,SciPy带有许多科学计算的模型。????scikit-learn文档完善,容易上手,丰富的API,使... 查看详情

机器学习之特征工程简介

简介特征工程非常重要。对于模型的效果起大了极大的作用。实际开发中,大部分的时间都花费在特征工程上面。特征工程最重要的是对具体业务的深刻理解。减少数据存储和输入的代价,降低数据的维度发现更多深入... 查看详情

3天快速入门python机器学习(黑马xxx)(代码片段)

目录一、机器学习概述1.1人工智能概述1.1.1介绍1.1.2机器学习、深度学习能做些什么1.1.3人工智能阶段课程安排1.2什么是机器学习1.2.3数据集构成1.3机器学习算法分类1.3.1分类1.3.2小练习1.3.3机器学习算法分类1.4机器学习开发流程1.5... 查看详情