我一直在尝试下载sqlite3@4.2.0,但它一直给我一个错误。以下是尝试运行时的日志npm install:
npm WARN deprecated node-pre-gyp@0.11.0: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
> sqlite3@4.2.0 install /Users/crypthusiast0/Dev/nodejs/auction-flipper/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build
node-pre-gyp WARN Using needle for node-pre-gyp https download
node-pre-gyp WARN Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.2.0/node-v83-darwin-arm64.tar.gz
node-pre-gyp WARN Pre-built binaries not found for sqlite3@4.2.0 and node@14.17.0 (node-v83 ABI, unknown) (falling back to source compile with node-gyp)
No receipt for 'com.apple.pkg.CLTools_Executables' found at …Run Code Online (Sandbox Code Playgroud) 就性能和准确性而言,解决此回归问题的最佳方法是什么?在这种情况下,特征重要性会有帮助吗?我该如何处理如此大范围的数据?
请注意,我不是这方面的专家,所以我可能有关于为什么事情/方法不起作用的错误信息或理论。
数据:每个项目都有一个id和各种属性。大多数物品具有相同的属性,但是有一些特殊物品具有物品特定的属性。一个例子看起来像这样:
item = {
"item_id": "AMETHYST_SWORD",
"tier_upgrades": 1, # (0-1)
"damage_upgrades": 15, # (0-15)
...
"stat_upgrades": 5 # (0-5)
}
Run Code Online (Sandbox Code Playgroud)
任何属性与该项目的值之间都是线性关系;如果属性的级别增加,则其值也增加,反之亦然。然而,1级升级不一定是2级升级价值的1/2;每个级别增加的附加值是不同的。每次升级的价值在物品之间并不是恒定的,没有升级的物品的价格也不是恒定的。所有属性的上限都为某个整数,但并非所有属性都恒定。
随着物品获得更高级别的升级,它们也更有可能进行其他高级升级,这就是为什么价格在升级级别 10+ 时开始出现更陡峭的原因。
收集的数据:我收集了有关这些物品的价格以及这些升级的各种不同组合的大量数据。请注意,每次升级永远不会有每种组合,这就是为什么我必须对这个问题进行某种预测。
就经济和定价而言,无法从商店直接购买的高等级、低掉落几率的物品将根据纯粹的需求/供应来定价。然而,需要一定成本来解锁/购买的中间层物品通常会比获取成本稍高一些。
有些升级是二进制的(范围从 0 到 1)。如下所示,几乎所有点都tier_upgrades == 0与 的下半部分重叠tier_upgrades == 1,我认为这可能会导致任何类型的回归出现问题。
到目前为止所做的尝试:我尝试过线性回归、K 最近邻搜索,并尝试制定自定义算法(更多内容见下文)。
回归:它有效,但误差很大。由于我正在处理的数据的性质,许多特征不是 1 就是 0 和/或有很多重叠。据我了解,这会在模型中产生大量噪声并降低其准确性。我也不确定它扩展到多个项目的效果如何,因为每个项目的价值都是相互独立的。除此之外,从理论上讲,回归应该有效,因为不同的属性会线性影响项目的价值。
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from sklearn import linear_model
x = df.drop("id", axis=1).drop("adj_price", axis=1)
y = df.drop("id", axis=1)["adj_price"]
x_train, x_test, y_train, y_test …Run Code Online (Sandbox Code Playgroud)