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

北京各大网站推广平台哪家好站长全网指数查询

北京各大网站推广平台哪家好,站长全网指数查询,辽宁省网站制作公司排名,58直聘招聘网机器学习预处理-表格数据的空值处理 机器学习预处理-表格数据的分析与可视化中详细介绍了表格数据的python可视化,可视化能够帮助我们了解数据的构成和分布,是我们进行机器学习的必备步骤。上文中也提及,原始的数据存在部分的缺失&#xff0…

机器学习预处理-表格数据的空值处理

机器学习预处理-表格数据的分析与可视化中详细介绍了表格数据的python可视化,可视化能够帮助我们了解数据的构成和分布,是我们进行机器学习的必备步骤。上文中也提及,原始的数据存在部分的缺失,需要进行数据的空值处理,下面进行介绍。

PY工程下载:机器学习预处理-表格数据的空值处理-py工程

目录

  • 机器学习预处理-表格数据的空值处理
      • 0、原始数据集空缺信息查看
      • 1、删除空值所在行
      • 2、删除空值所在列
      • 3、使用中位数、均值进行填补
      • 4、使用k-means算法进行补充

0、原始数据集空缺信息查看

使用下面代码进行数据集的加载,并查看数据集的描述信息:

import pandas as pd
import osHOUSING_PATH = os.path.join("datasets", "housing")  # 存储位置def load_housing_data(housing_path=HOUSING_PATH):csv_path = os.path.join(housing_path, "housing.csv")return pd.read_csv(csv_path)  # 返回 包含所有数据的pandas DataFrame对象housing = load_housing_data()
housing.info()#查看数据集属性描述

在这里插入图片描述

1、删除空值所在行

下面代码能够删除空值所在行,只要有空值,这一行都会被删除:

housing_drop_row = housing.dropna()  # 删除包含空值的行
housing_drop_row.info()  # 查看数据集属性描述
output_path = os.path.join(HOUSING_PATH, "housing_drop_row.csv")  # 定义保存清理后数据的路径和文件名
housing_drop_row.to_csv(output_path, index=False)  # index=False 表示不保存行索引,将清理后的数据保存到新的 CSV 文件中

删除后的无空值数据如下所示:
在这里插入图片描述

2、删除空值所在列

下面代码能够删除空值所在列,只要有空值,这一列都会被删除(从上面截图看一共有9列,删除之后变成了8列):

housing_drop_column = housing.dropna(axis=1)  # axis=1 表示按列操作
housing_drop_column.info()  # 查看数据集属性描述
output_path = os.path.join(HOUSING_PATH, "housing_drop_column.csv")  # 定义保存清理后数据的路径和文件名
housing_drop_column.to_csv(output_path, index=False)  # index=False 表示不保存行索引,将清理后的数据保存到新的 CSV 文件中

在这里插入图片描述

3、使用中位数、均值进行填补

# 遍历DataFrame的每一列,用该列的中位数填补空值
housing_fill_median = housing.copy()
for column in housing_fill_median.columns:# 跳过非数值列,因为中位数仅适用于数值数据if housing_fill_median[column].dtype in ['int64', 'float64']:# fill_value = housing_fill_median[column].median()  # 计算中位数fill_value = housing_fill_median[column].mean()  # 计算均值housing_fill_median[column] = housing_fill_median[column].fillna(fill_value)  # 直接赋值
housing_fill_median.info()
output_path = os.path.join(HOUSING_PATH, "housing_fill_median.csv")  # 定义保存清理后数据的路径和文件名
housing_fill_median.to_csv(output_path, index=False)  # index=False 表示不保存行索引,将清理后的数据保存到新的 CSV 文件中

其中,修改下面代码的注释切换使用中位数、均值进行填充:

# fill_value = housing_fill_median[column].median()  # 计算中位数
fill_value = housing_fill_median[column].mean()  # 计算均值

在这里插入图片描述

4、使用k-means算法进行补充

这是一种高级的方式,使用k-means对空值进行填充,如果部分数据是字符串的,则先对其进行编码后在进行K-Means 聚类处理

# 使用 K-Means 填充空值
# 定义填补函数
def fill_missing_with_kmeans(df, n_clusters=5):df = df.copy()label_encoders = {}# 对非数值型特征进行编码for column in df.select_dtypes(exclude=[np.number]).columns:le = LabelEncoder()# 注意空值先暂时填充为一个特殊字符 '<missing>',避免 LabelEncoder 出错df[column] = df[column].fillna('<missing>')df[column] = le.fit_transform(df[column])label_encoders[column] = le# 找到含有空值的列missing_columns = df.columns[df.isnull().any()]# 针对每一列进行填补for column in missing_columns:# 提取当前列非空的数据用于聚类non_missing_data = df.loc[df[column].notnull(), :]missing_data = df.loc[df[column].isnull(), :]# 如果整列为空,直接跳过if non_missing_data.empty:continue# 使用 K-Means 聚类kmeans = KMeans(n_clusters=n_clusters, random_state=42)cluster_features = non_missing_data.drop(columns=[column])kmeans.fit(cluster_features)# 将每个非空数据点分配到一个簇,并计算簇中心的均值cluster_labels = kmeans.labels_for cluster_idx in range(n_clusters):# 当前簇的数据cluster_data = non_missing_data.loc[cluster_labels == cluster_idx]if column in df.select_dtypes(include=[np.number]).columns:# 如果是数值型特征,用簇中心的均值填充cluster_mean = cluster_data[column].mean()else:# 如果是编码后的字符串特征,用簇中最频繁的值填充cluster_mean = cluster_data[column].mode().iloc[0]# 填充缺失数据中属于该簇的值cluster_missing_data = missing_data[kmeans.predict(missing_data.drop(columns=[column])) == cluster_idx]df.loc[cluster_missing_data.index, column] = cluster_mean# 反编码字符串特征for column, le in label_encoders.items():df[column] = le.inverse_transform(df[column].astype(int))return df# 填充数据中的缺失值
housing_fill_kmeans = fill_missing_with_kmeans(housing)
housing_fill_kmeans.info()
output_path = os.path.join(HOUSING_PATH, "housing_fill_kmeans.csv")  # 定义保存清理后数据的路径和文件名
housing_fill_kmeans.to_csv(output_path, index=False)  # index=False 表示不保存行索引,将清理后的数据保存到新的 CSV 文件中

在这里插入图片描述

http://www.dinnco.com/news/58896.html

相关文章:

  • wordpress 刷新 link企业网站关键词优化
  • wordpress后台添加底部菜单青岛seo精灵
  • 专业建站提供商首页关键词排名代发
  • 南充做网站电话web3域名注册
  • 做网站负责人风险google google
  • 武汉ui设计公司温州seo公司
  • 做网站时管理员权限的页面北京广告公司
  • 网站建设京icp备新网
  • 注册资金必须实缴吗广东seo推广外包
  • 商会网站制作互联网推广软件
  • 南宁营销型网站专家seo推广思路
  • 网站建设报价表下载百度灰色关键词代发
  • 北京做网站开发的公司小说排行榜
  • 网站搭建赚钱吗弹窗广告最多的网站
  • 刷网站跳出率seo优化排名价格
  • 建设网站设计微信营销软件免费版
  • 厦门市建设工程造价网站首页广告推广接单平台
  • 网站建设需要什么格式的图片谷歌推广怎么做最有效
  • 新手怎样做网站推广seo是搜索引擎营销吗
  • 做 爱 网站小视频安卓优化大师官方版本下载
  • 嘉兴网站建设的地方广告平台推广渠道
  • 个人做网站名称可以随意更改吗24小时人工在线客服
  • 网站建设平台对比太原seo网站排名
  • 云南省建设厅专家注册网站小红书推广引流软件
  • 网站建设公司如何生存百度的推广方式有哪些
  • 电商网站建设基础ppt网站seo优化案例
  • 做百科需要用什么网站做参考百度推广入口官网
  • 二次开发英语北京专业网站优化
  • wordpress published怎么做优化
  • 琼海市规划建设局网站网络游戏排行榜百度风云榜