01_01 python机器学习_第一章学习内容整理_加载样本数据&绘制散点图

第一章学习内容整理_加载样本数据&绘制散点图

01 常用包说明

python可以解决很多问题,相应解决方案使用的包也很多,不太好记忆.
为了便于记忆,用大白话简单描述一下各个包的功能.

# 科学计算最基础的包
# 本质就是个多维数组, 里面包含了一些操作数组的功能函数, 机器学习一切的起源
import numpy as np

# 以numpy为基础,封装的各种高级数学函数
import scipy

# 将各种数据已表单形式存储&表达, 可以直接使用numpy的数据
# 虽然同numpy都是数据集合, 但numpy侧重的是多为数组, 而且数据类型必须都一致
# pandas则侧重数据的集合,简单理解就是想象成excel表格
import pandas as pd

# 绘图工具 可以直接使用numpy的数据格式进行绘图
import matplotlib

# 交互式python
# 通常我们在cmd执行python后,进入python环境,编码是没有语法提醒的.
# Ipython下则可以提供语法提醒
import IPython

# ---------------
# 以下可以简单记忆, xxxxlearn表示各种机器学习用的包
# 机器学习的基础库, 里面有免费的学习数据, 实例中用的就是这个包里的数据
import sklearn

# 机器学习绘图库
import mglearn

02 从一个例子开始说起

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import pandas as pd
import mglearn
import matplotlib.pyplot as pt

iris_dataset = load_iris()
X_train, X_test, y_train, y_test = \
    train_test_split(iris_dataset['data'],
                     iris_dataset['target'], random_state=0)
iris_dataframe = pd.DataFrame(X_train, columns=iris_dataset.feature_names)
pd.plotting.scatter_matrix(iris_dataframe, c=y_train, figsize=(15, 15), marker='o',
                                 hist_kwds={
   'bins': 20}, s=60, alpha=.8, cmap=mglearn.cm3)
pt.show()

如果你跟我一样,看的一头雾水,说明咱们是一个段位的,接下来我们就尝试搞懂这段程序.
先把程序功能简单说明一下,也好带着问题看程序.

功能:

  • 使用机器学习包中提供的数据样本,创建学习用数据和测试用数据
  • 使用学习数据创建数据表格模板
  • 使用测试数据测验证数据表格是否能正常识别数据
  • 通过绘图来显示测试结果

接下来我们尝试分段来研究这段程序:

02_001 引入包的说明

# sklearn为机器学习基础包, 其下的datasets中提供了一些免费使用的数据样本, 
# load_iris是样本中关于鸢尾花建模的数据样本
from sklearn.datasets import load_iris

# train_test_split可以将sklearn的数据拆分
# 默认情况下会将一份数据拆分成 75%的建模用数据 和 25%的测试用数据
from sklearn.model_selection import train_test_split

# panda中提供数据的绘图功能
# 直接用matplotlib不行吗? 一般来说数据在成图之前都会做一些设置,中间多一曾panda缓冲
# 能解决绝大部分问题
import pandas as pd

# 虽然panda提供了绘图功能,但是主职并不是绘图,以此也不能完成复杂的配图方案.
# mglearn是专门应对绘图的包,里面有很多视图配色方案,
# 各种现成的数据视图,本着不重复造轮子的宗旨,建议绘图时选择mglearn
# 另外需要注意的是: mglearn只是做成绘图用的数据
import mglearn

# 绘制图片的主要函数
import matplotlib.pyplot as pt

02_002 使用机器学习包中提供的数据样本,创建学习用数据和测试用数据

  • 加载数据样本:
# 加载鸢尾花数据包, 加载后的数据格式类似于dict
iris_dataset = load_iris()

print(type(iris_dataset))
>>> <class 'sklearn.utils.Bunch'>

iris_dataset.keys()
>>> dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename', 'data_module'])

# 说明一下这个数据包中各个key的作用:
# =='data'==
#  用于存放测量数据 可以看出这个例子的数据是二维数组
>>> iris_dataset.data
array([[5.1, 3.5, 1.4, 0.2],
 [4.9, 3. , 1.4, 0.2],
 [4.7, 3.2, 1.3, 0.2],
 [4.6, 3.1, 1.5, 0.2],
 [5. , 3.6, 1.4, 0.2],
 ....
 ])

# 二维数组的形状
# 一维表示测试数据的个数
# 二维表示每个测试数据的特征具体值
>>> iris_dataset.data.shape
(150, 4)

# =='feature_names'==
# 用于存放特征信息. 特征个数跟data中的二维数据个数应当是一样的.
>>> iris_dataset.feature_names
['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']

# =='target_names'==
# 单个所有特征信息汇总后最终会得到一个结论, target_names就是存放最终的结论,
# 本例中所有数据共分为三类.
>>> iris_dataset.target_names
array(['setosa', 'versicolor', 'virginica'], dtype='<U10')

# =='target'==
# 存放每个数据 特征汇总后所指向的结论, 为了节省内存, 
# 没有直接写名字,而是使用target_names中的位置信息来描述结论
>>> iris_dataset.target
array([0, 0
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值