美文网首页机器学习与深度学习人工智能工厂
31、scikit-learn常见的5个机器学习监督分类算法

31、scikit-learn常见的5个机器学习监督分类算法

作者: 攻城狮笔记 | 来源:发表于2019-02-28 09:37 被阅读24次

    您不需要了解并使用scikit-learn中的所有算法,至少在开始时,选择一个或两个(或少数)并仅使用这些算法。

    在这篇文章中,您将看到5个监督分类算法应用于scikit-learn库提供的小标准数据集。

    Logistic回归

    Logistic回归将逻辑模型与数据拟合,并对事件的概率(0到1之间)进行预测。

    该配方显示了逻辑回归模型与鸢尾花数据集的拟合。因为这是一个多类分类问题,逻辑回归使得预测在0和1之间,所以使用了一对一方案(每个类一个模型)。

    # Logistic Regression
    from sklearn import datasets
    from sklearn import metrics
    from sklearn.linear_model import LogisticRegression
    # load the iris datasets
    dataset = datasets.load_iris()
    # fit a logistic regression model to the data
    model = LogisticRegression()
    model.fit(dataset.data, dataset.target)
    print(model)
    # make predictions
    expected = dataset.target
    predicted = model.predict(dataset.data)
    # summarize the fit of the model
    print(metrics.classification_report(expected, predicted))
    print(metrics.confusion_matrix(expected, predicted))
    

    朴素贝叶斯

    朴素贝叶斯使用贝叶斯定理来模拟每个属性与类变量的条件关系。

    该方法显示了朴素贝叶斯模型与鸢尾花数据集的拟合。

    # Gaussian Naive Bayes
    from sklearn import datasets
    from sklearn import metrics
    from sklearn.naive_bayes import GaussianNB
    # load the iris datasets
    dataset = datasets.load_iris()
    # fit a Naive Bayes model to the data
    model = GaussianNB()
    model.fit(dataset.data, dataset.target)
    print(model)
    # make predictions
    expected = dataset.target
    predicted = model.predict(dataset.data)
    # summarize the fit of the model
    print(metrics.classification_report(expected, predicted))
    print(metrics.confusion_matrix(expected, predicted))
    

    k-最近邻

    k-最近邻(kNN)方法通过将类似情况定位到给定数据实例(使用相似性函数)并返回最相似数据实例的平均或大部分来进行预测。kNN算法可用于分类或回归。

    该配方显示了使用kNN模型对鸢尾花数据集进行预测。

    # k-Nearest Neighbor
    from sklearn import datasets
    from sklearn import metrics
    from sklearn.neighbors import KNeighborsClassifier
    # load iris the datasets
    dataset = datasets.load_iris()
    # fit a k-nearest neighbor model to the data
    model = KNeighborsClassifier()
    model.fit(dataset.data, dataset.target)
    print(model)
    # make predictions
    expected = dataset.target
    predicted = model.predict(dataset.data)
    # summarize the fit of the model
    print(metrics.classification_report(expected, predicted))
    print(metrics.confusion_matrix(expected, predicted))
    

    分类和回归树

    分类和回归树(CART)是通过进行分割来构建的,这些分割可以最好地分离正在进行的类或预测的数据。CART算法可用于分类或回归。

    此配方显示使用CART模型对鸢尾花数据集进行预测。

    # Decision Tree Classifier
    from sklearn import datasets
    from sklearn import metrics
    from sklearn.tree import DecisionTreeClassifier
    # load the iris datasets
    dataset = datasets.load_iris()
    # fit a CART model to the data
    model = DecisionTreeClassifier()
    model.fit(dataset.data, dataset.target)
    print(model)
    # make predictions
    expected = dataset.target
    predicted = model.predict(dataset.data)
    # summarize the fit of the model
    print(metrics.classification_report(expected, predicted))
    print(metrics.confusion_matrix(expected, predicted))
    

    支持向量机

    支持向量机(SVM)是一种在转换后的问题空间中使用点的方法,它最好将类分成两组。一对一方法支持多个类的分类。SVM还通过使用最小允许误差量对函数建模来支持回归。

    该配方显示了使用SVM模型对鸢尾花数据集进行预测。

    # Support Vector Machine
    from sklearn import datasets
    from sklearn import metrics
    from sklearn.svm import SVC
    # load the iris datasets
    dataset = datasets.load_iris()
    # fit a SVM model to the data
    model = SVC()
    model.fit(dataset.data, dataset.target)
    print(model)
    # make predictions
    expected = dataset.target
    predicted = model.predict(dataset.data)
    # summarize the fit of the model
    print(metrics.classification_report(expected, predicted))
    print(metrics.confusion_matrix(expected, predicted))
    

    相关文章

      网友评论

        本文标题:31、scikit-learn常见的5个机器学习监督分类算法

        本文链接:https://www.haomeiwen.com/subject/jmwcuqtx.html