晚上好。我希望有人能帮我解决这个问题...
我确保为 mac、Intel 安装了 weka 2-8-5 azul zulu,因为 ARM dmg 安装程序似乎已损坏。我使用 OS big sur 11.5 beta 和 MacBookPro M1 收到损坏的软件包消息。
我使用的是 openjdk 11 (AdoptOpenJDK-11.0.11+9 (build 11.0.11+9))
我安装了 dmg 并将 app 和 weka 文件夹复制到了我的 /Applications 文件夹
我将首选的 JDBC 驱动程序都添加到了 /Libraries/Java/Extensions(SQL Server、MySQL 和 MonetDB)。
还将 JDBC 驱动程序添加到我的 /Users/Myname/jdbc 文件夹中。 (我在一些论坛上读到过这个)。
将 /Users/Myname/wekafiles/props/DatabaseUtils.props 修改为这样...(尝试连接到在 linux docker 容器上运行的 MS SQL Server Edge 19。我可以从适用于 Mac 的 Python、DBeaver 和 Azure Data Studio):
jdbcDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc:sqlserver://localhost:1443;databaseName=MyDB;
varchar=0 浮动=2 tinyint = 3 整数=5
字符串=0 bigint=6 nvarchar=9 十进制=2 位=1
CREATE_DOUBLE=双精度 CREATE_STRING=VARCHAR(8000) CREATE_INT=INT CREATE_DATE=日期时间 日期格式=yyyy-MM-dd HH:mm:ss checkUpperCaseNames=false checkLowerCaseNames=false checkForTable=true
关键字=
添加,
所有,
改变,
和,
任何,
AS,
ASC,
授权,
备份,
开始,
之间,
打破,
浏览,
散装,
BY,
级联,
案例,
检查,
检查点,
关闭,
集群,
合并,
整理,
列,
提交,
计算,
约束,
包含,
可容纳,
继续,
转换,
创建,
十字,
当前,
CURRENT_DATE,
CURRENT_TIME,
CURRENT_TIMESTAMP,
CURRENT_USER,
光标,
数据库,
DBCC,
解除分配,
声明,
默认,
删除,
拒绝,
描述,
磁盘,
与众不同,
分布式,
双,
放下,
转储,
其他,
完,
错误,
逃离,
除了,
执行,
执行,
存在,
退出,
外部,
取,
文件,
填充因子,
对于,
国外,
自由文本,
自由文本,
发件人,
满,
功能,
转到,
格兰特,
组,
有,
锁定,
身份,
IDENTITYCOL,
IDENTITY_INSERT,
如果,
在,
索引,
内部,
插入,
相交,
INTO,
是,
加入,
钥匙,
杀,
左,
喜欢,
LINENO,
负载,
全国,
没有检查,
非聚集,
不是,
空,
NULLIF,
的,
关闭,
偏移,
开,
打开,
开放数据源,
公开查询,
开放式网络,
OPENXML,
选项,
或,
订购,
外,
结束,
百分比,
枢轴,
计划,
精密,
主要,
打印,
过程,
程序,
公开,
RAISERROR,
阅读,
阅读全文,
重新配置,
参考文献,
复制,
恢复,
限制,
返回,
还原,
撤销,
对了,
回滚,
ROWCOUNT,
ROWGUIDCOL,
规则,
保存,
架构,
安全审计,
选择,
SESSION_USER,
设置,
设置用户,
关机,
一些,
统计,
SYSTEM_USER,
桌子,
表样,
文本大小,
那么,
给,
顶,
陈,
交易,
触发器,
截断,
TSEQUAL,
联合,
独一无二,
转轴,
更新,
更新文本,
使用,
用户,
价值观,
变化,
查看,
服务员,
什么时候,
哪里,
同时,
与,
文字
KeywordsMaskChar=_
#flags 用于使用 DatabaseLoader/Saver 加载和保存实例 标称ToStringLimit=50 idColumn=auto_generated_id
我将相同的道具文件 (/users/Myname/wekafiles/DatabaseUtils.props) 复制到 weka-3-8-5-azul-zulu.app java 文件夹中未压缩的 weka.jar 文件。 (jar xf weka.jar)
重新打包文件和文件夹到weka.jar (jar cf weka.jar *)
我在重新启动机器后检查了 CLASSPATH env 变量是否定义良好并且来自 .zprofile。 JAVA_HOME 也定义良好,运行良好。
没有任何效果...仍然收到消息:
连接到:jdbc:sqlserver://localhost:1443;databasename=MyDB = false
无法找到合适的驱动程序...
有没有更好的方法来做到这一点?我非常喜欢 Weka,但我想用 MySQL、SQLServer 和 MonetDB 数据库中的更大数据集训练模型。
非常感谢任何帮助。
迈克尔 P.
答案 0 :(得分:0)
我现在不是 Mac 用户,也很少将 Weka 用作独立工具。但这是我刚刚在我的 Linux 机器上使用 Java 11 的方法。
假设您的 [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
[[1, 2, 0], [1, 2, 0], [1, 2, 0]]
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
[[5, 2, 3], [5, 2, 3], [5, 2, 3]]
[[5, 7, 3], [5, 7, 3], [5, 7, 3]]
[[5, 7, 9], [5, 7, 9], [5, 7, 9]]
[[12, 7, 9], [12, 7, 9], [12, 7, 9]]
[[12, 15, 9], [12, 15, 9], [12, 15, 9]]
[[12, 15, 18], [12, 15, 18], [12, 15, 18]]
位于以下目录中(例如,从与平台无关的 zip 文件中提取):
weka.jar
并且您所有的 JDBC 驱动程序 jar 都存储在此目录中:
~/tools/weka/weka-3-9-5
然后您可以像这样从终端启动 Weka,使用 ~/tools/jdbc
变量仅用于 GUIChooser 的此 CLASSPATH
调用:
java
注意:这假设 CLASSPATH=~/tools/weka/weka-3-9-5/weka.jar:~/tools/jdbc/* java weka.gui.GUIChooser
可执行文件可从 java
环境变量的目录中获得。
更新后的 PATH
应该放在 DatabaseUtils.props
中。