人工智能数据的划分和介绍

本文详细介绍了如何使用sklearn进行数据集的划分,包括训练集与测试集的分离,以及如何加载和使用各种数据集,如鸢尾花数据集、新闻数据集和波士顿房价数据集。

sklearn数据集

  1. 数据集划分
    机器学习一般的数据集会划分为两个部分
    训练数据:用于训练,构建模型
    测试数据:在模型检验时使用,用于评估模型是否有效

  2. sklearn数据集接口介绍

  3. sklearn分类数据集

  4. sklearn回归数据集

数据集划分API

sklearn.model_selection.tranid_text_split

scikit-learn数据集API介绍

  • skiearn.datasets
  • 加载获取流行数据集
  • datasets.load_*()
  • 获取小规模数据集,数据包含在datasets
  • datasets.fetch_*(data_home=None)
  • 获取大规模数据集,需要从网络下载,函数第一个参数是data_home,表示数据集下载的目录默认是~/scikit_learn_data/

获取数据集返回的类型

load和fetch返回的数据类型datasets.base.Bunch(‘字典格式’)

  • data:特征数据数组,是[n_samples*n_features]的二维numpy.ndarray数组
  • targets:标签数组,是n_samples的一维numpy.adarray数组
  • DESCR:数据描述
  • feature_names:特征名,新闻数据,手写数字,回归数据集没有
  • target_names:标签名

获取数据集案例

from sklearn.datasets import load_iris

def load_datas():
    li=load_iris()
    print("获取特征数据值")

    print(li.data)
    print("目标值")
    print(li.target)
def main():
    load_datas()

if __name__ == '__main__':
    main()

运行结果:
运行结果

数据集进行分割

  • sklearn.model_selection.train_test_split(*arrays,**options)
  • x 数据集的特征值
  • y 数据集的标签值
  • text_size 测试集的大小,一般为float
  • random_state 随机数种子,不同的种子会造成不同的随机采样结果,相同的种子采样结果相同
  • return 训练集特征值,测试集特征值,训练标签,测试标签(默认随机取)

代码:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
def load_datas():
    li=load_iris()
    print("获取特征数据值")

    print(li.data)
    print("目标值")
    print(li.target)

def data_split():
    ir=load_iris()
#     训练集 特征值:x_train 测试值:y_train 测试集: 特征值:x_text 训练集y_train
    x_train,x_text,y_train,y_text=train_test_split(ir.data,ir.target,test_size=0.25)
    print("训练集特征值和目标值",x_train,y_train)
    print("测试集特征值和训练集",x_text,y_text)
def main():
    data_split()

if __name__ == '__main__':
    main()

运行结果:
运行结果

用于分类的大数据集(新闻)

  • sklearn.datasets.fetch_20newsgroups(data_home=None,subset=“train”)
  • subset:"train“或者"text’,“all"可选,选择要加载的数据集,训练集的”训练”,测试集的“测试”,两者的“全部”
  • datasets.clear_data_home(data_home=None)
  • 清除目录下的数据

代码:

from sklearn.datasets import load_iris,fetch_20newsgroups
from sklearn.model_selection import train_test_split
def load_datas():
    li=load_iris()
    print("获取特征数据值")

    print(li.data)
    print("目标值")
    print(li.target)

def data_split():
    ir=load_iris()
#     训练集 特征值:x_train 测试值:y_train 测试集: 特征值:x_text 训练集y_train
    x_train,x_text,y_train,y_text=train_test_split(ir.data,ir.target,test_size=0.25)
    print("训练集特征值和目标值",x_train,y_train)
    print("测试集特征值和训练集",x_text,y_text)

def get_news():
    news=fetch_20newsgroups(subset="all")
    print(news.data)
    print(news.target)

def main():
    # data_split()
    get_news()
if __name__ == '__main__':
    main()

运行结果:
运行结果

回归数据集

代码:

from sklearn.datasets import load_iris,fetch_20newsgroups,load_boston
from sklearn.model_selection import train_test_split
def load_datas():
    li=load_iris()
    print("获取特征数据值")

    print(li.data)
    print("目标值")
    print(li.target)
def het_boston():
    lb=load_boston()
    print("获取特征值")
    print(lb.data)
    print("获得目标值")
    print(lb.target)

def data_split():
    ir=load_iris()
#     训练集 特征值:x_train 测试值:y_train 测试集: 特征值:x_text 训练集y_train
    x_train,x_text,y_train,y_text=train_test_split(ir.data,ir.target,test_size=0.25)
    print("训练集特征值和目标值",x_train,y_train)
    print("测试集特征值和训练集",x_text,y_text)

def get_news():
    news=fetch_20newsgroups(subset="all")
    print(news.data)
    print(news.target)

def main():
    # data_split()
    # get_news()
    het_boston()
if __name__ == '__main__':
    main()

运行结果:
回归数据集

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值