机器学习基础——数据集的划分、转换器和估计器

1 数据集的划分

训练集:用于训练,构建模型。

测试集:在模型检验时使用,用于评估模型是否有效。

训练集(建立模型)测试集(评估模型)
80%20%
70%30%
75%25%

2 scikit -learn数据集API介绍

 2.1 sklearn.datasets    加载获取流行数据集

  •  datasets.load_*()   获取小规模数据集,数据包含在datasets里
  • datasets.fetch_*(data_home=None)   获取大规模数据集,需要从网络上下载,data_home表示数据集的下载目录

2.2 获取数据集返回的类型

data特征数据数组
target标签数据
DESCR数据描述
feature_names特征名
target_names标签名

以鸢尾花数据为例子

from sklearn.datasets import load_iris,fetch_20newsgroups
from sklearn.model_selection import train_test_split
li=load_iris()
print("获取特征值")
print(li.data)#每一个样本四个特征值
print("目标值")
print(li.target)
print(li.DESCR)

获取特征值
[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]
 [4.7 3.2 1.3 0.2]

目标值
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2]
数据描述

                Min  Max   Mean    SD   Class Correlation
    ============== ==== ==== ======= ===== ====================
    sepal length:   4.3  7.9   5.84   0.83    0.7826
    sepal width:    2.0  4.4   3.05   0.43   -0.4194
    petal length:   1.0  6.9   3.76   1.76    0.9490  (high!)
    petal width:    0.1  2.5   1.20   0.76    0.9565  (high!)
    ============== ==== ==== ======= ===== ====================

2.3 数据集进行分割

  • sklearn.model_selection.train_test_split(*arrays,**options)

  • x 数据集的特征值
  • y 数据集的标签值
  • test_size 测试集的大小,一般为float
  • random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
  • return 训练集特征值,测试集特征值,训练标签,测试标签
#注意返回值,训练集 train :x_train,y_train,测试集 test: x_test,y_test
x_train,x_test,y_train,y_test=train_test_split(li.data,li.target,test_size=0.25)
print("训练集特征值和目标值",x_train,y_train)
print("测试集特征值和目标值",x_test,y_test)

训练集特征值和目标值 [[6.7 2.5 5.8 1.8]
 [4.9 2.4 3.3 1. ]
 [7.9 3.8 6.4 2. ]
 [5.4 3.9 1.7 0.4]
 [5.9 3.2 4.8 1.8]
 [6.4 3.2 4.5 1.5][2 1 2 0 1 1 1 0 2 1 0 2 0 1 2 1 1 2 0 0 2 0 2 0 1 0 2 0 2 0 0 0 2 1 2 2 1
 0 2 1 1 2 0 1 0 2 0 1 2 1 0 0 2 2 2 2 0 0 0 2 0 0 0 2 2 2 1 1 0 2 2 1 1 2
 1 2 1 0 0 1 2 1 1 1 2 1 0 1 1 1 0 1 0 2 0 1 0 1 0 0 2 2 2 0 0 1 1 2 0 1 2
 0]

测试集特征值和目标值 [[6.7 3.1 5.6 2.4]
 [6.2 3.4 5.4 2.3]
 [4.8 3.1 1.6 0.2]
 [4.4 2.9 1.4 0.2]
 [7.2 3.2 6.  1.8][2 2 0 0 2 2 2 1 0 0 0 2 1 1 1 2 1 1 1 0 0 0 2 1 0 0 2 0 1 1 2 2 1 1 2 1 1
 2]

2.4 用于分类的大数据集(文本分类)

  • sklearn.datasets.fetch_20newsgroups(data_home=None,subset="train")
  • sunset:"train"或者"test","all"可选,选择要加载的数据集
  • datasets.clear_data_home (data_home=None) 清除目录下的数据
news=fetch_20newsgroups(subset="all")

2.5 sklearn回归数据集

  • sklearn.datasets.load_boston() 加载并返回波士顿房价数据集

名称数量
目标类别5-50
特征13
样本数量

506

  • sklearn.datasets.load_diabetes() 加载和返回糖尿病数据集

名称数量
目标范围25-346
特征10
样本数量442

3 转化器(transformer  实现了特征工程的API)

3.1  standardScaler()函数

sklearn包下的,所以每次使用要调用sklearn包。
StandardScaler类是处理数据归一化和标准化。

3.2  fit_transform()函数

  • fit_transform():输入数据直接转换。fit_transform=先fit+再transform
  • fit():输入数据,但不做事情。Method calculates the parameters μ and σ and saves them as internal objects.解释:简单来说,就是求得训练集X的均值,方差,最大值,最小值,这些训练集X固有的属性。
  • transform():进行数据的转换。 Method using these calculated parameters apply the transformation to a particular dataset.
    解释:在fit的基础上,进行标准化,降维,归一化等操作(看具体用的是哪个工具,如PCA,StandardScaler等)。
    rom sklearn.preprocessing import StandardScaler
    s=StandardScaler()
    t1=s.fit_transform([[1,2,3],[4,5,6]])
    print(t1)
    ss=StandardScaler()
    t2=ss.fit([[1,2,3],[4,5,6]])
    print(t2)
    sss=StandardScaler()
    t3=sss.transform([[1,2,3],[4,5,6]])
    print(t3)
    

    [[-1. -1. -1.]
     [ 1.  1.  1.]]

4 估计器(estimator 实现了算法的API)

4.1 用于分类的估计器

  • sklearn.neighbors    k-近邻算法
  • sklearn.naive_bayes  贝叶斯
  • sklearn.liner_model.LogisticRegression  逻辑回归
  • sklearn.tree   决策树和随机森林

4.2 用于回归的估计器

  • sklearn.linear_model.LinearRegression 线性回归
  • sklearn.linear_model.Ridge 岭回归

5 非监督学习建模步骤

以下总结是我用xmind画出

​​​​​​​

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值