python - 为什么模型的准确性会发生变化?
问题描述
我在 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
解决方案
您提到的随机状态是来自 sklearn 模块的参数。它基本上告诉模块以特定方式拆分。通常使用随机状态 = 42。使用时,训练数据和测试数据以相同的方式拆分。当您希望其他人测试您的模型或每次都保持相同的拆分时,这非常有用。我建议你使用随机状态 = 42。
推荐阅读
- sqlite - 从另一个表的特定列中的多个值中检索一个表的 SQLite 数据
- c++ - 如何使用二进制文件将矩阵导入犰狳?
- next.js - NextJS 加载视频和图片
- split - 我有一个字符串。我想用“/”分隔。并且只打印 react js 中的“item_images”部分。请帮帮我我该怎么做
- google-cloud-platform - 等待创建 DomainMapping 时出错:资源处于失败状态“Ready:False”,消息:Route XXX 不存在
- python - Python Django 无法转到另一个页面中的所需链接
- javascript - 为什么通过 JavaScript 添加样式不起作用
- python - 有没有办法简化这个 if 语句?
- ios - 返回视图时Swift Timer不会重新启动
- javascript - Vue 3 中的 SSR 和 keep-alive 问题:动态组件