sklearn应用之logistic优化算法选择

class sklearn.linear_model.LogisticRegression(penalty=’l2’, dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, class_weight=None, random_state=None, solver=’warn’, max_iter=100, multi_class=’warn’, verbose=0, warm_start=False, n_jobs=None, l1_ratio=None)
逻辑回归可选的solver有:“liblinear”, “newton-cg”, “lbfgs”, “sag” and “saga”

1.liblinear适合小数据集,sag和saga对大数据集运算比较快

2.多分类,1 vs rest 损失以及正则化的选择:
saga支持所有情况;
lbfs,newton-cg,sag不支持L1正则
liblinear不支持多分类,不支持无正则

3.sag,saga在数据集没有归一化的时候表现不稳定,而liblinear,newton-cg,lbfs在没有归一化的情况下也具有鲁棒性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这里是一个使用PSO算法和logistic回归进行多分类预测的Python代码示例: ```python import numpy as np from sklearn.datasets import load_iris from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score from pyswarms.single.global_best import GlobalBestPSO # 加载数据集 iris = load_iris() X = iris.data y = iris.target # 定义PSO-logistic分类器 def pso_logistic(X, y, params): # 解压缩参数 w, b = params # 计算logistic回归的预测结果 clf = LogisticRegression(solver='lbfgs', multi_class='auto', max_iter=1000, tol=1e-4, fit_intercept=False, C=1e6) clf.coef_ = w.reshape(3, -1) clf.intercept_ = b.reshape(3,) y_pred = clf.predict(X) # 计算分类准确率 accuracy = accuracy_score(y, y_pred) # 返回分类准确率作为适应度 return 1.0 - accuracy # 定义PSO算法的参数范围和适应度函数 bounds = (np.array([-10.0]*12), np.array([10.0]*12)) options = {'c1': 0.5, 'c2': 0.3, 'w': 0.9} # 运行PSO算法进行优化 optimizer = GlobalBestPSO(n_particles=20, dimensions=12, options=options, bounds=bounds) best_params, best_cost = optimizer.optimize(pso_logistic, iters=100, X=X, y=y) # 输出最优参数和分类准确率 w, b = best_params clf = LogisticRegression(solver='lbfgs', multi_class='auto', max_iter=1000, tol=1e-4, fit_intercept=False, C=1e6) clf.coef_ = w.reshape(3, -1) clf.intercept_ = b.reshape(3,) y_pred = clf.predict(X) accuracy = accuracy_score(y, y_pred) print("Best parameters:", best_params) print("Best accuracy:", accuracy) # 输出模型参数 print("Coefficients:", clf.coef_) print("Intercepts:", clf.intercept_) ``` 这个代码示例使用PSO算法进行优化,尝试找到logistic回归的系数和截距,使得多分类模型的分类准确率最大。最后输出了最优参数、最优准确率以及模型的系数和截距。这个示例只是一个简单的实现,实际应用中可能需要更复杂的PSO-logistic模型和更严格的性能评估。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值