我试图在R中创建两个不同大小的矢量的所有元素的独特组合.
例如,第一个向量是
a <- c("ABC", "DEF", "GHI")
Run Code Online (Sandbox Code Playgroud)
第二个是当前存储为字符串的日期
b <- c("2012-05-01", "2012-05-02", "2012-05-03", "2012-05-04", "2012-05-05")
Run Code Online (Sandbox Code Playgroud)
我需要创建一个包含两列的数据框
> data
a b
1 ABC 2012-05-01
2 ABC 2012-05-02
3 ABC 2012-05-03
4 ABC 2012-05-04
5 ABC 2012-05-05
6 DEF 2012-05-01
7 DEF 2012-05-02
8 DEF 2012-05-03
9 DEF 2012-05-04
10 DEF 2012-05-05
11 GHI 2012-05-01
12 GHI 2012-05-02
13 GHI 2012-05-03
14 GHI 2012-05-04
15 GHI 2012-05-05
Run Code Online (Sandbox Code Playgroud)
所以基本上,我正在寻找一个独特的组合,考虑一个矢量的所有元素(a)与第二个矢量(b)的所有元素并置.
理想的解决方案将推广到更多输入向量.
另请参见:
如何生成组合矩阵
我有一个用户项评级的python字典,如下所示:
sample={'user1': {'item1': 2.5, 'item2': 3.5, 'item3': 3.0, 'item4': 3.5, 'item5': 2.5, 'item6': 3.0},
'user2': {'item1': 2.5, 'item2': 3.0, 'item3': 3.5, 'item4': 4.0},
'user3': {'item2':4.5,'item5':1.0,'item6':4.0}}
Run Code Online (Sandbox Code Playgroud)
我想把它转换成一个结构相似的熊猫数据框架
col1 col2 col3
0 user1 item1 2.5
1 user1 item2 3.5
2 user1 item3 3.0
3 user1 item4 3.5
4 user1 item5 2.5
5 user1 item6 3.0
6 user2 item1 2.5
7 user2 item2 3.0
8 user2 item3 3.5
9 user2 item4 4.0
10 user3 item2 4.5
11 user3 item5 1.0
12 user3 item6 …Run Code Online (Sandbox Code Playgroud) 假设我有基于文本的训练数据和测试数据.更具体地说,我有两个数据集 - 培训和测试 - 并且它们都有一个包含文本的列,并且对于手头的工作很感兴趣.
我在R中使用tm包来处理训练数据集中的文本列.在删除空格,标点符号和停用词之后,我阻止了语料库并最终创建了1克的文档术语矩阵,其中包含每个文档中单词的频率/计数.然后,我采取了预先确定的截止值,比如50,并且仅保留那些计数大于50的术语.
在此之后,我使用DTM和因变量(存在于训练数据中)训练一个GLMNET模型.到目前为止,一切都运行顺畅.
但是,当我想在测试数据上获得/预测模型或未来可能出现的任何新数据时,我该如何处理?
具体来说,我想要找出的是如何在新数据上创建精确的DTM?
如果新数据集没有任何与原始训练数据相似的单词,则所有术语的计数应为零(这很好).但我希望能够在任何新语料库中复制完全相同的DTM(在结构方面).
任何想法/想法?