一文速学数模-K-means聚类算法实战:信用卡用户画像聚类分析

历年最新最全数学建模竞赛详解
专栏收录该内容
¥29.90
¥99.00
92 篇文章

目录

前言

一、用户画像概述

1.用户画像

2.为何用聚类算法作用户画像

二、数据质量校验

1.数据背景

2.数据说明

三、数据预处理

1.数据空缺值检验

 2.数据归一化

四、K-means聚类

step1:选取K值

手肘法

step2:计算初始化K点

step3:迭代计算重新划分

五.画像分析


新增百度飞桨BLM直接可以运行代码项目,直接看到结果:K-means聚类算法实战:信用卡用户画像聚类分析 - 飞桨AI Studio星河社区

前言

该项目算是非常经典的金融业务用户画像的基础分析了,主要根据用户信用卡使用行为数据进行分析,根据收集到的不同字段信息,对每个用户划分类别。这里需要说明一下的是,聚类模型只是将具有相似行为的大部分用户聚集到一个类别里面,这点并不会考虑到每个字段的含义,也就是分成的类别并不是用户价值等级,此类别仅仅是这个类别大体相同的信用卡用户行为对象,并不能给每个用户价值打上标签,那是评价模型做的事,这里要注意不要搞混淆了,用户价值评价是评价模型决定的,而画像是聚类模型分析的。

博主专注建模四年,参与过大大小小数十来次数学建模,理解各类模型原理以及每种模型的建模流程和各类题目分析方法。此专栏的目的就是为了让零基础快速使用各类数学模型以及代码,每一篇文章都包含实战项目以及可运行代码。博主紧跟各类数模比赛,每场数模竞赛博主都会将最新的思路和代码写进此专栏以及详细思路和完全代码。希望有需求的小伙伴不要错过笔者精心打造的专栏。

以下是整篇文章内容。


一、用户画像概述

数据分析主要是根据用户行为以及不同的业务情况去分析,而用户画像的需求是我们首先需要了解的建模场景。什么是用户画像?为什么要建立用户画像,怎么去建立?这需要我们先了解这一点,才好方便建模。

1.用户画像

用户画像是指根据用户的属性、用户偏好、生活习惯、用户行为等信息而抽象出来的标签化用户模型。通俗说就是给用户打标签,而标签是通过对用户信息分析而来的高度精炼的特征标识。通过打标签可以利用一些高度概括、容易理解的特征来描述用户,可以让人更容易理解用户,并且可以方便计算机处理。简单来说就是:利用已经获得的数据,勾勒出用户需求、用户偏好的一种运营工具和数据分析方法。

 根据用户画像的作用可以看出,用户画像的使用场景较多,用户画像可以用来挖掘用户兴趣、偏好、人口统计学特征,主要目的是提升营销精准度、推荐匹配度,终极目的是提升产品服务,起到提升企业利润。用户画像适合于各个产品周期:从新用户的引流到潜在用户的挖掘、从老用户的培养到流失用户的回流等。

2.为何用聚类算法作用户画像

聚类算法是一种常用的无监督学习算法,可以将具有相似特征的数据点归为一类。在用户画像中,聚类算法可以将相似的用户归为一组,从而为营销策略、产品设计和推荐系统等提供有价值的信息。

以下是使用聚类算法作用户画像的一些好处:

  1. 识别用户群体:聚类算法可以将用户数据聚类成不同的群体,这有助于识别不同的用户群体,为营销策略提供有价值的信息。

  2. 了解用户偏好:聚类算法可以将具有相似特征的用户聚类在一起,从而了解用户的偏好和需求。这可以帮助企业根据用户的喜好和需求开发相应的产品或服务,提高用户满意度。

  3. 个性化推荐:聚类算法可以将用户划分为不同的群体,为个性化推荐提供有价值的信息。基于用户画像,企业可以向用户提供更加符合其喜好和需求的产品或服务,从而提高用户满意度和忠诚度。

  4. 精细化运营:基于用户画像,企业可以根据用户的需求和行为开展精细化运营,提高用户留存率和复购率。

二、数据质量校验

在了解了上述用户画像的作用之后,我们需要对我们拿到的数据进行分析,这里我采用的是kaggle信用卡用户行为数据。

1.数据背景

信用卡营销就是指通过激发和挖掘人们对信用卡商品的需求,设计和开发出满足持卡人需求的信用卡商品,并且通过各种有效的沟通手段使持卡人接受并使用这种商品,从中获得自身最大的满足,以实现经营者的目标。 对于不同的客户群体,需要采用不同的营销手段,因此需要对客户进行分组聚类。

2.数据说明

该文件位于具有18个行为变量的客户级别。

  1. CUST_ID:信用卡持有人的身份证明(分类)

  2. BALANCE:他们帐户中剩余的余额可用于购买

  3. BALANCE_FREQUENCY:更新余额的频率,得分在0到1之间(1 =频繁更新,0 =不频繁更新)

  4. PURCHASES:通过帐户购买的金额

  5. ONEOFF_PURCHASES:一次性购买的最大金额

  6. INSTALLMENTS_PURCHASES:分期购买的金额

  7. CASH_ADVANCE:用户预先提供的现金

  8. PURCHASES_FREQUENCY:进行购买的频率,得分在0到1之间(1 =频繁购买,0 =不频繁购买)

  9. ONEOFFPURCHASESFREQUENCY:一次购买的频率(1 =频繁购买,0 =不频繁购买)

  10. PURCHASESINSTALLMENTSFREQUENCY:分期购买的频率(1 =频繁执行,0 =不频繁执行)

  11. CASHADVANCEFREQUENCY:多长时间支付一次预付款

  12. CASHADVANCETRX:使用“高级现金”进行的交易数量

  13. PURCHASES_TRX:进行的购买交易数

  14. CREDIT_LIMIT:用户的信用卡限额

  15. PAYMENTS:用户完成的付款金额

  16. MINIMUM_PAYMENTS:用户的最低付款金额

  17. PRCFULLPAYMENT:用户支付的全额付款的百分比

  18. TENURE:用户的信用卡服务的使用权

 为了更加直观的去作用户画像,这里我仅选择偏业务的正向数据进行建模,当然聚类并不是挖掘客户的消费潜力价值,我这里选择正向特征仅是为了更直观的进行画像描述,除去偏业务方向的知识,仅对画像建立过程优化。

根据特征字段,我们需要选定建模需要的字段信息,若为正向指标则越大越好:

1.BALANCE:帐户中剩余的余额可用于购买,那么该数值越大,用户购买能力越大,正向指标 1

2.BALANCE_FREQUENCY:更新余额的频率 正向指标 1

3.PURCHASES:通过帐户购买的金额 正向指标 1

4.ONEOFF_PURCHASES:一次性购买的最大金额 正向指标 1

5.INSTALLMENTS_PURCHASES:分期购买的金额 正向指标 1

6.CASH_ADVANCE:用户预先提供的现金 正向指标 1

7.PURCHASES_FREQUENCY:进行购买的频率,得分在0到1之间(1 =频繁购买,0 =不频繁购买)正向指标 1

8.ONEOFFPURCHASESFREQUENCY 一次购买的频率(1 =频繁购买,0 =不频繁购买)正向指标 1

9.PURCHASESINSTALLMENTSFREQUENCY:分期购买的频率(1 =频繁执行,0 =不频繁执行)中向指标 与上一个指标互斥

10.CASHADVANCEFREQUENCY:多长时间支付一次预付款 负向指标0

11.CASHADVANCETRX:使用“高级现金”进行的交易数量 正向指标 1

12.PURCHASES_TRX:进行的购买交易数 正向指标 1

13.CREDIT_LIMIT:用户的信用卡限额 正向指标 1

14.PAYMENTS:用户完成的付款金额 正向指标 1

15.MINIMUM_PAYMENTS:用户的最低付款金额 中性指标

16.PRCFULLPAYMENT:用户支付的全额付款的百分比 正向指标1

数据差异很大,我们尽可能拿出所有可用到的正向指标聚类,那么高纬度的用户群体就是重要价值用户。

三、数据预处理

1.数据空缺值检验

df_data.isnull().sum()

CUST_ID                               0
BALANCE                               0
BALANCE_FREQUENCY                     0
PURCHASES                             0
ONEOFF_PURCHASES                      0
INSTALLMENTS_PURCHASES                0
CASH_ADVANCE                          0
PURCHASES_FREQUENCY                   0
ONEOFF_PURCHASES_FREQUENCY            0
PURCHASES_INSTALLMENTS_FREQUENCY      0
CASH_ADVANCE_FREQUENCY                0
CASH_ADVANCE_TRX                      0
PURCHASES_TRX                         0
CREDIT_LIMIT                          1
PAYMENTS                              0
MINIMUM_PAYMENTS                    313
PRC_FULL_PAYMENT                      0
TENURE                                0
dtype: int64

 空缺处理方法有很多种,大家可以去看我的另一篇文章:

一文速学(四)-数据分析Pandas处理缺失值操作各类方法详解

这些数据基本全为定量数据,可以直接使用机器学习算法对空缺值进行填充,这里使用随机森林填补:

# 随机森林填补缺失值
from sklearn.ensemble import RandomForestRegressor   
RF = RandomForestRegressor()
paymentsNotNull = df_data.MINIMUM_PAYMENTS.notnull()
columns = ['BALANCE','BALANCE_FREQUENCY','PURCHASES','ONEOFF_PURCHASES','INSTALLMENTS_PURCHASES','CASH_ADVANCE','PURCHASES_FREQUENCY','ONEOFF_PURCHASES_FREQUENCY','PURCHASES_INSTALLMENTS_FREQUENCY','CASH_ADVANCE_FREQUENCY','CASH_ADVANCE_TRX','PURCHASES_TRX','PAYMENTS']
RF.fit(df_data.loc[paymentsNotNull,columns],df_data.MINIMUM_PAYMENTS[paymentsNotNull])
print(RF.score(df_data.loc[paymentsNotNull,columns],df_data.MINIMUM_PAYMENTS[paymentsNotNull]))

分数还是不错的 ,可以达到90.8%:

# 填充
for data in [df_data]:
    pred = RF.predict(data.loc[:,columns])
    IsNull = data.MINIMUM_PAYMENTS.isnull()
    data.MINIMUM_PAYMENTS[IsNull]=pred[IsNull]

 这样就填充完毕了:

 2.数据归一化

这些数值类型数据最好进行归一化,关于归一化的所有处理步骤都有在我的另一篇博客整理:

一文速学-数据预处理归一化详细解释

我这里采用的z-score作为归一化函数:

from sklearn.preprocessing import StandardScaler  # 标准化工具
scaler = StandardScaler()
for n in range(1,14):
    x_train = scaler.fit_transform(df_true_data.iloc[:,n:n+1].values)
    df_true_data.iloc[:,n:n+1]=x_train

 得到归一化数据集,那么开始聚类建模。

四、K-means聚类

K-means的基础原理在我专栏里面有详解,需要温故一下的可以看这篇文章:

一文速学数模-聚类模型(一)K-means聚类算法详解+Python代码实例

 具体建模框架以及流程:

step1:选取K值

k 的选择一般是按照实际需求进行决定,或在实现算法时直接给定 k 值。这是基于项目你想要聚类的个数来决定的,但是也有不确定的情况,我们可能需要去一个最优的K值来将数据很好的归类达到最大化区分类别,这时候就需要思考从数据角度出发,应该进行怎么样的计算能够得到最优的K。

手肘法

手肘法是最常用的确定K-means算法K值的方法,所用到的衡量标准是SSE(sum of the squared errors,误差平方和) 。

 SEE各个计算在K-means里含义如下图:

误差平方和又称残差平方和,根据n个观察值拟合适当的模型后,余下未能拟合部份(e_{i}=y_{i}- \bar y)称为残差,其中y平均表示n个观察值的平均值,所有n个残差平方之和称误差平方和。

在回归分析中通常用SSE表示,其大小用来表明函数拟合的好坏。将残差平方和除以自由度n-p-1(其中p为自变量个数)可以作为误差方差σ2的无偏估计,通常用来检验拟合的模型是否显著也用来寻找K值。

import matplotlib.pyplot as plt
import pandas as pd
from sklearn.metrics import silhouette_score
from sklearn.cluster import KMeans
data=df_true_data.iloc[:,1:]
distortions=[]#簇内误差平方和  SSE
for i in range(2,15):
    Kmeans_model=KMeans(n_clusters=i)
    predict_=Kmeans_model.fit_predict(data)
    distortions.append(Kmeans_model.inertia_)
    print("簇内误差平方和:",distortions)
#SSE  手肘法
plt.plot(range(2,15),distortions,marker='x')
plt.xlabel('Number of clusters')
plt.ylabel('Distortion')
plt.title('distortions')
plt.show()

 簇内误差平方和: [95795.9293255097, 84414.58708674107, 74423.36972115413, 67317.01104077617, 60994.96414080261, 55045.26807434524, 50777.37404069404, 47753.98868450008, 44842.179122758884, 42867.62108059854, 41247.78745541904, 39800.985182972385, 38372.77525889944]

 根据拟合图片我们知道选K为8时能够得到最效率的K值。

step2:计算初始化K点

初始质心随机选择即可,每一个质心为一个类。对剩余的每个样本点,计算它们到各个质心的欧式距离,并将其归入到相互间距离最小的质心所在的簇。


def euclDistance(x1, x2):
    return np.sqrt(sum((x2 - x1) ** 2))
def initCentroids(data, k):
    numSamples, dim = data.shape
    # k个质心,列数跟样本的列数一样
    centroids = np.zeros((k, dim))
    # 随机选出k个质心
    for i in range(k):
        # 随机选取一个样本的索引
        index = int(np.random.uniform(0, numSamples))
        # 作为初始化的质心
        centroids[i, :] = data[index, :]
    return centroids

step3:迭代计算重新划分

  • 计算各个新簇的质心。

  • 在所有样本点都划分完毕后,根据划分情况重新计算各个簇的质心所在位置,然后迭代计算各个样本点到各簇质心的距离,对所有样本点重新进行划分

  • 重复2. 和 3.,直到质心不在发生变化时或者到达最大迭代次数时

# 传入数据集和k值
def kmeans(data, k):
    # 计算样本个数
    numSamples = data.shape[0]
    # 样本的属性,第一列保存该样本属于哪个簇,第二列保存该样本跟它所属簇的误差
    clusterData = np.array(np.zeros((numSamples, 2)))
    # 决定质心是否要改变的质量
    clusterChanged = True
    # 初始化质心
    centroids = initCentroids(data, k)
    while clusterChanged:
        clusterChanged = False
        # 循环每一个样本
        for i in range(numSamples):
            # 最小距离
            minDist = 100000.0
            # 定义样本所属的簇
            minIndex = 0
            # 循环计算每一个质心与该样本的距离
            for j in range(k):
                # 循环每一个质心和样本,计算距离
                distance = euclDistance(centroids[j, :], data[i, :])
                # 如果计算的距离小于最小距离,则更新最小距离
                if distance < minDist:
                    minDist = distance
                    # 更新最小距离
                    clusterData[i, 1] = minDist
                    # 更新样本所属的簇
                    minIndex = j
            # 如果样本的所属的簇发生了变化
            if clusterData[i, 0] != minIndex:
                # 质心要重新计算
                clusterChanged = True
                # 更新样本的簇
                clusterData[i, 0] = minIndex
        # 更新质心
        for j in range(k):
            # 获取第j个簇所有的样本所在的索引
            cluster_index = np.nonzero(clusterData[:, 0] == j)
            # 第j个簇所有的样本点
            pointsInCluster = data[cluster_index]
            # 计算质心
            centroids[j, :] = np.mean(pointsInCluster, axis=0)
    return centroids, clusterData

 最后得到聚类结果。

五.画像分析

可以通过数据可视化横向和纵向对每个类别进行分析,由于我们之前做过特征方向标注,故进行类别分析的时候更好对每个类别用户画像区分:

比如分析聚类0:

BALANCE                     mean    545.247537
BALANCE_FREQUENCY           mean      0.827954
PURCHASES                   mean    462.690070
ONEOFF_PURCHASES            mean    212.797808
INSTALLMENTS_PURCHASES      mean    250.254275
CASH_ADVANCE                mean    207.813824
PURCHASES_FREQUENCY         mean      0.487740
ONEOFF_PURCHASES_FREQUENCY  mean      0.141411
CASH_ADVANCE_TRX            mean      1.243806
PURCHASES_TRX               mean      9.470777
PAYMENTS                    mean    677.884833
PRC_FULL_PAYMENT            mean      0.176594
TENURE                      mean     11.435975

 从均值进行分析,结合特征即可。


VIP 【数据分析】信用卡用户画像及违约预测逻辑回归模型 基于个人信贷业务的信用卡用户分析和违约预测的逻辑回归模型的练习项目。 开通可读全文·3.7k 阅读·3 点赞·38 收藏 阅读全文

相关推荐

K-means聚类实战:从信用卡用户画像到业务洞察

聚类分析是数据挖掘和机器学习中的基础技术,其核心思想是将相似的数据对象归为一组,不相似的对象分开,从而实现数据的自动分组。K-means作为最经典的聚类算法,因其原理直观、计算高效,成为处理大规模数据集的常用工具。在业务实践中,K-means通过最小化簇内平方和来优化分组,其技术价值在于能够从无标签数据中发现潜在结构,为精细化运营提供数据支撑。在金融风控、用户分群、市场细分等场景中,K-means常被用于处理如信用卡用户数据这类高维、海量的数据集。本文聚焦于K-means在信用卡用户画像构建中的完整流程,深

weixin_29483277的博客 268

机器学习:基于Kmeans聚类算法对银行客户进行分类

K-means算法是一种常用的聚类算法,用于将数据集划分成k个不重叠的簇。其主要思想是通过迭代的方式将样本点划分到不同的簇中,使得同一簇内的样本点相似度较高,不同簇之间的相似度较低。

阿极的博客 1万+

第9章-用户分群方法-K-means聚类算法

给定个样本构成的样本集,每个样本有个特征。算法步骤如下:1、随机选取(超参数)个质心,其中,每个质心对应一个类别,分别记作;2、对于每个样本,计算该样本到每个质心的距离将分配到距离最近的质心对应的类别中,如下:;如果样本类别不再变化,停止。3、重新计算每个类别的质心得到个类别的质心。4、更新,继续步骤2。如图:图(a)中是所有的样本点的分布,从分布来看,初步将样本分为两类,所以设置;图(b)中红色和蓝色叉是随机选择的两个质心,类别分为标记为。

L 1181

用户画像构建与KMeans聚类分类实战项目

用户画像(User Profile)是通过收集和分析用户的社会人口统计学信息、行为数据、偏好以及交互记录等多维度信息,构建的一种数字身份。用户画像能够帮助企业更好地了解目标客户,从而实现精准营销和服务个性化。聚类分析是数据挖掘中一种无监督学习的常用方法,旨在将相似的对象划分为同一组或“簇”。这一过程基于数据点的相似性度量,通常是距离度量,将数据分组到彼此之间相似度较高,而与其他组相似度较低的组中。

weixin_42452924的博客 912

银行客户聚类分析实战:从K-Means到业务落地的全流程解析

客户聚类分析是机器学习在金融领域的重要应用,其核心原理是通过算法自动将具有相似特征的客户归为不同群体,实现从“千人一面”到“千人千面”的精准运营。在技术实现上,K-Means、DBSCAN和层次聚类等算法各有适用场景,其中K-Means因简单高效成为常用选择,但需通过肘部法则或轮廓系数确定最佳K值。该技术的核心价值在于赋能业务决策,如在银行营销中,可基于聚类结果识别高净值稳健型、青年成长型等客户群体,从而制定差异化营销策略,提升转化率。在实际应用中,数据预处理如特征缩放和衍生特征工程至关重要,同时需结合业务

weixin_27064205的博客 334

银行客户聚类分析实战:从K-Means到业务洞察的完整指南

聚类分析作为无监督学习的核心技术,其核心原理是通过距离度量自动发现数据中内在的群组结构,而无需预先定义的标签。这项技术在数据挖掘和客户细分领域具有重要价值,能够从海量、多维的数据中识别出具有相似特征的群体,为精细化运营提供数据驱动的决策依据。其典型的应用场景包括金融领域的客户分群、市场营销中的用户画像构建以及风险管控中的异常检测等。本文聚焦于银行客户聚类分析这一具体实践,深入探讨了如何利用K-Means、DBSCAN等算法,结合特征工程和业务解读,将客户交易流水、资产状况等原始数据转化为可执行的业务策略,从

weixin_29046611的博客 319

银行客户聚类分析实战:从K-Means算法到业务分群落地

聚类分析作为机器学习中的经典无监督学习技术,其核心原理是通过计算样本间的距离或相似度,将数据自动划分为不同的群组,使得同一群组内的数据尽可能相似,不同群组间的数据差异尽可能大。这项技术的价值在于能从海量、无标签的数据中发现隐藏的结构和模式,为业务决策提供数据驱动的洞察。在金融、零售、营销等多个领域,聚类分析被广泛应用于客户细分、异常检测、产品推荐等场景。本文聚焦于银行客户价值挖掘,详细阐述了如何运用K-Means++算法,结合特征工程与业务理解,对客户进行多维度的分群,并最终将分析结果转化为可执行的业务策略

weixin_32597009的博客 257

企业级信用卡用户画像分析与实战案例

在当今数据驱动的金融环境中,用户画像(User Profile)已成为信用卡业务精细化运营的核心工具。用户画像本质上是通过对多维度数据的整合与分析,构建出一个能够反映用户行为特征、信用状况与消费偏好的数字镜像。其价值不仅体现在对用户当前状态的刻画,更在于对未来行为的预测与干预能力。在信用卡业务中,用户画像被广泛应用于精准营销、风险控制、产品优化与客户关系管理等多个关键环节。例如,通过用户消费行为画像,银行可以实现个性化产品推荐;通过信用画像,可以动态调整授信额度,降低违约风险。

weixin_32287387的博客 559

单细胞monocle3分析流程再整理

定义root cell, 推断拟时方向# 结合先验知识自定(示例数据)# 可视化示例数据,起点是随便点的。

zfyyzhys的博客 2100

STK轨道仿真环境搭建实战:从地月系到多天体场景

本文详细介绍了STK轨道仿真环境搭建的实战指南,从基础的地月系统到复杂的多天体场景。通过逐步操作说明和实用技巧,帮助用户快速掌握STK软件的使用方法,提升轨道仿真效率,适用于航天任务设计和教学演示。

weixin_30312563的博客 396

让数学变得更生动manim库的使用(1)-基本概念

0、概述 数学理论与数学公式的展示总是一件很枯燥的事情,但3b1b的manim动画库在github上开源之后,让这一切变得非常简单。目前这个库已经分成两个版本一个由3b1b自身维护。但作者并没有承诺长期维护该库,所以由专门团队再次基础上研发了相应的社区版,并对该版本进行长期维护。本文的所有案例都基于社区版的官方案例。本文主要介绍该库的基本概念相关的案例,文章主要以代码为主,关键代码都有相关注释。 另外本文的运行环境维jupyter这与其他的ide环境运行代码稍微有些不同 1、类库引入已经相关测试 引

amao1998的博客 9965

Java实战:用Proj4j搞定WGS84与CGCS2000坐标互转(附完整代码)

本文详细介绍了如何使用Java库Proj4j实现WGS84与CGCS2000坐标系之间的高精度转换。通过七参数转换模型和格网改正量文件,提供完整的代码实现和项目配置指南,帮助开发者快速集成到地理信息系统项目中,提升坐标转换效率和精度。

weixin_29251567的博客 826

深入解析SSD报错“READ FPDMA QUEUED”:从诊断到修复全流程

本文深入解析了SSD报错“READ FPDMA QUEUED”的含义、成因与全流程解决方案。该错误通常指示硬盘硬件或健康状态问题。文章详细介绍了如何通过系统日志定位错误、解读关键的S.M.A.R.T.健康报告(重点关注重分配扇区计数等指标),并逐步进行硬件排查(如更换SATA数据线)、软件修复与数据抢救,最终指导用户根据诊断结果做出维修或更换SSD的决策。

weixin_29233333的博客 395

YOLOv8剪枝 稀疏训练+slim剪枝测试精度仅掉1.6个点,速度提高10.3fps!

摘要 本文介绍了YOLOv8剪枝方法Slim(Network Slimming),通过L1正则化作用于BN层的缩放因子(γ),自动识别并剪除冗余通道,实现模型轻量化。核心步骤包括:稀疏训练(引入L1正则化)、通道剪枝(按γ阈值裁剪)、微调恢复精度。实验表明,该方法能有效压缩模型大小、减少计算量,且支持通过调整speed_up等超参数控制剪枝强度。移植代码需修改C2F模块以适配剪枝,并配置稀疏训练参数(如reg、sl_epochs)。最终剪枝模型需移除优化器以减小体积,但不支持多卡训练。

FJN110的博客 859

18、地下矿山中人工智能在区分真实微震事件与噪声信号的应用

本文提出一种基于遗传编程(GP)的新型经验模型,用于地下矿山中真实微震事件与噪声信号(特别是爆破信号)的自动区分。针对传统方法和常见机器学习算法存在的黑箱问题、过拟合及准确性不足等局限,GP模型通过符号回归和进化机制生成可解释的数学表达式,具备自动特征选择能力,有效提升了分类准确率。研究使用包含100个样本的真实数据库,结合敏感性分析优化模型参数,并与线性判别分析(LDA)进行对比,结果表明GP模型在分类性能上更具优势。该模型可应用于实时微震监测系统,提高矿山安全生产水平,降低误判带来的成本开销,具有良好的

assembly8low的博客 94

ROS机器人未知环境自主探索功能包explore_lite最全源码详细解析(五)

本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_client.cpp等源码实现文件中全部函数的详细介绍,第六篇文章进行概括总结,包含自主探索功能包explore_lite的简介,实现未知环境自主探索功能的原理及流程总结,效果演示,使用功能包exp

慕羽★的博客 1510

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: 一文速学-XGBoost模型算法原理以及实现+贷款违约预测模型Python项目实战
下一篇: 如何高效优雅的完成一次机器学习服务部署?一文详解部署难点以及实战案例
fanstuck
fanstuck 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄8年 13万+粉丝 421原创
评论 46
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fanstuck

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值