机器学习

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]范围内,以便更好地处理和分析图像。
  • 金融数据分析:在分析股票价格等金融数据时,归一化可以使不同股票的数据具有可比性。
归一化是数据预处理中的一个重要步骤,它可以帮助我们提高模型的性能和稳定性,使数据更具可比性和可操作性。