[数据挖掘之scikit-learn] sklean.linear_model.LogisticRegression实例详解
文章目录概述5.1 sklearn.linear_model.LogisticRegression5.2 LogisticRegression示例概述逻辑回归是一种分类方法,原理详见小瓜讲机器学习——分类算法(一)logistic regression(逻辑回归)算法原理详解。5.1 sklearn.linear_model.LogisticRegressionsklearn.linear...
·
概述
逻辑回归是一种分类方法,原理详见小瓜讲机器学习——分类算法(一)logistic regression(逻辑回归)算法原理详解。
5.1 sklearn.linear_model.LogisticRegression
sklearn.linear_model.LogisticRegression(penalty='l2', dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scalling=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)
参数说明:
1.penalty:正则化策略,可选‘l1’和’l2’
2.dual:选择目标函数是原始形式还是对偶问题;
3.tol:迭代终止精度;
4.C:正则化系数;
5.fit_intercept:是否计算截距,如果False,训练过程会假设数据已经中心化了;
6.intercept_scalling
7.class_weight:训练样本中的各类别样本的权重系数
8.random_state:随机种子
9.solver:损失函数的迭代计算方法
- ‘newton-cg’:使用牛顿法
- ‘lbfgs’:使用L-BFGS拟牛顿法
- ‘liblinear’:使用
- ‘sag’:随机梯度下降法
10.max_iter:最大迭代次数
11.multi_class:多类别分类策略
- ‘ovr’:采用one-vs-rest策略进行多分类
- ‘multinomial’:直接采用多分类逻辑回归模型
12.verbose:是否输出训练过程
13.warm_start:是否使用前一次的训练结果继续训练
14.n_jobs:指定任务时的CPU数量
15.l1_ratio:
属性说明:
1.coef_:权重系数
2.intercept:截距
3.n_iter:实际迭代次数
4.classes_
5.2 LogisticRegression示例
import numpy as np
from sklearn import linear_model, datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
iris = datasets.load_iris()
feature_X = iris.data
label_Y = iris.target
train_subset, test_subset, train_label, test_label = train_test_split(feature_X, label_Y, test_size=0.3, random_state=0)
#标准化特征
sc = StandardScaler()
sc.fit(train_subset)
train_subset_std = sc.transform(train_subset)
test_subset_std = sc.transform(test_subset)
#训练模型
lgr = linear_model.LogisticRegression(C=2, penalty='l2')
lgr.fit(train_subset_std, train_label)
label_predict = lgr.predict(test_subset_std)
accuracy = lgr.score(test_subset_std, test_label)
print(accuracy)
结果输出
0.8666666666666667
即在验证集上的准确率为0.86666.。
更多推荐
所有评论(0)