机器学习入门(代码片段)

miaoliangjun miaoliangjun     2023-05-05     275

关键词:

python关于向量

  python中的List 的特点:不限制其中每一个元素的类型,可以使用下标访问,但是比较慢.

  也可以使用array.

  需要import arrary 这个包.

import array
arr=array.array('i',[i for i in range(10)])
arr
输出:array('i', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

array创建之后其中只能有一种类型,这样array的效率会高一点,但是没有那么灵活.

如果你具体使用过这个array,也会感觉到有很多不方便的地方.,这个时候我们就会使用numpy.


numpy的使用.

  引入numpy的这个包:import numpy

  查看numpy的版本:numpy.__version__

  使用别名:import numpy as np ,这个时候可以用np来代替numpy.

  这个里有个坑点:import numpy as np要在import numpy 之后运行,会出错.

  numpy的操作和python 的array基本上一样.也是可以下标访问,且不支持修改类型.

  dtype方法可以返回array中的类型.

  虽然numpy的array只允许有一种类型,不能修改类型,但是array里面的元素在赋值的时候会有类型的隐式转换,比如小数种截位.

numpy其他创建numpy.array的方法

zeros(shape) 创建一个全零矩阵 shape可以传入一个元组的类型.

np.zeros(shape=(3,5))
输出:array([[0., 0., 0., 0., 0.],
     [0., 0., 0., 0., 0.],
     [0., 0., 0., 0., 0.]])

可以看到全部都是浮点型,numpy默认都是使用浮点型船舰矩阵,当然我们也可以指定它的类型.

np.zeros(10,dtype=int)
输出:array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

同样的也可以创建全是1矩阵

np.ones(3,5)
输出:
array([[1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.]])

如果创建指定值的可以使用np.full(shape,fill_value)

np.fill(shape=(3,5),fill_value=5)
输出:array([[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5],
[5, 5, 5, 5, 5]])

如果具体写出了参数名称,那么参数顺序可以不按照定义顺序.

arange的使用,在numpy中的类似range生成表达式

比如python中这样的表达式

[i for i in range(0,20,2)]
输出:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

在numpy中可以这样写

np.arange(0,20,2)
输出:array([ 0,  2,  4,  6,  8, 10, 12, 14, 16, 18])

range(0,20,2)的意思是:从0开始,到20之前,不包含20,步长为2的遍历.
和range不同的是 arange可以传入浮点型.

np.arange(0,1,0.2)
输出:array([0. , 0.2, 0.4, 0.6, 0.8])

如果不填写步长,那么步长就会默认是1,如果不填写其实位置,那么默认起始位置是0,这两点和range都一样.

linspace分割区间,numpy中特有的.

先看代码:

np.linspace(0,20,10)
输出:array([ 0.        ,  2.22222222,  4.44444444,  6.66666667,  8.88888889,
       11.11111111, 13.33333333, 15.55555556, 17.77777778, 20.        ])

含义是从区间[0,20]中登长的截取出10个等间距的点,是包括20的.

numpy中的random

从某个范围生成一个数

np.random.randint(0,10)
输出:8

从某个范围生成一个向量

np.random.randint(0,10,10)
array([2, 3, 0, 8, 3, 7, 2, 4, 7, 2])

需要注意的是randint(,,size)是一个前闭后开的区间,size可以是一个元组.

通过随机种子生成向量:

np.random.seed(233)
np.random.randint(0,10,size=(3,5))

array([[7, 7, 5, 1, 3],
       [5, 1, 3, 4, 7],
       [1, 3, 6, 2, 3]])

可以发现无论生成多少次,生成的矩阵都是一样的.

生成一个浮点数

np.random.random()

生成随机浮点向量

np.random.random(10)

如果需要生成符合正态分布的浮点数,默认均值为0,方差为1的浮点数

np.random.normal()

往normal中的参数可以修改均值和方差,默认是前两个参数,当然传入第三个参数大小;

np.random.normal(0,1,3,5)
array([[-0.10892564,  0.3280622 ,  0.89261728, -0.27398504,  0.8855126 ],
       [ 0.73557401,  1.06942746,  0.20317479, -0.04285664,  0.26786595],
       [ 0.25915147, -1.63612624, -0.01482728, -0.70995326,  0.63002903]])

如果对于某个函数不太熟悉,可以加上?然后回车就可以看到对应的文档.

np.random.normal?

机器学习:从入门到晋级(代码片段)

摘要:什么是机器学习,为什么学习机器学习,如何学习机器学习,这篇文章都告诉给你。目前,人工智能(AI)非常热门,许多人都想一窥究竟。如果你对人工智能有所了解,但对机器学习(MachineLearning)的理解有很多的困惑... 查看详情

机器学习入门机器学习简介|附加小练习(代码片段)

目录1.机器学习是什么2.机器学习、深度学习和人工智能的区别与联系3.机器学习的应用4.机器学习分类4.1监督学习4.2无监督学习4.3半监督学习4.4强化学习5.小练习5.1第一题5.2第二题5.3第三题1.机器学习是什么用老师上课的一张图我... 查看详情

机器学习之深度学习入门(代码片段)

...习资料,学习建议本文用浅显易懂的语言精准概括了机器学习的相关知识,内容全面,总结到位,剖析了机器学习的what,who,when,where,how,以及why等相关问题。从机器学习的概念,到机器学习的发... 查看详情

简单易懂|机器学习如何快速入门?(代码片段)

1 什么是机器学习机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测。2 机器学习工作流程1.获取数据2.数据基本处理3.特征工程4.机器学习(模型训练)5.模型评估结果达到要求,上线服务没有达到要... 查看详情

微软开源的机器学习入门课程(代码片段)

导读微软开源的ML-For-Beginners入门机器学习的课程目前在GitHub上已经有将近15k颗星。课程是专门针对机器学习的入门教程,一共包含了12周24节课程,主要是基于Scikit-learn来介绍的。课程介绍每节课程主要包含了以下几个内... 查看详情

机器学习入门四------降低损失(代码片段)

...失:迭代方法介绍了损失的概念。在本单元中,您将了解机器学习模型如何以迭代方式降低损失。迭代学习可能会让您想到“HotandCold” 查看详情

深度学习入门2022最新版深度学习简介(代码片段)

...学习入门2022最新版】第一课深度学习简介概述深度学习vs机器学习机器学习是什么深度学习是什么机器学习和深度学习的区别神经网络机器学习实现二分类神经网络实现二分类TensorFlowPyTorch神经网络的原理张量张量最小值(补充)... 查看详情

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

...四——数据可视化篇Pandas高级数据分析快速入门之五——机器学习特征工程篇Pandas高级数据分析快速入门之六——机器学习预测分析篇0.Pandas高级数据分析使用机器学习概述需求解决方案技术方案 查看详情

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

...四——数据可视化篇Pandas高级数据分析快速入门之五——机器学习特征工程篇Pandas高级数据分析快速入门之六——机器学习预测分析篇0.Pandas高级数据分析使用机器学习概述需求解决方案技术方案 查看详情

机器学习编译入门课程学习笔记第一讲机器学习编译概述(代码片段)

文章目录1.课程简介2.本节课内容大纲3.机器学习编译的定义4.机器学习编译的目标5.为什么要学习机器学习编译?6.机器学习编译的核心要素6.1.备注:抽象和实现7.总结1.课程简介  该门课程是由XGBoost的作者陈天奇进行... 查看详情

21句话入门机器学习(代码片段)

这是一篇关于机器学习工具包Scikit-learn的入门级读物。对于程序员来说,机器学习的重要性毋庸赘言。也许你还没有开始,也许曾经失败过,都没有关系,你将在这里找到或者重拾自信。只要粗通Python,略知Nu... 查看详情

从iris数据集开始---机器学习入门(代码片段)

...特征,数据和目标结果之间的关系是什么?而且这可能是机器学习过程中最重要的部分。在开始使用机器学习实际应用时,有必要先回答下面几个问题:解决的问题是什么?现在收集的数据能够解决目前的问题吗?该 查看详情

机器学习线性回归api快速入门(代码片段)

目录1线性回归API2举例2.1步骤分析2.2代码过程3小结1线性回归API机器学习线性回归简介:https://blog.csdn.net/ZGL_cyy/article/details/126918295sklearn.linear_model.LinearRegression()LinearRegression.coef_:回归系数2举例2.1步骤分析1.获取数据 查看详情

机器学习---算法---神经网络入门(代码片段)

转自:http://www.ruanyifeng.com/blog/2017/07/neural-network.html 眼下最热门的技术,绝对是人工智能。人工智能的底层模型是"神经网络"(neuralnetwork)。许多复杂的应用(比如模式识别、自动控制)和高级模型(比如深度学习)都基于... 查看详情

pandas高级数据分析快速入门之六——机器学习预测分析篇(代码片段)

...四——数据可视化篇Pandas高级数据分析快速入门之五——机器学习特征工程篇Pandas高级数据分析快速入门之六——机器学习预测分析篇0.训练集、测试集标注客户交易特征数据集[4],经 查看详情

阅读宋立恒《ai制胜:机器学习极简入门》第1章:机器学习概述(代码片段)

文章目录一、什么是机器学习二、机器学习的流程(一)数据收集(二)数据预处理(三)特征工程(四)模型构建和训练三、机器学习该如何学(一)AI时代首选Python(二)PyCharm可... 查看详情

机器学习入门:多变量线性回归(代码片段)

...的两个小技巧。本文分享自华为云社区《【跟着小Mi一起机器学习吧!】多变量线性回归(一)》,原文作者:Skytier。1 多维特征既然是多变量线性回归,那么肯定是存在多个变量或者多个特征的情况啦。就拿之前研究的线... 查看详情

机器学习入门三------线性回归(代码片段)

...方法。本模块会先直观介绍线性回归,为介绍线性回归的机器学习方法奠定基础。人们早就知晓,相比凉爽的天气,蟋蟀在较为炎热的天气里鸣叫更为频繁。数十年来,专业和业余昆虫学者已将每分钟的鸣叫声和温度方面的数据... 查看详情