sklearn数据集
-
数据集划分
机器学习一般的数据集会划分为两个部分
训练数据:用于训练,构建模型
测试数据:在模型检验时使用,用于评估模型是否有效 -
sklearn数据集接口介绍
-
sklearn分类数据集
-
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()
运行结果:

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

被折叠的 条评论
为什么被折叠?



