Anaconda☀利用机器学习sklearn构建模型与实现丨第一课

这篇具有很好参考价值的文章主要介绍了Anaconda☀利用机器学习sklearn构建模型与实现丨第一课。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1️⃣了解什么是机器学习

2️⃣了解机器学习sklearn库的简介、安装

3️⃣掌握使用sklearn转换器处理数据的方法

4️⃣构建并评价线性回归模型

  1. 认识机器学习🔥

1.1机器学习👑

机器学习是人工智能 (AI) 和计算机科学的分支,专注于使用数据和算法来模仿人类学习的方式,逐渐提高其准确性。

机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式,,并将现有内容进行知识结构划分来有效提高学习效率。📌

机器学习是人工智能及模式识别领域的共同研究热点,其理论和方法已被广泛应用与解决工程应用和科学领域的复杂问题。搜索引擎、五人驾驶、机器翻译、医疗诊断、垃圾邮件过滤、玩游戏、人脸识别、数据匹配、信用评级和给图片加滤镜等任务都用到了机器学习。📌

机器学习属于人工智能的一部分,可以分为监督学习非监督学习俩种。📌

监督学习:给定的数据集有已知的标签可以进行学习,一般有分类和回归问题

非监督学习:给定等等数据集没有可以进来学习的 标签,一般有聚类和强化学习

机器学习就是从数据上建立模型的学习算法,有了算法之后,将经验(数据)提供给算法,算法就能够基于经验(数据)产生模型(学习结果);当提供经验之外的数据时,模型就能够依据经验提供相应的判断。计算机从数据种学习出规律和模式,以应用在新数据上做预测的任务。机器学习研究的是计算机怎么模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身。📌

anaconda sklearn,Anaconda,机器学习,sklearn,人工智能,Powered by 金山文档

机器学习模型图

机器学习流程:数据预处理—模型训练(模型调参)—模型评估—新样本预测,机器学习的应用工作是围绕着数据与算法展开的,数据的质和量对算法有很大影响。📌

anaconda sklearn,Anaconda,机器学习,sklearn,人工智能,Powered by 金山文档

人类学习模型图

数据预处理很重要且繁琐,60%-70%的时间会放在数据预处理上,20%-30%的时间放在模型学习和模型评估上。数据好坏决定了模型效果的上限,而使用不同算法的目的知识去逼近这个上限。📌

1.2机器学习 vs深度学习 vs神经网络👑

机器学习、深度学习和神经网络都是人工智能的子领域。 但是,深度学习实际上是机器学习的一个子领域,而神经网络则是深度学习的一个子领域。📌

深度学习和机器学习的不同之处在于每个算法如何学习。 深度学习可以自动执行过程中的大部分特征提取,消除某些必需的人工干预,并能够使用更大的数据集。 可将深度学习视为“可扩展的机器学习”,就如 Lex Fridman 在这个 MIT 讲座 (00:30) 中 (链接位于 IBM 外部)所述的那样。 常规的机器学习,或叫做“非深度”机器学习,更依赖于人工干预进行学习。 人类专家确定一组特征,以了解数据输入之间的差异,通常需要更为结构化的数据以进行学习。📌

“深度”机器学习则可以利用标签化的数据集,也称为监督式学习,以确定算法,但不一定必须使用标签化的数据集。 它可以原始格式(例如文本、图像)采集非结构化数据,并且可以自动确定区分不同类别数据的特征集。 与机器学习不同,它不需要人工干预数据的处理,使我们能够以更有趣的方式扩展机器学习。 深度学习和神经网络目前的成就,主要归功于计算机视觉、自然语言处理和语音识别等领域的突飞猛进。📌

神经网络也称为人工神经网络 (ANN),由节点层组成,包含一个输入层、一个或多个隐藏层和一个输出层。 每个节点也称为一个人工神经元,它们连接到另一个节点,具有相关的权重和阈值。 如果任何单个节点的输出高于指定的阈值,那么该节点将被激活,并将数据发送到网络的下一层。 否则,不会将数据传递到网络的下一层。 深度学习中的“深度”指的只是神经网络中层的深度。 由三层以上组成的神经网络(包含输入和输出)可视为深度学习算法或深度神经网络。 只有两层或三层的神经网络只是基本神经网络。📌

1.3现实机器学习用例👑

语音识别:也称为自动语音识别 (ASR)、计算机语音识别或语音到文本,能够使用自然语言处理 (NLP),将人类语音处理为书面格式。 许多移动设备将语音识别结合到系统中以进行语音搜索,例如: Siri,或提供有关文本的更多辅助功能。📌

客户服务:在线聊天机器人正逐步取代客户互动中的人工客服。 他们回答各种主题的常见问题 (FAQ) ,例如送货,或为用户提供个性化建议,交叉销售产品,提供用户尺寸建议,改变了我们对网站和社交媒体中客户互动的看法。 示例包括具有虚拟客服的电子商务站点上的聊天机器人、消息传递应用(例如 Slack 和 Facebook Messenger)以及虚拟助理和语音助手通常执行的任务。📌

计算机视觉:该 AI 技术使计算机和系统能够从数字图像、视频和其他可视输入中获取有意义的信息,并基于这些输入采取行动。 这种提供建议的能力将其与图像识别任务区分开来。 计算机视觉由卷积神经网络提供支持,应用在社交媒体的照片标记、医疗保健中的放射成像以及汽车工业中的自动驾驶汽车等领域。📌

推荐引擎:AI 算法使用过去的消费行为数据,帮助发现可用于制定更有效的交叉销售策略的数据趋势。 这用于在在线零售商的结帐流程中向客户提供相关的附加建议。📌

自动股票交易:旨在用于优化股票投资组合,AI 驱动的高频交易平台每天可产生成千上万个甚至数以百万计的交易,无需人工干预。📌

  1. sklearn库的简介、安装🔥

2.1 sklearn库的简介👑

sklearn是scikit-learn的简称,是一个基于Python的第三方模块。sklearn对常用的机器学习算法进行了封装,其中包括:

  • 分类(Classification)

  • 回归(regression)

  • 聚类(clustering)

  • 数据降维(dimensionality reduction)

  • 常用模型(modelselection)

  • 数据预处理(preprocessing)

在进行机器学习任务时,并不需要实现算法,只需要简单的调用sklearn库中提供的模块就能完成大多数的机器学习任务。📌

sklearn库是在Numpy,Scipy和matplotlib的基础上开发而成的,因此在介绍sklearn的安装前,需要先安装这些依赖库。📌

NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。在Python中虽然提供了list容器和array模块,但这些结构并不适合于进行数值计算,因此需要借助于NumPy库创建常用的数据结构(如多维数组,矩阵等)以及进行常用的科学计算(如矩阵计算)。📌

SciPy库是sklearn库的基础,它是基于Numpy的一个集成了多种数学算法和函数的Python模块。它的不同子模块有不同的应用,如积分、插值、优化和信号处理等。📌

Matplotlib是基于Numpy的一套Python工具包,它提供了大量的数据绘图工具,主要用于绘制一些统计图形,将大量的数据转换成更加容易呗接受的图表。(注意:要先安装Numpy再安装matplotlib库)📌

Scikit-learn 要求:

  • Python (>= 3.5),

  • NumPy (>= 1.11.0),

  • SciPy (>= 0.17.0),

  • joblib (>= 0.11).

2.2sklearn库的安装👑

sklearn安装包的下载:安装 scikit-learn — scikit-learn 1.2.1 文档

sklearn安装顺序如下:

  • Numpy库

  • SciPy库

  • matplotlib库

  • sklearn库

关于依赖库Numpy的安装,首先找对应自己的python版本和Windows位数的文件

anaconda sklearn,Anaconda,机器学习,sklearn,人工智能,Powered by 金山文档

例如:Python3.7版本,win64位则执行下面命令:

pip install Numpy-1.15.4+mkl-cp37-amd37m-win_amd64.ahl

关于依赖库scipy的安装,用命令:

pip install scipy-1.2.1-cp37-cp37m-win_amd64.ahl

关于依赖库matplotlib的安装,用命令:

pip install matplotlib-2.2.4-cp37-cp37m-win_amd64.ahl

关于依赖库sklearn的安装,用命令:

pip install scikit_learn-0.18.1-cp35-cp35m-win_amd64.ahl

如果你已经有一个合适的 numpy 和 scipy版本,安装 scikit-learn 最简单的方法是使用 pip。📌

pip install -U scikit-learn

或者 conda:

conda install scikit-learn

例子(使用conda安装)

首先打开anaconda Prompt的控制台输入conda。📌

anaconda sklearn,Anaconda,机器学习,sklearn,人工智能,Powered by 金山文档

按上面的输入 conda install sklearn📌

anaconda sklearn,Anaconda,机器学习,sklearn,人工智能,Powered by 金山文档

下载好后就是这样📌

anaconda sklearn,Anaconda,机器学习,sklearn,人工智能,Powered by 金山文档
  1. sklearn转换器处理数据的方法🔥

sklearn是一个机器学习的python库,里面包含很多经典算法,可以很方便地选择对应的算法对数据进行训练,很方便的得出各种训练的参数,并使用模型对分类进行预测。📌

机器学习算法往往需要大量的数据,在sklearn中获取数据通常采用两种方式,以中国是使用自带的数据集,另一种是创建数据集。📌

3.1导入数据集👑

sklearn自带了很多数据集,可以用来对算法进行测试分析,免去了自己再去找数据集的烦恼,其中包括鸢尾花数据集:load_iris();手写数字数据集:load_digitals();糖尿病数据集:load_diabetes();乳腺癌数据集:load_breast_cancer();波士顿数据集:load_boston();体能数据集:load_linnerud()。📌

以波士顿数据集为例导入数据集:

该数据集包含美国人口普查局收集的美国马萨诸塞州波士顿住房价格的有关信息, 数据集很小,只有506个案例。

数据集都有以下14个属性:

CRIM--城镇人均犯罪率 ------【城镇人均犯罪率】

ZN - 占地面积超过25,000平方英尺的住宅用地比例。 ------【住宅用地所占比例】

INDUS - 每个城镇非零售业务的比例。 ------【城镇中非商业用地占比例】

CHAS - Charles River虚拟变量(如果是河道,则为1;否则为0 ------【查尔斯河虚拟变量,用于回归分析】

NOX - 一氧化氮浓度(每千万份) ------【环保指标】

RM - 每间住宅的平均房间数 ------【每栋住宅房间数】

AGE - 1940年以前建造的自住单位比例 ------【1940年以前建造的自住单位比例 】

DIS -波士顿的五个就业中心加权距离 ------【与波士顿的五个就业中心加权距离】

RAD - 径向高速公路的可达性指数 ------【距离高速公路的便利指数】

TAX - 每10,000美元的全额物业税率 ------【每一万美元的不动产税率】

PTRATIO - 城镇的学生与教师比例 ------【城镇中教师学生比例】

B - 1000(Bk - 0.63)^ 2其中Bk是城镇黑人的比例 ------【城镇中黑人比例】

LSTAT - 人口状况下降% ------【房东属于低等收入阶层比例】

MEDV - 自有住房的中位数报价, 单位1000美元 ------【自住房屋房价中位数】

导入数据:

#导入sklearn的数据库
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from sklearn. metrics import mean_squared_error
import pandas as pd
import numpy as np

使用sklearn的样本生成器(samples generator)可以创建数据

def linear_model1():
    """
    线性回归:正规方程
    """
    #1.获取数据
    data = load_boston()
    
    #2.数据集划分
    x_train,x_test,y_train,y_test=train_test_split(data.data,data.target,random_state=22)
    
    #3.特征工程-标准化
    transfer = StandardScaler()
    x_train = transfer.fit_transform(x_train)
    x_test = transfer.fit_transform(x_test)
    
    #4.机器学习-线性回归(正规方程)
    estimator = LinearRegression()
    estimator.fit(x_train,y_train)
    
    #5.模型评估
    #5.1 获取系数等值
    y_predict = estimator.predict(x_test)
    print("预测值为:\n",y_predict)
    print("模型中的系数为:\n",estimator.coef_)
    print("模型中的偏置为:\n",estimator.intercpt_)
    #5.2评价
    #均方误差
    error = mean_squared_error(y_test,ypredict)
    print("误差为:\n",error)
    
    return None
linear_model1()

输出结果:

anaconda sklearn,Anaconda,机器学习,sklearn,人工智能,Powered by 金山文档

3.2数据预处理👑

我们为什么要进行数据预处理?通常,真实生活中,我们获得的数据中往往存在很多的无用信息,甚至存在错误信息,而机器学习中有一句话叫做“Garbage in,Garbage out”,数据的健康程度对于算法结果的影响极大。数据预处理就是让那些冗余混乱的源数据变得能满足其应用要求。在这里只谈及几个基础的数据预处理的方法。sklearn提供了一个数据预处理的package:preprocessing,直接导入即可。📌

import sklearn.preprocessing as sk_preprocessing

下面将[[1,-1,2],[0,2,-1],[0,1,-2]]作为初始数据。

基于mean和std的标准化:

scaler = sk_preprocessing.StandardScaler().fit(X)
new_X = scaler.transform(X)
print("基于mean和std的标准化:",new_X)

输出结果:

anaconda sklearn,Anaconda,机器学习,sklearn,人工智能,Powered by 金山文档

规范化到一定区间内feature_range为数据规范化的范围.

scaler = sk_preprocessing.MinMaxScaler(feature_range = (0,1)).fit(X)
new_X = scaler.transform(X)
print("规范化到一定区间内",new_X)

输出结果:

anaconda sklearn,Anaconda,机器学习,sklearn,人工智能,Powered by 金山文档

然后我们把数据正则化

首先求出样本的p-范数,然后该样本的所有元素都要除以该范数,这样最终使得每个样本的范数都为1.

当我们正在使用sklearn中的normalize()函数。如果您一直使用12作为范数值范数

normed_X =normalize(X, axis=0, norm='12')

根据文档,参数范数的支持规范是'l1‘、’l2‘或'max’

所以要将12参数值替换为l2,如下所示:

normed_X =normalize(X, axis=0, norm='l2')

这是很多人都会犯的错误。

new_X = sk_preprocessing.normalize(X,norm = "l2")
print("求二范数",new_X)

打印结果:

anaconda sklearn,Anaconda,机器学习,sklearn,人工智能,Powered by 金山文档

4.构建并评价线性回归模型🔥

4.1回归模型👑

回归模型(regression model)对统计关系进行定量描述的一种数学模型,是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。例如司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。他可以根据历史数据的变化规律,寻找自变量与因变量之间的回归方程式,确定模型参数,据此预测。📌

特点:技术比较成熟,预测过程简单;将预测对象的影响因素分解,考察各因素的变化情况,从而估计预测对象未来的数量状态;回归模型误差较大,外推特性差。

适用范围:回归分析法一般适用于中期预测。回归分析法要求样本量大且要求样本有较好的分布规律,当预测的长度大于占有的原始数据长度时,采用该方法进行预测在理论上不能保证预测结果的精度。另外,可能出现量化结果与定性分析结果不符的现象,有时难以找到合适的回归方程类型。📌

我们常见的回归分析中,线性回归和 logistic回归最为常见。也是当前研究最多,并且使用最为晋遍,以及最为人接受容易理解的研究方法。📌

尤其是线性回归,其使用最为成熟,研究最多,而且绝大多数生活现象均可使用线性回归进行研究,因而结合回归分析还会多出一些回归方法;同时回归分析模型会有很多假定,或者满足条件,如果不满足这些假定或者条件就会导致模型使用出错,此时就有对应的其他回归模型出来解决这些问题,因而跟着线性回归后面又出来很多的回归。📌文章来源地址https://www.toymoban.com/news/detail-745614.html

pip install -i https://pypi.tuna.tsinghus.edu.cn/simple/ sklearn
import sklearn
print('hi')
from sklearn.linear_model import LinearRegression
x =[[80,86],
    [82,80],
    [85,78],
    [90,90],
    [86,82],
    [82,90],
    [78,80],
    [92,94]]
y=[84.2,80.6,80.1,90,83.2,87.6,79.4,93.4]
x
y
estimator=LinearRegression()
estimator.fit(x,y)
estimator.coef_
estimator.predict([[100,80]])
anaconda sklearn,Anaconda,机器学习,sklearn,人工智能,Powered by 金山文档

到了这里,关于Anaconda☀利用机器学习sklearn构建模型与实现丨第一课的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习笔记 - 利用自动编码器神经网络构建图像去噪器

            传统的图像噪声去除主要是基于各种滤波器,但它们不是特定于数据的,因此可能会损失很多图像的细节,或者噪声去除的效果不是很理想。基于神经网络的自动编码器可以用于学习数据集的噪声去除滤波器。         关于自动编码器的介绍,可以参考下面的链

    2024年02月05日
    浏览(46)
  • 使用MobaXterm连接服务器并利用Anaconda进行安装pytoch框架跑深度学习模型(使用学校服务器+显卡进行深度学习)

    在开始之前你需要找学校服务器负责人 申请服务器账号和密码 以及 校内外网IP和端口号 ;另外还需要知道学校 服务器显卡cuda版本 ,以及去pytorch官网查看显卡cuda版本对应的 pytorch版本 一、安装MobaXterm 1.下载MobaXterm 软件的下载可以去这里:我都已经给大家准备好了。 在我网

    2024年02月07日
    浏览(64)
  • 学习 TensorFlow:构建和训练机器学习模型的利器

    TensorFlow 是一种强大的开源机器学习框架,被广泛应用于构建和训练各种类型的神经网络模型。本文将介绍 TensorFlow 的基本概念、特点和学习步骤,同时提供一个项目案例和练习题,帮助读者快速入门和掌握 TensorFlow。 强大的计算图:TensorFlow 使用计算图来表示计算任务,将复

    2024年02月09日
    浏览(36)
  • 【机器学习】样本、特征、标签:构建智能模型的三大基石

    🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 引言: 在机器学习的世界里,数据是驱动模型训练和性能提升的核心要素。 而在这浩渺的数据海

    2024年04月16日
    浏览(41)
  • 每天五分钟机器学习:构建多特征的线性回归模型

    在实际应用中,有时候一个单一特征的线性回归模型可能无法很好地解释数据,因此我们可以构建多特征的线性回归模型来提高模型的预测能力。本文还是拿房价问题来举例,来看以下多特征的线性回归模型如何构建? 以房价预测为例,现在的样本特征不再是一个了,此时数

    2024年02月13日
    浏览(48)
  • 机器学习任务中使用计算图构建和训练模型的流程

    The goal is to encourage the project team to think more long-term and not judge success solely based on tactical results. This requires a shift in mindset to prioritize strategic thinking and understanding the bigger picture. It involves reevaluating the current perspective and approach to ensure that decisions and actions align with long-term goals and obje

    2024年02月10日
    浏览(39)
  • Python小知识 - 【Python】如何使用Pytorch构建机器学习模型

    【Python】如何使用Pytorch构建机器学习模型 机器学习是人工智能的一个分支,它的任务是在已有的数据集上学习,最终得到一个能够解决新问题的模型。Pytorch是一个开源的机器学习框架,它可以让我们用更少的代码构建模型,并且可以让模型训练的过程更加简单。 首先,我们

    2024年02月09日
    浏览(36)
  • 从模型到部署,教你如何用Python构建机器学习API服务

    本文分享自华为云社区《Python构建机器学习API服务从模型到部署的完整指南》,作者: 柠檬味拥抱。 在当今数据驱动的世界中,机器学习模型在解决各种问题中扮演着重要角色。然而,将这些模型应用到实际问题中并与其他系统集成,往往需要构建API服务。本文将介绍如何

    2024年04月08日
    浏览(50)
  • ChatGPT 使用 拓展资料:无需任何机器学习,如何利用大语言模型做情感分析?

    ChatGPT 拓展资料:无需任何机器学习,如何利用大语言模型做情感分析? 用于从文本数据中识别情感 Glove Vectors:

    2023年04月25日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包