小编Lit*_*tle的帖子

C5.0模型需要一个因子结果

我正在使用credit.csv构建学习树,数据可在以下位置找到:

https://github.com/stedy/Machine-Learning-with-R-datasets/blob/master/credit.csv

我做了以下步骤:

credit<-read.csv("credit.csv")
set.seed(12345)
credit_rand<-credit[order(runif(1000)),]
credit_train<-credit_rand[1:900,]
credit_test<-credit_rand[901:1000,]
library(C50)
credit_model<-C5.0(credit_train[-21],credit_train$default)
Run Code Online (Sandbox Code Playgroud)

在我关注的指南中,似乎我应该删除最后一列,这是默认值,但我得到以下错误:

Error en C5.0.default(credit_train[, -21], credit_train$default) : 
  C5.0 models require a factor outcome
Run Code Online (Sandbox Code Playgroud)

我尝试将最后一行更改为:

credit_model<-C5.0(credit_train[,-21],credit_train$default)
Run Code Online (Sandbox Code Playgroud)

但没有成功.

有帮助吗?

r

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

R中使用的k均值的结果

我正在使用R的kmeans指令在数据集中执行k-means算法.我对一些参数有疑问.结果是:

Cluster means:
  Sepal.Length Sepal.Width Petal.Length Petal.Width
1     5.006000    3.428000     1.462000    0.246000
Run Code Online (Sandbox Code Playgroud)

在这种情况下,Cluster意味着什么?它是群集中所有对象的距离的平均值?

在最后一部分我也有:

Within cluster sum of squares by cluster:
[1] 15.15100 39.82097 23.87947
 (between_SS / total_SS =  88.4 %)
Run Code Online (Sandbox Code Playgroud)

它的解释值是88.4%?

谢谢

r cluster-analysis k-means

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

将元素添加到JList

我有一个包含客户名称的对象数组,如下所示: Customers[]

按下按钮后如何自动将这些元素添加到现有的JList中?我尝试过这样的事情:

for (int i=0;i<Customers.length;i++)
{
    jList1.add(Customers[i].getName());
}
Run Code Online (Sandbox Code Playgroud)

但我总是犯错误.我怎么解决这个问题?我正在研究NetBeans. 出现的错误是"找不到适合添加的方法(字符串).顺便说一下,我的方法getName返回字符串中客户的名称.

java swing jlist defaultlistmodel

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

在Pharo或Smalltalk中制作构造函数

我想在Pharo中实现一个小类,所以我这样做了:

Object subclass: #Person
    instanceVariableNames: 'name age'
    classVariableNames: ''
    category: 'Test'
Run Code Online (Sandbox Code Playgroud)

我想模拟一个构造函数,所以我做了一个像下面这样的方法:

newName:aName newAge:aAge
    "comment stating purpose of message"

    name:=aName.
    age:=aAge.
    ^self.
Run Code Online (Sandbox Code Playgroud)

但是当我想在Pharo的操场上打电话时,就像这样:

objPerson:=Person newName:'Carl' newAge: 10.
Run Code Online (Sandbox Code Playgroud)

Pharo不承认它,我做错了什么?

smalltalk pharo

4
推荐指数
2
解决办法
2023
查看次数

在Pharo Smalltalk中创建一个类?

我一直在关注从Pharo在以下链接中创建课程的示例:https: //ci.inria.fr/pharo-contribution/job/UpdatedPharoByExample/lastSuccessfulBuild/artifact/book-result/PharoObjectModel/PharoObjectModel.html#fig :colorInstanceClassSide

这是制作狗和鬣狗课程的例子.首先,我创建了一个名为TestC的包,在Instance类中我创建了以下内容:

在此输入图像描述

在此输入图像描述

对于我所知道的,如果我错了,请纠正我,实例方面是我创建在实例化对象时将起作用的方法,而类侧则不需要创建对象来实现; 就像Java中的静态方法类一样.

我在这一点上的第一个问题就是为什么在接受改变后它仍然出现了!我班级左侧的符号?

根据教程,我应该把以下代码:

Dog class
    instanceVariableNames: 'count'
Run Code Online (Sandbox Code Playgroud)

现在我没有把它放在哪里,在实例端或类侧,我决定将它放在实例端以下:

在此输入图像描述

我最后的方法如下,我把它们放在课堂上:

在此输入图像描述

在此输入图像描述

在此输入图像描述

在此输入图像描述

我使用以下代码测试了Transcript中的类:

aDog := Dog new.
Dog count.
bDog := Dog new.
Dog count.
Run Code Online (Sandbox Code Playgroud)

并且它有效,但我想知道我是否做出了正确的决定将这些方法放在课堂上(第二个问题),如果它的权利可以任何人给我一个方法的例子来放入实例方面例?

谢谢

smalltalk pharo

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

使用递归对方案进行排列

我发现以下代码在Scheme中进行了排列。我的意思是,如果我输入类似参数'(1 2 3),它将给我:

((1 2 3) (1 3 2) (2 1 3) (2 3 1) (3 1 2) (3 2 1))
Run Code Online (Sandbox Code Playgroud)

代码如下:

(define (remove x lst)
  (cond
    ((null? lst) '())
    ((= x (car lst))(remove x (cdr lst)))
    (else (cons (car lst) (remove x (cdr lst))))))

(define (permute lst)
  (cond
    ((= (length lst) 1)(list lst))
    (else (apply append(map(lambda (i) (map (lambda (j)(cons i j))
                                            (permute (remove i lst))))lst)))))
Run Code Online (Sandbox Code Playgroud)

第一个函数remove看起来很简单,那就是通过将x与列表的开头进行比较,并与其余部分进行递归调用,从而摆脱x表示的角色,即使它重复与否。

我完全不了解的部分是置换功能。对于我所知道的,map将函数应用于参数的每个元素(在本例中为列表),而对一个参数完全只应用一次函数。那么这行到底是做什么的:

(apply append(map(lambda (i) (map (lambda (j)(cons i j))
                                                (permute (remove i …
Run Code Online (Sandbox Code Playgroud)

scheme

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

从具有相等值的几个数据框中删除行

我有两个从几个 csv 文件中获得的数据框。例如:

df1
    data1   data2   data3
0   cow     cat     53
1   girl    boy     12  
2   monkey  island  30
3   lucas   arts    14

df2
    data1   data2   data3
0   girl    boy     50
1   cover   disc    45  
2   girl    boy     47
3   pen     pencil  15
4   book    note    30
5   lucas   arts    15


df2
    data1   data2   data3
0   cover   disc    45
1   pen     pencil  15
2   book    note    30
Run Code Online (Sandbox Code Playgroud)

我想从 df2 中删除那些在 df1 中具有相同 data1 和 data2 值的行,这样最后我将得到一个更新的 df2。到目前为止,我已经完成了以下工作:

    file1="fileA.csv"
    file2="fileB.csv"
    df1=pd.read_csv(file1) …
Run Code Online (Sandbox Code Playgroud)

pandas

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

R 中的热图,行中出现重复名称

我正在基于 csv 文件在 R 中编写热图。其中包含以下信息:

NAME,metformin,metformin,phenformin,phenyl biguanide,metformin,estradiol
Adenocarcinoma of lung,0,0,0,-1.834006462,1.715939688,0
Adenocarcinoma of lung,1.995916353,0,0,0,0,0
Thymic carcinoma,1.154056722,1.106488961,0,1.145126548,0,-1.14095315
alpha-1-Antitrypsin deficiency,0,0,0,0,-1.917025669,-1.974151858
Run Code Online (Sandbox Code Playgroud)

所以我想创建一个热图,其中行的名称中出现标签:肺腺癌、腺癌...等。我正在执行以下步骤:

hm<-read.csv("heatmap1.csv",sep=",")
row.names(hm)<-hm$NAME
hm<-hm[,2:7]
hm_matrix<-data.matrix(hm)
heatM<-heatmap(hm_matrix, Rowv=NA, Colv=NA, col = cm.colors(256), scale="column", margins=c(5,10))
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是这样的:

row.names(hm)<-hm$NAME

Error in `row.names<-.data.frame`(`*tmp*`, value = c(1L, 1L, 3L, 2L)) : 
  duplicate 'row.names' are not allowed
Run Code Online (Sandbox Code Playgroud)

我知道我有一个重复的名字,但我确实需要数据出现在热图中,因为即使它们来自相同的疾病,测量水平(数量)也是不同的。

谢谢您的帮助

r heatmap

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

将.data文件转换为.csv

我发现以下名为ecoli.data的数据集并在以下位置可用:

https://archive.ics.uci.edu/ml/machine-learning-databases/ecoli/

我想在R中打开它进行分类任务,但我希望将此文档转换为csv文件。当我用单词打开它时,我注意到这不是制表符分隔的,因为每一行之间都有类似树的空间;因此,最重要的问题是如何使用Excel或Python将文件转换为csv。

python csv excel r

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

如何从头开始制作 Squeak 课程?

我想在 Squeak 中制作一个简单的程序来计算几个点之间的距离,但我不想使用已经定义的类 Point。到目前为止,我有以下几点:

在此处输入图片说明

x 和 y 的 getter 和 setter 方法已自动生成:

x ^ x

x: anObject x := anObject.

我编程的距离方法如下: 在此处输入图片说明

distance:aPoint
    "comment stating purpose of message"

    |dx dy |
    dx:=aPoint x - x.
    dy:=aPoint y - y.
    ^ (dx*dx+dy*dy) sqrt.
Run Code Online (Sandbox Code Playgroud)

现在我打开一个工作区并尝试打印出结果:

obj1:=PointS new.
obj1 x:3 y:4.
obj2:=PointS new.
obj2 x:5 y:6.
d:=obj1 distance obj2
UIManager default inform: 'Converted amount: ',d.
Run Code Online (Sandbox Code Playgroud)

但我得到的结果如下:

在此处输入图片说明

我错过了什么?

smalltalk squeak

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