小编Eri*_*ric的帖子

将随机森林设置为分类

我正在尝试一些数据的随机森林,其中类变量是二进制(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个类.当然,当我使用这个模型运行预测时,我会得到连续数字,当我想要一个零和一个列表时.有人可以告诉我,我做错了让这个使用回归而不是分类吗?

r random-forest

5
推荐指数
1
解决办法
3446
查看次数

尝试运行awk可执行文件时出现"bad interpreter"错误消息

我正在尝试制作一个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)

我确信有一些简单的东西搞砸了,但我根本无法弄清楚它是什么.我怎样才能解决这个问题?

linux awk

4
推荐指数
1
解决办法
3976
查看次数

在 bash 中向数组添加条目

在 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 bash

3
推荐指数
1
解决办法
681
查看次数

Bash - linux中的多个测试[[表达式]]

我昨天问了一个问题,试图确保日期格式正确.这稍微有针对性,因为我试图自己编写测试并且它没有按照我的预期行事.(我是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)

syntax bash operators

2
推荐指数
1
解决办法
2043
查看次数

使用awk从午夜过来的微秒转换时间戳

我有一个大的linux文件,打印出每行的时间戳,标记为午夜过后的微秒.我一直试图想出一个聪明的短awk脚本,它将使用awk将其改为YY-mm-d HH:MM:SS.ms格式(我已经在这里检查了一些其他帖子,但大多数处理转换从时代开始,而不是从今天午夜开始).我已经尝试了一些strftime的东西,但似乎没有任何东西让我得到正确的日期和时间.谢谢.

awk

1
推荐指数
1
解决办法
956
查看次数

标签 统计

awk ×2

bash ×2

linux ×2

operators ×1

r ×1

random-forest ×1

syntax ×1