今天是2020年10月1日中午11点50分,国庆双节快乐呀,本篇文章主要是对逻辑回归和线性回归的基本流程回顾。
-----本文大纲--------------
一、线性回归
二、逻辑回归
三、总结
-----------------------------
线性回归和逻辑回归,算是数据分析中最基础的两个分析模型,记得本科看统计学那本书时,回归部分就是介绍的线性回归和多元线性回归。而后步入数据科学大门,发现逻辑回归和线性回归其实都属于广义线性模型。
(ps:做回归前需要进行数据预处理,比如数据可视化、分类变量进行编码,处理缺失值和异常值、特征工程、数据测试集和训练集拆分等等,本文简化以上操作,直接以调用逻辑回归和线性回归最核心函数来练习)
一、线性回归
线性回归通常可以分为两种,一种是简单线性回归(y=ax),一种是多元线性回归(y=ax1+a2x2+...+anxn),原理基本就是用梯度下降法对最小二乘法算的误差函数进行优化。它的前提一般关注两个,一个是X与Y需要是线性关系,还有一个是自变量之间不能有很强的共线性,(再精确一些的,还需要去关注误差项同方差、独立、正态分布)。
实际应用例子,比如当我们有很多数据,比如面积,房子房间数,房子年龄等等特征,想预测房价之类的,这种数值型因变量,那我得模拟一个方程(线性回归),然后评估这个方程(用R方,调整后的R方,P值看)。
python代码应用上,线性回归可以用statsmodels库直接调用,导入statsmodels.formula.api有个好处就是如果自变量是分类型的,可以直接加个C(),很方便!,比如这里国家是分类的自变量,直接用C(country)即可。
import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport scipy.stats as strate=pd.read_csv("D:/home/conversion_data.csv")import statsmodels.api as smimport statsmodels.formula.api as smfres = smf.ols(formula='total_pages_visited ~ age + new_user+C(country)', data=rate).fit()
=0.5,'pred1']=1"],[20,"\n","24:\"Cu5Z\"|36:177"