본문 바로가기

Accuracy VS Precision VS Recall, F1 score Accuracy (정확도) 정확한 예측을 한 비율. (맞게 분류한 수) / (전체 데이터 수) accuracy에는 함정이 있다. 만약 0~9의 10개의 숫자를 분류하는 문제가 있다고 했을 때, 하나의 숫자마다 데이터에 10%씩 존재한다고 하자. 이 때, 5인지 아닌지를 판별하는 이진 분류기를 만드려고 한다. 별 다른 학습 없이 무조건 5라고 판별하는 분류기, 무조건 5가 아니라고 판별하는 분류기를 만들었다고 해본다면, 무조건 5라고 판별하는 분류기의 정확도는 10% 무조건 5가 아니라고 판별하는 분류기의 정확도는 90% 후자의 경우엔 언뜻 성능이 좋아보일 수 있다. 하지만 이는 그저 데이터의 쏠림에 기인한 것일 뿐, 5가 50%의 비율로 존재하는 셋이라면 전혀 다른 결과가 나온다. 이처럼 데이터의 쏠림에..
[Spark] DataFrame의 특정 Column을 List로 추출 (map 사용) import sqlContext.implicits._ val df = Seq( (1, "First Value", java.sql.Date.valueOf("2020-04-19")), (2, "Second Value", java.sql.Date.valueOf("2020-04-20")) ).toDF("int_column", "string_column", "date_column") val int_column = df.select("int_column").rdd.map(r => r(0).asInstanceOf[Int]).collect().toList int_column: List[Int] = List(1, 2) 와 같이 생성된다.
2019 네이버 개발 공채 1차 면접 후기 이제 교육이 끝나고 부서로 가는 걸 기념하기 위해(?) 우리 회사 면접 후기를 써보려고 합니다. 보안 서약 때문에 당연히 자세한 건 쓸 수 없습니다. 짤리기 싫어요. ㅠㅠ 지원서 & 코딩테스트 면접에 갈거라고 상상도 못하고 지원서는 정제되지 않은 말투로 써서 냈어요. 정말 가관..인 상태로.. 근데 코딩테스트가 웬걸 풀만한 겁니다. 제 나름대로의 센스를 보여줄 수 있는..? 그래서 운 좋게도 코딩테스트 통과하고 1차 면접행 면접 전 / 준비 과정 메일로 언제 와라 뭘 준비해라 대충 이런걸 할거다를 알려주셨었습니다. 일단 대책이 없으니.. CS공부만 죽어라 하다가 갔어요. 기초부터 잡았습니다. 10월 16일 면접이었는데, 그 전후 주말들이 죄다 인적성 혹은 코테였고, 10월 14일은 라인 면접이기까지해서,..
junit 예시 (get, post, patch, delete, exchange, assert) 시작하기 전에 불친절하지만 누군가에게 도움이 될 junit 예시이다. class Something 아래와 같은 Something class를 DTO로 사용한다고 하자. public class Something { private String id; private String name; private String desc; } constructor, getter, setter 등은 생략했다. junit Test 메소드의 parameter들에 대한 설명은 다른 곳에서 볼 수 있으므로 생략한다. getForEntity @Test public void getSomethingTest() { int somethingId = 26; ResponseEntity response = restTemplate.getForEnt..
[Spring] JSON 형식으로 request, response하기 시작하기 전에 글쓴이는 현시점 Spring에 대한 깊은 지식을 갖추지 못한 상태입니다. 단지 Request, Response를 JSON 형식으로 하기 위해 삽질 하다가 성공한 코드를 공유하고자 합니다. 예시일 뿐이므로 막 쓴 코드임을 감안해 주세요 :) Response Response를 하기 위해 Response에 필요한 것들을 갖춘 Response Class를 작성합니다. getter를 빼먹으면 Response 내용에서 해당 field의 내용은 빠지므로 반드시 작성해줘야 합니다. public class Response { private int responseCode; private String msg; public Response() { this.responseCode = 0; this.msg = ""..
신한은행 디지털/ICT 수시채용 1차면접(+코딩테스트) 후기 신한은행은 정말 오랫동안.. 잘 사용하고 있는 은행이라.. 떨어지면 은행을 바꿔야한다는 생각에 무거운 마음으로 지원을 했었습니다..ㅋㅋㅋㅋㅋㅋ (그리고 현재 바꿀 준비중) 수시채용이라 서류에서 더 열심히 거르고 바로 면접으로 올려줍니다. 그래서 서류 붙은 것조차 신기했었죠 (물론 서류부터 떨어지면 고민도 안하고 바로 은행 바꿈) 서류부터 1차면접까지의 일정 지원서 접수 : 9월 18일 ~ 10월 2일 서류 합격 발표 : 10월 15일 1차면접(코딩테스트) : 10월 23일 1차면접(심층면접) : 10월 28일 ~ 10월 30일 코딩테스트 문제가 어렵다긴 보단 더럽습니다. 문자열 다루는 문제나 날짜 다루는 문제가 많이 나왔습니다. 이런 문제는 저처럼 C++로 버티지 말고 Python으로 푸는 것을 강력히 ..
2019 하반기 기업은행 디지털 1차 면접 후기 드디어 맘 편히 후기를 쓸 수 있네요! 면접을 꽤나 다양한 회사에서 본 편인데 다른 분들을 위해 천천히 후기를 남겨보려 합니다. 기업은행은 모의고사 2회 풀고 운 좋게 거의 턱걸이로 합격해서 면접에 다녀왔어요. 합숙 면접은 처음이라 새로운 경험이었습니다. 떨어졌지만 결과에 상관 없이 2일 동안 좋은 조원분들, 면접관님, 서포터즈님을 만나 즐거웠습니다! 하지만 몸은 엄청 힘들었고, 합숙 면접이 있는 회사라면 앞으로 지원하지 않을거에요 ㅠ 물론 이제 공채를 할 일이 없어서 그럴 일이 없겠지만.. 연수원은 너무 좋고 밥도 맛있었어요! 아침 풍경 사진 올려드릴게요. 그럼 이제 본격적으로 자세한 프로그램과 후기를 말씀드리겠습니다. 1일차 아이스브레이킹 (자기소개, 조표어/조구호/조가/조이름 정하기) 저는 그 때 ..
[Java] Hashtable VS HashMap VS ConcurrentHashMap Hashtable VS HashMap VS ConcurrentHashMap Hashtable, HashMap, ConcurrentHashMap 모두 Map 인터페이스를 implements한 AbstractMap을 상속받아 구현하고 있는 공통점은 있다. 그럼 어느 부분이 다를지 알아보자. Hashtable VS HashMap Hashtable은 모든 데이터 변경 메소드가 synchronized로 선언되어 있어서, 메소드 호출 전 스레드 간의 동기화 lock을 통해 멀티 스레드 환경에서 data의 무결성을 보장해준다. (thread-safe) 하지만 HashMap은 그런 장치가 1도 없기 때문에, 동기화 문제가 발생할 수 있다(non-thread-safe). 물론, HashMap도 synchronized로 ..