CCF BDCI竞赛——离散制造过程中典型工件的质量符合率预测(完整代码分享)

项目实战——工业离散器件符合率的预测 数据背景介绍 数据来源于DataFuntain中的离散制造过程中典形工件的质量符合率预测, 以某典型工件生产过程为例,我们将提供给参赛者一系列工艺参数,以及在相应工艺参数下所生产工件的质量数据。 数据下载地址:[数据下载地址(百度云)](链接:https://pan.baidu.com/s/1AqlRVHrDAUHHt50eZsXK8A 提取码:7pie )(如若失效了,请可以自行官网下载或者联... 阅读详情

@by:Bolero_L

目录

一、赛题描述

赛事链接:https://www.datafountain.cn/competitions/351

1.1 赛题背景

  • 在高端制造领域,随着数字化转型的深入推进,越来越多的数据可以被用来分析和学习,进而实现制造过程中重要决策和控制环节的智能化,例如生产质量管理。从数据驱动的方法来看,生产质量管理通常需要完成质量影响因素挖掘及质量预测、质量控制优化等环节,本赛题将关注于第一个环节,基于对潜在的相关参数及历史生产数据的分析,完成质量相关因素的确认和最终质量符合率的预测。在实际生产中,该环节的结果将是后续控制优化的重要依据。

1.2 赛题任务

  • 由于在实际生产中,同一组工艺参数设定下生产的工件会出现多种质检结果,所以我们针对各组工艺参数定义其质检标准符合率,即为该组工艺参数生产的工件的质检结果分别符合优、良、合格与不合格四类指标的比率。相比预测各个工件的质检结果,预测该质检标准符合率会更具有实际意义。

本赛题要求参赛者对给定的工艺参数组合所生产工件的质检标准符合率进行预测。

1.3 数据说明

  • 【数据简介DATA BACKGROUD】
    在此任务中,以某典型工件生产过程为例,我们将提供给参赛者一系列工艺参数,以及在相应工艺参数下所生产工件的质量数据。该数据来源于某工厂采集的真实数据,已做脱敏处理。

(1)训练数据将提供:

A:工艺参数(如设备加工参数)

B:工件的质量数据

C:工件所符合的质检指标

(2)测试数据将提供:

A:工艺参数(如设备加工参数)

【数据说明DATA DESCRIPTION】
(1)初赛训练数据集文件名称为first_round_training_data.csv,csv格式,其中包含21个字段,6000行,含A,B,C三类数据,具体信息如下:

字段类型字段名数据类型取值范围字段解释
AParameter1Float(0,3.9e+09]工艺参数1
AParameter2Float(0,1.4e+09]工艺参数2
AParameter3Float(0,2.9e+09]工艺参数3
AParameter4Float(0,3.7e+08]工艺参数4
AParameter5Float(0,70]工艺参数5
AParameter6Float(0,43]工艺参数6
AParameter7Float(0,2.4e+04]工艺参数7
AParameter8Float(0,7.6e+04]工艺参数8
AParameter9Float(0,6.1e+08]工艺参数9
AParameter10Float(0,1.5e+04]工艺参数10
BAttribute1Float(0,1.2e+07]工件属性1
BAttribute2Float(0,3.2e+08]工件属性2
BAttribute3Float(0,5.1e+09]工件属性3
BAttribute4Float(0,6.3e+07]工件属性4
BAttribute4Float(0,6.4e+09]工件属性5
BAttribute4Float(0,2.6e+07]工件属性6
BAttribute4Float(0,8.5e+09]工件属性7
BAttribute4Float(0,5.6e+10]工件属性8
BAttribute4Float(0,1.8e+12]工件属性9
BAttribute4Float(0,2.0e+11]工件属性10
CQuality_labelCategorical{Fail, Pass, Good, Excellent}工件所符合的质检指标,包括四类,其中Fail: 质检不合格;Pass:质检合格;Good:质检结果为良;Excellent:质检结果为优。

(2)初赛测试数据集文件名称为first_round_testing_data.csv,包含11个字段,仅提供A类数据,具体信息如下:

字段类型字段名数据类型取值范围字段解释
IDGroupInt0,1,2,……,N-1测试集工件数据点所对应的工艺参数组别。
AParameter1Float(0,3.9e+09]工艺参数1
AParameter2Float(0,1.4e+09]工艺参数2
AParameter3Float(0,2.9e+09]工艺参数3
AParameter4Float(0,3.7e+08]工艺参数4
AParameter5Float(0,70]工艺参数5
AParameter6Float(0,43]工艺参数6
AParameter7Float(0,2.4e+04]工艺参数7
AParameter8Float(0,7.6e+04]工艺参数8
AParameter9Float(0,6.1e+08]工艺参数9
AParameter10Float(0,1.5e+04]工艺参数10

要求参赛者基于A类数据计算出各组工艺参数的工件质检标准符合率。

1.4 提交示例 SUBMITTED SAMPLE

  • 初赛阶段提交csv文件的示例参见example_result.csv。

1.5 评测标准GRADING

本次竞赛初赛评价指标使用MAE系数。
平均绝对差值是用来衡量模型预测结果对标准结果的接近程度一种衡量方法。计算方法如下:在这里插入图片描述
其中predi为预测样本,yi 为真实样本。MAE的值越小,说明预测数据与真实数据越接近。
最终结果为:在这里插入图片描述
最终结果越接近1分数越高.

二、数据导入

2.1 导库

# 导库

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score,log_loss
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.model_selection import GridSearchCV



import warnings
warnings.filterwarnings('ignore')

2.2 数据读取

# 数据读取

train_data = pd.read_csv('.../first_round_training_data.csv')
test_data = pd.read_csv('.../first_round_testing_data.csv')
submit = pd.read_csv('.../submit_example.csv')

2.3 数据观察

print(train_data.describe())
print(test_data.describe())

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

train_data.head(10)

在这里插入图片描述

三、数据预处理

3.1 标签处理

对Quality_label 进行数值处理

# 对Quality_label 进行数值处理

# {Fail, Pass, Good, Excellent}
dic = {'Excellent': '0', 'Good': '1', 'Pass': '2', 'Fail': '3'}
train_data['Quality_label'] = train_data["Quality_label"].map(dic)

3.2 检查缺失值

# 缺失值检查

print(train_data.isnull().sum())

在这里插入图片描述

3.3 数值分析

由于matplotlib在绘图时,出现中文显示问题,使用如下代码进行修改

#解决matplotlib绘图中文显示问题
plt.rcParams['font.sans-serif'] = ['SimHei']
# plt.rcParams['font.sans-serif'] = ['KaiTi']   # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False   # 解决保存图像是负号'-'显示为方块的问题

对数据进行连续性和离散型分析

# 连续性和离散型分析

col_name = train_data.columns
Notdlts_count = []
for i in col_name:
    # 计算非重复值的个数   drop_duplicates:去除重复值
    Notdlts = len(train_data[i].drop_duplicates())/6000
    Notdlts_count.append(Notdlts)

plt.figure(figsize=(20,5))    

plt.plot(col_name, Notdlts_count, c='r')
plt.title('计算非重复值的占比')                 # 标题
plt.xlabel('字段名')                        # x轴 的轴名
plt.ylabel('非重复数据在全数据上的占比')  # y轴 的轴名
plt.xticks(rotation=90)                   # 旋转 x轴的刻度
for x,y in zip(col_name,Notdlts_count):
    plt.text(x,y,'%.3f' % y,fontdict={'fontsize':15}) #对图像每个点进行标注具体比例

plt.show()

在这里插入图片描述

由图可知,Parameter 5 - 10 基本为离散特征,而 Attribute 4 - 10 有可能是离散特征, 其余均为连续特征

3.4 数据划分

根据数值分析得出的结论,Parameter 5 - 10 基本为离散特征。 Attribute 4 - 10 有可能是离散特征,但是在test中无可用数据,后期可以对train数据集进行训练,从而得出test数据集中的Attribute,加大特征,从而可以将A和B列全部考虑,并进行筛选特征,我猜测,这样操作或许可以提高score。

# 数据划分
data = train_data.append(test_data)
feature_name = ['Parameter{0}'.format(i) for i in range(5, 11)]
tr_index = ~data['Quality_label'].isnull()
X_train = data[tr_index][feature_name].reset_index(drop=True)
y = data[tr_index]['Quality_label'].reset_index(drop=True).astype(int)
X_test = data[~tr_index][feature_name].reset_index(drop=True)

生成(6000,4)的0矩阵,为下面的结果保存做准备

print(X_train.shape,X_test.shape) # (6000, 6) (6000, 6)
# oof = np.zeros((X_train.shape[0],4)) # (6000,4)
pred = np.zeros((X_test.shape[0],4)) # (6000,4)

4、模型训练

本文选择如下模型进行训练:
1.SVC
2.GradientBoostingClassifier
3.CatboostClassifier

下面在模型训练时候,有以下几个不解之处,已给出对应回答。

选择predict_proba 而不是predict的原因

predict是训练后返回预测结果,是标签值。

predict_proba返回的是一个 n 行 k 列的数组, 第 i 行 第 j 列上的数值是模型预测 第 i个预测样本为某个标签的概率,并且每一行的概率和为1。

np.eye(4)返回的是一个四维的数组(N,M),对角线的地方为1,其余的地方为0.用于映射Quality_label对应的标签
pandas.get_dummies(data, prefix=None, prefix_sep=’_’, dummy_na=False,columns=None, sparse=False, drop_first=False, dtype=None)
pandas 中的get_dummies 方法主要用于对类别型特征做 One-Hot 编码(独热编码)

4.1 SVC

#  SVC线上有效得分:0.48324507000  分
def svc(X_train, y, X_test):
    model = SVC(probability=True)
    model.fit(X_train,y)
    pred = model.predict_proba(X_test)
    
    MAE = 1/(1 + np.sum(np.absolute(np.eye(4)[y] - pred))/480)
    svc_score = 1/(1+10*MAE)
    
    print('log_loss',log_loss(pd.get_dummies(y).values, pred))
    print('svc_ac',accuracy_score(y, np.argmax(pred,axis=1)))
    print('MAE',1/(1 + np.sum(np.absolute(np.eye(4)[y] - pred))/480))
    print('svc_score',1/(1+10*MAE))
    print('--------------------------------')

    return model

4.2 GradientBoostingClassifier

# gdbt线上有效得分:0.46390095000 分
def gdbt():
    model =GradientBoostingClassifier()
    model.fit(X_train,y)
#     oof = model.predict_proba(X_test)
#     prediction = model.predict_proba(X_test)

    pred = model.predict_proba(X_test) 
    MAE = 1/(1 + np.sum(np.absolute(np.eye(4)[y] - pred))/480)
    gdbt_score = 1/(1+10*MAE)
    print('log_loss',log_loss(pd.get_dummies(y).values, pred))
    print('gbdt_ac',accuracy_score(y,np.argmax(pred,axis = 1)))
    print('MAE',1/(1 + np.sum(np.absolute(np.eye(4)[y] - pred))/480))
    print('gdbt_score',1/(1+10*MAE))
    print('--------------------------------')

    return model

4.3 CatBoostClassifier

# cbt 线上有效得分:0.46392205000分

def cbt():
    model = CatBoostClassifier()
    model.fit(X_train,y)
    
    pred = model.predict_proba(X_test) 
    MAE = 1/(1 + np.sum(np.absolute(np.eye(4)[y] - pred))/480)
    gdbt_then_score = 1/(1+10*MAE)
    print('log_loss',log_loss(pd.get_dummies(y).values, pred))
    print('cbt_ac',accuracy_score(y,np.argmax(pred,axis = 1)))
    print('MAE',1/(1 + np.sum(np.absolute(np.eye(4)[y] - pred))/480))
    print('cbt_score',1/(1+10*MAE))
    print('--------------------------------')

    return model

4.4 结果显示

if __name__ == '__main__':
    svc(X_train, y, X_test)
    svc_then()
    gdbt()
    gdbt_then()
    cbt()
    cbt_then()
    model_mix()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过三组数据,可以发现,在未调参之前的,线下:SVC的Score> GradientBoostingClassifier 的Score>CatBoostClassifier的Score。
至此,思考是否通过调参和模型融合会对得分有所提高。

5、调参

5.1 SVC调参

5.1.1 参数调节:
# SVC 调参
# 调参发现C调整结果反而降低,索性不对C进行调参
# 初始参数
# SVC(C=1.0,kernel='rbf',degree=3,gamma='scale')
# params = {'C': 1.0, 'kernel': 'rbf', 'gamma': 'auto'}
# kernel : {'linear', 'poly', 'rbf', 'sigmoid', 'precomputed'},gamma : {'scale', 'auto'}
svc_then_params = { 'gamma': 'auto'}
# params_then_grid = { 'gamma': 'auto'}

# params_grid = { 'gamma': 'auto'}

# param_grid = {'gamma' :['scale','auto']}

# m  = GridSearchCV(SVC(),params_grid)
# m.fit(X_train,y)
# print("该参数下得到的最佳得分为:{}".format(m.best_score_))
# print("最佳参数为:{}".format(m.best_params_))
    
5.1.2 SVC新模型
#  svc_then线上有效得分:分
def svc_then():
    model =SVC(probability=True,**svc_then_params)
    model.fit(X_train,y)
#     oof = model.predict_proba(X_test)
#     prediction = model.predict_proba(X_test)

    pred = model.predict_proba(X_test) 
    MAE = 1/(1 + np.sum(np.absolute(np.eye(4)[y] - pred))/480)
    gdbt_then_score = 1/(1+10*MAE)
    print('log_loss',log_loss(pd.get_dummies(y).values, pred))
    print('svc_then_ac',accuracy_score(y,np.argmax(pred,axis = 1)))
    print('MAE',1/(1 + np.sum(np.absolute(np.eye(4)[y] - pred))/480))
    print('svc_then_score',1/(1+10*MAE))
    print('--------------------------------')

    return model

5.2 GradientBoostingClassifier调参

5.2.1 参数调节:
# gdbt调参
# 
# c初始参数
# params = {'learning_rate': 0.1, 'n_estimators': 10, 'min_samples_split': 300, 'min_samples_leaf': 20, 'max_depth': 8,
#           'max_features':'sqrt', 'subsample': 0.8 }
#   内部节点再划分所需最小样本数min_samples_split、叶子节点最少样本数min_samples_leaf、决策树最大深度max_depth
#   最大特征数max_features、不放回抽样subsample 推荐在[0.5, 0.8]之间,默认是1.0,即不使用子采样
gdbt_then_params = {'learning_rate': 0.1, 'n_estimators': 52, 'min_samples_split':809, 'min_samples_leaf': 70, 'max_depth': 5,
                    'max_features':'sqrt', 'subsample': 0.8 }

# param_grid = {#'n_estimators':range(1,100,1),
#               #'max_depth':range(5,14,1),
#               #'min_samples_split':range(10,1000,100)}
#               #'min_samples_split':range(800,825,1),
#               #'min_samples_leaf': range(10,100,10)}
#               #'max_features':('sqrt','log2'),
#               #'subsample':range(0.5,0.8,0.05)}
# m  = GridSearchCV(GradientBoostingClassifier(),param_grid)
# m.fit(X_train,y)
# print("该参数下得到的最佳得分为:{}".format(m.best_score_))
# print("最佳参数为:{}".format(m.best_params_))
    
5.2.2 GradientBoostingClassifier新模型
#  gdbt_then线上有效得分:0.46390095000分
def gdbt_then():
    model =GradientBoostingClassifier(**gdbt_then_params)
    model.fit(X_train,y)
#     oof = model.predict_proba(X_test)
#     prediction = model.predict_proba(X_test)

    pred = model.predict_proba(X_test) 
    MAE = 1/(1 + np.sum(np.absolute(np.eye(4)[y] - pred))/480)
    gdbt_then_score = 1/(1+10*MAE)
    print('log_loss',log_loss(pd.get_dummies(y).values, pred))
    print('gbdt_then_ac',accuracy_score(y,np.argmax(pred,axis = 1)))
    print('MAE',1/(1 + np.sum(np.absolute(np.eye(4)[y] - pred))/480))
    print('gdbt_then_score',1/(1+10*MAE))
    print('--------------------------------')

    return model

5.3 CatBoostClassifier调参

5.3.1 参数调节:
# cbt调参
# 
# c 初始化参数
# params = {'learning_rate' : 0.086, 'iterations': 1000, 'verbose': 300, 'task_type': 'GPU','loss_function': 'MultiClass'}
                  
# cbt_then_params = {'learning_rate' : 0.05, 'iterations': 700, 'verbose': 300,'loss_function': 'MultiClass'}

cbt_then_params = {'learning_rate' : 0.05, 'iterations': 700, 'verbose': 300}

# param_grid = {#'iterations': range(600,2000,100)}
#                'learning_rate': [0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1 ]}
                                                                      
# m  = GridSearchCV(CatBoostClassifier(),param_grid)
# m.fit(X_train,y)
# print("该参数下得到的最佳得分为:{}".format(m.best_score_))
# print("最佳参数为:{}".format(m.best_params_))   
5.3.2 CatBoostClassifier新模型
# cbt_then 线上有效得分:
def cbt_then():
    model = CatBoostClassifier(**cbt_then_params)
    model.fit(X_train,y)
    
    pred = model.predict_proba(X_test) 
    MAE = 1/(1 + np.sum(np.absolute(np.eye(4)[y] - pred))/480)
    gdbt_then_score = 1/(1+10*MAE)
    print('log_loss',log_loss(pd.get_dummies(y).values, pred))
    print('cbt_then_ac',accuracy_score(y,np.argmax(pred,axis = 1)))
    print('MAE',1/(1 + np.sum(np.absolute(np.eye(4)[y] - pred))/480))
    print('cbt_then_score',1/(1+10*MAE))
    print('--------------------------------')

    return model

5.4 结果显示

if __name__ == '__main__':
    svc(X_train, y, X_test)
    svc_then()
    gdbt()
    gdbt_then()
    cbt()
    cbt_then()
    model_mix()

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

通过三组数据,可以发现,在调参之后的,线下:SVC的Score> GradientBoostingClassifier 的Score>CatBoostClassifier的Score。
至此,综合考虑,本次实验SVC作为主要模型进行实验。
而对于模型融合,已经试过,如下图所示。通过图可以发现选择SVC作为单独模型的优势。所以,本次模型融合不予考虑。在这里插入图片描述

6、输出结果

6.1保存predict

# 得出每个模型的predict

svc = SVC(probability=True)
svc.fit(X_train,y)
svc_pred = svc.predict_proba(X_test)

svc_then = SVC(probability=True)
svc.fit(X_train,y)
svc_then_pred = svc.predict_proba(X_test)

gdbt = GradientBoostingClassifier()
gdbt.fit(X_train,y)
gdbt_pred = gdbt.predict_proba(X_test)

gdbt_then = GradientBoostingClassifier()
gdbt_then.fit(X_train,y)
gdbt_then_pred = gdbt.predict_proba(X_test)

cbt = CatBoostClassifier()
cbt.fit(X_train,y)
cbt_pred = cbt.predict_proba(X_test)

cbt_then = CatBoostClassifier()
cbt_then.fit(X_train,y)
cbt_then_pred = cbt.predict_proba(X_test)

6.2 输出结果

结果输出:

sub = test_data[['Group']]
prob_cols = [i for i in submit.columns if i not in ['Group']]
print(prob_cols)
for i, f in enumerate(prob_cols):
#     sub[f] = svc_pred[:, i]
    sub[f] = svc_then_pred[:, i]
for i in prob_cols:
    sub[i] = sub.groupby('Group')[i].transform('mean')
sub = sub.drop_duplicates()
# sub.to_csv("C:/Users/93601/Desktop/svc_submission_mean.csv",index=False)
sub.to_csv("C:/Users/93601/Desktop/svc_then_submission_mean.csv",index=False)
# sub.to_csv("C:/Users/93601/Desktop/gdbt_submission_mean.csv",index=False)
# sub.to_csv("C:/Users/93601/Desktop/gdbt_then_submission_mean.csv",index=False)
# sub.to_csv("C:/Users/93601/Desktop/cbt_submission_mean.csv",index=False)
# sub.to_csv("C:/Users/93601/Desktop/cbt_then_submission_mean.csv",index=False)
catboost回归自动调参 import os import timeimport optuna import pandas as pd from catboost import CatBoostRegressor from sklearn.metrics import r2_score, mean_squared_error from sklearn.model_selection import train_test_splitX_train = data.drop([‘label’, ‘b1’, ‘b2’], axis=1).va 阅读详情

相关推荐

深入浅出 CatBoost:轻松提升机器学习性能

CatBoost 是一个开源的机器学习框架,由 Yandex(俄罗斯的一家互联网公司)开发。它的名字中的“Cat”代表“categorical”,因为 CatBoost 的主要特点之一是它能够自动处理分类特征,而无需人工干预。CatBoost 采用了一种特殊的处理方法,称为“ordered boosting”,以处理分类特征。此外,CatBoost 还具有自动调整超参数的能力,使其易于使用并且不容易出现过拟合。CatBoost 是一种强大的机器学习算法,特别适用于处理分类特征的问题。

DeepViewInsight的博客 1082

离散制造过程中典型工件的质量符合率预测(线上测试0.697)开源

import numpy as np import pandas as pd import catboost as cbt from sklearn.metrics import accuracy_score, roc_auc_score, log_loss import gc import math import time from tqdm import tqdm import datetime from sklearn.model_selection import KFold, Stratified.

朝闻道 1646

第28步 机器学习分类实战:Catboost建模

Catboost建模

Jet4505的博客 2668

2019数据科学/人工智能比赛作品解决方案合集

目录 1. Structured Data/ Time Series 2019 CCF 乘用车细分市场销量预测 2019 CCF 离散制造过程中典型工件的质量符合率预测 2018 科大讯飞 AI 营销算法大赛 2018 IJCAI 阿里妈妈搜索广告转化预测 2018 腾讯广告算法大赛 2017 腾讯广告算法大赛 2018 高校大数据挑战...

It’s All Uphill From Here 3375

ISO15118-20协议测试实战:用Efficient XML库验证26条命令编解码(附完整代码)

本文分享了ISO15118-20协议测试实战经验,重点探讨了使用Efficient XML库对26条命令进行EXI编解码验证的过程。通过搭建测试环境、编写自动化程序并与官方工具链进行交叉比对,文章深入分析了4条命令编码结果不一致的原因,并提供了完整的排查思路与C代码示例,旨在帮助开发者确保电动汽车充电通信的协议一致性。

weixin_29284657的博客 108

Zabbix Trigger actions访问出现500

本篇博客详细介绍了Zabbix访问'Trigger actions'出现的错误状况,访问界面出现500,并提供了解决方案。

格子的博客 562

Python实现对离散制造过程中典型工件的质量符合率预测

由于在实际生产中,同一组工艺参数设定下生产的工件会出现多种质检结果,所以我们针对各组工艺参数定义其质检标准符合率,即为该组工艺参数生产的工件的质检结果分别符合优、良、合格与不合格四类指标的比率。相比预测各个工件的质检结果,预测该质检标准符合率会更具有实际意义。本赛题要求对给定的工艺参数组合所生产工件的质检标准符合率进行预测。在此任务中,以某典型工件生产过程为例,提供一系列数据。该数据来源于某工厂采集的真实数据,已做脱敏处理。(1)训练数据将提供:A:工艺参数(如设备加工参数)B:工件的质量数据 C:工件所符

毕业作品网站 904

告别理论劝退:用动画和Tanner图轻松理解QC-LDPC的译码原理(BP算法详解)

本文通过动画和Tanner图直观解析QC-LDPC码的BP译码原理,帮助读者轻松理解802.11ac协议中的编译码过程。文章详细展示了QC-LDPC的结构之美、BP算法的动态信息流动以及LLR的视觉化解读,并对比了硬判决算法的性能差异,为开发者和研究者提供了实用的可视化工具开发建议。

weixin_30411239的博客 492

【catboost】官方调参教程

CatBoost官方教程:调参 本文翻译至官方原文:https://catboost.ai/docs/concepts/parameter-tuning.html CatBoost为参数调整提供了灵活的界面,可以对其进行配置以适合不同的任务。 本节包含有关可能的参数设置的一些提示。 catBoost提供了为Python、R语言和命令行都提供了可使用的参数,其中Python和R的完全相同,命令行参数格式则有点不同。 如L2正则化参数,python和R中为:l2_leaf_reg ,命令行中为–l2-lea

xiangxiang613的专栏 2万+

深度强化学习研究笔记(1)——入门(马尔科夫决策过程,贝尔曼方程,价值迭代和策略迭代)

1. 强化学习(Reinforcement learning)概述 强化学习(Reinforcement learning)的基本内涵是将问题用代理和环境进行建模。其中代理能够对环境执行一些特定的动作a∈Aa \in Aa∈A,从而到达某个状态s∈Ss \in Ss∈S,然后我们就可以根据该状态为代理赋予特定的奖励rrr。强化学习的基本思想如下图所示: 代理的目标是最大化未来的奖励总和,它通过将...

越野者的博客 5280

实战指南:UOS专业版命令行高效下载离线安装包及依赖

本文提供了一份UOS专业版离线安装包的实战下载指南。针对无外网环境下的软件部署难题,详细介绍了如何通过命令行精准获取软件包名,并利用`apt download`命令高效下载主程序及其所有依赖。文章重点解析了使用`apt install --dry-run`模拟安装来完整获取依赖包的方法,并给出了离线安装、问题排查及自动化脚本编写等高级技巧,帮助管理员和运维人员实现可靠的批量离线部署。

honey的博客 1109

顶级赛事 | 2019 CCF BDCI,最值得参与的国际大数据及AI赛事之一

你擅长编程,精通算法,对数据敏感?来,试试挑战全球最优秀的一群人。你初学AI,刚懂模型,才学会调参?来,体验赛练结合技术成长新途径。你职场瓶颈,缺乏激情,想要一次证明?来...

Paper weekly 3251

【雕爷学编程】MicroPython手册之 Teensy 4.1 实时时钟 (RTC)

在类的初始化函数中,定义了用于控制I2C总线的i2c对象和RTC模块的I2C地址。接着,使用该引脚初始化了一个Pin对象。它还提供了8个串口,3个SPI端口,3个I2C端口,2个I2S/TDM数字音频端口,3个CAN总线(其中一个支持CAN FD),以及一个SDIO(4位数据)原生SD卡端口12。2、内存:Teensy 4.1配备了1024 KB的RAM(其中512 KB是紧密耦合的),8 MB的Flash(其中64 KB用于恢复和EEPROM模拟),以及两个位置可以选择添加更多的QSPI内存芯片。

雕爷学编程 575

数据科学/人工智能比赛解决方案汇总 2019.9

内容来自 apachecn/awesome-data-comp-solution(https://github.com/apachecn/awesome-data-comp-solution/blob/master/README.md),由 ApacheCN 团队维护。 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远 ApacheCN 学习资源(http://www.apa...

weixin_41940752的博客 1837

LSTM 双向 Bi-LSTM

LSTM 双向 Bi-LSTM

jacke121的专栏 1516

YOLOv11 模型改进:利用新型损失函数实现精度跃升(含代码全解析)

在目标检测领域,损失函数的选择直接决定模型的精度上限。某自动驾驶公司将 YOLOv11 原有损失替换为新型损失后,障碍物检测 mAP 提升 10%,夜间场景误检率降低 22%;某物流分拣项目中,采用新损失的 YOLOv11 模型对小包裹的识别准确率从 82% 升至 96%。如果你也在为模型精度瓶颈、样本不平衡问题困扰,这篇教程将带你掌握 YOLOv11 损失函数的进阶技巧,真正帮你在检测性能上实现突破。损失函数是模型训练的“指南针”,它定义了模型“学习的方向”。传统损失(如 BCE、Focal Loss)在

m0_71589036的博客 713

catboost参数详解及实战(强推)

catboost参数详解(史上最细),以及实战贝叶斯调参

机器学习、深度学习、文本分类、异常检测、风控等知识的积累和分享 2万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

CatBoost自动调参—Optuna和Hyperopt耗时和效果对比

本文主要讲解:Optuna和Hyperopt性能对比(catboost示例)

机器学习、深度学习、强化学习、迁移学习 3995

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

模型融合---CatBoost 调参总结

一、参数速查 1.通用参数 2.性能参数 3.处理单元设置 二、分类 三、回归 转载于:https://www.cnblogs.com/nxf-rabbit75/p/10923566.html

dili8870的博客 2634

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

使用GridSearchCV对CatBoostClassifier分类器调参

实战: params = {'depth': [4, 6, 10], 'learning_rate' : [0.05, 0.1, 0.15], # 'l2_leaf_reg': [1,4,9] # 'iterations': [1200], # 'early_stopping_rounds':[1000], # ...

cy_believ的博客 7482

CatBoost算法和调参

 欢迎关注博主主页,学习python视频资源 sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=s...

weixin_33881140的博客 1万+

【机器学习】数据分析王者 CatBoost vs. Light GBM vs. XGBoost

机器学习领域的一个特点就是日新月异,在数据竞赛中,一件趁手的工具对比赛结果有重要影响。boosting是一种将弱分类器组合成强分类器的方法,它包含多种算法,如GDBT、AdaBoost、XGBoost等等。如果你参加过Kaggle之类的数据竞赛,你可能听说过XGBoost在数据江湖上的领导地位,也可能好奇过LGBM的快速崛起。但是,你听说过俄罗斯最大搜索引擎Yandex开发的CatBoost吗? ...

白糖炒栗子 3872

Catboost参数

CatBoost是一种基于对称决策树(oblivious trees)为基学习器实现的参数较少、支持类别型变量和高准确性的GBDT框架,主要解决的痛点是高效合理地处理类别型特征,这一点从它的名字中可以看出来,CatBoost是由Categorical和Boosting组成。此外,CatBoost还解决了梯度偏差(Gradient Bias)以及预测偏移(Prediction shift)的问题,从而减少过拟合的发生,进而提高算法的准确性和泛化能力。 与XGBoost、LightGBM相比,CatBoost的

NT的博客 2885
上一篇: 解决 Python 3中,Matplotlib绘图显示方块问题(排雷)
下一篇: 学习算法——感知机
Bolero_L
博客等级 码龄7年 21粉丝 18原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值