首页 > 解决方案 > 为什么模型的准确性会发生变化?

问题描述

我在 ML 领域还是个新手。我想知道..当我使用'random_state = 10'时,变量保持不变并且没有任何变化也不会影响模型的准确性..直到现在一切都很好..但是当我不使用它时,变量发生了变化,它改变了模型的准确性,现在变量不同了,但它们仍然在同一个数据框中,我认为准确性仍然是相同的..这就是机器学习中的工作方式吗?还是我错过了什么?这是我的代码。

X =df[["Mileage","Age(yrs)"]]
y=df["Sell Price($)"]

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2)

from sklearn.linear_model import LinearRegression
clf=LinearRegression()

clf.fit(X_train,y_train)
clf.predict(X_test)
>>>array([ 38014.9266005 ,  14240.40458389,  33695.58936258,  29870.44475795])

y_test

>>>3  40000
   8  12000
   1  34000
   4  31500


clf.score(X_test,y_test)
>>>0.97343231831177046

标签: pythonmachine-learningscikit-learnlinear-regression

解决方案


您提到的随机状态是来自 sklearn 模块的参数。它基本上告诉模块以特定方式拆分。通常使用随机状态 = 42。使用时,训练数据和测试数据以相同的方式拆分。当您希望其他人测试您的模型或每次都保持相同的拆分时,这非常有用。我建议你使用随机状态 = 42。


推荐阅读