小编use*_*737的帖子

学习Weka - 精确和召回 - 维基示例到.Arff文件

我是WEKA的新手和高级统计数据,从头开始了解WEKA措施.我已经完成了所有@ rushdi-shams示例,这些都是很好的资源.

在维基百科上,http://en.wikipedia.org/wiki/Precision_and_recall示例解释了一个简单的例子,关于在一组9只真正的狗和一些猫中检测7只狗的视频软件.我完全理解这个例子和召回计算.所以我的第一步,让我们看看Weka如何使用这些数据进行再现.我如何创建这样的.ARFF文件?有了这个文件我有一个错误的混淆矩阵,并且错误的精确度按类召回不是1,它应该是4/9(0.4444)

@relation 'dogs and cat detection'

@attribute              'realanimal'      {dog,cat}
@attribute              'detected'        {dog,cat}
@attribute              'class'           {correct,wrong}

@data
dog,dog,correct
dog,dog,correct
dog,dog,correct
dog,dog,correct
cat,dog,wrong
cat,dog,wrong
cat,dog,wrong
dog,?,?
dog,?,?
dog,?,?
dog,?,?
dog,?,?
cat,?,?
cat,?,?
Run Code Online (Sandbox Code Playgroud)

输出Weka(不带过滤器)

===运行信息===

Scheme:weka.classifiers.rules.ZeroR 
Relation:     dogs and cat detection
Instances:    14
Attributes:   3
          realanimal
          detected
          class
Test mode:10-fold cross-validation

=== Classifier model (full training set) ===

ZeroR predicts class value: correct

Time taken to build model: 0 seconds

=== Stratified cross-validation ===
=== Summary ===

Correctly Classified …
Run Code Online (Sandbox Code Playgroud)

machine-learning weka precision-recall

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

scikit加权F1分数的计算和使用

我对weightedsklearn.metrics.f1_score中的平均值有疑问

sklearn.metrics.f1_score(y_true, y_pred, labels=None, pos_label=1, average='weighted', sample_weight=None)

Calculate metrics for each label, and find their average, weighted by support (the number of true instances for each label). This alters ‘macro’ to account for label imbalance; it can result in an F-score that is not between precision and recall.
Run Code Online (Sandbox Code Playgroud)

首先,如果有任何引用证明使用weighted-F1是合理的,那么我只是好奇心,在这种情况下,我应该使用weighted-F1。

其次,我听说不赞成使用加权F1,这是真的吗?

第三,例如,​​如何实际计算加权F1

{
    "0": {
        "TP": 2,
        "FP": 1,
        "FN": 0,
        "F1": 0.8
    },
    "1": {
        "TP": 0,
        "FP": 2,
        "FN": 2,
        "F1": -1
    },
    "2": {
        "TP": 1, …
Run Code Online (Sandbox Code Playgroud)

nlp machine-learning scikit-learn precision-recall

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

Anaconda错误启动python 3 jupyter笔记本

我在安装Anaconda3.5后尝试使用jupyter打开python 3笔记本时收到错误.python 2笔记本没有问题.这是错误

Failed to run command:
    ['/Users/sushmitroy/anaconda/envs/py35/bin/python', '-m', 'ipykernel', '-f', '/Users/sushmitroy/Library/Jupyter/runtime/kernel-64704aa3-3d05-4249-8ec2-8a9c98659538.json']
    with kwargs:
    {'stderr': None, 'cwd': '/Users/sushmitroy', 'stdin': -1, 'env': {'HOME': '/Users/sushmitroy', 'LOGNAME': 'sushmitroy', 'PWD': '/Users/sushmitroy', 'TERM': 'xterm-256color', 'SECURITYSESSIONID': '186a8', 'Apple_PubSub_Socket_Render': '/private/tmp/com.apple.launchd.EDDWkpkF2z/Render', 'XPC_SERVICE_NAME': '0', '__CF_USER_TEXT_ENCODING': '0x1F5:0x0:0x0', 'XPC_FLAGS': '0x0', 'SHELL': '/bin/bash', 'JPY_PARENT_PID': '5519', 'TERM_SESSION_ID': '28DC0BD0-4ED2-4C96-B2D9-1375A8C804D8', 'LANG': 'en_US.UTF-8', 'TMPDIR': '/var/folders/bj/2h_6v_sd7rn4_4hvy91gy_rm0000gn/T/', 'SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.vrnAzalULu/Listeners', 'TERM_PROGRAM_VERSION': '361.1', '_': '/Users/sushmitroy/anaconda/bin/jupyter-notebook', 'USER': 'sushmitroy', 'TERM_PROGRAM': 'Apple_Terminal', 'SHLVL': '2', 'PATH': '/Users/sushmitroy/anaconda/bin:/Users/sushmitroy/anaconda/bin:/Users/sushmitroy/anaconda/bin:/Users/sushmitroy/anaconda/bin://anaconda/bin:/Users/sushmitroy/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin'}, 'stdout': None, 'start_new_session': True}

[E 01:25:15.946 NotebookApp] Unhandled error in API request
    Traceback (most recent call last): …
Run Code Online (Sandbox Code Playgroud)

python anaconda jupyter-notebook

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

在 Pandas 数据框中将元素设置为 None

我不确定为什么会这样

>>> df = pd.DataFrame(np.arange(15).reshape(5,3),columns=list('ABC'))
>>> df
    A   B   C
0   0   1   2
1   3   4   5
2   6   7   8
3   9  10  11
4  12  13  14
Run Code Online (Sandbox Code Playgroud)

分配None给最后一行的元素将其变为NaN NaN NaN

>>> df.ix[5,:] = None
>>> df
    A   B   C
0   0   1   2
1   3   4   5
2   6   7   8
3   9  10  11
4  12  13  14
5 NaN NaN NaN
Run Code Online (Sandbox Code Playgroud)

将最后一列中的两个元素更改为“nan”

>>> df.ix[:1,2] = 'nan'
>>> df
    A   B    C …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

如何找到不超过某个值的最大项目总和?

如何找到不超过某个值的最大项目总和?例如,我有45个这样的值:1.0986122886681098、1.6094379124341003、3.970291913552122、3.1354942159291497、2.5649493574615367。我需要找到不超过 30.7623 的最大可能组合。

我无法使用暴力来找到所有组合,因为组合的数量将会很大。所以我需要使用一些贪心算法。

python algorithm knapsack-problem mathematical-optimization greedy

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

Scala处理中的for问题

在下面的代码中,当我尝试i = i + 10它时将无法编译,并出现错误cannot reassign to val.所以我var i = 0;在之前添加了for,但变量从未使用过:

var i = 0;
for(i <- 5 to 25) {
    i = i + 10
    ellipse(150, 150, tamano + i, tamano + i)
}
Run Code Online (Sandbox Code Playgroud)

oop applet functional-programming scala

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

python:如何从feature_importances获取真正的功能名称

我使用Python的sklearn随机林(ensemble.RandomForestClassifier)进行分类,并feature_importances_用于查找分类器的重要功能.现在我的代码是:

for trip in database:
    venue_feature_start.append(Counter(trip['POI']))
# Counter(trip['POI']) is like Counter({'school':1, 'hospital':1, 'bus station':2}),actually key is the feature

feat_loc_vectorizer = DictVectorizer()
feat_loc_vectorizer.fit(venue_feature_start)
feat_loc_orig_mat = feat_loc_vectorizer.transform(venue_feature_start)

orig_tfidf = TfidfTransformer()
orig_ven_feat = orig_tfidf.fit_transform(feat_loc_orig_mat.tocsr())

# so DictVectorizer() and TfidfTransformer() help me to phrase the features and for each instance, the feature dimension is 580, which means that there are 580 venue types 

data = orig_ven_feat.tocsr()

le = LabelEncoder() 
labels = le.fit_transform(labels_raw)
if "Unlabelled" in labels_raw:
    unlabelled_int = …
Run Code Online (Sandbox Code Playgroud)

python classification feature-selection scikit-learn

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

计算总和等于给定数字的数组对?

我刚刚进行了在线编码访谈,其中一个问题是针对给定的整数数组,找出总和等于某个数字的对的数量(作为方法内的参数传递).例如,一个数组给出,

int[] a = {3, 2, 1, 45, 27, 6, 78, 9, 0};
int k = 9; // given number
Run Code Online (Sandbox Code Playgroud)

因此,将有2对(3,6)和(9,0),其总和等于9.值得一提的是,如何形成对并不重要.装置(3,6)和(6,3)将被视为同一对.我提供了以下解决方案(用Java)并且很想知道我是否错过了任何边缘情况?

public static int numberOfPairs(int[] a, int k ){

    int len = a.length;

    if (len == 0){
      return -1;
    }

    Arrays.sort(a);
    int count  = 0, left = 0, right = len -1; 

    while( left < right ){

        if ( a[left] + a[right] == k  ){

            count++; 

            if (a[left] == a[left+1] && left < len-1 ){
              left++;
            }

            if ( a[right] …
Run Code Online (Sandbox Code Playgroud)

java algorithm

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

如何解决百分比折扣浮动0.01值

我在计算结束时遇到了一些带有.01值的麻烦,我想问一下是否有人通过了这个问题并且可以帮我解决一下.

我有这种情况:

$total = '319.00';
$discount = '99.00';
$percentage_discount = number_format((1+($discount/$total)) * 100 - 100, 2, '.', '');

echo $percentage_discount . " %<br>";
echo $discount . "<br>";
echo number_format($total * (1-($percentage_discount / 100)), 2, '.', ''); //echo total
Run Code Online (Sandbox Code Playgroud)

结果:

31.03 %
99.00
220.01
Run Code Online (Sandbox Code Playgroud)

我需要的结果是获得最终总值220.00的正确百分比

我知道在Magento增值税计算是一个与此类似的问题,最终小数浮动从一开始就是一个问题,很难解决,但也许一些有经验的人已经解决了这个问题.

php

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

如何有效地改变数组中的某些数值?

给出一个初始的二维数组:

initial = [
 [0.6711999773979187, 0.1949000060558319],
 [-0.09300000220537186, 0.310699999332428],
 [-0.03889999911189079, 0.2736999988555908],
 [-0.6984000205993652, 0.6407999992370605],
 [-0.43619999289512634, 0.5810999870300293],
 [0.2825999855995178, 0.21310000121593475],
 [0.5551999807357788, -0.18289999663829803],
 [0.3447999954223633, 0.2071000039577484],
 [-0.1995999962091446, -0.5139999985694885],
 [-0.24400000274181366, 0.3154999911785126]]
Run Code Online (Sandbox Code Playgroud)

目标是将数组内的一些随机值乘以随机百分比.可以说只有3个随机数被一个随机乘法器取代,我们应该得到这样的东西:

output = [
 [0.6711999773979187, 0.52],
 [-0.09300000220537186, 0.310699999332428],
 [-0.03889999911189079, 0.2736999988555908],
 [-0.6984000205993652, 0.6407999992370605],
 [-0.43619999289512634, 0.5810999870300293],
 [0.84, 0.21310000121593475],
 [0.5551999807357788, -0.18289999663829803],
 [0.3447999954223633, 0.2071000039577484],
 [-0.1995999962091446, 0.21],
 [-0.24400000274181366, 0.3154999911785126]]
Run Code Online (Sandbox Code Playgroud)

我试过这样做:

def mutate(array2d, num_changes):
    for _ in range(num_changes):
        row, col = initial.shape
        rand_row = np.random.randint(row)
        rand_col = np.random.randint(col)
        cell_value = array2d[rand_row][rand_col] 
        array2d[rand_row][rand_col] =  random.uniform(0, 1) * cell_value
    return array2d
Run Code Online (Sandbox Code Playgroud)

这适用于2D数组,但有可能同一个值突变多次=(

我不认为这是有效的,它只适用于2D阵列.

有没有办法为任何形状的阵列做更多有效的"突变"? …

python arrays numpy

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