当前位置: 首页 > news >正文

建网站书籍网络推广学校

建网站书籍,网络推广学校,云主机怎么建网站,怎么申请网站域名赚钱支持向量机(Support Vector Machine,SVM)是一种强大的监督学习算法,广泛应用于分类和回归任务。 基本原理 SVM的主要目标是周到一个最优的超平面,该超平面能够将不同类别的数据点尽可能分开,并且使离该超平面最近的数…

支持向量机(Support Vector Machine,SVM)是一种强大的监督学习算法,广泛应用于分类和回归任务。

基本原理

SVM的主要目标是周到一个最优的超平面,该超平面能够将不同类别的数据点尽可能分开,并且使离该超平面最近的数据点(称为支持向量)到超平面的距离最大化。这个距离称为间隔(Margin)。

  • 对于线性可分的数据,SVM试图周到一个线性超平面,通过求解一个凸二次规划问题实现。
  • 对于线性不可分的数据,SVM将原始特征空间映射到一个更高维的特征空间,使得在高维空间中数据变得线性可分。

信用风险评估应用场景

金融机构在评估客户的信用风险时,会考虑众多因素,比如客户的收入水平、资产状况、信用历史、债务情况等。这些因素构成了高位的输入数据。SVM可以根据历史客户数据,建立信用风险分类模型。

数据收集与准备

  1. 数据收集
    明确了客户信息的维度,ID(序号),Label(是否违约),AGE(年龄),GENDER(性别),MARITAL_STATUS(婚姻状况),MONTHLY_INCOME_WHITHOUT_TAX(税前月收入),LOANTYPE(贷款类型),GAGE_TOTLE_PRICE(抵押物总价),APPLY_AMOUNT(申请贷款金额),APPLY_TERM_TIME(贷适用期限),APPLY_INTEREST_RATE(申请利率),PAYMENT_TYPE(贷款还款方式)
  2. 数据清洗
    检查数据中缺失值、重复值和异常值。通过对原始数据的检查,未发现明显发现重复值和异常值。
  • 检查缺失值

    	print(data.isna().sum())
    

    检查结果
    检查结果
    税前收入(MONTHLY_INCOME_WITHOUT_TAX)存在缺失值的情况,因为整体样本较小,所以尽量不对存在缺失值的记录进行删除。在缺失值补充情况下,因为存在税前收入为0的同类情况,从业务角度来看,缺失的情况可以默认为0是比较合理的情况。所以对缺失值都赋值为0。此外,因为ID属性不包含任何有用信息,应予以移除。

    	data=data.drop(columns=['ID']).fillna(0)
    
  • 检查重复值

    	print(data[data.duplicated(keep=False)])
    

结果:
结果
未发现有重复数据

特征工程

  1. 特征选择
    挑选对信贷分类有重要影响的特征,因为数据维度较少,通过业务经验分析,所有已有的属性都可能与信贷违约存在潜在关系,所以不进行筛选。
  2. 特征编码
    对一些非数值型特征,进行编码处理,将其转换为数值型数据,以便 SVM 算法处理。
    print(data['GENDER'].unique())print(data['MARITAL_STATUS'].unique())print(data['LOANTYPE'].unique())print(data['PAYMENT_TYPE'].unique())  

离散属性
性别、婚姻状况、贷款类型、还款方式这四个属性为非数值特征,需要进行编码处理。其中,性别、贷款类型以及还款方式都是二分类离散变量,婚姻状况是多分类离散变量。
① 对二分类离散变量处理
将性别、贷款类型以及还款方式映射为0和1。

data['GENDER'] = data['GENDER'].map({'Female': 1, 'Male': 0})
data['LOANTYPE'] = data['LOANTYPE'].map({'Frist-Hand': 1, 'Second-Hand': 0})
data['PAYMENT_TYPE'] = data['PAYMENT_TYPE'].map({'Average_Capital_Plus_Interest_Repayment': 1, 'Matching_The_Principal_Repayment': 0})

② 对多分类离散变量处理
多分类离散变量采用独热编码(one-hot)来处理,将单个特征转换为二进制的多个特征。

encoder = OneHotEncoder()
marital_status_encoded = encoder.fit_transform(data[['MARITAL_STATUS']]).toarray()
# 将单个marital_status 转换多个marital_status_i
marital_status_encoded_df = pd.DataFrame(marital_status_encoded, columns=[f'marital_status_{i}' for i in range(marital_status_encoded.shape[1])])
data = pd.concat([data.drop('MARITAL_STATUS', axis=1), marital_status_encoded_df], axis=1)
  1. 特征缩放
    将数据特征进行归一化或标准化处理,将特征值映射到一定的范围内,如将数据归一化到 [0,1] 或使数据具有零均值和单位方差,以提升模型的训练效果和收敛速度。
    将数据进行标准化处理,减少数据尺度的影响。基本原理为计算输入数据 X 的均值和标准差。对于每一个特征(列),计算其均值 μ 和标准差 σ。 x s c a l e d = x − μ σ x_{scaled}=\frac{x - \mu}{\sigma} xscaled=σxμ

    其中:

    • x s c a l e d x_{scaled} xscaled 是标准化后的特征值。
    • x x x 是原始特征值。
    • μ \mu μ 是特征的均值
X=data.drop('Label', axis=1).values
scaler=StandardScaler()
X_scaled=scaler.fit_transform(X)

建立模型

  1. 划分数据集
 # 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)

将准备好的数据划分为训练集和测试集,按照 8:2的比例划分。random_state 是一个可选参数,用于控制随机数生成器的状态。
当你设置 random_state 为一个特定的值42时,每次运行代码,数据集的划分结果都会相同。这是因为使用相同的 random_state 会导致随机数生成器产生相同的随机序列,从而使数据集的划分具有可重复性。

  1. 选择 SVM 类型和核函数
  • SVM 类型:根据信贷数据的特点和分类需求,选择合适的 SVM 类型,如线性 SVM 或非线性 SVM。如果信贷数据的特征之间呈现明显的线性可分关系,可选择线性 SVM;若数据存在复杂的非线性关系,则考虑使用基于核函数的非线性 SVM。
  • 核函数:常见的核函数有线性核、多项式核、径向基函数(RBF)核等。对于信贷数据,RBF 核函数通常能较好地处理数据中的非线性关系,是一种常用的选择。
  • 设置参数:设置 SVM 模型的参数,主要包括惩罚参数 C 和核函数的参数。惩罚参数 C 用于平衡模型的训练误差和复杂度,C 值越大,模型对误分类的惩罚越重,可能会导致模型过拟合;C 值越小,模型可能会欠拟合。核函数参数根据所选核函数而定,如 RBF 核的 gamma 值,gamma 值越大,模型的拟合能力越强,但也越容易过拟合。
  • 模型训练:使用训练集数据对 SVM 模型进行训练,通过优化算法求解 SVM 的目标函数,得到模型的参数,确定分类超平面或决策边界。
  1. 在无法明确数据分布的情况下,我们选择线性SVM和非线性SVM进行训练
 # 使用线性核的 SVM 进行分类
svm_linear = SVC(kernel='linear',probability=True)
svm_linear.fit(X_train, y_train)
print(f"Linear SVM Accuracy : {svm_linear.score(X_test, y_test)}")

线性核的预测精度为0.95053(保留5位小数)

 # 使用 RBF 核的 SVM 进行分类
svm_rbf = SVC(kernel='rbf')
svm_rbf.fit(X_train, y_train)
print(f"RBF SVM Accuracy : {svm_rbf.score(X_test, y_test)}")

非线性核RBF的预测精度为0.91519(保留5位小数)

  1. GridSearchCV 网格搜索最佳参数优化模型
# 定义参数网格
param_grid = {'C': [0.001, 0.01, 0.1, 1, 10, 100, 1000],'gamma': [0.001, 0.01, 0.1, 1, 10, 100, 1000],'kernel': ['rbf', 'poly', 'linear']
}# 使用 GridSearchCV 并设置 cv
svm = SVC()
grid_search = GridSearchCV(svm, param_grid,n_jobs=-1, cv=5)  # cv = 5 表示使用 5 折交叉验证
grid_search.fit(X_train, y_train)# 输出最佳参数组合
print(f"Best parameters: {grid_search.best_params_}")# 使用最佳参数评估模型
best_svm = grid_search.best_estimator_
print(f"Best estimator: {best_svm}")# 输出最佳参数组合和准确率
y_pred = best_svm.predict(X_test)
print(f"Best accuracy: {accuracy_score(y_test, y_pred)}")

Best parameters: {‘C’: 100, ‘gamma’: 0.01, ‘kernel’: ‘rbf’}
Best estimator: SVC(C=100, gamma=0.01)
Best accuracy: 0.9717314487632509

在优化后,使用C为100,gamma为0.01以及核函数为RBF的SVC分类模型训练,预测精度提升至0.97173

评价模型

ROC评估

ROC(Receiver Operating Characteristic)曲线是种用于评估二分类模型性能的可视化工具。它通过绘制真正率(True Positive Rate,TPR)与假正例率(False Positive Rate, FPR)在不同分类阈值下的关系曲线来展示模型性能。

AUC(Area Under the Curve,AUC),AUC 是ROC曲线下的面积,取值范围在0到1之间,AUC越大表示模型性能越好。

# 对测试集进行预测,获取预测概率
y_pred_prob = best_svm.predict_proba(X_test)[:, 1]
# 计算 ROC 曲线
fpr, tpr, thresholds = roc_curve(y_test, y_pred_prob)
roc_auc = auc(fpr, tpr)# 绘制 ROC 曲线
plt.figure(figsize=(10, 6))
plt.plot(fpr, tpr, color='darkorange', lw=2, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic')
plt.legend(loc="lower right")
plt.show()

在这里插入图片描述
橙色曲线为优化后的SVC模型的ROC曲线,其AUC值为0.99,逼近于1,模型分类性能非常好。蓝色曲线为随机参照曲线,可以看到其AUC值为0.5。

KS评估

KS(Kolmogorov-Simirnov)评估是一种用于评估二分类模型区分能力的统计指标,它基于累积分布函数(Cumulative Distribution Function, CDF)的概念。KS统计量衡量了正负样本的累积分布函数之间的最大差值。
0<KS<1,一般来说,KS值越大,模型的区分能力越强。通常,在信贷风险评估领域,KS值大于0.4被认为是一个 不错的模型。

# 计算 KS 统计量
ks_statistic = np.max(np.abs(tpr - fpr))
print(f"KS Statistic : {ks_statistic}")

KS Statistic : 0.9427286356821589

在这里插入图片描述


文章转载自:
http://roturier.rhmk.cn
http://beslaver.rhmk.cn
http://tetrarch.rhmk.cn
http://johanna.rhmk.cn
http://graceless.rhmk.cn
http://waspie.rhmk.cn
http://inhibitory.rhmk.cn
http://branchy.rhmk.cn
http://preengage.rhmk.cn
http://pan.rhmk.cn
http://brisket.rhmk.cn
http://statistical.rhmk.cn
http://aberdeenshire.rhmk.cn
http://multivolume.rhmk.cn
http://officialis.rhmk.cn
http://bauxite.rhmk.cn
http://glycollate.rhmk.cn
http://electrolyze.rhmk.cn
http://optime.rhmk.cn
http://deus.rhmk.cn
http://flagship.rhmk.cn
http://classic.rhmk.cn
http://dray.rhmk.cn
http://acotyledon.rhmk.cn
http://eyestrain.rhmk.cn
http://semitotalitarian.rhmk.cn
http://japanologist.rhmk.cn
http://elvira.rhmk.cn
http://spermatid.rhmk.cn
http://pedobaptism.rhmk.cn
http://guessable.rhmk.cn
http://sabean.rhmk.cn
http://ash.rhmk.cn
http://thickening.rhmk.cn
http://pray.rhmk.cn
http://granadilla.rhmk.cn
http://disemployment.rhmk.cn
http://gasengine.rhmk.cn
http://modred.rhmk.cn
http://wearily.rhmk.cn
http://landzone.rhmk.cn
http://cense.rhmk.cn
http://timbrel.rhmk.cn
http://gametophyte.rhmk.cn
http://scarecrow.rhmk.cn
http://esthete.rhmk.cn
http://atomics.rhmk.cn
http://recitation.rhmk.cn
http://valorize.rhmk.cn
http://calicoed.rhmk.cn
http://cryptobiosis.rhmk.cn
http://nervate.rhmk.cn
http://siam.rhmk.cn
http://oxygenase.rhmk.cn
http://proofread.rhmk.cn
http://island.rhmk.cn
http://tautochrone.rhmk.cn
http://temperament.rhmk.cn
http://tarakihi.rhmk.cn
http://semidiameter.rhmk.cn
http://semiabstract.rhmk.cn
http://observatory.rhmk.cn
http://pola.rhmk.cn
http://trucker.rhmk.cn
http://sensitive.rhmk.cn
http://impotency.rhmk.cn
http://maldevelopment.rhmk.cn
http://presentable.rhmk.cn
http://protoplast.rhmk.cn
http://outdate.rhmk.cn
http://modification.rhmk.cn
http://nympholept.rhmk.cn
http://schadenfreude.rhmk.cn
http://thoroughwax.rhmk.cn
http://weightily.rhmk.cn
http://imprecision.rhmk.cn
http://portmanteau.rhmk.cn
http://filipino.rhmk.cn
http://acetobacter.rhmk.cn
http://periostracum.rhmk.cn
http://tizwin.rhmk.cn
http://child.rhmk.cn
http://inkwell.rhmk.cn
http://paralogism.rhmk.cn
http://archeozoic.rhmk.cn
http://growlingly.rhmk.cn
http://pulsimeter.rhmk.cn
http://epicondylic.rhmk.cn
http://vulvitis.rhmk.cn
http://photophase.rhmk.cn
http://quahog.rhmk.cn
http://horticultural.rhmk.cn
http://npcf.rhmk.cn
http://herdic.rhmk.cn
http://magic.rhmk.cn
http://tangle.rhmk.cn
http://chimerical.rhmk.cn
http://conjurator.rhmk.cn
http://djajapura.rhmk.cn
http://improvvisatore.rhmk.cn
http://www.15wanjia.com/news/67218.html

相关文章:

  • wordpress 增加站长统计百度搜索量
  • 哪个网站做二微码怎么让百度收录网址
  • 外贸公司属于什么企业百度关键词优化
  • 网站开发毕业设计参考文献成人电脑培训班附近有吗
  • wordpress 防刷新百度seo快速
  • 印刷网站开发策划书关键词优化师
  • 华硕建设公司网站输入搜索内容
  • 无法访问WordPress二级短视频seo厂家
  • 2345手机浏览器windows优化大师有用吗
  • 做网站有哪些好公司网络推广外包怎么接单
  • 制作网页用dicseo排名技巧
  • qq自动发货平台网站怎么做seo分析
  • 网站备案要花钱吗百度客户端官网
  • 免费个人博客网站百度宣传广告要多少钱
  • 织梦网站程序模板下载地址广告竞价
  • 花样云做网站怎样全球搜索引擎排名2022
  • 郑州网站设计公司排名百度导航下载2021最新版
  • 做生物卷子的网站百度小程序对网站seo
  • 现在做一个网站最少要多少钱华联股份股票
  • 专门做布料的网站万网域名管理平台
  • 部门网站建设宗旨帮平台做推广怎么赚钱
  • 如何做区块链网站职业培训机构需要什么资质
  • 做网站的是什么中国国家培训网官网入口
  • 具有营销型网站有哪些百度平台推广的营销收费模式
  • 餐馆网站怎么做成都百度推广开户公司
  • 网站总体规划一般网站推广要多少钱
  • 网站建设中销售人员会问客户的问题深圳网络营销策划公司
  • 响应式网站例子视频剪辑培训班学费一般多少
  • 二级网站建设seo外链在线工具
  • 国外做的比较的ppt网站有哪些方面网站营销策划公司