맞춤형 계산
맞춤형 계산은 RATH에서 제공하는 강력한 기능으로 정규 표현식으로 데이터를 유연하게 편집할 수 있습니다.
맞춤형 컴퓨팅 콘솔
선택한 데이터 소스에서 데이터를 가져온 후 사용자 지정 계산 버튼을 클릭하여 콘솔을 열 수 있습니다.
사용자 지정 계산 콘솔의 왼쪽 상단에는 정규 표현식을 입력할 수 있는 편집기가 있습니다.입력하면 RATH에서 제안 메시지를 표시합니다. 프롬프트를 클릭하거나 Tab 키를 눌러 제안을 확인할 수 있습니다.
표현식이 잘못된 경우 왼쪽 하단에 오류 메시지가 표시됩니다.표현식이 유효하면 열의 출력 미리 보기 (분포도) 가 오른쪽에서 실시간으로 업데이트됩니다.
표현식 구문
기초
필드
사용자 지정 계산 표현식은 필드 ID를 기준으로 필드 (원본 및 확장 필드 모두) 를 참조합니다. 편집기에서 필드 이름을 입력하고 해당 필드와 지능적으로 일치시킨 후 자동 완성을 선택할 수 있습니다.
필드 유형
사용자 지정 계산 표현식에서 관련 필드의 데이터 유형인 원래 유형에는 다음과 같은 세 가지 유형이 포함됩니다.
set
type: 수학 연산에 관여하지 않는 서수를 나타내는 정렬된 숫자 유형group
유형: 수학 연산에 관련된 별개의 숫자 유형collection
유형: 문자열 유형
Customized Computation 표현식의 연산자는 데이터 유형과 밀접하게 연관되어 있으며 필요한 경우 해당 연산자를 사용하여 열을 변환합니다. 이렇게 하면 원래 열이 변경되는 대신 새 열이 생성됩니다.
리터럴
사용자 지정된 계산 표현식은 JavaScript 숫자 및 문자열 리터럴을 부분적으로 지원합니다.
성명서
사용자 지정 계산 표현식은 연산자, 필드 참조, 리터럴 및 연산자로 구성됩니다.연산자는 사용자 지정 계산 기능의 핵심입니다. 사용자 지정 계산 표현식은 중첩 가능한 연산자를 사용하고 하나 이상의 새 필드를 생성하고 내보내야 합니다. 가장 바깥쪽에 있는 Customized Computation 표현식은 여러 계산문을 쉼표 (“,”) 로 분할하여 계산 프로세스를 위한 독립적인 필드를 빠르게 만들 수 있습니다. 표현식에는 세미콜론을 사용하지 않아야 합니다.
날짜/시간 객체
DateTime 객체는 에서 반환하는 특수한 종류의 객체입니다. $toDate
연산자.
직접 내보내기는 타임스탬프 (유형의 열) 가 있는 필드를 생성합니다. group
).
또한 _슬라이싱_하여 새로운 단일 또는 다중 열을 생성할 수도 있습니다.
슬라이싱 구문은 다음과 같습니다. <datetime object>.<dimension tag>
.
유효한 치수 표기법에는 다음이 포함됩니다. Y
, M
, W
, D
, h
, m
, s
.
운영자
연산자는 필드나 다른 객체에서 작동하는 함수입니다.
운영자 식별자는 다음으로 시작합니다. $
상징.
연산자의 호출 구문은 다음과 같습니다. <operator>(<parameter 1>, <parameter 2>...)
.
키워드
운영자 out
계산으로 생성된 새 확장 열의 경우 다음을 추가합니다. out
계산문 앞에 키워드를 입력하여 익스포트합니다.
그 out
연산자는 중첩 연산의모든 레벨에 배치할 수 있습니다.
사용자 지정 계산 표현식에는 최소 하나 이상이 포함되어야 합니다.**out**
** 성명서.**
뒤에 특수 문자 없이 단어를 추가할 수 있습니다. out
키워드를 익스포트된 필드의 이름으로 사용합니다.
특히네 가지 산술 연산을 통해 생성된 필드의 경우 해당 이름을 명시적으로 선언해야 합니다.
예시:
일반 연산자
타입 변환
$set(group|collection) -> set
유형 집합의 열을 집합이 아닌 형식의 열에서 변환합니다.
$group(set|collection) -> group
그룹 유형의 열을 그룹이 아닌 유형의 열에서 변환합니다.필드에서 수학 연산을 수행할 때 유용합니다 (연산이 적절한지 확인해야 함).
$nominal(set|group) -> collection
컬렉션 형식의 열을 비컬렉션 유형의 열에서 변환합니다.
서수 생성
$id() -> set
1부터 시작하는 ID를 생성합니다.
$order(set|group) -> set
필드에 있는 모든 행의 수학 순서 (1부터 시작) 를 생성합니다.
$dict(collection) -> set
필드에 있는 모든 행의 사전 순서 (1부터 시작) 를 생성합니다.
데이터 표준화
$inset(group) -> group
필드를 -1 ~ 1 구간으로 표준화합니다.
$bound(group) -> group
필드를 0 ~ 1 구간으로 표준화합니다.
$normalize(group) -> group
Z-점수를 사용하여 필드를 정규화합니다.
비선형 변환
$log(group) -> group
, $log(group, JS.number) -> group
로그 매핑, 베이스를 제공할 수 있으며 기본값은 자연 로그입니다.
$log2(group) -> group
$log10(group) -> group
$log1p(group) -> group
에 해당 $log(group + 1)
.
$sigmoid(group) -> group
$ReLU(group) -> group
데이터 정리
$isNaN(set|group) -> collection
필드의 행이 NaN이면 “1"을 반환하고 그렇지 않은 경우 “0"을 반환합니다.
$isZero(set|group) -> collection
특정 필드에서 행이 0이면 “1"을 반환하고 그렇지 않으면 “0"을 반환합니다.
$zeroFill(group) -> group
필드에 있는 행의 이상값 (±무한대 | NaN) 을 0으로 매핑합니다.
$meanFill(group) -> group
필드에서 이 행의 이상값 (±무한|NaN) 을 이상치가 아닌 값의 평균으로 매핑합니다.
$nearestClip(group, JS.number, JS.number) -> group
범위를 입력하면 이 범위를 초과하는 특정 필드의 행 값이 가장 가까운 경계 값에 이상값으로 매핑됩니다.
$meanClip(group, JS.number, JS.number) -> group
범위를 입력하면 이 범위를 벗어나는 필드의 행 값이 이상치가 아닌 값의 평균값에 이상값으로 매핑됩니다.
$boxClip(group) -> group
박스 플롯 통계를 사용하여 필드의 이상값을 표시하고 이를 NaN으로 대체합니다.
문자열 조작
$concat(collection, ...collection) -> collection
, $concat(JS.string, collection, ...collection) -> collection
구분 기호를 사용하여 여러 문자열 열의 내용을 순차적으로 연결합니다 (,
기본값) 은 새 열로 표시됩니다.
날짜/시간
$toDate(group|set|collection)
이 연산자는 특수한 종류의 DateTime 객체를 도입하고 해당 객체의 인스턴스를 반환합니다.
모범 사례
정규화 변환
비선형 매핑
이 경우 변환을 시도합니다. casual
비선형 매핑이 적용된자전거 공유 데모 데이터베이스의 칼럼.
날짜/시간 정보 검색
자전거 공유 데모 데이터베이스에서 DateTime 정보를 검색할 수 있습니다. _c_4
는 연도이며 _c_1
월입니다.
다음으로 다음을 계산할 수 있습니다. weekday
매개변수.