我正在用Java编写一个小系统,我从文本文件中提取n-gram特征,然后需要执行特征选择过程以选择最多的鉴别器特征.
单个文件的特征提取过程返回一个映射,该映射包含每个唯一特征,它在文件中的出现.我将所有文件的地图(地图)合并到一个地图中,其中包含从所有文件中提取的所有独特功能的文档频率(DF).统一地图可包含10,000,000个以上的条目.
目前,特征提取过程运行良好,我想执行特征选择,其中我需要实现信息增益或增益比.我将首先对Map进行排序,执行计算并保存结果,以便最终得到一个列表(对于每个特征,其特征选择分数)
我的问题是:保存大量数据(~10M)并执行计算的最佳实践和最佳数据结构是什么?
java computation feature-extraction feature-selection data-structures
我有一个文件夹结构如下
ProjectName
- src
- test
- groovy
- java
Run Code Online (Sandbox Code Playgroud)
当我运行命令mvn clean install
。它仅运行Java单元测试(位于* src \ test \ java *目录下),而没有调用Groovy测试用例。似乎Groovy不再找到Groovy测试。
请帮助我启用常规测试案例在Maven的帮助下执行吗?
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ApacheActiveMQSpike</groupId>
<artifactId>ApacheActiveMQSpike</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>ApacheActiveMQSpike</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.8.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>1.6-beta-2</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud) 我在SQLServer 2008中有一个数据库说测试,里面有几乎超过100个表.我要求我必须为这些表添加前缀.
例如,表employee
应该重命名为companyName_employee
.companyName_
是我想要应用的前缀.department
应该将表重命名为companyName_department
目前我可以通过运行以下查询逐个重命名表:
sp_rename employee, companyName_employee
Run Code Online (Sandbox Code Playgroud)
sp_rename
一次只能重命名一个表.
我是SQLServer的新手,所以请建议是否有办法在一个查询中重命名多个表
我正在对 java 8 流功能进行一些练习,因此想到将知识应用于将数字字符串转换为整数列表的问题
一个典型的测试看起来像
@Test
public void testGetListofIntegersFromString(){
List<Integer> result = getIntegers("123456780");
assertEquals(Arrays.asList(1,2,3,4,5,6,7,8,0),result);
}
Run Code Online (Sandbox Code Playgroud)
我写了下面的方法
List<Integer> getIntegers(String value) {
return IntStream.rangeClosed(0, value.length() - 1).map(i -> Integer.valueOf(value.substring(i,i+1))).collect(?????);
}
Run Code Online (Sandbox Code Playgroud)
我被困在使用哪个函数来获取我尝试过的整数列表collect(Collectors.toList())
它给出了编译错误。
请建议我们是否可以按照不同的方法来解决这个问题。