我怎样才能获得不在给定索引列表中的pandas DataFrame的元素?
一个简单的例子:
import pandas as pd
import numpy as np
A = np.linspace(10, 100, 10)
A = pd.DataFrame(A, columns=["A"])
ind = [x for x in range(1, 4)]
print(A.iloc[ind])
Run Code Online (Sandbox Code Playgroud)
所以例如,现在我想获得所有不在ind中的元素(所以索引0,5,6,7,8,9)......
谢谢您的帮助!
我目前正在研究用于图像分析的神经网络模型,使用 MNIST 数据集。我首先只使用图像来构建第一个模型。然后我创建了一个附加变量,它是:当数字实际上在 0 和 4 之间时为 0,当它大于或等于 5 时为 1。
因此,我想构建一个可以获取以下两个信息的模型:数字的图像以及我刚刚创建的附加变量。
我创建了两个第一个模型,一个用于图像,一个用于外生变量,如下所示:
import tensorflow as tf
from tensorflow import keras
image_model = keras.models.Sequential()
#First conv layer :
image_model.add( keras.layers.Conv2D( 64, kernel_size=3,
activation=keras.activations.relu,
input_shape=(28, 28, 1) ) )
#Second conv layer :
image_model.add( keras.layers.Conv2D( 32, kernel_size=3, activation=keras.activations.relu ) )
#Flatten layer :
image_model.add( keras.layers.Flatten() )
print( image_model.summary(), '\n' )
info_model = keras.models.Sequential()
info_model.add( keras.layers.Dense( 5, activation=keras.activations.relu, input_shape=(1,) ) )
print( info_model.summary() )
Run Code Online (Sandbox Code Playgroud)
然后我想连接最后两个层,最后用 softmax 放置另一个密集层来预测类概率。
我知道使用 Keras 功能 API 是可行的,但是如何使用 …
当使用这两个 API 执行逻辑回归时,它们给出不同的系数。即使使用这个简单的示例,它在系数方面也不会产生相同的结果。我遵循关于同一主题的旧建议的建议,例如在 sklearn 中为参数 C 设置一个大值,因为它使惩罚几乎消失(或设置惩罚 =“无”)。
import pandas as pd
import numpy as np
import sklearn as sk
from sklearn.linear_model import LogisticRegression
import statsmodels.api as sm
n = 200
x = np.random.randint(0, 2, size=n)
y = (x > (0.5 + np.random.normal(0, 0.5, n))).astype(int)
display(pd.crosstab( y, x ))
max_iter = 100
#### Statsmodels
res_sm = sm.Logit(y, x).fit(method="ncg", maxiter=max_iter)
print(res_sm.params)
#### Scikit-Learn
res_sk = LogisticRegression( solver='newton-cg', multi_class='multinomial', max_iter=max_iter, fit_intercept=True, C=1e8 )
res_sk.fit( x.reshape(n, 1), y )
print(res_sk.coef_)
Run Code Online (Sandbox Code Playgroud)
例如,我只是运行上面的代码并获得 1.72276655 的 …
python machine-learning scikit-learn statsmodels logistic-regression