7.逻辑回归实践

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

 

增加样本量;使用正则方式;通过特征选择,剔除一些不重要的特征,从而降低模型复杂度; 检查业务逻辑,判断特征有效性,是否在用结果预测结果;进行离散化处理,所有特征都离散化。

 

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

 

 

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

 

 

print('曾嘉业 201706120062 17软2')
#回归分析算法
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression #回归分析包
f=open('./201706120062 曾嘉业(预处理后的数据).csv',encoding='utf-8')
data=pd.read_csv(f)
y=data['地区'] #地区为选取的目标值
data.drop(['地区'],axis=1,inplace=True) #因为要测试地区的数据,所以要把文档里头的‘地区’的数值去掉
x=data
#模型准备
#划分训练集与测试集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2,random_state=30)

# 模型构建
model = LogisticRegression() #导入模型,进行模型构建

#模型训练
model.fit(x_train, y_train) #模型训练

#模型预测
pre = model.predict(x_test) #模型预测
print('模型的预测值:',pre)

#模型评估
print('逻辑回归的准确率为:{0:.2f}%'.format(model.score(x_test, y_test)*100))

 

posted @ 2020-04-29 20:47  Chaiyeh  阅读(102)  评论(0编辑  收藏  举报