sklearn的常⽤函数以及参数
sklearn中的算法可以分为如下⼏部分
分类算法
回归算法
聚类算法
降维算法
模型优化
服饰英文⽂本预处理
其中分类算法和回归算法⼜叫做监督学习,聚类算法和降维算法⼜叫做⾮监督学习。
1.分类算法
KNN算法
ighbors import KNeighborsClassifier
knn = KNeighborsClassifier()
'''
__init__函数
def __init__(lf, 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__(lf, priors=None):
lf.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__(lf, solver='svd', shrinkage=None, priors=None,
n_components=None, store_covariance=Fal, tol=1e-4):
lf.solver = solver
lf.shrinkage = shrinkage
lf.priors = priors
lf.n_components = n_components
lf.store_covariance = store_covariance # ud 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_class, n_features]
priors_:归⼀化的先验概率
rotations_:LDA分析得到的主轴,shape [n_features, n_component]
scalings_:数组列表,每个⾼斯分布的⽅差σ
'''
⼆次判断分析
from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
qda = QuadraticDiscriminantAnalysis()
羊肉补肾吗'''
__init__函数
def __init__(lf, priors=None, reg_param=0., store_covariance=Fal,
tol=1.0e-4, store_covariances=None):
lf.priors = np.asarray(priors) if priors is not None el None
<_param = reg_param
lf.store_covariances = store_covariances
lf.store_covariance = store_covariance80年代经典歌曲
reg_param=None,正则化参数,规范化协⽅差
'''
⽀持向量机
from sklearn.svm import SVC
svc = SVC()
'''
__init__函数
def __init__(lf, C=1.0, kernel='rbf', degree=3, gamma='auto',
coef0=0.0, shrinking=True, probability=Fal,
tol=1e-3, cache_size=200, class_weight=None,
宫颈糜烂的症状有哪些verbo=Fal, 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.
verbo,是否启⽤详细输出。此设置利⽤libsvm中的每个进程运⾏时设置,如果启⽤,可能⽆法在多线程上下⽂中正常⼯作。⼀般情况都设为Fal,不⽤管它。max_iter,最⼤迭代次数,如果为-1,表⽰不限制
random_state,伪随机数发⽣器的种⼦,在混洗数据时⽤于概率估计。
属性:
svc.n_support_:各类各有多少个⽀持向量
svc.support_:各类的⽀持向量在训练样本中的索引
svc.support_vectors_:各类所有的⽀持向量
'''
神经⽹络
mlp = MLPClassifier()
'''
__init__函数
def __init__(lf, hidden_layer_sizes=(100,), activation="relu",
solver='adam', alpha=0.0001,
batch_size='auto', learning_rate="constant",
learning_rate_init=0.001, power_t=0.5, max_iter=200,
shuffle=True, random_state=None, tol=1e-4,
verbo=Fal, warm_start=Fal, momentum=0.9,
nesterovs_momentum=True, early_stopping=Fal,
validation_fraction=0.1, beta_1=0.9, beta_2=0.999,
epsilon=1e-8):
hidden_layer_sizes,长度=n_layers-2, 默认(100,),第i个元素表⽰第i个隐藏层的神经元的个数。activation,激活函数,默认为relu
solver,默认 ‘adam’,⽤来优化权重
alpha,可选的,默认0.0001,正则化项参数
batch_size,默认‘auto’,随机优化的minibatches的⼤⼩
learning_rate,默认‘constant’,⽤于权重更新
max_iter,默认200,最⼤迭代次数。
random_state,可选,默认None,随机数⽣成器的状态或种⼦
shuffle,可选,默认True,只有当solver=’sgd’或者‘adam’时使⽤,判断是否在每次迭代时对样本进⾏清洗。
tol,可选,默认1e-4,优化的容忍度
learning_rate_int,默认0.001,初始学习率,控制更新权重的补偿,只有当solver=’sgd’ 或’adam’时使⽤。power_t,只有solver=’sgd’时使⽤,是逆扩展学习率的指数.当learning_rate=’invscaling’,⽤来更新有效学习率。verbo,是否将过程打印到stdout
warm_start,当设置成True,使⽤之前的解决⽅法作为初始拟合,否则释放之前的解决⽅法。
属性:
- class_:每个输出的类标签
-
loss_:损失函数计算出来的当前损失值
- coefs_:列表中的第i个元素表⽰i层的权重矩阵
- intercepts_:列表中第i个元素代表i+1层的偏差向量
- n_iter_ :迭代次数
- n_layers_:层数
- n_outputs_:输出的个数
- out_activation_:输出激活函数的名称。
⽤法:
- fit(X,y):拟合
- get_params([deep]):获取参数
- predict(X):使⽤MLP进⾏预测
-
predic_log_proba(X):返回对数概率估计
- predic_proba(X):概率估计
- score(X,y[,sample_weight]):返回给定测试数据和标签上的平均准确度
-t_params(**params):设置参数。
'''
决策树算法
dtc = DecisionTreeClassifier()扁豆角
登岳阳楼翻译'''
__init__函数
def __init__(lf,
criterion="gini",
splitter="best",
max_depth=None,
min_samples_split=2,
min_samples_leaf=1,
min_weight_fraction_leaf=0.,
max_features=None,
random_state=None,
max_leaf_nodes=None,
新员工入职申请表min_impurity_decrea=0.,
min_impurity_split=None,
class_weight=None,
presort=Fal):
criterion,划分标准;可选项,默认值为”gini”,即基尼指数,”entropy”信息增益
max_depth,最⼤深度;可选项,默认值为”None”,即不限深度,直到达到某种阈值
min_samples_split,阈值;可选项,默认值为2,当某个结点的样本数⼩于该值时,停⽌划分;min_samples_leaf,叶结点中,样本点的最⼩值;默认值为1
属性:
n_class_ 列出类数⽬
class_ 列出类标签
feature_importances_ 列出每⼀维特征的重要性
n_features_ 特征数⽬
⽤法:
fix(X,y) 拟合
get_params() 获取参数表中的参数
predict(X) 返回预测出的结果
score(X,y) 返回准确率
'''
集成算法-Bagging