机器学习--jupyter notebook的使用
jupyter使用中无法显示中文在jupyter中,通过matplotlib作图时可能会添加中文标题,但有时候会不显示中文
1234567891011121314import numpy as npimport matplotlib.pyplot as pltx = np.arange(0, 6, 0.1) # 以0.1为单位,成0到6的数据y1 = np.sin(x)y2 = np.cos(x)plt.plot(x, y1, label = "sin") # label 为图例plt.plot(x, y2, linestyle = "--", label = "cos")plt.xlabel("x")plt.ylabel("y")plt.title("汉字")plt.legend() # 图例显示plt.show()
在Python脚本中动态设置matplotlibrc,这样可以避免由于更改配置文件而造成的麻烦,具体代码如下:
123from pylab impo ...
机器学习--案例:流行电影统计
机器学习—案例:流行电影统计现在我们有一组从2006年到2016年1000部最流行的电影数据
数据来源:https://www.kaggle.com/damianpanek/sunday-eda/data
问题1:我们想知道这些电影数据中评分的平均分,导演的人数等信息,我们应该怎么获取?
问题2:对于这一组电影数据,如果我们想rating,runtime的分布情况,应该如何呈现数据?
问题3:对于这一组电影数据,如果我们希望统计电影分类(genre)的情况,应该如何处理数据?
实现首先获取导入包,获取数据
1234%matplotlib inlineimport pandas as pdimport numpy as npfrom matplotlib import pyplot as plt
1234#文件的路径path = "./IMDB-Movie-Data.csv"#读取文件df = pd.read_csv(path)
问题一:我们想知道这些电影数据中评分的平均分,导演的人数等信息,我们应该怎么获取?
得出评分的平均分
使用mean函数
1df[&q ...
机器学习--pandas
pandas优势:
增强图表可读性
便捷的数据处理能力
读取文件方便
封装了Matplotlib、Numpy的画图和计算
更详细的教程:Pandas 教程 | 菜鸟教程 (runoob.com)
Pandas数据结构Pandas中一共有三种数据结构,分别为:Series、DataFrame和MultiIndex(老版本中叫Panel )。
其中Series是一维数据结构,DataFrame是二维的表格型数据结构,MultiIndex是三维的数据结构。
SeriesSeries是一个类似于一维数组的数据结构,它能够保存任何类型的数据,比如整数、字符串、浮点数等,主要由一组数据和与之相关的索引两部分构成。
Series的创建123# 导入pandasimport pandas as pdpd.Series(data=None, index=None, dtype=None)
参数:
data:传入的数据,可以是ndarray、list等
index:索引,必须是唯一的,且与数据的长度相等。如果没有传入索引参数,则默认会自动创建一个从0-N的整数索引。
dtype:数据的类型
通过 ...
机器学习--numpy
机器学习—numpy
Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。
Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。
Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。
更详细的Numpy教程:NumPy 教程 | 菜鸟教程 (runoob.com)
ndarray介绍使用Python列表可以存储一维数组,通过列表的嵌套可以实现多维数组,那么为什么还需要使用Numpy的ndarray呢?
在这里我们通过一段代码运行来体会到ndarray的好处
12345678910import randomimport timeimport numpy as npa = []for i in range(100000000): a.append(random.random())# 通过%time魔法方法, 查看当前行的代码运行一次所花费的时间%time sum1=sum(a)b=np.array(a)%time sum2=np.sum(b)
在 ...
机器学习--Matplotlib
机器学习—MatplotlibMatplotlib详细教程:Matplotlib 教程 | 菜鸟教程 (runoob.com)
是专门用于开发2D图表(包括3D图表)
以渐进、交互式方式实现数据可视化
简单的Matplotlib画图 — 以折线图为例matplotlib.pyplot模块matplotlib.pytplot包含了一系列类似于matlab的画图函数。
1import matplotlib.pyplot as plt
图形绘制流程:1.创建画布 — plt.figure()
1234plt.figure(figsize=(), dpi=) figsize:指定图的长宽 dpi:图像的清晰度 返回fig对象
2.绘制图像 — plt.plot(x, y)
1以折线图为例
3.显示图像 — plt.show()
折线图绘制与显示举例:展现上海一周的天气,比如从星期一到星期日的天气温度如下:
1234567import matplotlib.pyplot as plt# 1.创建画布plt.figure(figsize=(10, 10), dpi=100)# 2.绘制折线图 ...
机器学习--jupyter notebook的使用
机器学习—jupyter notebook的使用Jupyter项目是一个非盈利的开源项目,源于2014年的ipython项目,因为它逐渐发展为支持跨所有编程语言的交互式数据科学和科学计算
Jupyter Notebook,原名IPython Notbook,是IPython的加强网页版,一个开源Web应用程序
名字源自Julia、Python 和 R(数据科学的三种开源语言)
是一款程序员和科学工作者的编程/文档/笔记/展示软件
.ipynb文件格式是用于计算型叙述的JSON文档格式的正式规范
传统软件开发:工程/目标明确
需求分析,设计架构,开发模块,测试
数据挖掘:艺术/目标不明确
目的是具体的洞察目标,而不是机械的完成任务
通过执行代码来理解问题
迭代式地改进代码来改进解决方法
实时运行的代码、叙事性的文本和可视化被整合在一起,方便使用代码和数据来讲述故事
相关库和jupyter的安装看这个:Python虚拟环境的搭建 - chjxbt - 博客园 (cnblogs.com)搭建好python的虚拟环境。
逐行在命令行输入
1mkvirtualenv ai
1234 ...
人工智能概述
人工智能概述入门人工智能,了解人工智能是什么。为啥发展起来,用途是什么,是最重要也是最关键的事情。大致有以下思路。
人工智能发展历程
机器学习定义以及应用场景
监督学习,无监督学习
监督学习中的分类、回归特点
知道机器学习的开发流程
人工智能发展历程
人工智能在现实生活中的应用
人工智能发展必备三要素
人工智能和机器学习、深度学习三者之间的关系
人工智能在现实生活中的应用虽然人工智能在今天可能是一个流行词,但在明天,它可能会成为我们日常生活的标准一部分。事实上,它已经在这里了。
例如,自动驾驶汽车,学校门禁的人脸识别系统,手机语音助手,以及我们在各个平台上看视频的首页推荐。都是用到人工智能的。
人工智能发展必备三要素
数据
算法
计算力
CPU,GPU,TPU
计算力之CPU、GPU对比:
CPU主要适合I\O密集型的任务
GPU主要适合计算密集型任务
CPU和GPU的区别:
http://www.sohu.com/a/201309334_468740
人工智能、机器学习和深度学习
人工智能和机器学习,深度学习的关系
机器学习是人工智能的一个实现途径
深度 ...
无题
神经网络可以计算任何函数的可视化证明对于神经网络,一个显著的事实就是它可以计算任何函数。
如下:不管该函数如何,总有神经网络能够对任何可能的输入x,输出值f(x)
即使函数有很多输入和输出,$f=f(x_1,\cdots,x_m)$,结果也是成立的。
结果表明神经网络具有一种普遍性,无论我们想计算什么函数,都能用神经网络实现。
普遍性定理在计算机科学领域中特别常见,我们几乎可以将生活中的任何过程看作函数的计算,例如基于一段音乐识别曲目,其实也能将其视为计算一个函数,或者将中文翻译成英文”,又或者根据一个mp4视频文件生成对电影情节的描述并讨论表演水平。
普遍性指神经网络可以做各种事情。本质上就是通过一定的规律由a变b的性质。
两个预先声明在解释为什么普遍性成立之前,需要给“神经网络可以计算任意函数”两个预先声明。
第一点,这句话不是说神经网络可用于准确计算任何函数,而是说可以获得不错的近似。可以通过增加隐藏神经元的数量来提升近似的准确度。
例如一个网络中含有五个隐藏神经元的话肯定比含有3个隐藏神经元更好得近似结果。
第二点,可以按照上述方式近似的函数其实是连续函数。如 ...
LCD接口
LCD接口(附8051LCD1602显示:源码+原理图)工程源码及原理图:链接:https://pan.baidu.com/s/1KgmiGkFdl_sFE5GTm5MSsQ?pwd=l1gp提取码:l1gp
LCD(Liquid Crystal Display):又称液晶显示器
LCD引脚LCD一共有14个引脚,如下图:
以LCD1602为例:
以下我们对引脚进行逐个解释:
VSS,VDD,VO
引脚
功能
VSS
地
VDD
电源正极(4.5~5.5V)
VO
对比度调节电压(一般接在可变电阻上以调节电压)
RS(寄存器选择)数据/指令选择,1为数据,0为指令
若RS=0,选择==指令代码寄存器==,允许用户发送指令,如清屏,使光标返回初始位置。
若RS=1,选择==数据寄存器==,允许用户发送数据显示在LCD上
RW(read/write)读/写选择,1为读,0为写
E(使能)使能,1为数据有效,下降沿执行命令
D0~D7数据输入/输出
A/KA:背光灯电源正极
K:背光灯电源负极
其内部结构图如下:
...