小编E.Z*_*.Z.的帖子

uniform_real_distribution不统一

请帮我理解这一点.运行代码段后:

random_device randomEngine;
mt19937 generatorEngine(randomEngine());
uniform_real_distribution<double> unifRandomValue(
                                       numeric_limits<double>::min(), 
                                       numeric_limits<double>::max());

double test[1000];
for (int i{ 0 }; i < 1000; ++i) {
    test[i] = unifRandomValue(generatorEngine);
}
Run Code Online (Sandbox Code Playgroud)

为什么每个生成的值都在该范围内[1.0E306, 1.8E308]?我期待一个随机值从0到0的最大值均匀分布.

提前致谢!


这是一个更完整的例子:

const size_t size{ 1000 };
std::random_device randomEngine;
std::mt19937 generatorEngine(randomEngine());
std::uniform_real_distribution<double> unifRandomValue(
                                std::numeric_limits<double>::min(), 
                                std::numeric_limits<double>::max());

std::array<double, size> test;
for (int i{ 0 }; i < size; ++i) {
    test[i] = unifRandomValue(generatorEngine);
}

auto minMaxIt = std::minmax_element(test.begin(), test.end());

// average without overflow
double average{ 0.0 };
for (int i{ 0 }; i …
Run Code Online (Sandbox Code Playgroud)

c++ random

26
推荐指数
1
解决办法
2443
查看次数

需要在`model.evaluate()`之前编译Keras模型

我打开一个Keras从模型以.json.hdf5文件.当我调用时model.evaluate(),它返回一个错误:

您必须在训练/测试之前编译模型.使用`model.compile(优化器,丢失)

为什么我需要编译才能运行evaluate()

要添加,模型可以predict()毫无问题地传递.

keras

12
推荐指数
1
解决办法
9727
查看次数

Scikit-Learn Vectorizer`max_features`

如何选择模块中max_features参数的编号TfidfVectorizer?我应该使用数据中的最大元素数量吗?

参数的描述并没有让我清楚地了解如何为它选择值:

max_features:int或None,默认= None

如果不是None,则构建一个词汇表,仅考虑语料库中按术语频率排序的最高max_features.如果词汇表不是None,则忽略此参数.

scikit-learn

8
推荐指数
1
解决办法
8096
查看次数

`warm_start` 参数及其对计算时间的影响

我有一个带有一组定义的参数 ( ) 的逻辑回归warm_start=True模型。

与往常一样,我调用LogisticRegression.fit(X_train, y_train)并使用模型来预测新的结果。

假设我改变一些参数,并使用相同的训练数据C=100再次调用方法。.fit


.fit从理论上讲,我认为与 的模型相比,第二次应该花费更少的计算时间warm_start=False。然而,根据经验来看,事实并非如此。

请帮我理解参数的概念warm_start

PS:我也进行了SGDClassifier()实验。

gradient-descent scikit-learn logistic-regression hyperparameters

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

Pandas `read_csv` 方法使用过多内存

我目前正在Kaggle上使用Rotten Tomatoes 数据集,同时使用Pandas来操作数据。 DataFrame()

我已经CountVectorizer()sklearn 中实现了提取特征(大小为 5000)。然后我将 100k 行特征和标签保存到.csv。更准确地说,.csv总共有 10 万行和 5001 列。它的大小大约是 1GB 的内存。

当我尝试阅读.csv 时,问题出现了:

pd.read_csv('train.csv', header=0, 
             delimiter=",", engine='c', na_filter=False, dtype=np.int64)
Run Code Online (Sandbox Code Playgroud)

CSV解析器使用了过多的 RAM。我的系统上有 8GB 的​​ RAM,这显然不够。

有什么办法可以减少RAM的使用吗?我不受熊猫图书馆的限制。

python csv pandas scikit-learn

2
推荐指数
1
解决办法
2593
查看次数

Scikit-Learn版本未更新

我正在尝试scikit-learn通过来更新库pip,但由于发生错误而未能成功。

我最初使用以下命令更新了它:

sudo pip install -U  scikit-learn 
Run Code Online (Sandbox Code Playgroud)

虽然,它说:

Requirement already up-to-date: scikit-learn in /usr/local/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)

我所关心的是它是最新版本 0.19.0

但是当我直接在Python解释器中检查版本时,它返回0.16.1

>>> import sklearn
>>> print sklearn.__version__
0.16.1
Run Code Online (Sandbox Code Playgroud)

如何更新到最新版本?

python pip python-2.7 scikit-learn

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

K-Means 聚类性能基准测试

我有 157 维的数据,有 688 个数据点。我想用数据进行聚类。

由于 K-Means 是最简单的算法,因此我决定从这种方法开始。

这是 Sklearn 函数调用:

KMeans(init='k-means++', n_clusters=4, n_init=10), name="k-means++", data=sales)

以下是一些输出指标:

init                  time    inertia   homo   compl  v-meas     ARI     AMI  num_clusters
k-means++             0.06s    38967   0.262   0.816   0.397   0.297   0.250      4
k-means++             0.05s    29825   0.321   0.847   0.466   0.338   0.306      6
k-means++             0.07s    23131   0.411   0.836   0.551   0.430   0.393      8
k-means++             0.09s    20566   0.636   0.817   0.715   0.788   0.621     10
k-means++             0.09s    18695   0.534   0.794   0.638   0.568   0.513     12
k-means++             0.11s    16805   0.773   0.852   0.810   0.916   0.760     14 …
Run Code Online (Sandbox Code Playgroud)

cluster-analysis k-means unsupervised-learning scikit-learn

-1
推荐指数
1
解决办法
1962
查看次数