我正在尝试一些数据的随机森林,其中类变量是二进制(1或0).这是我正在运行的代码:
forest.model <- randomForest(x = ticdata2000[,1:85], y = ticdata2000[,86],
ntree=500,
mtry=9,
importance=TRUE,
norm.votes=TRUE,
na.action=na.roughfix,
replace=FALSE,
)
Run Code Online (Sandbox Code Playgroud)
但是当森林结束时,我收到以下错误:
Warning message:
In randomForest.default(x = ticdata2000[, 1:85], y = ticdata2000[, :
The response has five or fewer unique values. Are you sure you want to do regression?
Run Code Online (Sandbox Code Playgroud)
答案当然是不.我不想做回归.我有一个单独的离散变量,只需要2个类.当然,当我使用这个模型运行预测时,我会得到连续数字,当我想要一个零和一个列表时.有人可以告诉我,我做错了让这个使用回归而不是分类吗?
我正在尝试制作一个awk文件可执行文件.我写了剧本,并且做了chmod +x filename.这是代码:
#!/bin/awk -v
'TOPNUM = $1
## pick1 - pick one random number out of y
## main routine
BEGIN {
## set seed
srand ()
## get a random number
select = 1 +int(rand() * TOPNUM)
# print pick
print select
}'
Run Code Online (Sandbox Code Playgroud)
当我尝试运行程序并输入变量时TOPNUM:
pick1 50
Run Code Online (Sandbox Code Playgroud)
我收到了回复:
-bash: /home/petersone/bin/pick1: /bin/awk: bad interpreter: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我确信有一些简单的东西搞砸了,但我根本无法弄清楚它是什么.我怎样才能解决这个问题?
在 bash 中,我尝试创建一个数组,然后多次运行循环(由文件的用户确定),然后向该数组添加一个选择预定的次数。这是贸易数据,因此例如我选择 2 作为因子。然后程序要求我输入我想要的因子,我输入 open (当天的开盘价),然后 bid 被添加到数组 arr 中,并再次询问问题。然后我输入 close (当天的收盘价),然后将 close 添加到数组中,最后 arr = open close 就这样。但我运行代码和问题:"How many factors would you like to check total: "只是一遍又一遍地运行,我从未离开循环,也从未出现输入被放入数组中的情况。非常感谢您对我在这里的错误的任何帮助。谢谢。
factor=""
total=0
declare -a arr
read -p "How many factors would you like to check total: " -e -i "$total" total
for (( x=1; x=total; x++ ))
do
read -p "Enter factor from list: " -e -i "$factor" factor
arr+=(${arr[@]} "$factor")
done
echo ${arr[@]}
Run Code Online (Sandbox Code Playgroud) 我昨天问了一个问题,试图确保日期格式正确.这稍微有针对性,因为我试图自己编写测试并且它没有按照我的预期行事.(我是linux的新手,所以这种情况发生了很多)
我需要输入日期作为YYYYMMDD.我认为if语句的开头应该基本上检查[[检查$ tDate是否为零字符串或者日期不是YYYYMMDD]].
当我运行代码时,日期是$ lastCOB(昨天,最后一次关闭业务),但是当我输入任何日期(或不更改日期)时,我得到" Invalid date. Please enter the correct format." 响应,意味着显然测试不相信格式是正确的,尽管它输入为YYYYMMDD,因为我希望它是.
tDate=$(lastCOB)
tDateOkay=0
until [[ $tDateOkay -eq 1 ]] ; do
echo "$tDate"
echo "$tDateOkay"
read -p "Please Enter date for search. Use format: Date (YYYYMMDD): " -e -i "$tDate" tDate
if [[ -z "$tDate" || "$(date --date=$tDate + '%Y%m%d' 2>&1 )" != $tDate ]] ; then
echo "Invalid date. Please enter date in the correct format."
elif [[ $tDate -gt $(today) || $tDate -eq $(today) ]] …Run Code Online (Sandbox Code Playgroud) 我有一个大的linux文件,打印出每行的时间戳,标记为午夜过后的微秒.我一直试图想出一个聪明的短awk脚本,它将使用awk将其改为YY-mm-d HH:MM:SS.ms格式(我已经在这里检查了一些其他帖子,但大多数处理转换从时代开始,而不是从今天午夜开始).我已经尝试了一些strftime的东西,但似乎没有任何东西让我得到正确的日期和时间.谢谢.