IBM Machine Learning学习笔记(二)——Supervised Learning: Regression
文章目录一、Introduction to Supervised Machine Learning1.Introduction to Supervised Machine Learning2.Linear Regression二级目录三级目录一、Introduction to Supervised Machine Learning1.Introduction to Supervised Machi
文章目录
线性回归比较简单,只记录一下遇到的以前没见过的点
一、Introduction to Supervised Machine Learning
线性回归函数sklearn.linear_model.LinearRegression
-
除了MSE以外的计算误差的方法R^2
sklearn.metrics.r2_score
,其主要组成如下:- SSE(sum of squared error):误差平方和
- TSS(total sum of squares):整体方差
- R^2(coefficient of determination)
-
判断数据分布是否符合正态分布的方法:
- 可视化
dataframe.hist
- 使用scipy的normaltest函数
scipy.stats.mstats.normaltest
,该函数输出一个p值,p值越大表示越接近正如态分布,一般来讲,p大于0.05可视为符合正态分布
- 可视化
-
让数据分布变为正态分布的几种方法:
- log变换
np.log
- 开平方
np.sqrt
- box-cox变换
scipy.stats.boxcox
- log变换
-
在进行预测时应使用和训练集一样的变换方式,即训练集使用
fit_transform
,测试集直接使用transform
。另外对于预测值,如果之前对标签进行了例如box-cox变换,需要对预测的标签进行scipy.special.inv_boxcox
变换
二、Data Splits and Cross Validation
-
训练集、测试集划分函数
sklearn.model_selection.train_test_split
,其他划分方法sklearn.model_selection.ShuffleSplit
-
交叉验证函数
sklearn.model_selection.cross_val_score
,修改其中的cv参数可以有如下几种方式,默认为k折交叉验证:-
分层交叉验证(Stratified k-fold cross validation)
sklearn.model_selection.StratifiedKFold
:首先它属于交叉验证类型,分层的意思是说在每一折中都保持着原始数据中各个类别的比例关系,比如说:原始数据有3类,比例为1:2:1,采用3折分层交叉验证,那么划分的3折中,每一折中的数据类别保持着1:2:1的比例,这样的验证结果更加可信。 -
留一法(LeaveOneOut)
sklearn.model_selection.LeaveOneOut
:是一种特殊的交叉验证方式。顾名思义,如果样本容量为n,则k=n,进行n折交叉验证,每次留下一个样本进行验证。主要针对小样本数据。
-
-
sklearn中的pipeline函数
sklearn.pipeline.Pipeline
:可以将多种对数据进行的操作整合到一起。Pipeline对象接受二元tuple构成的list,每一个二元 tuple 中的第一个元素为 arbitrary identifier string,我们用以获取(access)Pipeline object 中的 individual elements,二元 tuple 中的第二个元素是 scikit-learn与之相适配的transformer 或者 estimator。一般可以包括标准化、PCA、模型等等。 -
cross_val_predict函数
sklearn.model_selection.cross_val_predict
:得到经过K折交叉验证计算得到的每个训练验证的输出预测 -
网格搜索
sklearn.model_selection.GridSearchCV
三、Regression with Regularization Techniques
- 岭回归(Ridge Regression):带有L2正则化的线性回归
- Lasso回归(Lasso Regression):带有L1正则化的线性回归
- 弹性网(Elastic Net):结合L1正则化和L2正则化的线性回归
- Recursive Feature Elimination(RFE):
sklearn.feature_selection.RFE
是一种去除不重要特征的方法,具体操作是给定模型结构和准备舍弃的特征数量,送入RFE方法后就会得到新的模型。
更多推荐
所有评论(0)