주어진 데이터는 다음과 같은 Table 형태로 주어진다.
랩넘버는 입력과 출력을 연결짓는 Primary Key이며, 코드는 원료, 함량은 원료가 포함된 양을 나타낸다. 이를 통해서, 출력의 목표값을 예측한다.
입력
출력
먼저, 데이터가 일치하는지 확인해본 결과, 다음과 같은 랩넘버의 통계값을 얻는다.
일치하지 않는 샘플이 존재하기에, 출력의 랩넘버 (979)개에 대해서 존재하는 입력 랩넘버로 데이터셋을 구축한다.
Unique input lab names: 1573
Unique output lab names : 979
non-existing output labels: 595 (레올로지 결과 없음)
non-existing input labels: 1 개 (레올로지 입력이 없음[‘CC2195-FB2’])
샘플의 feature 를 만들기 위해서 코드 (formula)에 대한 수를 세어보면 다음과 같다.
Unique formula : 1979
코드 길이
length 6: 1887
length 7: 85
length 8: 6
length 10: 1
질문: Q: 코드 길이 혹은 코드 방식을 추가적인 Feature 로 사용해도 되는가? Ex) FFF가 들어있는 애들을 묶음.
2-1 코드 등장 횟수
학습 Feature 의 빈도 수를 살펴보면 다음과 같다.
# 많은 순서대로
MMM000 2571
RTY966 1288
FFF001 1187
BDD001 1101
# 적은 순서대로
FGH334 1
FGH336 1
JMI006 1
RTY964 1
RVP002 1
대부분의 코드가 sparse 하다. 이 경우, 일부 feature를 사용한 모델과 모든 feature를 사용한 모델을 구분하여 성능을 비교하는 것이 바람직하다.
2-2 랩에 존재하는 코드 개수
하나의 랩에 몇 개의 Feature 가 존재하는지 살펴보면 다음과 같다.
대부분은 20개 이상의 Feature를 포함하는 것을 확인할 수 있다.
# 많은 순서대로
CC2229-AF 64
CC2145-LA 61
CC1708-QE1 60
CCA08101-TAA 56
# 적은 순서대로
CC1413-TA 13
CC1706-NZ 12
CC7109-JE1 11
CC1808-PA 10
CC7191-WF 2
2-3 출력 목표값
출력의 목표값 (A ~ B) 형태에 대해서 데이터 전처리를 진행 후, 일치하지 않는 데이터는 다음과 같다.
# Invalid outputs
MAX.350
MAX. 300 ['.', '300']
MAX. 100 ['.', '100']
MAX 500
total output:988
valid output:984
invalid output:4
값은 범위로 이루어져 있으며, 모든 샘플에 대해서 출력해보면 다음과 같다.
대부분은 범위의 길이가 비슷한 것을 확인할 수 있다.
이 경우, 타겟을 카테고리(e.g., Label1: 10000~20000)로 하는 것이 바람직해 보인다.
2-4 출력 랩 넘버 중복 여부
출력에는 동일한 랩넘버를 지니는 출력 샘플이 있다. 확인해본 결과 랩넘버가 같은 경우 출력값도 일치하는 것으로 확인되었다. 이에, 중복된 랩넘버는 1개만 사용하였다.
# 출력값 랩넘버 수 984개 중에서 중복 8개 종류 모두 제외 시 967 개 랩넘버 존재
# 중복된 랩넘버도 예측값이 동일하여 추가, 975개 최종.
랩넘버 개수
CC7802-JB 3
CC7533-MA 2
CCB06001-FAE 2
CC1928-VZBT 2
CC2163-WA 2
CC2193-FA 2
CC2156-KZHH 2
CC9085-CB 2
CC2206-MG 1
CC2206-AH 1
3. 최종 데이터셋
최종적으로 얻어지는 데이터셋 수는 다음과 같다.
총 코드 1979개를 모두 사용하고, 존재하지 않는 값에 대해서는 0으로 입력값을 줬다.
(후에, 이중에서 일부 코드만 사용한 데이터셋 구축도 가능하다.)
# 총 랩넘버 975 개
# 총 코드 개수 1979
# 제외 코드는 Feature 에 위치에는 포함되지만, 값이 0으로 할당된다.
[INFO] 🗂️ Dataset: FirstReceiptDatasetML X:(975, 1979) Y:(975,)
Train: (676, 1979) (676,)
Valid: (96, 1979) (96,)
Test: (195, 1979) (195,)
점도를 에측하는데 있어서, 가장 기본이 되는 것은 단 하나의 변수(코드)를 사용하여 예측하는 방법이다. 선형모델로 예측 모델을 만들었을 때, 상관관계가 있다면, 양 또는 음의 기울기를 가지게 된다. 1900 여 개의 코드에 대해서 점도값에 대한 선형 모델을 학습시키는 결과를 반영하여 모델링 하여, 각 코드가 지니는 상관관계를 파악한다.