小编FCh*_*Chm的帖子

sklearn 模型是什么类型?

我正在编写一些代码,根据某些数据评估不同的 sklearn 模型。我正在使用类型提示,既是为了我自己的教育,也是为了帮助最终必须阅读我的代码的其他人。

我的问题是如何指定 sklearn 预测器的类型(例如LinearRegression())?

例如:

def model_tester(model : Predictor,
                 parameter: int
                 ) -> np.ndarray:
     """An example function with type hints."""

     # do stuff to model 

     return values
Run Code Online (Sandbox Code Playgroud)

我看到打字库可以创建新类型,或者我可以TypeVar用来做:

Predictor = TypeVar('Predictor') 
Run Code Online (Sandbox Code Playgroud)

但如果 sklearn 模型已经有传统类型,我就不想使用它。

检查 LinearRegression() 的类型产生:

 sklearn.linear_model.base.LinearRegression
Run Code Online (Sandbox Code Playgroud)

这显然很有用,但前提是我对 LinearRegression 模型感兴趣。

python scikit-learn

14
推荐指数
4
解决办法
2518
查看次数

为什么带有稀疏列的 Pandas 数据框会占用更多内存?

我正在处理具有混合稀疏/密集列的数据集。由于稀疏列的数量大大超过了密集列的数量,我想看看是否可以使用Pandas 中的稀疏数据结构以有效的方式存储这些列。但是,在测试功能时,我发现具有稀疏列的数据框似乎占用更多内存,请考虑以下示例:

import numpy as np
import pandas as pd

a = np.zeros(10000000)
b = np.zeros(10000000)
a[3000:3100] = 2
b[300:310] = 1

df = pd.DataFrame({'a':pd.SparseArray(a), 'b':pd.SparseArray(b)})
print(df.info())
Run Code Online (Sandbox Code Playgroud)

这打印memory usage: 228.9 MB. 下一个:

df = pd.DataFrame({'a':a, 'b':b})
print(df.info())
Run Code Online (Sandbox Code Playgroud)

这打印memory usage: 152.6 MB.

非稀疏数据帧占用的空间更少吗?我误会了吗?

安装信息:

  • 熊猫 0.25.0
  • 蟒蛇 3.7.2

python dataframe pandas

5
推荐指数
1
解决办法
970
查看次数

如何在 XGBoost 库的 plot_tree 函数中包含特征名称?

我一直在使用XGBoost库来开发二进制分类模型。训练我的模型后,我对可视化单个树感兴趣,以更好地理解我的模型预测。

为此,XGBoost 提供了一个plot_tree函数,但它只显示特征的整数索引。这是我的一棵树的示例:

如何在此图像中包含特征名称而不是特征索引 ( f28)?

python xgboost

0
推荐指数
1
解决办法
1745
查看次数

标签 统计

python ×3

dataframe ×1

pandas ×1

scikit-learn ×1

xgboost ×1