1.参考:https://blog.csdn.net/weixin_40490077/article/details/79523526
子图subplot()
ax1 = plt.subplot(1,2,1)#1代表行,2代表列,所以一共有2个图,1代表此时绘制第二个图。其中ax1是为了坐标轴主次刻度大小的设置
2.boxplot(箱线图):一种用作显示一组数据分散情况的统计图。它能显示出一组数据的最大值、最小值、中位数及上下四分位数。因形状如箱子而得名。这意味着箱线图中的每个值对应于数据中的实际观察值。
sns.boxplot(df[colnm[i]], orient="v", width=0.5) # 箱式图//orient,图像方向,水平(h)或者垂直(v),width的图宽。
3.参考:https://blog.csdn.net/qq_39949963/article/details/79362501
displot():集合了matplotlib的hist()与核函数估计kdeplot的功能,增加了rugplot分布观测条显示与利用scipy库fit拟合参数分布的新颖用途。
sns.distplot(x,hist=False,fit=norm) #fit = norm拟合标准正态分布,hist=True为直方图。
4.参考:https://blog.csdn.net/xiaotao_1/article/details/80954063
显示图中的标签
plt.legend(['Normal dist. ($\mu=$ {:.2f} and $\sigma=$ {:.2f} )'.format(mu, sigma)], loc='best')
(1)loc 位置
(2)设置图例字体大小,fontsize参数 : int or float or {‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’},只有这7种调节值。
5.拟合直线
根据指定的理论分布(默认为正态分布)的分位数生成样本数据的概率图。probplot可选地计算数据的最佳拟合线,并使用Matplotlib或给定的plot函数绘制结果。
res = stats.probplot(df['target'], plot=plt)
7.参考:https://blog.csdn.net/u012162613/article/details/42192293
英文原文:https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html
PCA使用
sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False)
n_components:意义:PCA算法中所要保留的主成分个数n,也即保留下来的特征个数n
类型:int ,float或者 string,缺省时默认为None,所有成分被保留。
赋值为int,比如n_components=1,将把原始数据降到一个维度。
赋值为string,比如n_components='mle',将自动选取特征个数n,使得满足所要求的方差百分比。
float时,比如n_components=0.95,选择特征的数量,使得方差之和应大于n_components=0.95。
方法:
(1)fit(X),表示用数据X来训练PCA模型。
函数返回值:调用fit方法的对象本身。比如pca.fit(X),表示用X对pca这个对象进行训练。
(2)用X来训练PCA模型,同时返回降维后的数据。
newX=pca.fit_transform(X),newX就是降维后的数据。
(3)将数据X转换成降维后的数据。当模型训练好后,对于新输入的数据,都可以用transform方法来降维。
(4)将降维后的数据转换成原始数据,X=pca.inverse_transform(newX)
属性:
components_ :返回具有最大方差的成分。
explained_variance_ratio_:返回 所保留的n个成分各自的方差百分比。
n_components_:返回所保留的成分个数n。
mean_:
noise_variance_:
8.参考:https://blog.csdn.net/SA14023053/article/details/51817650
梯度提升回归(Gradient boosting regression,GBR)是一种从它的错误中进行学习的技术。它本质上就是集思广益,集成一堆较差的学习算法进行学习。有两点需要注意:
(1)每个学习算法准备率都不高,但是它们集成起来可以获得很好的准确率。
(2) 这些学习算法依次应用,也就是说每个学习算法都是在前一个学习算法的错误中学习
from sklearn.ensemble import GradientBoostingRegressor as GBR
gbr = GBR() gbr.fit(X, y)
gbr_preds = gbr.predict(X)
(1)n_estimators,指GBR使用的学习算法的数量。通常,如果你的设备性能更好,可以把n_estimators设置的更大,效果也会更好。还有另外几个参数要说明一下。
(2)在优化其他参数之前先调整max_depth参数。因为每个学习算法都是一颗决策树,max_depth决定了树生成的节点数。选择合适的节点数量可以更好的拟合数据,而更多的节点数可能造成拟合过度。
(3)loss参数决定损失函数,也直接影响误差。ls是默认值,表示最小二乘法(least squares)。还有最小绝对值差值,Huber损失和分位数损失(quantiles)等等
9.线性回归:输入项分别乘以常量,再将结果相加。非线性回归:输出可能是输入的乘积。
参考:https://blog.csdn.net/qq_36330643/article/details/77649896
10:数据标准化处理
(1)归一化数据:不同特征之间数值差距太大,如果这几个特征同等重要,则需要将数值归一化:
如将取值范围处理为0到1或者-1到1之间,newvalue = (oldvalue-min)/(max-min)
min和max分别是数据集中的最小特征值和最大特征值。
from sklearn.preprocessing import MinMaxScaler
mm
=
MinMaxScaler()
mm_data
=
mm.fit_transform(data)
origin_data
=
mm.inverse_transform(mm_data)
(2)标准化:所有特征值都减去各自的均值并除以方差。
from
sklearn.preprocessing
import
StandardScaler
ss
=
StandardScaler()
std_data
=
ss.fit_transform(data)
origin_data
=
ss.inverse_transform(std_data)