deeplink是标签吗
时间: 2023-05-26 15:02:19 浏览: 117
deeplink不是标签,而是一种链接形式。它是一种指向应用程序内特定页面或功能的链接,而不是指向整个应用程序的链接。 Deeplink 可以直接将用户定向到应用程序的特定页面,而不需要用户手动打开应用程序并浏览到特定页面。
相关问题
android deeplink流程,Android Deeplink探究
Android Deeplink是指通过URL链接直接跳转到应用程序中的特定页面的功能。下面是Android Deeplink的流程:
1. 配置Deeplink
首先,需要在应用程序的AndroidManifest.xml文件中定义Deeplink。在intent-filter标签中添加一个action和一个category,并制定一个data元素,来指定Deeplink的URI。
例如,以下代码片段指定了一个Deeplink,当用户点击链接“example://detail/123”时,应用程序将打开一个详情页面:
```
<activity android:name=".DetailActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="example"
android:host="detail"
android:pathPrefix="/123" />
</intent-filter>
</activity>
```
2. 处理Deeplink
当用户点击Deeplink时,Android系统将启动应用程序,并将URI传递给应用程序的onCreate()方法。应用程序可以通过使用以下代码来获取URI:
```
Uri uri = getIntent().getData();
```
然后,应用程序可以解析URI,并根据需要执行操作。例如,如果URI包含标识符,则应用程序可能会打开对应的页面或执行相应的操作。
3. 测试Deeplink
最后,可以测试Deeplink是否正常工作。可以使用adb shell命令来模拟Deeplink:
```
adb shell am start -a android.intent.action.VIEW -d "example://detail/123"
```
这将模拟用户点击链接“example://detail/123”,并启动应用程序。如果一切正常,应用程序应该会打开一个详情页面。
总的来说,Android Deeplink是一个非常有用的功能,可以帮助应用程序提高用户体验和功能。在实现Deeplink时,需要注意URI的格式和参数的解析,以确保Deeplink正常工作。
运用DeepWalk 对图进行嵌入并使用逻辑回归进行链路预测的 Python 代码
以下是使用DeepWalk进行图嵌入和逻辑回归进行链路预测的Python代码:
首先,安装依赖库:
```python
!pip install networkx
!pip install gensim
!pip install scikit-learn
```
然后,导入必要的库:
```python
import networkx as nx
import numpy as np
from gensim.models import Word2Vec
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_auc_score, average_precision_score
from sklearn.model_selection import train_test_split
```
接下来,定义函数进行图嵌入:
```python
def graph_embedding(G, dimensions=64, walk_length=30, num_walks=200, workers=4):
walks = []
for node in G.nodes():
for i in range(num_walks):
walks.append(nx.random_walk(G, node, walk_length=walk_length))
embeddings = Word2Vec(walks, size=dimensions, window=10, min_count=0, sg=1, workers=workers)
return embeddings
```
然后,定义函数进行链路预测:
```python
def link_prediction(embeddings, edges):
X = np.array([np.concatenate((embeddings[str(edge[0])], embeddings[str(edge[1])])) for edge in edges])
y = np.array([edge[2] for edge in edges])
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
clf = LogisticRegression(random_state=0)
clf.fit(X_train, y_train)
y_pred = clf.predict_proba(X_test)[:, 1]
roc = roc_auc_score(y_test, y_pred)
ap = average_precision_score(y_test, y_pred)
return roc, ap
```
最后,使用示例:
```python
# 构建图
G = nx.karate_club_graph()
# 添加随机标签
for node in G.nodes():
G.nodes[node]['label'] = np.random.randint(2)
# 构建边列表
edges = []
for edge in G.edges():
label = 1 if G.nodes[edge[0]]['label'] == G.nodes[edge[1]]['label'] else 0
edges.append((edge[0], edge[1], label))
# 进行图嵌入
embeddings = graph_embedding(G)
# 进行链路预测
roc, ap = link_prediction(embeddings, edges)
# 输出结果
print('ROC AUC score:', roc)
print('Average Precision score:', ap)
```
代码说明:
该示例使用了karate_club_graph构建了一个简单的图,并随机为节点添加了标签。然后,使用graph_embedding函数进行图嵌入,生成节点的向量表示。接着,使用link_prediction函数进行链路预测,其中使用了逻辑回归模型。最终,输出ROC AUC和Average Precision两个评价指标的得分。
阅读全文