我在专门的 Windows 环境中使用 WSL,因为有许多工具仅适用于 Linux。我经常以编程方式连接到数据库,并且希望能够在不指定我的登录信息的情况下做到这一点。例如在 Python 中通过 Windows我可以这样做:
import pymssql
con = pymssql.connect(server, port)
Run Code Online (Sandbox Code Playgroud)
并且该连接无需指定任何凭据即可完成,因为我的 AD 帐户可以访问服务器,而 pymssql 将在未指定凭据时使用 Windows 身份验证。
然而,在 WSL 上运行的 python 中,这不起作用,因此要建立相同的连接,我必须另外传递user
和password
参数。
有什么办法可以让 WSL 在运行 Linux 进程时继承 Windows 身份验证?
windows windows-authentication windows-10 windows-subsystem-for-linux
阅读了有关推荐系统的广泛和深入模型的论文后,我有兴趣尝试类似的东西。然而,我正在努力概念化他们在论文中使用的跨产品转换是如何完成的。DNNLinearCombinedClassifier 的教程演示了如何使用 tensorflow.feature_columns.crossed_columns 来执行该转换,但是该实现仅在要交叉的两列之间的一对一关系中才有意义(即创建交叉列“workclass_x_education”时) ,对于数据集中的每个样本,只有一个工作类别值和一个教育值)。在谷歌的论文中他们说:
广泛组件包括用户安装应用程序和印象应用程序的跨产品转换
另外:
每个示例对应一个印象。标签是应用程序获取:如果安装了印象深刻的应用程序,则为 1,否则为 0。
据我所知,每个样本都是一次印象,并且有一个“印象深刻的应用程序”功能,详细说明了该印象所营销的应用程序。在这种情况下,不可能有一个“已安装的应用程序”的功能,因为用户在印象时可能有数百个已安装的应用程序。这很令人困惑,因为论文中的数字确实暗示它是一个单一的特征:
我是否应该将“用户安装的应用程序”分类功能解释为不作为单个功能,而实际上作为其数据集,每个应用程序都有一个功能,并带有二进制标志,表示用户是否安装了该应用程序,以及复制此功能在张量流中我需要做类似的事情......
app_list = ['app1', 'app2', 'app3', 'app4', ...]
installed_app_features = ['app1_installed', 'app2_installed', 'app3_installed', 'app4_installed', ...]
impressed_app = tf.feature_column.categorical_column_with_vocabulary_list(key='impressed_app', vocabulary_list=app_list)
installed_apps = []
crossed_features = []
for app in installed_app_features:
feature = tf.feature_column.categorical_column_with_vocabulary_list(key='app', vocabulary_list=[0,1])
installed_apps.append(feature)
crossed_features.append(
tf.feature_column.crossed_column(
[impressed_app, feature],
100
)
)
Run Code Online (Sandbox Code Playgroud)
...或者我只是完全错过了一些东西并且需要以不同的方式思考这个问题?
非常感谢您提供的任何帮助。
担
python recommendation-engine machine-learning neural-network tensorflow
我有一个 Pandas 系列,每行包含一个字符串数组:
0 []
1 []
2 []
3 []
4 [0007969760, 0007910220, 0007910309]
...
243223 []
243224 [0009403370]
243225 [0009403370, 0007190939]
243226 []
243227 []
Name: Item History, Length: 243228, dtype: object
Run Code Online (Sandbox Code Playgroud)
我的目标是在这里做一些简单的序数编码,但要尽可能高效(在时间和内存方面),但有以下注意事项:
[101]
)。显而易见的问题是“你为什么不只使用 sklearn 的 OrdinalEncoder”。好吧,除了没有未知的项目处理程序之外,以这种方式按行应用实际上也非常慢(我们必须将它放在所有不同字符串的组合单个数组上,然后用于Series.apply(lambda x: oe.transform(x))
转换每一行),因为它必须做一些字典理解来为每一行构建映射表,这需要时间。每次通话的时间不是很多,只有大约 0.01 秒,但是对于我拥有的数据量来说,这仍然太慢了。
一种解决方案是从每一行部分中取出 dict 理解,并在遍历行之前构建一个映射表,如在此函数中所示:
def encode_labels(X, table, noHistory, unknownItem):
res = np.empty(len(X), dtype=np.ndarray)
for i in range(len(X)):
if len(X[i]) == 0:
res[i] = np.array([noHistory])
else: …
Run Code Online (Sandbox Code Playgroud) 很难说出这一个的标题.
我有一个数据表,每个发票包含一行.例如:
| Invoice ID | Customer Key | Date | Value | Something |
| ---------- | ------------ | ---------- | ------| --------- |
| 1 | A | 08/02/2019 | 100 | 1 |
| 2 | B | 07/02/2019 | 14 | 0 |
| 3 | A | 06/02/2019 | 234 | 1 |
| 4 | A | 05/02/2019 | 74 | 1 |
| 5 | B | 04/02/2019 | 11 | 1 | …
Run Code Online (Sandbox Code Playgroud) python ×2
c ×1
encoding ×1
numpy ×1
optimization ×1
sql-server ×1
t-sql ×1
tensorflow ×1
windows ×1
windows-10 ×1