zoukankan      html  css  js  c++  java
  • sklearn 常用算法参数设置与选择

    分类算法

    一 SVC

    class sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma=0.0, coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, random_state=None)

     Parameters:(参数和属性均只列了常用参数和属性)

    • C 是惩罚因子
    • Kernel 是核函数,必须取‘linear‘、‘poly’、 ‘rbf’、 ‘sigmoid’、 ‘precomputed’之一

    Attributes:

    • support_ 支持向量的索引  array-like, shape = [n_SV]
    • support_vectors_ 支持向量  array-like, shape = [n_SV, n_features]
    • n_support_ 每个类别支持向量的个数  array-like, dtype=int32, shape = [n_class]

    二 RandomForestClassifier

    class sklearn.ensemble.RandomForestClassifier(n_estimators=10, criterion='gini', max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features='auto', max_leaf_nodes=None, bootstrap=True, oob_score=False, n_jobs=1, random_state=None, verbose=0, warm_start=False, class_weight=None)

    Parameters:

    • n_estimators  森林中树的个数
    • criterion  评价划分程度的函数,’gini‘表示基尼不纯度,’entropy‘表示熵,用于信息增益

    Attributes:

    • feature_importances_   特征重要程度,值越大特征越重要

    交叉检验

    我们在进行机器学习过程中,首先会把数据集分为两部分:训练数据集和验证数据集;要判断一个模型的优秀程度,我们将训练数据集上训练得到的模型,代入到验证数据集上去验证,从而得到一个验证结果;但我们不能仅仅划分一次数据集,而是要随机的多划分几次;从而每次都得到一个结果;再求其均值,就可以作为对模型的评价了。

    sklearn.cross_validation.cross_val_score即是实现了这样一个功能

    sklearn.cross_validation.cross_val_score(estimator, X, y=None, scoring=None, cv=None, n_jobs=1, verbose=0, fit_params=None, pre_dispatch='2*n_jobs')
    •  estimator 某一种分类器,例如 estimator = sklearn.svm.SVC(c=1.0)
    • X,y 分别是训练数据和标签
    • cv If None, it is equivalent to cv=3

    示例如下:

    from sklearn.svm import SVC
    from sklearn.cross_validation import cross_val_score
    X=train_df.iloc[:,1:]#训练数据 y=train_df.iloc[:,0]#标签 model = SVC(C=3.0) scores = cross_val_score(model, X, y) print scores,scores.mean()#scores输出是一个含三个float值的序列,mean()是求均值
  • 相关阅读:
    Python Revisited Day 13 (正则表达式)
    Python Revisited Day 06 (面向对象程序设计)
    Python Revisited (变量)
    Python Revisited Day 05(模块)
    Python Revisited Day 04 (控制结构与函数)
    Python Revisited Day 03 (组合数据类型)
    Numpy
    Python Revisited Day 01
    Python3使用openpyxl读写Excel文件
    Python3操作YAML文件
  • 原文地址:https://www.cnblogs.com/tosouth/p/4887917.html
Copyright © 2011-2022 走看看