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

企业 北京 响应式网站商城网站制作多少钱

企业 北京 响应式网站,商城网站制作多少钱,如何申请域名邮箱,廊坊建设局网站6数据是任何分析或机器学习的基础。然而#xff0c;现实世界的数据集并不完美#xff0c;它们经常包含缺失值#xff0c;这可能导致任何算法的训练阶段出现错误。处理缺失值至关重要#xff0c;因为它们可能会导致数据分析和机器学习模型中出现偏差或不准确的结果。处理缺失…数据是任何分析或机器学习的基础。然而现实世界的数据集并不完美它们经常包含缺失值这可能导致任何算法的训练阶段出现错误。处理缺失值至关重要因为它们可能会导致数据分析和机器学习模型中出现偏差或不准确的结果。处理缺失值的策略包括插补用估计值或计算值替换缺失值、删除不完整的记录或使用多重插补等高级技术。处理缺失值是数据清理和准备的一个重要方面以确保强大和可靠的分析。在本文中我们将讨论如何使用CatBoost模型处理缺失值。 什么是CatBoost CatBoostcategorical boosting是由俄罗斯跨国IT公司Yandex开发的机器学习算法。这种特殊的boosting算法基于梯度提升框架通过结合有序提升不经意树和分类变量的高级处理等技术可以比其他传统的梯度提升算法更有效地处理分类特征从而以最小的超参数调整实现高性能。CatBoost还有一个内置的超参数nan_mode来处理数据集中存在的缺失值这有助于我们非常有效地处理数据集而无需执行其他数据预处理。 什么是缺失值 缺失值是指数据集中某些观测或变量的数据缺失。这些缺失值的出现可能有各种原因从数据收集过程中的错误到故意遗漏。我们需要非常小心地处理它们以实现准确的预测模型。常见的缺失值在数据集中以两种方式表示下面将进行讨论 NaNNot a Number在数值数据集中NaN通常用于表示缺失或未定义的值。NaN是IEEE标准定义的特殊浮点值通常用于Python等编程语言和NumPy等库。 NULL或NA在数据库系统或统计软件中NULL或NA可用于表示缺失值。这些只是占位符表示特定观察数据的缺失。 使用CatBoost处理缺失值 1.导入所需的库 现在我们将导入所有需要的Python库如NumPyPandasMatplotlibSeaborn和SKlearn等。 import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt from catboost import CatBoostRegressor, Pool from sklearn.metrics import mean_absolute_error, r2_score from sklearn.model_selection import train_test_split 2.数据集加载 现在我们从Kaggle加载一个数据集。然后我们将其分为训练集和测试集8020并准备分类特征这些特征将在训练期间提供给CatBoost。 # Load the Kaggle House Prices dataset data pd.read_csv(train.csv) # https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data?selecttrain.csv # Choose features and target variable features data.columns.difference([SalePrice]) # All columns except SalePrice target SalePrice# Convert categorical features to strings categorical_features data[features].select_dtypes(include[object]).columns for feature in categorical_features:data[feature] data[feature].astype(str)# Split data into features and target X data[features] y data[target] # Split the data into training and testing sets X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42) # Find categorical features for CatBoost categorical_features_indices np.where(X.dtypes object)[0] Kaggle House Prices数据集已加载并准备好使用这行代码建模。在将分类特征转换为字符串之后数据被划分为特征X和目标变量y。使用80-20的比率将数据集进一步划分为训练集和测试集。对于需要在训练过程中描述分类特征的CatBoost模型变量categorical_features_indices非常有用因为它指定了分类特征的索引。 探索性数据分析 探索性数据分析EDA可以帮助我们更深入地了解数据集。 检查缺失值 这与本文非常相关对任何数据集都很重要。如果处理不当缺失值会影响模型的预测。在这里我们将看到数据集的哪些列包含缺失值和总计数。 # Check for missing values missing_values data.isnull().sum().sort_values(ascendingFalse) missing_values missing_values[missing_values 0] print(\nColumns with missing values:\n, missing_values) 输出 Columns with missing values:PoolQC 1453 MiscFeature 1406 Alley 1369 Fence 1179 FireplaceQu 690 LotFrontage 259 GarageYrBlt 81 GarageCond 81 GarageType 81 GarageFinish 81 GarageQual 81 BsmtFinType2 38 BsmtExposure 38 BsmtQual 37 BsmtCond 37 BsmtFinType1 37 MasVnrArea 8 MasVnrType 8 Electrical 1 dtype: int64这段代码计算每一列的空值之和以检查“data”DataFrame中的缺失值。然后打印列及其相应的计数但仅针对缺失值大于零的列。这是通过根据缺失值的数量以降序对列进行排序来实现的。 目标变量分布 可视化目标变量的值分布有助于我们了解数据集是否存在任何潜在的错误。在我们的数据集中目标变量是’SalePrice’。 plt.figure(figsize(7, 4)) sns.histplot(data[SalePrice], kdeTrue, colorforestgreen) plt.title(Distribution of SalePrice) plt.show() 使用Seaborn此代码生成一个直方图显示’data’ DataFrame中’SalePrice’变量的分布。当添加kdeTrue参数时直方图获得数据分布的平滑描述从而添加核密度估计图。 模型训练 # Create CatBoost pools for training and testing train_pool Pool(dataX_train, labely_train, cat_featurescategorical_features_indices) test_pool Pool(dataX_test, labely_test, cat_featurescategorical_features_indices)# Train the CatBoost model model CatBoostRegressor(iterations100, depth6, learning_rate0.1, loss_functionRMSE, nan_modeMin, verboseFalse) model.fit(train_pool) 为了训练CatBoost模型我们需要为CatBoost创建训练和测试集因为它的内部训练优化需要特殊类型的数据集类型不同于普通的NumPy或pandas数据帧。之后我们需要指定各种超参数来训练CatBoost模型。在这里我们还将使用内置的catboost超参数处理缺失值。 iterations该参数设置boosting迭代的总数即集合中的树的数量。这里我们将它设置为100这意味着训练过程将创建100个决策树迭代。learning_rate该参数确定梯度提升算法学习的步长该算法将每个树对最终预测的贡献进行缩放。较小的学习率通常会导致更强大的模型但需要更多的迭代。depth这个参数控制决策树的最大深度。更深的树可以捕获更复杂的模式但它可能会导致过拟合问题。verbose此参数控制训练期间显示的日志记录和信息的级别这对于监控训练过程很有用。这里我们将其设置为“False”以保持控制台清晰。loss_function该参数指定用于在训练期间优化模型的损失函数。它被设置为“RMSE”因为我们正在执行回归任务。cat_features分类特征的索引数组。CatBoost会自动对这些特征进行编码以进行训练并以不同的方式处理它们。nan_mode这是CatBoost的特殊超参数用于在模型训练期间内部处理数据集的缺失值。这个超参数有三个值分别是“Forbidden”、“Min”和“Max”。默认情况下它接受’Forbidden’并在训练期间引发错误。如果我们将其设置为’Min’那么它将用相应列的最小值替换所有缺失值。如果我们将其设置为’Max’那么它将用相应列的最大值替换缺失值。在这里我们将其设置为“Min”。 模型评估 现在我们将根据MAE和R2得分来评估我们的模型这是最常见的回归模型指标。 # Make predictions on the test set y_pred model.predict(test_pool) # Evaluate the model mae mean_absolute_error(y_test, y_pred) r2 r2_score(y_test, y_pred)print(fMean Absolute Error (MAE): {mae:.2f}) print(fR2 Score: {r2:.4f}) 输出 Mean Absolute Error (MAE): 17666.19 R2 Score: 0.9000此代码使用预先训练的模型model对测试集进行预测。然后使用平均绝对误差MAE和R平方R2分数评估模型对测试数据的性能这些分数提供了关于模型拟合优度和准确性的信息。 总结 我们可以得出结论缺失值在现实世界的数据集中非常常见但我们需要有效地处理它们因为它们会降低模型的性能。CatBoost有其内置机制来处理训练过程中数据集中的缺失值。我们的模型达到了90%的显著R2分数这表明缺失值得到了有效处理。但是我们还可以执行超参数调优以获得更准确的结果。
http://www.pierceye.com/news/329198/

相关文章:

  • 常州 招网站开发seo的名词解释
  • 二级域名网站seo竞价网站建设
  • 麻栗坡网站建设正规网站建设
  • 邯郸网站建设哪家好重庆app开发
  • 自学网站开发多久大型网站建站
  • 网站设计定制多少钱新增备案网站负责人
  • 匿名聊天网站开发网站关键字挖掘
  • 外国域名注册很多网站做网站的人找不到了
  • 好的学习网站打广告免费浏览器网站
  • 美团先做网站还是app学生网站建设的总结与评价
  • 网站建设代理网站wordpress微博
  • dw建设网站视频宁波seo优化项目
  • 网站里添加百度地图浙江网站建设公司
  • php网站开发最新需求排名优化百度
  • 网站制作的电话智慧校园信息门户网站建设
  • 网站备案申请福田企业网站优化方案
  • 企业网站seo怎么做有空间站的国家
  • Linux网站建设总结网站建设目的确定
  • 怎么做网站的内部链接wordpress 写php页面跳转
  • 推广自己的网站网页设计代码html文件怎么查
  • 网站在线制作软件邯郸公众号小程序制作
  • 网站后台生成静态页面天津百度推广电话号码
  • 网站单个页面301跳转湖南省建设局网站
  • 潮州网站建设十堰seo招聘
  • 企业网站建设公司公司系统优化的方法
  • 网站开发与sparkwordpress default
  • 品牌网站建设帮你大蝌蚪北京做网站建设的公司排名
  • 中国建设第一平台网站网络网站建设10大指标
  • 书画院网站源码网站主题模板下载不了
  • 邢台制作网站网上申报流程