逻辑回归应用实践

1.逻辑回归是怎么防止过拟合的?为什么正则化可以防止过拟合?(大家用自己的话介绍下)

 防止过拟合:

(1). 增加样本量,这是万能的方法,适用任何模型。

(2). 如果数据稀疏,使用L1正则,其他情况,用L2要好,可自己尝试。

(3). 通过特征选择,剔除一些不重要的特征,从而降低模型复杂度。

(4). 如果还过拟合,那就看看是否使用了过度复杂的特征构造工程,比如,某两个特征相乘/除/加等方式构造的特征,不要这样做了,保持原特征

(5). 检查业务逻辑,判断特征有效性,是否在用结果预测结果等。

(6).最重要的,逻辑回归特有的防止过拟合方法:进行离散化处理,所有特征都离散化。

正则化可以防止过拟合的原因:

以L2正则化为例,正则项会使权重趋于0,就意味着大量权重就和0没什么差别了,此时网络就变得很简单,拟合能力变弱,从高方差往高偏差的方向移动。

过拟合的时候,拟合函数的系数往往非常大,而正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况。

2.用logiftic回归来进行实践操作,数据不限。

数据:data_home.csv

 代码:

#回归分析
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
data=pd.pandas.read_csv('./data_home.csv') #导入广州二手房数据
y=data['']#选取厅为目标
x=data
#划分训练集与测试集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2,random_state=1)

# 模型构建、训练
model = LogisticRegression()
model.fit(x_train, y_train)

#模型预测
pre = model.predict(x_test)
acc = sum(pre == y_test)/len(x_test)  # 模型的准确度
print(acc) 

查看模型准确度:



猜你喜欢

转载自www.cnblogs.com/SZZZ/p/12802438.html