小编Dar*_*ina的帖子

Keras和Sklearn logreg返回不同的结果

我正在将Keras编写的逻辑回归器的结果与默认的Sklearn Logreg进行比较.我的输入是一维的.我的输出有两个类,我对输出属于类1的概率感兴趣.

我期待结果几乎相同,但它们甚至都不是很接近.

以下是我生成随机数据的方法.请注意,X_train,X_test仍然是向量,我只是使用大写字母,因为我已经习惯了.在这种情况下也不需要缩放.

X = np.linspace(0, 1, 10000)
y = np.random.sample(X.shape)
y = np.where(y<X, 1, 0)
Run Code Online (Sandbox Code Playgroud)

这是在X上绘制的y.在这里做回归不是火箭科学.

这里是在x上绘制的

我做一个标准的火车测试分裂:

X_train, X_test, y_train, y_test = train_test_split(X, y)
X_train = X_train.reshape(-1,1)
X_test = X_test.reshape(-1,1)
Run Code Online (Sandbox Code Playgroud)

接下来,我训练一个默认的逻辑回归量:

from sklearn.linear_model import LogisticRegression
sk_lr = LogisticRegression()
sk_lr.fit(X_train, y_train)
sklearn_logreg_result = sk_lr.predict_proba(X_test)[:,1]
Run Code Online (Sandbox Code Playgroud)

我在Keras写的一个逻辑回归量:

from keras.models import Sequential
from keras.layers import Dense
keras_lr = Sequential()
keras_lr.add(Dense(1, activation='sigmoid', input_dim=1))
keras_lr.compile(loss='mse', optimizer='sgd', metrics=['accuracy'])
_ = keras_lr.fit(X_train, y_train, verbose=0)
keras_lr_result = keras_lr.predict(X_test)[:,0]
Run Code Online (Sandbox Code Playgroud)

一个手工制作的解决方案:

pearson_corr = np.corrcoef(X_train.reshape(X_train.shape[0],), y_train)[0,1]
b = pearson_corr * …
Run Code Online (Sandbox Code Playgroud)

scikit-learn logistic-regression keras

11
推荐指数
1
解决办法
456
查看次数

pympler引发TypeError

在python2.7中,遵循pympler 示例:

from anotherfile import somefunction, somecustomclass
from os import path, listdir
import pandas as pd
import gc
from pympler import tracker, muppy, summary

all_objects = muppy.get_objects()
print 'all objects: ', len(all_objects)
sum1 = summary.summarize(all_objects)
summary.print_(sum1)
Run Code Online (Sandbox Code Playgroud)

这是导入后的第一个代码.它导致了

/usr/bin/python2.7 /myprog.py
all objects:  98755
Traceback (most recent call last):
File "/myprog.py", line 12, in <module>
sum1 = summary.summarize(all_objects)
File "/usr/local/lib/python2.7/dist-packages/pympler/summary.py", line 131, in summarize
total_size[otype] = _getsizeof(o)
File "/usr/local/lib/python2.7/dist-packages/pandas/core/base.py", line 130, in __sizeof__
return super(self, PandasObject).__sizeof__()
TypeError: super() argument 1 must …
Run Code Online (Sandbox Code Playgroud)

python memory-leaks memory-management python-2.7

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

是否可以在 Java 中加载 TensorFlow 2.0 模型?

无法在 Google 上找到答案,这里提出的问题似乎都很接近,但又不尽相同。对不起,如果我忽略了什么。

目前是否已经可以在 Java 8 中加载用 Python TensorFlow 2.0.0-beta1 编写的模型?该模型将使用 Keras Sequential API。如果这是可能的,我感谢指向适当文档的指针。

java tensorflow tensorflow2.0

7
推荐指数
1
解决办法
1341
查看次数