Python scikit-learn,数据集,获取自带数据集,数据集划分(划分为训练集和测试集)

获取scikit-learn自带的数据集:
datasets.load_*()  # 获取小规模数据集,数据包含在datasets里(不需要联网)
datasets.fetch_*(data_home=None)  # 获取大规模数据集(需要联网下载),data_home表示数据的保存目录(默认"~/scikit_learn_data/")

demo.py(获取自带小数据集,load_*()):

from sklearn.datasets import load_iris


# load_*() 加载并返回鸢尾花数据集 (scikit-learn自带的数据集)
li = load_iris()  # 返回datasets.base.Bunch类型(字典格式)

print(li.data)  # 所有样本的特征值 (二维数组)
'''
[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]
 [4.7 3.2 1.3 0.2]
  ...          ...
 [6.5 3.  5.2 2. ]
 [6.2 3.4 5.4 2.3]
 [5.9 3.  5.1 1.8]]
'''

print(li.target)  # 目标值(鸢尾花的类别)
'''
[0 0 0 ... 2 2 2]
'''

print(li.DESCR)  # 数据集的描述信息

# 特征名
print(li.feature_names)  # ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']

# 目标名(标签名)
print(li.target_names)  # ['setosa' 'versicolor' 'virginica']

demo.py(数据集的划分,划分为训练集和测试集,train_test_split()):

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split


# 加载并返回鸢尾花数据集 (scikit-learn自带的数据集)
li = load_iris()  # 返回datasets.base.Bunch类型(字典格式)

# 划分数据集train_test_split() 第一个参数表示特征值,第二个参数表示目标值,test_size表示测试集所占的百分比(推荐0.25)
x_train, x_test, y_train, y_test = train_test_split(li.data, li.target, test_size=0.25)  # 划分是按比例随机划分
# 返回值 x_train表示训练集的特征值,x_test表示测试集的特征值,y_train表示训练集的目标值,y_test表示测试集的目标值

# 训练集的特征值
print(x_train)
'''
[[4.7 3.2 1.3 0.2]
 [6.3 2.5 4.9 1.5]
 [6.  3.  4.8 1.8]
 ...          ...
 [6.1 2.8 4.7 1.2]
 [5.7 3.8 1.7 0.3]
 [5.7 3.  4.2 1.2]]
'''

# 训练集的目标值
print(y_train)
'''
[0 1 2 1 0 2 0 1 2 1 1 2 0 0 ... 1 0 0 1 0 1 0 0 0 0 1 0 1]
'''

demo.py(获取scikit-learn官网的大数据集,fetch_*()):

from sklearn.datasets import fetch_20newsgroups, clear_data_home


# fetch_*() 获取官网上的大数据集(需要联网下载)。
# data_home表示数据集的保存目录,subset='all'表示训练集和测试集(可以只下载训练集或测试集)
news = fetch_20newsgroups(data_home="./mydata",subset='all')  # 获取新闻数据集

print(news.data)  # 特征值
print(news.target)  # 目标值 [10  3 17 ...  3  1  7]


# 清空下载的数据集。  data_home表示数据集的保存目录
# clear_data_home(data_home="./mydata")

猜你喜欢

转载自blog.csdn.net/houyanhua1/article/details/87921225