choi-kyu-jeong / ckj

0 stars 0 forks source link

논문 참고 자료 #1

Open choi-kyu-jeong opened 3 months ago

choi-kyu-jeong commented 3 months ago

1.Deap learning 기반 COF 이미지 검사시스템

choi-kyu-jeong commented 2 months ago

image 2.이미지 세트 폴더 구성형식으로 우선 구성, 400 S/N정도 구성

choi-kyu-jeong commented 2 months ago

https://m.blog.naver.com/hiddenent/223237516332 여기에서 cnn에 대한 기본 코드를 참고함, 이후 chatGPT를 활용해서 구조를 내 데이터에 맞게 수정함. image 각 파장별로 데이터를 실행하는거까지 성공하였으나 사진 파일에 불필요한 것들이 있으니, 그것을 없애는 작업을 해보려함

choi-kyu-jeong commented 2 months ago

image image image 이렇게 변환함 추가로 흑백으로도 변환 시킬 예정

choi-kyu-jeong commented 2 months ago

image 사진을 흑백화 시킴 초기 참고 논문에서 흑백화 하는것을 참고함

choi-kyu-jeong commented 2 months ago

5/5 modeling_4 으로 4가지 이미지를 한꺼번에 입력으로 집어넣음

choi-kyu-jeong commented 2 weeks ago

전체 데이터를 이미지 폴더에 넣어야함, 그런데 데이터에 라벨링이 제각기 다르게 되어 있어 사전 전처리를 진행함 그리고 S/N가 애초에 잘못 입력된 데이터가 있었음. 이거는 이미지 파일이 없기 때문에 코드를 돌릴때 결측치로 제외 될 것임.

choi-kyu-jeong commented 2 weeks ago

400개의 데이터 IMAGE(1600EA)로 했을 땐 전처리 기능도 코드에 집어 넣었으나,, 4000개 데이터로 늘리니 너무 오래 걸림.. 매회 코드를 돌려볼때마다 전처리를 하지 말고, 잘라서 쓸 부분의 이미지들을 다 처리해놓고 그 데이터들로 진행해야 할듯.. 한 2~3분정도 걸리는듯.. 전처리만

ELECT EYE도 추가 할 수 있는데 그때는 3000EA 이상이 될 것이기에 사전 전처리를 해놓자..

choi-kyu-jeong commented 2 weeks ago

이미지를 배열로 변환

images = np.array(images) train_labels = np.array(train_labels)

학습 데이터와 평가 데이터로 나누기

x_train, x_valid, y_train, y_valid = train_test_split(images, train_labels, test_size=0.2, random_state=42)

학습 데이터와 평가 데이터의 수량 출력

print(f"Total samples: {len(images)}") print(f"Training samples: {len(x_train)}") print(f"Testing samples: {len(x_valid)}")

PyCaret 설정 및 모델 비교

data = pd.DataFrame(x_train) data['target'] = y_train clf = setup(data=data, target='target', remove_outliers=True, verbose=False)

상위 5개 모델 비교

top5_models = compare_models(fold=5, round=3, sort='AUC', n_select=5) print(top5_models)

평가 데이터로 모델 성능 확인 (예제: 첫 번째 모델)

model = top5_models[0] predictions = predict_model(model, data=pd.DataFrame(x_valid))

예측 결과 출력

print(predictions)

pycaret이라는 내용을 찾아서 모델 비교하는 auto ML을 돌려보았다. 처음에는 pycharm에서 pycaret이 설치가 잘 안되서 환경 문제로 판단되어 jupyter nootbook으로 돌려보았다. 16:46~22:30 시작해서 돌아가는데 한참 걸리나보다.. 일단 기다려본다 이미지 전처리 하는데 시간이 걸림, 한 번 auto ml 돌리고, 4000개 이미지 set을 전처리를 해버리자, 그리고 전처리된 이미지셋이 잘 전처리 되었는지 대충 확인 해봐야함.

choi-kyu-jeong commented 2 weeks ago

image image

choi-kyu-jeong commented 2 weeks ago
  1. Accuracy(정확도) : 전체 예측 중에서 올바르게 예측한 비율을 나타냅니다.높은 Accuracy는 모델이 대부분의 경우 올바르게 예측함을 의미하지만, 데이터가 불균형한 경우에는 한쪽 클래스에 편향된 모델도 높은 Accuracy를 가질 수 있습니다.
  2. AUC (Area Under the ROC Curve, 수신자 작동 특성 곡선 아래 면적):ROC 곡선은 참 양성 비율 (TPR) 대 거짓 양성 비율 (FPR)을 그래프로 나타낸 것입니다.AUC는 ROC 곡선 아래의 면적을 나타내며, 1에 가까울수록 좋은 성능을 의미합니다.모델이 양성과 음성을 얼마나 잘 구분하는지 평가하는 지표로, 데이터가 불균형할 때도 잘 작동합니다.
  3. Recall (재현율):실제 양성 샘플 중에서 올바르게 예측한 양성 샘플의 비율을 나타냅니다.높은 Recall은 모델이 실제 양성 샘플을 잘 잡아낸다는 것을 의미합니다.
  4. Precision (정밀도):양성으로 예측한 샘플 중에서 실제 양성 샘플의 비율을 나타냅니다.높은 Precision은 모델이 양성으로 예측한 것이 실제 양성일 확률이 높다는 것을 의미합니다
  5. F1 Score:Precision과 Recall의 조화 평균으로, 두 지표 간의 균형을 나타냅니다.Precision과 Recall이 모두 중요한 경우에 사용합니다.
  6. Kappa (Cohen's Kappa):실제 관측치와 모델 예측치 간의 일치도를 평가하며, 무작위 일치의 가능성을 고려합니다.Kappa 값은 -1에서 1 사이의 값을 가지며, 1에 가까울수록 높은 일치도를 의미합니다
  7. MCC (Matthews Correlation Coefficient):이진 분류 문제에서 모든 요소 (TP, TN, FP, FN)를 고려한 상관 계수로, 균형 잡힌 정확도를 제공합니다.-1에서 1 사이의 값을 가지며, 1에 가까울수록 좋은 성능을 의미합니다.
  8. TT(sec) (Training Time in seconds):모델을 학습하는 데 걸린 시간을 초 단위로 나타냅니다. 모델의 학습 속도를 평가하는 지표로 사용됩니다.
choi-kyu-jeong commented 2 weeks ago

blender_top5 = blend_models(estimator_list=tuned_top5) image

5개의 성능이 잘나오는 모델을 합쳐서

choi-kyu-jeong commented 1 week ago

lab-meeting : 기본적인 auto ML을 사용해서 돌려본 내용이므로 너무 고전적인 모델들이 나온다. 최신 모델 형태로 돌려보자. 그리고 데이터 이미지 파일의 오분류 할 수 있을 만한 내용을 찾아보자 멀티모달을 할 수 있는 데이터 방식으로 데이터의 싱크가 가능해야함. -> 상온 광량, 조정기 데이터(제작 장비)를 1대1 매치 시킬 수 있음, 단 제작하는 과정 인력에 대한 내용은 변수로 판단하지 않음, 장비가 제작하는 것이기 때문, 그리고 각 제품에 들어가는 VCSEL에 대한 정보를 구한다면 구할 수 있으나 엄청난 노가다를 해야함. 각 OSA에 대한 VCSEL 정보는 최후의 보루로 사용해보겠음. -> 우선 google vertex AI를 활용하여 최신 auto ml로 진행해볼 예정이고, 사무실에 고사양 PC를 구비해 놓음, 반복 실행 작업은 그것으로 대체 할 수 있음. -> 7월 안에는 최신 autoML를 진행하고, base code로 잡을 수 있을 최신 모델을 선정 하는 것을 목표로 잡음 ->8월에는 선정된 base code에 멀티모달, 전처리, epoch 등의 변수 조절을 통한 결과물을 만들 수 있는 초기 단계까지 진행 목표