2811-林同学-算法方向-数据挖掘-就业:是 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

3)重要参数max_iter&tol:让迭代提前停下来,数据量太大可以使用

max_iter:默认300,单次运行kmeans算法的最大迭代次数

tol:默认1e-4,两个迭代之间inertia下降的量,若小于tol设定的值,迭代就会停下

[展开全文]
3077_Yuki · 2022-07-11 · 自由式学习 0

2)重要参数init&random_state&n_init(初始质心相关)质心选择的好,模型收敛更快,迭代次数更少

init:默认"k-means++",决定初始化方式,通常不改

random_state:控制每次初始质心的位置相同,不设置则会在每个随机数种子下运行多次,选择结果最好的随机数种子

n_init:默认为10,每个随机数种子运行次数,希望更精确则增大

 

重要属性n_iter_:迭代次数

[展开全文]
3077_Yuki · 2022-07-11 · 自由式学习 0

三、聚类算模型的评估指标

思路:由于KMeans目标是簇内差异小,簇外差异大,因此可以通过衡量簇内差异来衡量聚类效果

1、标签y已知(最好用分类)

互信息分、V-measure、调整兰德系数,三者都是越高越好,前两个取值[0,1],最后一个取值[-1,1]

2、标签y未知:

1)轮廓系数

1)评价簇内稠密程度、簇间离散程度。样本与所在簇内其他样本相似度为a,其他簇内样本相似度为b,用平均距离计算。a越小,b越大,越好。

2)轮廓系数是对每一个样本进行计算,公式为s=(b-a)/max(a,b),范围:(-1,1)

轮廓系数处于(0,1):聚类好,越接近1越好

处于(-1,0):聚类不好

3)使用sklearn.metrics中的silhouette_score计算,返回所有轮廓系数的均值,silhouette_samples返回每个样本的轮廓系数

from sklearn.metrics import silhouette_score
silhouette_score(x,y_pred)

2)卡林斯基-哈拉巴斯指数CHI

from sklearn.metrics import calinski_harabasz_score

越高越好,比轮廓系数快,数据量大时使用

3)戴维斯-布尔丁指数

4)权变矩阵

[展开全文]
3077_Yuki · 2022-07-10 · 自由式学习 0

三、聚类算模型的评估指标

思路:由于KMeans目标是簇内差异小,簇外差异大,因此可以通过衡量簇内差异来衡量聚类效果

1、标签y已知(最好用分类)

互信息分、V-measure、调整兰德系数,三者都是越高越好,前两个取值[0,1],最后一个取值[-1,1]

2、标签y未知:轮廓系数

1)评价簇内稠密程度、簇间离散程度。样本与所在簇内其他样本相似度为a,其他簇内样本相似度为b,用平均距离计算。a越小,b越大,越好。

2)轮廓系数是对每一个样本进行计算,公式为s=(b-a)/max(a,b),范围:(-1,1)

轮廓系数处于(0,1):聚类好,越接近1越好

处于(-1,0):聚类不好

3)使用sklearn.metrics中的silhouette_score计算,返回所有轮廓系数的均值,silhouette_samples返回每个样本的轮廓系数

from sklearn.metrics import silhouette_score
silhouette_score(x,y_pred)

[展开全文]
3077_Yuki · 2022-07-10 · 自由式学习 0

三、聚类算模型的评估指标

思路:由于KMeans目标是簇内差异小,簇外差异大,因此可以通过衡量簇内差异来衡量聚类效果

1、标签y已知(最好用分类)

互信息分、V-measure、调整兰德系数,三者都是越高越好,前两个取值[0,1],最后一个取值[-1,1]

2、标签y未知:轮廓系数

1)评价簇内稠密程度、簇间离散程度。样本与所在簇内其他样本相似度为a,其他簇内样本相似度为b,用平均距离计算。a越小,b越大,越好。

2)轮廓系数是对每一个样本进行计算,公式为s=(b-a)/max(a,b),范围:(-1,1)

轮廓系数处于(0,1):聚类好,越接近1越好

处于(-1,0):聚类不好

 

[展开全文]
3077_Yuki · 2022-07-10 · 自由式学习 0

一、概述

1、无监督学习:训练时只需要一个特征矩阵x,不需要标签y,例如PCA

2、聚类(无监督分类)VS 分类

1)在已经知晓的类别上,给未知的样本标上标签(分类);在完全不知道标签的情况下,探索分布上的分类(聚类)

2)分类结果确定,聚类结果不确定

3、sklearn中的聚类算法(类和函数两种表现形式)输入数据可以是标准特征矩阵,也可以是相似性矩阵(行和列都是n_samples),可以使用sklearn.metric.pairwise模块中函数获取相似性矩阵

4、簇中所有数据坐标均值为这个簇的质心坐标,簇k是一个超参数,kmeans追求的是能让簇内平方和inertia最小的质心(最优化问题,逻辑回归也是最优化问题)

5、KMeans算法时间复杂度为O(k*n*T),k为簇数,n为样本数,T为迭代次数,但这种算法很慢,但是最快的聚类算法,

二、sklearn.cluster.KMeans

1、重要参数

1)n_clusters:分几个簇,可以通过画图确定分几个

2、重要属性

1)labels_,查看聚好的类别,每个样本对应的类

2)cluster_centers_。查看质心

3)inertia_,查看总距离平方和。分的簇越多,inertia越低,可以降低至0。k值一定的情况下,inertia越低,聚类效果越好。

3、接口fit_predict(x):fit后使用,将x分到已经聚好的类中

1)cluster=KMeans(n_clusters=3,random_state=0).fit(x)

cluster.labels_

cluster=KMeans(n_clusters=3,random_state=0).fit(x)

cluster.fit_predict(x)

结果相同

2)为什么需要fit_predict(x)?数据量太大时,可以先切出一点数据训练,找质心,其它数据用这个接口预测,减少计算量,结果不一样但可以接近。

cluster_smallsub=KMeans(n_clusters=3,random_state=0).fit(x[:200])
y_pred_=cluster_smallsub.predict(x[200:])

有一些算法天生没有损失函数(衡量拟合效果)

聚类算法不需要调用接口transform(),.fit(x)后求出质心,聚类已经完成,但之后可以用

RFM模型,漏斗分析,AARRR模型

[展开全文]
3077_Yuki · 2022-07-10 · 自由式学习 0

一、概述

1、无监督学习:训练时只需要一个特征矩阵x,不需要标签y,例如PCA

2、聚类(无监督分类)VS 分类

1)在已经知晓的类别上,给未知的样本标上标签(分类);在完全不知道标签的情况下,探索分布上的分类(聚类)

2)分类结果确定,聚类结果不确定

3、sklearn中的聚类算法(类和函数两种表现形式)输入数据可以是标准特征矩阵,也可以是相似性矩阵(行和列都是n_samples),可以使用sklearn.metric.pairwise模块中函数获取相似性矩阵

4、簇中所有数据坐标均值为这个簇的质心坐标,簇k是一个超参数,kmeans追求的是能让簇内平方和inertia最小的质心(最优化问题,逻辑回归也是最优化问题)

5、KMeans算法时间复杂度为O(k*n*T),k为簇数,n为样本数,T为迭代次数,但这种算法很慢,但是最快的聚类算法,

有一些算法天生没有损失函数(衡量拟合效果)

RFM模型,漏斗分析,AARRR模型

[展开全文]
3077_Yuki · 2022-07-10 · 自由式学习 0

一、概述

1、无监督学习:训练时只需要一个特征矩阵x,不需要标签y,例如PCA

2、聚类(无监督分类)VS 分类

1)在已经知晓的类别上,给未知的样本标上标签(分类);在完全不知道标签的情况下,探索分布上的分类(聚类)

2)分类结果确定,聚类结果不确定

3、sklearn中的聚类算法(类和函数两种表现形式)输入数据可以是标准特征矩阵,也可以是相似性矩阵(行和列都是n_samples),可以使用sklearn.metric.pairwise模块中函数获取相似性矩阵

4、簇中所有数据均值为这个簇的质心,簇k是一个超参数

RFM模型,漏斗分析,AARRR模型

[展开全文]
3077_Yuki · 2022-07-10 · 自由式学习 0

一、概述

1、无监督学习:训练时只需要一个特征矩阵x,不需要标签y,例如PCA

2、聚类(无监督分类)VS 分类

1)在已经知晓的类别上,给未知的样本标上标签(分类);在完全不知道标签的情况下,探索分布上的分类(聚类)

2)分类结果确定,聚类结果不确定

3、sklearn中的聚类算法(类和函数两种表现形式)输入数据可以是相似性矩阵(行和列都是n_samples),可以使用sklearn.metric.pairwise模块中函数获取相似性矩阵

 

RFM模型,漏斗分析,AARRR模型

[展开全文]
3077_Yuki · 2022-07-10 · 自由式学习 0

一、概述

1、无监督学习:训练时只需要一个特征矩阵x,不需要标签y,例如PCA

2、聚类(无监督分类)VS 分类

1)在已经知晓的类别上,给未知的样本标上标签(分类);在完全不知道标签的情况下,探索分布上的分类(聚类)

2)分类结果确定,聚类结果不确定

 

 

RFM模型,漏斗分析,AARRR模型

[展开全文]
3077_Yuki · 2022-07-10 · 自由式学习 0

分箱:

1)评分卡核心,本质是离散化连续变量

2)分多少箱子合适?4-5个最佳

3)离散化必然伴随信息损失,IV:用于衡量特征对预测函数的贡献,<0.03特征可以删除,太高的也删除(特征选择)IV可以帮助找出合适的分箱个数。

4)分箱想要达成什么效果?组间差异大,组内差异小,用卡方检验对比箱子相似性,卡方检验p值越大越相似

[展开全文]
3077_Yuki · 2022-07-09 · 自由式学习 0

4、二元回归与多元回归:重要参数solver,multi_class

1)multi_class

"ovr",二分类;"multinormial",多分类,在solver="liblinear"时不可用;"auto" 自动选择,默认

2)solver:选择求解器

"liblinear":求解方式为坐标下降法,默认,二分类专用

"lbfgs","newton-cg"利用海森矩阵求解,只支持l2正则化,不适合

"sag":随机平均梯度下降,只支持l2正则化

"saga":"sag"的进化,支持l1,l2正则化

5、样本不平衡参数class_weight

1)样本不平衡:标签某一类占有很大比例,或误分类代价很高,该参数给少量标签更多权重

2)默认为None,所有标签相同权重;误分类代价很高,选”balanced"

3) 参数很难用,处理样本不平衡一般用采样法。上采样:增加少数类样本;下采样:减少多数类的样本

[展开全文]
3077_Yuki · 2022-07-09 · 自由式学习 0

4、二元回归与多元回归:重要参数solver,multi_class

1)multi_class

"ovr",二分类;"multinormial",多分类,在solver="liblinear"时不可用;"auto" 自动选择,默认

2)solver:选择求解器

"liblinear":求解方式为坐标下降法,默认,二分类专用

"lbfgs","newton-cg"利用海森矩阵求解,只支持l2正则化,不适合

"sag":随机平均梯度下降,只支持l2正则化

"saga":"sag"的进化,支持l1,l2正则化

 

 

[展开全文]
3077_Yuki · 2022-07-09 · 自由式学习 0

3、梯度下降:重要参数max_iter

max_iter(最大迭代次数)人为设置的步数限制,越大,步长越小,模型迭代时间越长

多元函数的梯度:多元函数对各个自变量求偏导,求解梯度(向量)=损失函数 J(θ1,θ2)对其自身自变量θ1,θ2求偏导

 

a为步长,是梯度向量大小dj上的一个比例,dj为梯度向量大小

 

 

[展开全文]
3077_Yuki · 2022-07-08 · 自由式学习 0

3、梯度下降:重要参数max_iter

max_iter为人为设置的步数限制

多元函数的梯度:多元函数对各个自变量求偏导,求解梯度(向量)=损失函数 J(θ1,θ2)对其自身自变量θ1,θ2求偏导

a为步长,dj 

[展开全文]
3077_Yuki · 2022-07-08 · 自由式学习 0

3、梯度下降:重要参数max_iter

max_iter为人为设置的步数限制

[展开全文]
3077_Yuki · 2022-07-08 · 自由式学习 0

系数累加法,简单快速的包装法

[展开全文]
3077_Yuki · 2022-07-08 · 自由式学习 0

逻辑回归

一、概述

1、逻辑回归是用于分类的回归算法,可做二分类,也可做多分类

2、逻辑回归的sigmoid函数(记住公式和图像)

z越大g(z)越靠近1,z越小g(z)越靠近0,将任何数据压缩到(0,1)

3、逻辑回归的优点:对线性关系拟合效果极好;计算速度快;返回不是固定0、1,而是小数形式类概率数字

4、目的是求解使模型拟合效果最好的参数,方式是梯度下降SGD

二、linear_model.LogisticRegression

1、损失函数:求解最优参数的工具,用来衡量参数为θ的模型拟合训练集产生的信息损失的大小。

追求损失函数最小化的参数组合。(不求解参数的模型就没有损失函数,比如KNN,决策树)

对逻辑回归过拟合的控制,通过正则化实现。

2、控制过拟合的两个参数

1)penalty

默认="l2",若选择"l1”,参数solver只能使用"liblinear"和"saga"

l1正则化会把参数压缩到0,本质特征选择,越强、0越多、参数越稀疏,防止过拟合。数据维度高:l1正则化。

l2正则化只会让参数尽量小,不会取到0。

2)C:正则化强度导数默认1.0(正则项:损失函数=1:1),越小,对模型惩罚越大,正则化强度越大。

3、重要属性

1)coef_:每个特征对应参数,值越大,对逻辑回归的贡献越大

三、逻辑回归中的特征工程

一般不用PCA,SVD,因为会抹去特征的可解释性;统计方法可以使用,但不必要;嵌入法较高效(尽量保留数据信息&降维)

x_embedded=SelectFromModel(LR_,norm_order=1).fit_transform(x,y)

#参数1:模型
#参数2:threshold是筛选特征的阈值,可以取到的最大值是系数的最大值
abs(LR_.fit(x,y).coef_).max()
#参数3:norm_order=1,使用l1范式,模型删除所有在l1范式下判断无效的特征

 

 

逻辑回归模型评估指标

metric.confusion_matrix

metric.roc_auc_score

metric.accuracy_score

1、向量一般写成列向量

2、模型属性都是在fit之后查看

3、np.linspace(start,end,num)包括end

4、predict返回的是一个预测的值,predict_proba返回的是对于预测为各个类别的概率

[展开全文]
3077_Yuki · 2022-07-08 · 自由式学习 0

逻辑回归

一、概述

1、逻辑回归是用于分类的回归算法,可做二分类,也可做多分类

2、逻辑回归的sigmoid函数(记住公式和图像)

z越大g(z)越靠近1,z越小g(z)越靠近0,将任何数据压缩到(0,1)

3、逻辑回归的优点:对线性关系拟合效果极好;计算速度快;返回不是固定0、1,而是小数形式类概率数字

4、目的是求解使模型拟合效果最好的参数,方式是梯度下降SGD

二、linear_model.LogisticRegression

1、损失函数:求解最优参数的工具,用来衡量参数为θ的模型拟合训练集产生的信息损失的大小。

追求损失函数最小化的参数组合。(不求解参数的模型就没有损失函数,比如KNN,决策树)

对逻辑回归过拟合的控制,通过正则化实现。

2、控制过拟合的两个参数

1)penalty

默认="l2",若选择"l1”,参数solver只能使用"liblinear"和"saga"

l1正则化会把参数压缩到0,本质特征选择,越强、0越多、参数越稀疏,防止过拟合。数据维度高:l1正则化。

l2正则化只会让参数尽量小,不会取到0。

2)C:正则化强度导数默认1.0(正则项:损失函数=1:1),越小,对模型惩罚越大,正则化强度越大。

3、重要属性

1)coef_:每个特征对应参数

三、逻辑回归中的特征工程

一般不用PCA,SVD,因为会抹去特征的可解释性,统计方法可以使用,但不必要

逻辑回归模型评估指标

metric.confusion_matrix

metric.roc_auc_score

metric.accuracy_score

1、向量一般写成列向量

2、模型属性都是在fit之后查看

3、np.linspace(start,end,num)包括end

4、predict返回的是一个预测的值,predict_proba返回的是对于预测为各个类别的概率

5、

[展开全文]
3077_Yuki · 2022-07-08 · 自由式学习 0

逻辑回归

一、概述

1、逻辑回归是用于分类的回归算法,可做二分类,也可做多分类

2、逻辑回归的sigmoid函数(记住公式和图像)

z越大g(z)越靠近1,z越小g(z)越靠近0,将任何数据压缩到(0,1)

3、逻辑回归的优点:对线性关系拟合效果极好;计算速度快;返回不是固定0、1,而是小数形式类概率数字

4、目的是求解使模型拟合效果最好的参数,方式是梯度下降SGD

二、linear_model.LogisticRegression

1、损失函数:求解最优参数的工具,用来衡量参数为θ的模型拟合训练集产生的信息损失的大小。

追求损失函数最小化的参数组合。(不求解参数的模型就没有损失函数,比如KNN,决策树)

对逻辑回归过拟合的控制,通过正则化实现。

2、控制过拟合的两个参数

1)penalty

默认="l2",若选择"l1”,参数solver只能使用"liblinear"和"saga"

l1正则化会把参数压缩到0,本质特征选择,越强、0越多、参数越稀疏,防止过拟合。数据维度高:l1正则化。

l2正则化只会让参数尽量小,不会取到0。

2)C:正则化强度导数默认1.0(正则项:损失函数=1:1),越小,对模型惩罚越大,正则化强度越大。

3、重要属性

1)coef_:每个特征对应参数

 

逻辑回归模型评估指标

metric.confusion_matrix

metric.roc_auc_score

metric.accuracy_score

1、向量一般写成列向量

2、模型属性都是在fit之后查看

3、np.linspace(start,end,num)包括end

4、predict返回的是一个预测的值,predict_proba返回的是对于预测为各个类别的概率

5、

[展开全文]
3077_Yuki · 2022-07-08 · 自由式学习 0