본문 바로가기
728x90

전체 글247

[231021] 클래스 다이어그램, 3주차 숙제 복습 알고리즘 문제를 몇 개 풀고 팀원에게서 들었던 클래스 다이어그램에 대해 찾아보았다. https://jinjinjincode.tistory.com/148 [UML] 클래스 다이어그램 클래스 다이어그램: 구조 다이어 그램으로 내부 구성요소 및 클래스 간의 관계를 도식화하여 시스템의 전체 모듈이나 일부 및 전체를 구조화한다. 요소(element) 클래스 이름, 속성(변수), 메소드 jinjinjincode.tistory.com 학교를 다니면서 소프트웨어 공학 시간에 UML을 배우면서 클래스 다이어그램이라는 개념 자체에 대해서는 배웠지만 자세히 다루지는 않아서 잘 알지 못했다. 이번 기회에 한 번 짚고 넘아가면 좋을 것 같아 찾아보게 되었다. 조금 알고나서 보니 자바 문법 강의에서 자주 보았던 다이어그램이었다... 2023. 10. 21.
[UML] 클래스 다이어그램 클래스 다이어그램: 구조 다이어 그램으로 내부 구성요소 및 클래스 간의 관계를 도식화하여 시스템의 전체 모듈이나 일부 및 전체를 구조화한다. 요소(element) 클래스 이름, 속성(변수), 메소드 순으로 나열. 속성과 메소드는 생략이 가능하지만 이름은 필수 +는 public, -는 private, #은 protected, ~은 default {readonly}는 final, 밑줄은 static [*], [0..1]은 변수에 지정된 사이즈: List의 경우 정해지지 않아서 *, Optional의 경우 0이거나 1이므로 [0..1] (Optional은 NPE(NullPointerException)을 피하기 위해 null이 올 수 있는 값을 감싸는 Wrapper 클래스) 스테레오 타입 인터페이스나 추상 클래.. 2023. 10. 21.
[프로그래머스] 완주하지 못한 선수(Java) 제출한 코드 import java.util.ArrayList; import java.util.Arrays; class Solution { public String solution(String[] participant, String[] completion) { Arrays.sort(completion); ArrayList completionList = new ArrayList(Arrays.asList(completion)); for (String s : participant) { int id = bin_search(completionList, completionList.size(), s); if (id >= 0) { completionList.remove(id); } else return s; } retu.. 2023. 10. 21.
실습 5차시: 성능 평가, cross validation 1. Accuracy(정확도) Confusion matrix: True Positive(TP): 참양성 False Positive(FP): 위양성 True Negative(TN): 참음성 False Negative(FN): 위음성 분류 모델을 만든 후 다음 단계는 모델의 예측 능력을 평가해야합니다. 모델의 성능을 평가하는 가장 간단한 방법은 모델의 정확도를 계산하는 것입니다. (True Positives + True Negatives) / (True Positives + True Negatives + False Positives + False Negatives) labels_A = [0, 0, 0, 0, 0, 0, 0, 1, 1, 1] guesses_A =[0, 0, 0, 0, 0, 0, 0, 1, 0,.. 2023. 10. 20.
실습 4차시: 퍼셉트론, MLP 퍼셉트론이란? 퍼셉트론은 신경망의 가장 기초가 되는 기본 단위입니다. 생물학적 뉴런의 작업을 시뮬레이션하는 인공 뉴런이라고 할 수 있습니다. 퍼셉트론은 3가지 구성요소로 이루어져 있습니다. 입력(Inputs) 가중치(Weights) 출력(Output) Perceptron Class Perceptron 클래스 작성하기 lines = [] class Perceptron: def __init__(self, num_inputs = 3, weights = [1,1,1]): self.num_inputs = num_inputs self.weights = weights def weighted_sum(self, inputs): weighted_sum = 0 for i in range(self.num_inputs): we.. 2023. 10. 20.
열거 타입(Enum) 그동안 Java로 문제 풀이를 할 때 enum을 몰라서 string 배열 등을 사용했었는데 enum을 여러 번 듣게 되어서 한 번 정리 및 공부해보려고 한다. enum 이러한 상수를 단순히 정수로 치부하지 말고 객체 지향적으로 객체화해서 관리하자는 취지 Java에서는 enum을 인터페이스와 같이 독립된 특수한 클래스로 구분 reference 타입으로 분류되며, enum 상수값은 힙 영역에 저장됨 일종의 클래스이지만 인스턴스화는 불가능: 고정된 정수들의 집합으로써 컴파일 타임에 모든 값을 알고 있어야 하기 때 장점 코드가 단순해지며 가독성이 좋아짐 허용 가능한 값들을 제한하여 유형 안전을 제공 구현의 의도가 열거임을 분명하게 나타낼 수 있음 switch문에서도 사용할 수 있음 단순 상수와 비교해 IDE의 .. 2023. 10. 20.