数学建模国赛:python机器学习基础之数据归一化、去除空值

简介: 数学建模国赛:python机器学习基础之数据归一化、去除空值

首先我们要明确为什么要将数据归一化或者说是标准化,因为不同数据范围相差太大,不好比较,所以要消除不同量纲单位带来的影响,归一化后各数据指标处于同一数量级,适合进行综合对比评价


想要数据集或者有什么不明白的可以点赞关注后私信答主


归一化一般是把数据调整到[0,1]范围内


每一列处理公式是 (x-min)/(max-min)max min为那一列的最大和最小值


原数据如下:

1666425358669.jpg

归一化后数据如下:

1666425373956.jpg

代码如下

from sklearn import  preprocessing
import pandas as pd
import  numpy as np
def MaxMinNormalizetion(x):
    shapeX=x.shape
    rows=shapeX[0]
    cols=shapeX[1]
    headers=list(x)
    result=pd.DataFrame(columns=headers)
    for i in range(0,rows,1):
        dict1={}
        dict1[headers[0]]=x['No'][i]
        for j in range(1,cols,1):
            maxcol=x[headers[j]].max()
            mincol=x[headers[j]].min()
            val=(x.iloc[i,j]-mincol)/(maxcol-mincol)#一般是(x-min)/(max-min)进行归一化处理
            dict1[headers[j]]=val
        result=result.append(dict1,ignore_index=True)
    return result
data1=pd.read_csv(r'CatInfo.csv')
print('original data\n',data1)
newdata=MaxMinNormalizetion(data1)
print('归一化的数据\n',newdata)


但是眼尖的同学可以发现里面是有空值的 这对我们进行后续的运算是非常不利的 我们要把他消除

1666425401485.jpg

消除空值后如下

1666425411862.jpg

代码如下

from sklearn import  preprocessing
import pandas as pd
import  numpy as np
print("去除空值并且归一化处理")
y=data1.dropna(axis=0).iloc[:,1:]#去除空值
min_max_scaler=preprocessing.MinMaxScaler()
x_minmax=min_max_scaler.fit_transform(y)
print(x_minmax)


想要数据集或者有什么不明白的可以点赞关注后私信答主


相关文章
|
11天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
40 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
14天前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到Python代码实践
【10月更文挑战第36天】本文将深入浅出地介绍机器学习的基本概念、主要算法及其在Python中的实现。我们将通过实际案例,展示如何使用scikit-learn库进行数据预处理、模型选择和参数调优。无论你是初学者还是有一定基础的开发者,都能从中获得启发和实践指导。
31 2
|
16天前
|
机器学习/深度学习 数据采集 搜索推荐
利用Python和机器学习构建电影推荐系统
利用Python和机器学习构建电影推荐系统
32 1
|
16天前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
40 1
|
17天前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
25 1
|
18天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
18天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
17天前
|
索引 Python
SciPy 空间数据1
SciPy 通过 `scipy.spatial` 模块处理空间数据,如判断点是否在边界内、计算最近点等。三角测量是通过测量角度来确定目标距离的方法。多边形的三角测量可将其分解为多个三角形,用于计算面积。Delaunay 三角剖分是一种常用方法,可以对一系列点进行三角剖分。示例代码展示了如何使用 `Delaunay()` 函数创建三角形并绘制。
25 0
|
5天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
11天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。

热门文章

最新文章

下一篇
无影云桌面