scikit-learn
深度学习库 基于matplotlib scipy和numpy
是很多模型的最佳实现
线性模型
线性模型基本有几个共同的参数
penalty: 用于指定正则化类型 l1,l2,elasticnet 分别为L1 L2 L1+L2正则
若后面加个CV代表交叉验证
LinearRegression: 最小二乘线性回归PassiveAggressiveClassifer: 被动攻击分类器(废弃) 被封装进了SGDClassifier的learning_rate="pa1"或pa2Ridge: 岭回归 就是线性回归+L2正则Lasso: Lasso回归 就是线性回归+L1正则 用于估计稀疏系数cLogisticRegression/LogisticRegressionCV: 逻辑回归Perceptron: 线性感知分类器 使用梯度下降回归 是SGDClassifier的参数封装 使用的是perceptron感知机损失函数SGDClassifier/SGDRegressor: SGD训练的线性分类器/回归器 通过指定不同的损失函数来应用到不同的任务 | Loss | 任务 | |---------------|-----------------------| | hinge | SVM | | log | 逻辑回归的对数损失 | | perceptron | 感知机 | | squared_hinge | 平方后的hinge 用于SVM | | huber | huber损失 |ElasticNet/: L1+L2的线性回归
gaussian_process
高斯过程是非参数监督学习方法 用于解决 回归 与 概率分类 的问题
优点
预测结果通过插值观测值得出
预测是概率性(高斯性的) 可以计算经验置信区间 并根据这些置信区间决定是否应该在感兴趣的某个区域重新拟合(在线拟合、自适应拟合)预测
可以指定不同的内核
缺点
在高维空间中,它们的效率会降低——尤其是在特征数量超过几十个的时候
GaussianProcessRegressor
高斯过程回归GPR
class GaussianProcessRegressor(MultiOutputMixin, RegressorMixin, BaseEstimator):
def __init__(
self,
kernel=None,
*,
alpha=1e-10,
optimizer="fmin_l_bfgs_b",
n_restarts_optimizer=0,
normalize_y=False,
copy_X_train=True,
n_targets=None,
random_state=None,
)
其中
kernel: 代表核函数
alpha: 噪声
optimizer: LML的优化器 在训练时优化高斯过程的核的参数的
n_restarts_optimizer: 此参数指定优化器应从随机选择的超参数起始点运行多少次 防止局部最优