首页 > 编程语言 >没有Python基础,如何学习用Python写机器学习

没有Python基础,如何学习用Python写机器学习

时间:2024-03-27 10:33:05浏览次数:40  
标签:index 机器 xList Python 0.0 xLable 学习 cluster xListGroup2

前言

我是一个完全没用过python的人,所以,想写机器学习,就得从语法入手。

首先上W3cSchool去学习基础语法。

基础语法都差不多,重点看一下函数,模块,面向对象。

函数的写法稍有不同,格式上类似yml的写法;模块会介绍import的相关信息;面向对象会介绍类的相关信息。

参考网站:

https://www.w3cschool.cn/python3/
https://www.w3cschool.cn/python3/python3-eam72ylh.html

理论上,2~3个小时就能学完。

K-means机器学习

我这里使用VSCode进行开发,随便打开一个文件夹,然后创建一个KmeansTest.py的文件,然后点运行(右上角的三角),然后系统会提示安装python。

image

因为我电脑是Window11,所以会弹窗提示我安装python3的包,点击安装即可;如果不是window11,就自己下个python包,配置一下环境变量,这个过程不复杂。

然后,因为我是完全没有python经验的,所以我也不知道要安装什么插件,所以我就打开扩展窗口,输入python搜索,随便按几个最上面的插件。

image

然后,先在终端里执行下面代码:

 pip install scikit-learn
 pip install matplotlib

scikit-learn是做机器学习的,matplotlib是一个绘图的库。

然后我们定义个数组做为学习的源数据.

X1 = [
 [0.0,0.0],
 [0.0,0.3],
 [0.3,0.0],
 [9.0,0.0],
 [9.0,0.6],
 [9.6,0.0]]

然后编写代码:

from sklearn.cluster import KMeans
# 按F2可以重命名
xList = [
 [0.0,0.0],
 [0.0,0.3],
 [0.3,0.0],
 [9.0,0.0],
 [9.0,0.6],
 [9.6,0.0]]
n_clusters = 2
cluster = KMeans(n_clusters=n_clusters, random_state=0).fit(xList)

xLable = cluster.labels_ 
# xlable 是上面那个集合,每个元素的所属分组
print ("xLable",xLable)

xListGroup1 =[]
xListGroup2 =[]
# 使用range时,循环的是索引,python里叫序列
for index in range(len(xList)) :
   
    cluster = xLable[index]
    if(cluster==1):
        xListGroup1.append( xList[index])
    if(cluster==0):
        xListGroup2.append( xList[index])
    
 
print ("xListGroup1",xListGroup1)
print ("xListGroup2",xListGroup2)

调试得到结果:

如我们期待的一样,前3个数据比较接近,后三个比较接近,所以,分两组的话,就是前3个一组,后3个一组。

经验

调试时,删除终端再建一个,不然有时候会出现莫名奇妙的异常,而实际上,代码并没有错误,这个非常耽误时间。
image

使用matplotlib

使用matplotlib的make_blobs函数,生成一个大一点的数据源测试,代码如下:

from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans

xList, y = make_blobs(n_samples=500,n_features=2,centers=4,random_state=1)

n_clusters = 2
cluster = KMeans(n_clusters=n_clusters, random_state=0).fit(xList)

xLable = cluster.labels_ 
# xlable 是上面那个集合,每个元素的所属分组
print ("xLable",xLable)

xListGroup1 =[]
xListGroup2 =[]

# 使用range时,循环的是索引,python里叫序列
for index in range(len(xList)) :
    cluster = xLable[index]
    if(cluster==1):
        xListGroup1.append( xList[index])
    if(cluster==0):
        xListGroup2.append( xList[index])

print ("xListGroup1",xListGroup1)
print ("xListGroup2",xListGroup2)

结语

通过上面代码,我们简简单单的实现了一个机器学习。

如果想让这个功能跟项目沟通,那就学习一下网络编程,写一个http监听,然后接一组数据,用上面代码处理完,返回一组数据即可。

同理,上面的代码可以换成opencv的,可以换成TensorFlow的。


注:此文章为原创,任何形式的转载都请联系作者获得授权并注明出处!



若您觉得这篇文章还不错,请点击下方的【推荐】,非常感谢!

https://www.cnblogs.com/kiba/p/18085072

标签:index,机器,xList,Python,0.0,xLable,学习,cluster,xListGroup2
From: https://www.cnblogs.com/kiba/p/18098264

相关文章

  • Python接口自动化测试的学习笔记9——logging日志
    1、引言在进行Python接口自动化测试时,日志记录是一项至关重要的任务,它可以帮助开发者追踪测试过程中的详细信息,包括请求与响应数据、错误消息、调试信息等,从而有效地定位问题并提高测试效率。下面,我们将探讨如何在Python接口自动化测试项目中构建和配置一个强大的日志记录系统......
  • python的应用 | 提取指定文件夹下所有PDF文件的页数
    需求背景:由于要打印几十页pdf,跟打印店对接的时候,为了防止被坑,提前了解一下,所有文档一共有多少页,于是想到了用python来提取pdf文件的页数完整代码:importosfromPyPDF2importPdfReaderdefget_pdf_page_count(folder_path):#初始化总页数变量total_pages=0......
  • Python-VBA编程500例-020-02(入门级)
    第k个组合(ThekthCombination)的问题在实际应用中具有广泛的用途,它涉及从n个不同元素中选出k个元素的所有可能组合。这种组合的概念在许多领域都有重要的应用,常见的一些具体应用有:1、彩票与赌博:在某些彩票或赌博游戏中,参与者需要选择特定数量的号码或符号。这些号码或符号的......
  • [Python]细节与使用经验
    【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)https://www.cnblogs.com/cnb-yuchen/p/18031983出自【进步*于辰的博客】纯文字阐述,内容比较干。并且,由于考虑到时间长了恐有所遗漏,便即兴记录,并没有对内容进行筛选、排序。因此,大家在阅读时可以直接Ctrl+F进行......
  • 肖sir__python之模块7.1
    ython之模块一、模块的介绍(1)python模块,是一个python文件,以一个.py文件,包含了python对象定义和pyhton语句(2)python对象定义和python语句(3)模块让你能够有逻辑地组织你的python代码段。(4)把相关的代码分配到一个模块里能让你的代码更好用,更易懂(5)模块能定义函数,类和变量,模块里也能包含可......
  • 人工智能深度学习入门指南
    人工智能深度学习是一个涉及复杂算法和技术的领域,主要目的是让机器能够模仿人脑的学习过程,从而具备理解、分析、预测等能力。下面将详细描述深度学习的工作原理、学习过程,并给出一些建议。深度学习的工作原理基于神经网络,这是一种模拟人脑神经元连接方式的计算模型。神经网络......
  • 机器学习就这?机器学习的本质------数学应用题?
            机器学习是人工智能领域的一个重要分支,它利用计算机算法从数据中学习和建立模型,以便进行预测或决策,而无需进行明确的编程。机器学习的应用范围非常广泛,从图像识别、自然语言处理到推荐系统等。概念        机器学习的核心概念是,通过算法分析大量数据......
  • 学习java第二十四天
    spring框架中有哪些不同类型的事件Spring提供了以下5种标准的事件:上下文更新事件(ContextRefreshedEvent):在调用ConfigurableApplicationContext接口中的refresh方法时被触发。上下文开始事件(ContextStartedEvent):当容器调用ConfigurableApplicationContext的Start方法开始......
  • 服务器运维新手的第一台服务器学习教程
    目前刚接触服务器这一块的学习,这里记录一下解如何获取自己的第一台虚拟云服务器,给刚入行服务器开发的小伙伴做一个参考。具体的步骤如下:一、服务器的注册和获取1、打开bwg88服务器平台地址:点击进入https://bwh88.net/aff.php?aff=743202、进入到官网界面后如下图:3、点击注......
  • python 常用包
    python对于从git下载的内容,进入包内使用以下命令: pythonsetup.pybuildinstall 对于whl包,可省去后面的whl直接安装,假如有whl包是test123.whlpipinstalltest123 pip: 是Python包管理工具,python的其它包安装一般都是通过pip操作。python3.4+自带有此包。下载......