[Python] 조건에 해당하는 array 값 변경
·
데이터분석
dataframe 보다 numpy 배열이 훨씬 빠르기도 하고, 딥러닝 모델의 input을 위해 array로 변환하여 처리해야 하는 일이 많다. 데이터프레임에서 조건에 맞는 행을 필터링해서 값을 변경하는 것처럼 numpy 배열에서도 조건에 맞는 원소를 변경하려면 어떻게 해야 할까? 1) np.where 절로 조건에 해당하는 인덱스를 가져오기 # 예시로 사용할 배열 생성 arr = np.array([[0.1, 0.6, 0.3, 0.8, 0.2], [0.7, 0.4, 0.9, 0.2, 0.5], [0.3, 0.2, 0.6, 0.7, 0.1], [0.8, 0.1, 0.5, 0.4, 0.9]]) # 2번 열과 4번 열에서 0.5를 초과하는 값의 인덱스 가져오기 indices = np.where(arr[:, [2,..
[Python] min-max 벗어난 값을 min, max값으로 대체하기
·
데이터분석
일반적으로 데이터 정규화를 위해 min-max scaling을 많이 사용한다. 하지만 min-max scaling의 단점은 기준이 scaling이 데이터의 min 값과 max값을 기준으로 이루어지기 때문에 아래와 같은 단점을 갖는다. ① 이상치에 영향을 많이 받는다. ② 운영 시 min, max값이 넘는 값이 유입되면 에러가 발생한다. 이상치는 min-max scaling 하기 전 제거하고 scaling을 하면 어느 정도 해결할 수 있으나 운영 상에서 기존 데이터 범위 외 데이터가 새롭게 들어올 경우는 코드를 추가해 미리 대비를 해야 한다. min-max값 범위 외 데이터가 유입되는 경우에 min-max scaling 결과의 예상 범위인 0~1을 넘는 데이터가 생겨나는데 이 때, np.maximum과 n..
알고리즘 성능 평가 방법 - 빅오 표기법
·
Algorithm
알고리즘의 성능을 어떻게 평가할까? 알고리즘은 문제를 해결하는 절차, 방법을 의미한다. 그렇다면 어떻게 문제를 해결해야 좋다고 말할 수 있을까? 바로 문제를 올바르게 해결했는지와 빠르게 해결했는지이다. 그렇기에 코딩테스트에서도 제시된 input을 넣었을 때 예상되는 output을 나타내는지로 정확도를 평가하고 제시된 시간과 메모리 안에서 값이 산출되는지로 효율성을 평가한다. 즉, 알고리즘의 실행시간이 짧고 메모리를 적게 사용하는 것이 좋은 알고리즘이라 말할 수 있다. 하지만 알고리즘의 성능을 평가할 때 실행시간을 기준으로 평가하기는 어렵다. 실행시간이 알고리즘이 돌아가는 환경에 따라서 다르게 나타나기 때문이다. 알고리즘이 실행되는 하드웨어 성능에 따라 달라질 수 있으며 어떤 프로그래밍 언어를 사용하는 지..
자료구조와 알고리즘의 개념
·
Algorithm
프로그래밍을 처음 시작하면 자료구조와 알고리즘부터 접하게 된다. 알고리즘이란 말은 실무에서도 많이 사용하지만 요즘 핫한 인공지능에서도 알고리즘이라는 표현을 참 많이 쓰는데 자료구조는 뭐길래 컴퓨터과학의 시작이 되며 알고리즘은 뭐길래 강조되는지 그 개념을 알아보고자 한다. 자료구조란? 자료구조의 정의 자료구조란 쉽게 말하면 데이터를 담는 틀이다. 음식을 담을 때 어떤 음식이냐, 어떤 용도이냐에 따라 담는 그릇이 달라지듯 자료구조도 자유롭게 선택해서 사용할 수 있지만 주먹만한 음식을 담기 위해 테이블만한 그릇이 필요하지 않듯 컴퓨터가 효율적으로 처리할 수 있는 자료구조를 알고 자료의 형태와 알고리즘에 맞게 사용하는 것이 중요하다. 자료구조의 종류 자료구조는 크게 단순 자료구조(Primitive Data St..
[패스트캠퍼스] 앱개발 강의 수강 - 한번에 끝내는 앱개발 : 기획부터 개발, 배포까지
·
프로젝트
2024년 목표 중 하나가 앱 개발이다. 사이드잡으로 앱 개발로 내가 원하는 앱을 개발하여 수익을 내고 싶어 앱을 직접 개발하기 위해 기초 강의를 내일배움카드로 수강하였다. 내일배움카드를 사전에 신청한 후 패스트캠퍼스에서 k-digital 기초역량훈련 과정인 앱개발 강의를 수강하였는데 내용도 알차고 기초부터 전체 앱개발까지 강의를 알려줘 수강을 잘했단 생각이 들었다. 내일배움카드는 대부분 알 수도 있지만 국가에서 재직자, 구직자들 대상으로 무언갈 배울 때 지원을 해주는 제도로 해당 강의도 국비지원교육에 해당하여 원래는 49만원이지만 4만 9천원만 내고 수강이 가능하다. 80% 이상 들으면 환급도 가능하니 강의를 다 듣는다면 무료로 강의를 듣는 거와 다름 없다. 인터넷으로 듣는 교육이라 시간에 구애받지 않..