标签: ordinal

我可以假设Java枚举自动递增1吗?

Java声明初始值的序数为0.我可以假设当我创建这样的枚举时:

public enum Direction {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, ...}
Run Code Online (Sandbox Code Playgroud)

序数TUESDAY总是1,WEDNESDAY总是2,......?


我会更具体一点.我正在宣布一个枚举:

public enum Direction {UP,RIGHT,DOWN,LEFT}
Run Code Online (Sandbox Code Playgroud)

现在有一种方法可以转90度(顺时针).它与序数是一条线:

direction = Direction.values()[direction.ordinal()+1 % Direction.values().length];
Run Code Online (Sandbox Code Playgroud)

如果我不使用序数,我将不得不使用switch语句或条件:

switch (direction) {
    case LEFT:newdirection = Direction.UP;
    break;
  etc...
}
Run Code Online (Sandbox Code Playgroud)

使用序数有几个优点:

  • 更短的代码
  • 更快的代码(可忽略)
  • 如果添加方向(例如DOWN_LEFT),如果将新方向放在正确的位置,则实现不一定必须更改

你怎么看?

java enumeration ordinal

7
推荐指数
2
解决办法
2480
查看次数

在WAMP/Apache的openssl.exe中找不到序号372

我使用的PHP框架需要OpenSSL用于各种功能,但在执行与OpenSSL相关的任何内容时,我收到以下错误:"无法在DLL文件C中找到序号372:\ wamp64\bin\apache\apache2.4.17\bin\openssl.exe".

我根本不知道如何纠正这个问题,我已经到处寻找了.我很感激帮助,因为我不知道如何解决这个问题.

php windows dll openssl ordinal

7
推荐指数
2
解决办法
7298
查看次数

ord()函数的名称代表什么?

官方Python文档解释道 ord(c)

ord(c):
给定一个表示一个Unicode字符的字符串,返回一个表示该字符的Unicode代码点的整数.例如,ord('a')返回整数97,ord('€')(欧元符号)返回8364.这是chr()的反函数.

它没有指明含义ord,谷歌搜索没有帮助.

它的起源是什么?

python unicode built-in ordinal ord

7
推荐指数
2
解决办法
1632
查看次数

Pipeline OrdinalEncoder ValueError 发现未知类别

请对我放轻松。我正在将职业转向数据科学,并且没有 CS 或编程背景——所以我可能会做一些非常愚蠢的事情。我已经研究了几个小时没有成功。

目标:让 Pipeline 与 OrdinalEncoder 一起运行。

问题:代码无法在 OrdinalEncoder 调用下运行。它确实在没有 OrdinalEncoder 的情况下运行。作为最好的,我可以告诉我可以通过两个参数,即D型。都不帮忙。

我正在将公共糖尿病数据集传递给模型。这是问题吗?IOW,将高基数特征传递给 OrdinalEncoder 是否会在构建模型后导致训练/测试数据之间出现问题,即测试分割具有训练集没有的值?

from sklearn.pipeline import Pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import OrdinalEncoder
from sklearn.ensemble import RandomForestClassifier

pipe = Pipeline([
    ('imputer', SimpleImputer()),
    ('ordinal_encoder', OrdinalEncoder()),
    ('classifier', RandomForestClassifier(criterion='gini', n_estimators=100))])

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# Construct model
model = pipe.fit(X_train, y_train)

# Show results
print("Hold-out AUC score: %.3f" %roc_auc_score(model.predict_proba(X_test),y_test))
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

ValueError: Found unknown categories [17.0] in column 0 …
Run Code Online (Sandbox Code Playgroud)

pipeline ordinal python-3.x scikit-learn valueerror

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

使用 `ordinal::clmm` 模型对新数据进行预测

我有一些重复的措施,顺序响应数据:

dat <- data.frame(
  id = factor(sample(letters[1:5], 50, replace = T)),
  response = factor(sample(1:7, 50, replace = T), ordered = T),
  x1 = runif(n = 50, min = 1, max = 10),
  x2 = runif(n = 50, min = 100, max = 1000)
)
Run Code Online (Sandbox Code Playgroud)

我建立了以下模型:

library(ordinal)

model <- clmm(response ~ x1 + x2 + (1|id), data = dat)
Run Code Online (Sandbox Code Playgroud)

我有一些新数据:

new_dat <- data.frame(
  id = factor(sample(letters[1:5], 5, replace = T)),
  x1 = runif(n = 5, min = 1, max = 10), …
Run Code Online (Sandbox Code Playgroud)

r ordinal predict mixed-models

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

序数编码或 One-Hot 编码

如果我们不确定分类特征的性质,例如它们是名义特征还是序数特征,我们应该使用哪种编码?序数编码还是单热编码?关于这个主题有明确的规则吗?

我看到很多人在没有方向的分类数据上使用序数编码。假设有一个频数表:

some_data[some_col].value_counts()
[OUTPUT]
color_white    11413
color_green     4544
color_black     1419
color_orang        3
Name: shirt_colors, dtype: int64
Run Code Online (Sandbox Code Playgroud)

有很多人更喜欢在本专栏上进行序数编码。我一心一意地选择 One-Hot-Encoding。我对此的看法是进行序数编码将为这些颜色分配一些有序数字,我暗示了一个排名。而且一开始就没有排名。换句话说,我的模型不应将 color_white 视为 4,将 color_orang 视为 0、1 或 2。请记住,数据描述中也没有任何排名或顺序的提示。

我对这个话题有如下的理解:

既没有方向也没有大小的数字是名义变量。例如,fruit_list =['苹果', '橙子', 香蕉']。除非有特定的上下文,否则该集合将被称为名义集合。对于此类变量,我们应该执行 get_dummies 或 one-hot-encoding

而序数变量有一个方向。例如,shirt_sizes_list = [大、中、小]。这些变量称为序数变量。如果同一个水果列表背后有上下文,例如价格或营养价值,即可以为 Fruit_list 中的水果提供某种排名或顺序,我们将其称为序数变量。对于序数变量,我们执行序数编码

我的理解正确吗?请提供您的反馈 这个主题已经变成了一场噩梦 谢谢!

machine-learning ordinal categorical-data dummy-variable one-hot-encoding

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

Pandas - rank() 函数的替代方法,为列提供唯一的序数等级

目前我正在编写一个 Python 脚本,用于聚合来自多个 Excel 工作表的数据。我选择使用的模块是 Pandas,因为它的速度和 Excel 文件的易用性。该问题仅与 Pandas 的使用有关,我试图创建一个额外的列,该列包含组内唯一的、仅限整数的有序 等级。

我的 Python 和 Pandas 知识有限,因为我只是一个初学者。

目标

我正在尝试实现以下数据结构。排名前 10 的 AdWords 广告根据其在 Google 中的位置进行垂直排名。为了做到这一点,我需要在原始数据中创建一列(参见表 2 和 3),其中包含不包含重复值的仅整数排名。

表 1:我试图实现的数据结构

    device  , weeks   , rank_1   , rank_2   , rank_3   , rank_4   , rank_5
    mobile  , wk 1    , string   , string   , string   , string   , string 
    mobile  , wk 2    , string   , string   , string   , string   , string 
    computer, wk 1    , string   , string   , string …
Run Code Online (Sandbox Code Playgroud)

python ranking ordinal rank pandas

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

使用序数包中装有 clmm 的模型平均累积链接混合模型进行概率预测

我发现该predict函数目前尚未在使用R包clmm中的函数拟合的累积链接混合模型中实现ordinal。虽然在同一个包中predict实现clmm2,但我选择应用clmm,因为后者允许多个随机效果。此外,我还安装了几个clmm模型并使用包model.avg中的函数执行模型平均MuMIn。理想情况下,我想使用平均模型来预测概率。然而,虽然MuMIn支持clmm模型,predict也不适用于普通模型。

有没有办法破解该predict函数,以便该函数不仅可以预测clmm模型的概率,还可以使用模型平均系数clmm(即“平均”类的对象)进行预测?例如:

require(ordinal)
require(MuMIn)

mm1 <- clmm(SURENESS ~ PROD + (1|RESP) + (1|RESP:PROD), data = soup,
        link = "probit", threshold = "equidistant")

## test random effect:
mm2 <- clmm(SURENESS ~ PROD + (1|RESP) + (1|RESP:PROD), data = soup,
        link = "logistic", threshold = "equidistant")

#create a model selection object
mm.sel<-model.sel(mm1,mm2) …
Run Code Online (Sandbox Code Playgroud)

r ordinal predict mixed-models

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

使用 sklearn 进行多类、多标签、序数分类

我想知道如何使用 sklearn 运行多类、多标签、序数分类。我想预测目标群体的排名,范围从某一位置最普遍的群体 (1) 到最不普遍的群体 (7)。我似乎无法正确处理。你能帮我一下吗?


# Random Forest Classification

# Import
import numpy as np
import pandas as pd
from sklearn.model_selection import GridSearchCV, cross_val_score, train_test_split
from sklearn.metrics import make_scorer, accuracy_score, confusion_matrix, f1_score
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier

# Import dataset
dataset = pd.read_excel('alle_probs_edit.v2.xlsx')
X = dataset.iloc[:,4:-1].values
Y = dataset.iloc[:,-1].values

# Split in Train and Test
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state = 42 )

# Scaling the features (alle Variablen auf …
Run Code Online (Sandbox Code Playgroud)

python ordinal scikit-learn multilabel-classification multiclass-classification

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

NaN 值的序数编码器问题

我有一个数据框,其中空格作为缺失值,因此我使用正则表达式将它们替换为 NaN 值。我遇到的问题是当我想使用序数编码来替换分类值时。到目前为止我的代码如下:

    x=pd.DataFrame(np.array([30,"lawyer","France",
                             25,"clerk","Italy",
                             22," ","Germany",
                             40,"salesman","EEUU",
                             34,"lawyer"," ",
                             50,"salesman","France"]
                             
            ).reshape(6,3))
    x.columns=["age","job","country"]
    x = x.replace(r'^\s*$', np.nan, regex=True)

    oe=preprocessing.OrdinalEncoder()
    df.job=oe.fit_transform(df["job"].values.reshape(-1,1))
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Input contains NaN
Run Code Online (Sandbox Code Playgroud)

我希望将工作列替换为数字,例如:[1,2,-1,3,1,3]。

python ordinal pandas

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