文章目录
前言
借线性回归模型、逻辑回归模型、聚类分析模型做数据分析的入门,机器学习包括两类学习,线性回归与逻辑回归为监督式学习,聚类分析为非监督学习;其中用到的几个库:pandas为数据分析工具集用以数据清洗、Matplotlib\Seaborn为可视化库、sklearn为机器学习第三方模块,封装了多种机器学习方法方便取用
一、了解数据概况
前提:新建DataFrame命名为store
store.info() — 读取数据
index_col=0 — 第一列就是index值,不用新增一列unnamed;
(index_col=none/false — 重新设置一列为成为index值)
用法:store=pd.read_csv(‘w2_store_rev.csv’,index_col=0)store.isnull().sum() — .isnull()判断数据集store每一列是否是空,是的话标1,不是的话标0;.sum()最后加总
store.describe() — 了解数据分布、大小情况;
二、单变量分析
前提:导入数据分析处理的核心库
import pandas as pd;
store.event.unique() / store[‘event’].unique()— 数据来源.变量名.unique()以数组形式返回该列所有唯一值;
store.groupby([‘event’])[‘revenue’].describe() — 将收入按事件分类统计;
store=pd.get_dummies(store) — 对store中所有类别变量进行量化,值存在为1,否则0;
store=pd.get_dummies(store[‘event’]) — 只对event变量进行量化;
store.corr() — 查看所有变量之间的相关性;
store.corr()[[‘revenue’]].sort_value(‘revenue’,ascending=False) — 查看所有变量与‘revenue’变量的相关性(注意revenue的为双中括号,否则变成series),sort_values()根据某一字段做升降序排列,不加ascending则默认升序,ascending=False为降序;
三、可视化
前提:导入可视化库
import seaborn as sns;
import matplotlib.pyplot as plt
%matplotlib inline;
sns.regplot(‘local_tv’,‘revenue’,store) — sns.regplot(字段1:自变量,字段2:因变量,数据),对自变量进行线性关系可视化分析,生成散点图以及一条线性回归的拟合参考线;
四、建立模型
1.线性回归模型
案例:宝洁销售额预测
①导库、读取数据
代码如下(示例):
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
store = pd.read_csv('w2_store_rev.csv',index_col=0)
②了解数据概况且对后续建模进行数据处理
代码如下(示例):
store = pd.get_dummies(store['event']) #类别变量转为数值型变量(哑变量)
store.drop(['local_tv_no','person_no'],axis=1,inplace=True) #删除不需要的哑变量,axis=1表示跨列,axis=0表示跨行,inplace=true表示对原始对象进行修改,不创建新对象,inplace=false表示创建新对象承载结果;
store.isnull().sum() #统计数据空值
store = store.fillna(0) / store = store.fillna(store.local_tv.mean()) #缺失值用0或均值填补;缺失数量在5%左右可直接填充
store.columns = st