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))