机器学习
5.24
你的第一个机器学习案例
(案例来源于石禹龙师兄)(得到兆寅的大力帮助)
确定环境
22221
22
172.21.85.8
jawang
下载Visual Studio Code
在MobaXterm上172.21.85.8服务器上,建立hzt/deep learn文件。文件夹下安装模块
- pip install pandas
- python -m pip install jupyter notebook -U
- python -m pip install -U matplotlib
- # Load libraries加载数据库
- import pandas
- from pandas.plotting import scatter_matrix
- import matplotlib.pyplot as plt
- from sklearn import model_selection
- from sklearn.metrics import classification_report
- from sklearn.metrics import confusion_matrix
- from sklearn.metrics import accuracy_score
- from sklearn.linear_model import LogisticRegression
- from sklearn.tree import DecisionTreeClassifier
- from sklearn.neighbors import KNeighborsClassifier
- from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
- from sklearn.naive_bayes import GaussianNB
- from sklearn.svm import SVC
6.26
归一化(Normalization)是一种数据预处理技术,用于调整数据的范围或分布,使其在特定的标准范围内。这在机器学习、数据挖掘和统计分析中非常重要,因为它可以提高算法的性能和稳定性。
归一化的主要目的是将不同量纲或范围的数据转换到相同的尺度上,避免某些特征由于量纲较大而对模型训练产生不合理的影响。常见的归一化方法包括最小-最大归一化、z-score归一化等。
常见的归一化方法
- 最小-最大归一化(Min-Max Normalization)
- 将数据缩放到[0, 1]的范围内。
z-score归一化(Z-score Normalization)
- 将数据转换为均值为0,标准差为1的正态分布。
小数定标归一化(Decimal Scaling)
- 通过移动小数点的位置将数据缩放。
为什么需要归一化?
- 提高模型训练速度和性能:
- 归一化后的数据可以加速梯度下降的收敛速度,提高模型训练的效率。
- 提升模型的稳定性和精度:
- 归一化可以减少由于量纲不同而导致的数值问题,防止某些特征对模型的影响过大。
- 提高不同特征的可比性:
- 通过归一化,不同特征的数据可以在同一尺度上进行比较和分析。
应用场景
- 机器学习:许多机器学习算法(如K-means、SVM、神经网络等)对数据的尺度敏感,归一化可以显著提高这些算法的性能。
- 图像处理:在图像处理中,像素值通常归一化到[0, 1]范围内,以便更好地处理和分析图像。
- 金融数据分析:在分析股票价格等金融数据时,归一化可以使不同股票的数据具有可比性。
归一化是数据预处理中的一个重要步骤,它可以帮助我们提高模型的性能和稳定性,使数据更具可比性和可操作性。