sklearn的常用函数以及参数

sklearn中的算法可以分为如下几部分

  • 分类算法

  • 回归算法

  • 聚类算法

  • 降维算法

  • 模型优化

  • 文本预处理

其中分类算法和回归算法又叫做监督学习,聚类算法和降维算法又叫做非监督学习。

1.分类算法

KNN算法

from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier()
'''
__init__函数
    def __init__(self, n_neighbors=5,
                 weights='uniform', algorithm='auto', leaf_size=30,
                 p=2, metric='minkowski', metric_params=None, n_jobs=1,
                 **kwargs):
                  
n_neighbors=5,指定以几个最邻近的样本具有投票权
weight="uniform",每个拥有投票权的样本是按照什么比重投票,"uniform"表示按照等比重投票,"distance"表示按距离反比投票,[callable]表示自己定义的一个函数,这个函数接收一个距离数组返回一个全职数组
algorithm="auto",内部采用什么样的算法实现,有以下几种方法,"ball_tree":球树,"kd_tree":kd树,"brute":暴力搜索。
"auto"表示自动根据数据类型和结构选择合适的算法。一般来说,低维数据用kd_tree,高维数据用ball_tree

leaf_size=30:ball_tree或者kd_tree的叶子节点规模
matric="minkowski",怎样度量距离,默认是闵式距离
p=2,闵式距离各种不同的距离参数
metric_params=None,距离度量函数的额外关键字参数,一般默认为None,不用管
n_jobs=1,并行的任务数
 
用法:
    knn.fit(X_train, y_train)
    y_pred = knn.predict(X_test)
    knn.score(y_pred, y_test)
'''

  

朴素贝叶斯算法

from sklearn.naive_bayes import GaussianNB
gsn = GaussianNB()
'''
__init__函数
        def __init__(self, priors=None):
            self.priors = priors
             
priors=None,先验概率
用法:
    gsn.fit(X_train, y_train)
    y_pred = gsn.predict(X_test)
'''

  

线性判别分析

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
lda = LinearDiscriminantAnalysis()
'''
__init__函数
    def __init__(self, solver='svd', shrinkage=None, priors=None,
                 n_components=None, store_covariance=False, tol=1e-4):
        self.solver = solver
        self.shrinkage = shrinkage
        self.priors = priors
        self.n_components = n_components
        self.store_covariance = store_covariance  # used only in svd solver
        self.tol = tol  # used only in svd solver
         
solver="svd",求解算法,svd表示使用奇异值分解求解,不用计算协方差矩阵。
             lsqr表示最小平方qr分解
             eigen表示特征值分解
shrinkage=None,是否使用参数收缩
priors=None,用于LDA中贝叶斯规则的先验概率
components,需要保留的特征个数,小于等于n-1
store_covariance,是否计算每个类的协方差矩阵,0.19版本删除
用法:
    lda.fit(X_train, y_train)
属性:
    covariances_:每个类的协方差矩阵, shape = [n_features, n_features]
    means_:类均值,shape = [n_classes, n_features]
    priors_:归一化的先验概率
    rotations_:LDA分析得到的主轴,shape [n_features, n_component]
    scalings_:数组列表,每个高斯分布的方差σ
'''

  

二次判断分析

from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
qda = QuadraticDiscriminantAnalysis()
'''
__init__函数
    def __init__(self, priors=None, reg_param=0., store_covariance=False,
                 tol=1.0e-4, store_covariances=None):
        self.priors = np.asarray(priors) if priors is not None else None
        self.reg_param = reg_param
        self.store_covariances = store_covariances
        self.store_covariance = store_covariance
        self.tol = tol
         
reg_param=None,正则化参数,规范化协方差
'''

  

支持向量机

from sklearn.svm import SVC
svc = SVC()
'''
__init__函数
def __init__(self, C=1.0, kernel='rbf', degree=3, gamma='auto',
                 coef0=0.0, shrinking=True, probability=False,
                 tol=1e-3, cache_size=200, class_weight=None,
                 verbose=False, max_iter=-1, decision_function_shape='ovr',
                 random_state=None):
 
C,错误项的惩罚系数,即对分错样本的惩罚程度越大,因此在训练样本中准确率越高,但是泛化能力降低,也就是对测试数据的分类准确率降低。
kernel,算法中采用的核函数类型
degree,这个参数只对多项式核函数有用,是指多项式核函数的阶数n
gamma,核函数系数,默认为auto
coef0,核函数中的独立项
probability,是否启用概率估计
shrinking,是否采用启发式收缩方式
tol,svm停止训练的误差精度
cache_size,指定训练所需要的内存,以MB为单位,默认为200MB。
class_weight,给每个类别分别设置不同的惩罚参数C,如果没有给,则会给所有类别都给C=1,即前面参数指出的参数C.
verbose,是否启用详细输出。此设置利用libsvm中的每个进程运行时设置,如果启用,可能无法在多线程上下文中正常工作。一般情况都设为False,不用管它。
max_iter,最大迭代次数,如果为-1,表示不限制
random_state,伪随机数发生器的种子,在混洗数据时用于概率估计。
属性:
    svc.n_support_:各类各有多少个支持向量
    svc.support_
  • 5
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值