当前位置: 首页 > article >正文

yjs机器学习数据操作01——数据的获取、可视化

数据的获取

1.库与模块:

import sklearn

from sklearn import datasets

2.数据集获取的API及解释

对于sklearn的数据获取,主要分为两大部分,分别是“小数据集的获取——load_xxx”和“大数据集的获取fetch_xxx”

a.datasets.load_xxx():

load_xxx:这些数据集通常加载到内存中,适合快速实验和模型验证

常见的有   

  • load_iris():加载经典的鸢尾花(Iris)数据集。
  • load_digits():加载手写数字数据集。
  • load_wine():加载葡萄酒分类数据集。
  • load_breast_cancer():加载乳腺癌分类数据集。
  • load_diabetes():加载糖尿病回归数据集。
  • load_linnerud():加载 Linnerud 数据集(多输出回归)。

b.datasets.fetch_xxx()

fetch_xxx:从网络下载数据集,适用于较大规模的真实世界数据集

常见的有:

  • fetch_20newsgroups():加载20类新闻组数据集,用于文本分类任务。
  • fetch_olivetti_faces():加载 Olivetti 人脸数据集,用于图像处理任务。
  • fetch_lfw_people():加载 LFW(Labelled Faces in the Wild)人脸识别数据集。
  • fetch_lfw_pairs():加载 LFW 人脸对数据集,用于人脸匹配。
  • fetch_covtype():加载 Covertype 数据集,用于分类问题。
  • fetch_rcv1():加载 RCV1(Reuters Corpus Volume I)数据集

3.数据集的属性

import sklearn
from sklearn import datasets
data=datasets.load_iris()

"""1.数据集的具体数据/本质上也是特征值:"""
data["data"]    

"""2.数据集的特征名:"""
data.feature_names

"""3.数据集的目标名称/标签名称"""
data.target_names

"""4.数据集的目标值/标签值"""
data.target

"""5.数据集的总体描述"""
data.DESCR

数据的可视化

1.库与模块:

import seaborn as sns
#seaborn是对matplotlib的更高级api的封装

2.可视化的API及解释——lmplot

sns.lmplot(x=   ,   y=   ,    data=    ,hue=   ,  fit_reg=True/False....)

参数说明:

x/y=...     : 是指定画图时的x坐标是啥,y是啥,这里不是将其命名,而是指出以什么参数为x、y轴   ;一般是某一个“属性”,即特征

························································································································

data=       :这里指定数据,并且数据一定要是DataFrame结构

                     这里就涉及到将load_或者fetch获得的数据结构进行变化:

Data_load=pd.DataFrame(data["data"],columns=data.feature_names)

··························································································································

hue=        :这里是指按照什么进行分类,

data【“data”】获取的数据一般是这样的:

一般我们把它再加一列,就是将每个样本的目标值,即标签加入进去

Data_load["target"]=data.target

所以这里的hue一般这样写:

hue=Data_load.target或者["target"]

··························································································································

fit_reg=T/F:是否进行线性拟合



整体代码:

# 将数据用seaborn库进行可视化
data_1=pd.DataFrame(data=dataSet1["data"],columns=dataSet1.feature_names)
data_1["target"]=dataSet1.target
print(data_1)
print(data_1.columns[0])
sns.lmplot(x=data_1.columns[0], y=data_1.columns[1], data=data_1, hue="target")
plt.xlabel("cols1")
plt.ylabel("cols2")
plt.title("鸢尾花")
plt.show()

结果:

注意图的相关显示的属性,如x坐标名称,y坐标名称,图的题目等是同matplotlib那个一样,都是 “plt.xxx”

最后的展示也是“plt.show()”

整体代码:

import matplotlib.pyplot as plt
import pandas as pd
import sklearn
import seaborn as sns
from sklearn import datasets
import numpy as np
plt.rcParams['font.family'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

dataSet1 = datasets.load_iris()
print("鸢尾花数据集如下:")
print(dataSet1)
print("鸢尾花的属性:")
print("特征数据数组:")
print(dataSet1["data"])
print("标签值:")
print(dataSet1.target)
print("标签名:")
print(dataSet1.target_names)
print("特征名:")
print(dataSet1.feature_names)
print("数据描述:")
print(dataSet1.DESCR)

# 将数据用seaborn库进行可视化
data_1=pd.DataFrame(data=dataSet1["data"],columns=dataSet1.feature_names)
data_1["target"]=dataSet1.target
print(data_1)
print(data_1.columns[0])
sns.lmplot(x=data_1.columns[0], y=data_1.columns[1], data=data_1, hue="target")
plt.xlabel("cols1")
plt.ylabel("cols2")
plt.title("鸢尾花")
plt.show()

结果:(截取部分片段)


http://www.kler.cn/news/357325.html

相关文章:

  • 基于Flink MySQL CDC技术实现交易告警
  • 三、数据聚合和函数
  • 个人主页模版(源代码开源)
  • 界面控件Telerik UI for WPF 2024 Q3亮点 - 支持禁用数据过滤等
  • 蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
  • 第五届机器学习与计算机应用国际学术会议(ICMLCA 2024)
  • 同三维T80001JEHVA H.265 HDMI/VGA/CVBS解码器
  • c#编写的各类应用程序、类库的引用(黑白盒)
  • 软考(网工)——网络安全
  • YOLOv8实战人脸-口罩检测与识别【数据集+YOLOv8模型+源码+PyQt5界面】
  • 卷积神经网络(Convolutional Neural Network)案例
  • LeetCode刷题日记之贪心算法(三)
  • 深入理解WebSocket协议原理、实现与应用
  • 背景全文及翻译
  • 软件工程的学习之详细绪论
  • 学习笔记——交换——STP(生成树)工作原理
  • 机器学习常见概念整理
  • Flink CDC 实时同步mysql数据
  • 现代物流管理:SpringBoot技术突破
  • 数据结构——八大排序(下)