机器学习 - 概述、数据集、Scikit-learn

目录

  • 一、人工智能概述
    • 1、概念
    • 2、应用领域
  • 二、机器学习
    • 1、概念
    • 2、数据集的构成
    • 3、算法分类
        • a、监督学习
        • b、无监督学习
    • 4、开发流程
    • 5、可用数据集总结
  • 三、Scikit-learn
    • 1、介绍
    • 2、安装
    • 3、数据集API介绍
    • 4、数据集返回值介绍
    • 5、数据集的划分
    • 6、数据集划分的API介绍
    • 7、案例
        • a、获取鸢尾花数据集
        • b、对数据集进行划分

一、人工智能概述

1、概念

  • 人工智能分为两个流派,联结主义和符号主义
    • 联结主义:让机器模仿人的神经网络,从而产生智能的效果
    • 符号主义:让机器还原人的思考过程,从而实现智能的效果
  • 机器学习是人工智能的一个实现途径
  • 深度学习是机器学习的一个方法发展而来

2、应用领域

  • 挖掘预测:广告推荐、企业客户分类
  • 图像识别:接到交通标志检测、人脸识别
  • 自然语言处理:文本分类、情感分析、自动聊天

二、机器学习

1、概念

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

  • 比如:从大量猫狗照片中自动分析获得辨别猫狗规律的模型,使得机器拥有了辨别猫狗的能力
  • 比如:从房屋的数据中自动分析获得判断房屋价格规律的模型,从而使得机器拥有预测房屋价格的能力

那么需要思考下,我们是从哪里获得规律呢?
一般情况下我们都是从历史数据获得某个事情的规律,那么这些历史数据集是怎么个格式呢?

2、数据集的构成

  • 结构:特征值 + 目标值
  • 例子:
数据房子面积房子位置房子朝向目标值
数据一809080
数据二10095120
数据三80103100

则对于上面的例子,房子面积、房子位置、房子朝向就是房子的特征值,目标值就是房子的目标值
每一行的数据称为样本
目标值可以为空,此时,我们会将特征值类似的各个样本聚类成一起

3、算法分类

a、监督学习

输入数据是由输入特征值和目标值所组成,函数的输出可以是一个连续的值(称为回归),或是输出有限个离散值(称为分类)

  • 分类问题:比如特征值为猫和狗的照片,目标值为猫狗类别,将不同的图片进行分类。比如k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归
  • 回归问题:比如特征值是房屋的各个属性信息,目标值为房屋的价格这种连续性的数据。比如线性回归、岭回归
b、无监督学习

输入数据是由输入特征值所组成

  • 无监督学习:比如特征值是人物的各个属性特征信息,目标值为空。比如k-means

4、开发流程

  1. 获取数据
  2. 数据处理:进行数据过滤
  3. 特征工程:将数据处理成能被算法使用的数据
  4. 机器学习:使用机器学习算法进行训练,得出一个模型
  5. 模型评估:如果评估模型有问题,则从第二步开始检查问题
  6. 应用:将模型部署使用

5、可用数据集总结

  • sklearn:数据量较小、方便学习【网站地址】
  • kaggle:大数据竞赛平台、都是真实数据、数据量巨大【网站地址】
  • UCI:覆盖科学、生活、经济等领域、数据量达几十万【网站地址】

三、Scikit-learn

1、介绍

  • Scikit-learn是python语言的机器学习工具,包括许多知名的机器学习算法的实现,文档完善,容易上手,有丰富的API
  • 包含分类、聚类、回归、特征工程、 模型选择、调优

2、安装

安装Scikit-learn需要先安装Numpy,Scipy等库
分别按顺序执行下面命令

pip install	Numpy
pip install	Scipy
pip install scikit-learn

具体不懂安装过程的可以看 此篇文章 6.安装第三方python包

3、数据集API介绍

sklearn.datasets:加载获取流行数据集都是以此为前缀,后面可接下面两种情况

  • datasets.load_*()
    • 获取小规模的数据集,数据包含在datasets里面
    • 比如:sklearn.datasets.load_iris()就是加载并返回鸢尾花数据集
    • 比如:sklearn.datasets.load_boston()就是加载并返回波士顿房价数据集
  • datasets.fetch_*(data_home=None , subset=‘all’)
    • 获取大规模的数据集,需要从网络上下载
    • 参数data_home,表示网络上的数据集下载的目录,默认是~/scikit_learn_data/
    • 参数subset,表示选择要加载的数据集,可以选择’train’、‘test’或者’all’
    • 比如:sklearn.dataset.fetch_20newsgroups(data_home=None,subset=‘train’) 就是加载20个新闻组数据集

4、数据集返回值介绍

datasets.base.Bunch(继承自字典格式):字典格式的key和value值介绍如下

  • data:特征数据数组,是[n_samples * n_features]的二维numpy.ndarray数组
  • target:标签数组,是n_samples的一维numpy.ndarray数组
  • DESCR:数据描述
  • feature_names:特征名,新闻数据、手写数字、回归数据集没有
  • target_name:标签名

5、数据集的划分

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

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

划分比例:一般控制在20% ~ 30%

6、数据集划分的API介绍

sklearn.model_selection.train_test_split(arrays,*options)

  • x 数据集的特征值
  • y 数据集的标签值
  • test_size测试集的大小,一般数据类型为float
  • random_state随机数种子,不同的种子会造成不同的随机采样结果,相同的种子采样结果相同
  • return 训练集特征值,测试集特征值,训练集目标值,测试机目标值

7、案例

a、获取鸢尾花数据集
from sklearn.datasets import load_iris
def demo():# 获取鸢尾花数据集iris = load_iris()print(iris.data)		#有两种获取数据的方式,可以直接 对象.keyprint(iris["DESCR"])	#也可以 对象[key]if __name__ == '__main__':demo()

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

b、对数据集进行划分
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
def demo():# 获取鸢尾花数据集iris = load_iris()#数据集划分x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,test_size=0.2,random_state=22)print("训练集的特征值:\n",x_train)if __name__ == '__main__':demo()

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/458339.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sass软件数据架构思路——未来之窗行业应用跨平台架构

一、SAAS多商户数据库 1.1 SaaS 多商户数据库的全部商户数据放在一个服务器上 1. 成本效益:集中管理和维护一个服务器通常比维护多个独立服务器更经济,降低硬件、运维和管理成本。 2. 数据集中管理:便于进行统一的数据备份、恢复和数据治理…

高清 MV 无字幕视频素材

在当下的短视频和自媒体时代,高清无字幕的视频素材无疑是创作者们的“得力助手”。不管是用于剪辑情感励志视频、制作搞笑段子,还是创作风景航拍视频,优质的素材库都能让你的创作如虎添翼。今天,我就为大家介绍几个海外的高质量素…

光学计算领域的突破:更快、更高效的光子存储单元

国际电气工程师团队首次开发出一种新的光子内存计算方法,这将在不久的将来使光学计算成为现实。 该团队包括来自匹兹堡大学斯旺森工程学院、加州大学圣巴巴拉分校、卡利亚里大学和东京工业大学(现东京科学大学)的研究人员。他们的研究成果发…

【论文阅读】Reliable, Adaptable, and Attributable Language Models with Retrieval

文章目录 OverviewCurrent Retrieval-Augmented LMsArchitectureTraining Limitations & Future Work Overview Parametic language models的缺点: 事实性错误的普遍存在验证的难度(可溯源性差)难以在有顾虑的情况下排除某些序列适应调整…

web pdf 图片拖动图片合成

web pdf 图片拖动图片合成 先看效果 前端 合成后 1.原理 以前写过相关的帖子,使用的是 canva 但是这次换了一个思路使用的是图片 1.先把pdf转成图片 2.把pdf图片和目标图片传到浏览器 3.原理就和图片合成一样了。见上一篇帖子 4.后端也一样只不过这次是将位置和pd…

LeetCode 107.二叉树的层次遍历 II

题目描述 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[[1…

【力扣专题栏】两数相加,如何实现存储在链表中的整数相加?

题解目录 1、题目描述解释2、算法原理解析3、代码编写(原始版本)4、代码编写(优化版本) 1、题目描述解释 2、算法原理解析 3、代码编写(原始版本) /*** Definition for singly-linked list.* struct ListN…

快速上手机器学习-朴素贝叶斯

朴素贝叶斯 引言:本文通过介绍先验概率,后验概率,条件概率计算和贝叶斯定理等概率论内容引入朴素贝叶斯分类算法的基本思路,朴素贝叶斯的最终分类思想是将输入分类给概率最大的类,这也是概率模型算法的共有思想。本文专…

JVM(HotSpot):GC之G1垃圾回收器

文章目录 一、简介二、工作原理三、Young Collection 跨代引用四、大对象问题 一、简介 1、适用场景 同时注重吞吐量(Throughput)和低延迟(Low latency),默认的暂停目标是 200 ms超大堆内存,会将堆划分为…

第12次CCF CSP认证真题解

1、最小差值 题目链接&#xff1a;https://sim.csp.thusaac.com/contest/12/problem/0 100分代码&#xff1a; #include <iostream> #include <algorithm> using namespace std; int main(int argc, char *argv[]) {int n;cin >> n;int a[1010],b[1010];f…

【读书笔记·VLSI电路设计方法解密】问题28:什么是芯片可靠性

一块VLSI芯片不仅需要在前几天、几周或几个月内正常工作,还必须在整个使用寿命内可靠运行。任何用于商业目的的芯片的寿命通常定义为100,000小时或约11.4年。然而,在IC的设计、制造、组装和测试过程中,许多因素可能导致其早期失效。这一芯片开发方面被称为芯片可靠性。测试相…

LinkedList和链表之刷题课(下)

1. 给定x根据x把链表分割,大的结点放在x后面,小的结点放在x前面 题目解析: 注意此时的pHead就是head(头节点的意思) 基本上就是给定一个链表,我们根据x的值来把这个链表分成俩部分,大的那部分放在x后面,小的那部分放在x前面,并且我们不能改变链表本来的顺序,比如下面的链表,我…

【数据结构与算法】《Java 算法宝典:探秘从排序到回溯的奇妙世界》

目录 标题&#xff1a;《Java 算法宝典&#xff1a;探秘从排序到回溯的奇妙世界》一、排序算法1、冒泡排序2、选择排序3、插入排序4、快速排序5、归并排序 二、查找算法1、线性查找2、二分查找 三、递归算法四、动态规划五、图算法1. 深度优先搜索&#xff08;DFS&#xff09;2…

Ubuntu22.04环境搭建MQTT服务器

官网&#xff1a; https://mosquitto.org 1.引入库 sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa2.升级安装工具 sudo apt-get update 3.安装 sudo apt-get install mosquitto 4.安装客户端 sudo apt-get install mosquitto-clients5.添加修改配置文件 进…

MySql数据库中数据类型

本篇将介绍在 MySql 中的所有数据类型&#xff0c;其中主要分为四类&#xff1a;数值类型、文本和二进制类型、时间日期、String 类型。如下&#xff08;图片来源&#xff1a;MySQL数据库&#xff09;&#xff1a; 目录如下&#xff1a; 目录 数值类型 1. 整数类型 2. …

Python | Leetcode Python题解之第516题最长回文子序列

题目&#xff1a; 题解&#xff1a; class Solution:def longestPalindromeSubseq(self, s: str) -> int:n len(s)dp [[0] * n for _ in range(n)]for i in range(n - 1, -1, -1):dp[i][i] 1for j in range(i 1, n):if s[i] s[j]:dp[i][j] dp[i 1][j - 1] 2else:dp…

【java】java的基本程序设计结构04-数值类型的转换

类型默认值 int, short, long, byte 的默认值是0。char 的默认值是 \u0000&#xff08;空字符&#xff09;。float 的默认值是 0.0f。double 的默认值是 0.0d。boolean 的默认值是 false。引用类型&#xff08;类、接口、数组&#xff09;的默认值是 null。 引用类型 在Java中…

Kafka如何控制消费的位置?

大家好&#xff0c;我是锋哥。今天分享关于【Kafka如何控制消费的位置?】面试题&#xff1f;希望对大家有帮助&#xff1b; Kafka如何控制消费的位置? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Kafka 中&#xff0c;控制消费位置主要通过以下几个机制来实…

C++-继承

目录 一、继承的概念和定义 1、继承概念 2、继承的语法格式 3、继承的方式 4、继承类模板 二、基类和派生类之间的转换 三、继承中的作用域 四、派生类的默认成员函数 一、默认成员函数介绍 1、派生类中基类成员的构造 2、派生类中基类成员拷贝构造 3、复制重载 4、…

帝佛卡干邑荣耀登陆泰国王权King Power

帝佛卡干邑与泰国王权免税集团&#xff08;King Power&#xff09;达成深度合作&#xff0c;共同将法国帝佛卡干邑品牌推向泰国旅游零售市场。此次合作不仅标志着帝佛卡干邑在国际市场的又一重要突破&#xff0c;也彰显了双方对高品质产品的共同追求。 帝佛卡干邑于2024年8月正…