目录
一、机器学习基础理论
1、机器学习过程
- 获取数据
- 数据处理
- 特征工程(特征值、目标值)(包括标准化)
- 算法训练 -> 得到模型
- 模型评估
2、机器学习分类(有监督/无监督)
学习阶段可用数据集:
sklearn、kaggle、UCI
3、数据集返回值介绍
load返回小数据集,fetch返回大数据集。
返回datasets.base.Bunch数据类型(字典格式)
标签(target):目标值
特征(data):特征值
返回方式1:dict['key']
返回方式2:dict.key
二、鸢尾花数据集(实战)
以上三种鸢尾花,分别为鸢尾花的三个标签。
1、首先是获取数据集
# 获取数据集(鸢尾花)
iris = load_iris()
2、显示数据集信息(可以不要)
# 显示数据集信息
Show_Data()
# 显示数据集
def Show_Data():
# 鸢尾花数据集
print('鸢尾花数据集\n\n', iris)
# print('鸢尾花数据集描述\n', iris['DESCR'])
# 鸢尾花标签
# print('鸢尾花标签名称\n', iris.target_names)
# print('鸢尾花标签数组\n', iris.target)
# 鸢尾花特征值
# print('鸢尾花特征值名称\n', iris.feature_names)
# print('鸢尾花特征值\n', iris.data)
# 数组行、列查看
# print('鸢尾花特征数组行列\n', iris.data.shape)
# print('鸢尾花标签数组行列\n', iris.target.shape)
三、数据集划分
为了给后面的模型评估留下数据,这里只能选取一部分数据进行模型训练。
1、数据集划分API
sklearn.model_selection.train_test_split
返回:训练集特征值、测试集特征值、训练集目标值、测试集目标值。
2、代码及效果
# 数据集划分
def Data_Split():
# 训练集、测试集划分API
train_data, test_data, train_target, test_target = train_test_split(iris.data, iris.target, test_size=0.2)
#训练集特征值 测试集特征值 训练集目标值 测试集目标值 训练集测试集划分API 训练集 测试集 测试量
# 显示(训练集/测试集的特征值/目标值)
print('训练集特征值:', train_data.shape)
print('测试集特征值:', test_data.shape)
print('训练集目标值:', train_target.shape)
print('测试集目标值:', test_target.shape)
总代码
# 机器学习基础(鸢尾花数据集)
# sklearn.model_selection.train_test_split返回:
# 训练集特征值、测试集特征值、训练集目标值、测试集目标值。
import cv2
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 显示数据集
def Show_Data():
# 鸢尾花数据集
print('鸢尾花数据集\n\n', iris)
# print('鸢尾花数据集描述\n', iris['DESCR'])
# 鸢尾花标签
# print('鸢尾花标签名称\n', iris.target_names)
# print('鸢尾花标签数组\n', iris.target)
# 鸢尾花特征值
# print('鸢尾花特征值名称\n', iris.feature_names)
# print('鸢尾花特征值\n', iris.data)
# 数组行、列查看
# print('鸢尾花特征数组行列\n', iris.data.shape)
# print('鸢尾花标签数组行列\n', iris.target.shape)
# 数据集划分
def Data_Split():
# 训练集、测试集划分API
train_data, test_data, train_target, test_target = train_test_split(iris.data, iris.target, test_size=0.2)
#训练集特征值 测试集特征值 训练集目标值 测试集目标值 训练集测试集划分API 训练集 测试集 测试量
# 显示(训练集/测试集的特征值/目标值)
print('训练集特征值:', train_data.shape)
print('测试集特征值:', test_data.shape)
print('训练集目标值:', train_target.shape)
print('测试集目标值:', test_target.shape)
if __name__ == '__main__':
# 获取数据集(鸢尾花)
iris = load_iris()
# 显示数据集信息
# Show_Data()
# 数据集划分
Data_Split()