机器学习转换器与估计器

机器学习转换器与估计器

  • 1、sklearn数据集与估计器
  • 2、分类栓发-k近邻算法
  • 3、k-近邻算法实例
  • 4、分类模型的评估
  • 5、分类算法-朴素贝叶斯算法
  • 6、朴素贝叶斯算法实例
  • 7、模型的选择与调优
  • 8、决策树与随机森林
数据集划分:
        机器学习一般的数据集会划分为两个部分:
            训练数据:用于训练,构建模型
            测试数据:在模型检验时使用,用于评估模型是否有效
            训练集:70%   测试集: 30%   训练集:80%   测试集:20%  训练集:75%   测试集: 25%
            一般大多数用的占比是 :训练集:75%   测试集: 25%
scikit-learn 数据集API介绍:
    sklearn.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数组
            target: 标签数组,是n_samples的一维numpy.ndarray数组
            DESCR: 数据描述
            feature_names: 特征名          新闻数据,手写数字、回归数据集没有
            target_names: 标签名

sklearn数据集划分API:
    sklearn.model_selection.train_test_split
def test_datasets()
	
    """
    数据集进行分割:
        sklearn.model_selection.train_test_split(*arrays,**options)
            x         数据集的特征值
            y         数据集的标签值
            test_size  测试集的大小,一般为float
            random_state  随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同
            return  训练集特征值,测试集特征值,训练标签,测试标签(默认随机取)
    """
    from sklearn.model_selection import train_test_split
    from sklearn.datasets import load_iris
    li = load_iris()
    print("获取特征值")
    print(li.data)
    print("目标值")
    print(li.target)
    print("数据描述")
    print(li.DESCR)
    # 注意返回值, 训练集 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)
    """
        用于分类的大数据集
            sklearn.datasets.fetch_20newsgroups(data_home=None,subset='train')
                subset: 'train' 或者 'test','all', 可选, 选择要加载的数据集。训练集的“训练”,测试集的“测试”,两者的“全部”
            datasets.clear_data_home(data_home=None)
                清除目标下的数据
    """
    # 获取新闻数据集
    from sklearn.datasets import fetch_20newsgroups
    news = fetch_20newsgroups(subset='all')
    print(news.data)
    print(news.target)

sklearn分类数据集

sklearn.datasets.load_iris()

​ 加载并返回鸢尾花数据集

    """
        scikit-learn 数据集API介绍:
        sklearn.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数组
                target: 标签数组,是n_samples的一维numpy.ndarray数组
                DESCR: 数据描述
                feature_names: 特征名          新闻数据,手写数字、回归数据集没有
                target_names: 标签名
    Returns:None
    """
    from sklearn.datasets import load_iris
    li = load_iris()
    print("获取特征值")
    print(li.data)
    print("目标值")
    print(li.target)
    print("数据描述")
    print(li.DESCR)

sklearn.datasets.load_digits()

​ 加载并返回数字数据集

sklearn回归数据集

sklearn.datasets.load_boston()

​ 加载并返回波士顿房价数据集

 	"""
        获取波士顿数据集
    """
    from sklearn.datasets import load_boston
    lb = load_boston()
    print(lb.data)
    print(lb.target)
    print(lb.DESCR)

sklearn.datasets.load_diabetes()

​ 加载和返回糖尿病数据集

sklearn机器学习算法的实现-估计器

在sklearn中,估计器(estimator)是一个重要的角色,是一类实现了算法的API

1、用于分类的估计器:

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

2、用于回归的估计器:

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

机器学习算法分类以及开发流程

机器学习转换器与估计器_第1张图片

数据类型

  • 离散型数据:由于记录不同类别个体的数目所得到的数据,又被称计数数据,所有这些数据全部都是整数,而且不能再细分,也不能再进一步提高他们的精确度。
  • 连续型数据:变量可以再某个范围内取任一数,即变量的取值可以是连续的,如:长度、时间、质量值等,这类整数通常是非整数,含有小数部分。

注:只要记住一点,离散型是区间内不可分,连续型是区间内可分

机器学习算法分类

  • 监督学习(预测)
    • 分类 :k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络
    • 回归:线性回归、岭回归
    • 标注:隐马尔可夫模型(不做要求)
  • 无监督学习
    • 聚类:k-means

机器学习转换器与估计器_第2张图片

监督学习

​ 监督学习(英语: Supervised learning),可以由输入数据中学到或建立-一个模型,并依此模式推测新的结果。输入数据是由输入特征值和目标值所组成。函数的输出可以是一个连续的值(称为回归),或是输出是有限个离散值(称作分类)

无监督学习

​ 无监督学习( 英语: unSupervised learning),可以由输入数据中学到或建立-一个模型,并依此模式推测新的结果。输入数据是由输入特征值所组成。

概念:分类是监督学习的一个核心问题,在监督学习中,当输出变量取有限个离散值时,预测问题变成为分类问题。最基础的便是二分类问题,即判断是非,从两个类别中选择一个作为预测结果;

解析:

机器学习转换器与估计器_第3张图片

解析:

机器学习转换器与估计器_第4张图片

你可能感兴趣的:(机器学习,python,sklearn)