步骤
建立模型
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='lbfgs', max_iter=100, multi_class='auto', verbose=0, warm_start=False, n_jobs=None, l1_ratio=None
- 参数详解
- 比较重要的参数
- multi-class:分类方法是一对多还是一对一,选项有{‘ovr’,‘multinomial’},前者是一对多。一对一更准,计算量也大
- solver:优化器,选项有{‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’}
- max_iter:最大迭代次数。设小了会导致不能收敛。
预处理
主要是看有没有缺失值、异常值;
逻辑回归还需要把分类变量转化为数值变量(分类变量不能是字符串)
import pandas as pd
# 数据
path = "../Data/classify.csv"
rawdata = pd.read_csv(path)
X = rawdata.iloc[:,:13]
Y = rawdata.iloc[:,14] # {”A":0,"B":1,"C":2}
Y = pd.Categorical(Y).codes # ABC变成123
训练
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
# 训练集和测试集
x_train, x_test, y_train, y_test