在机器学习中标准化数据集会降低准确性吗?

时间:2020-04-19 18:58:49

标签: python machine-learning scikit-learn logistic-regression

起初,我对虹膜数据集使用常规逻辑回归,得出的准确度为0.977,下一次对数据集进行预处理时,得出的准确度为0.955。为什么会这样呢?

from sklearn.linear_model import LogisticRegression
import sklearn.metrics as metrics
logreg= LogisticRegression()
xtrain, xtest, ytrain, ytest= train_test_split(x,y, test_size= 0.3, random_state= 1)

logreg.fit(xtrain, ytrain)
ypred1= logreg.predict(xtest)
print(metrics.accuracy_score(ytest, ypred1))

具有预处理的模型

logreg= LogisticRegression()
xtrain, xtest, ytrain, ytest= train_test_split(x,y, test_size= 0.3, random_state= 1)

sc1 = StandardScaler()
sc1.fit(x_train)
X_train_std1 = sc1.transform(xtrain)
X_test_std1 = sc1.transform(xtest)

logreg.fit(X_train_std1, ytrain)
ypred1= logreg.predict(X_test_std1)
print(metrics.accuracy_score(ytest, ypred1))

1 个答案:

答案 0 :(得分:0)

在机器学习中标准化数据集会降低准确性吗? -简短答案,不。

数据规范化主要与收敛性有关,与准确性无关。但是,有些模型假定数据是特定分布的,在这种情况下,规范化可能变得非常重要。

enter image description here

在情况1中,功能未进行标准化,因此优化算法的路径稍长;对于情况2,在所有方向上均相等,因此收敛速度稍快,但是此示例强烈适用于最小-最大,单位向量归一化。

逻辑回归的一些假设:

  1. 观察结果应该彼此独立
  2. 自变量之间很少或没有多重共线性
  3. 独立变量与对数几率线性相关

但是,逻辑回归不假设数据归一化。因此,这不是拟合逻辑回归模型的必要步骤。

假设是错误的,归一化将提高模型的准确性。

平均居中和缩放到单位方差通常是有用的,但这都取决于数据的属性。

如果您的数据不规则,那么平均减法可能会损害逻辑回归的任何强大假设,例如由于数字原因而引入一些非线性,从而使某些特征偏向导致精度降低的方向。