2024/04 67

2024-04-11

Today 1. ADsP 강의 (정형 데이터 마이닝) 2. 파이썬 코드카타 3. SQL 코드카타 Today I Learned SQL 입양 시각 구하기 https://lyj-01.tistory.com/90 입양 시각 구하기(2) #WITH RECURSIVE , SET함수 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 lyj-01.tistory.com 단순히 시간별 카운트를 해주면 되는줄 알고 이렇게 작성했는데.. SELECT HOUR(datetime) HOUR, COUNT(*) COUNT FROM ANIMAL_OUTS GROUP BY 1 ORDER BY 1 문제에서..

TIL 2024.04.11

입양 시각 구하기(2) #WITH RECURSIVE , SET함수

보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. WITH RECURSIVE 구문 사용 WITH RECURSIVE TIME AS( SELECT 0 AS h UNION ALL SELECT h+1 FROM TIME WHERE h < 23) SELECT h, COUNT(HOUR(DATETIME)) AS 'COUNT' FROM TIME LEFT OUTER JOIN ANIMAL_OUTS ON h=HOUR(DATETIME) GROUP BY h ORDER BY h; ① WITH RECURSIVE TIME AS( # 가상 테이블명 TIME 생성 ② SELE..

SQL 코드카타 2024.04.11

내적 # zip()

길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) def solution(a, b): answer = [x*y for x,y in zip(a,b)] result = sum(answer) return result ① answer = [x*y for x,y in zip(a,b)] # zip() 함수를 사용하여 a와 b 리스트를 엮어준다 # 엮은 리스트에서 x 와 y로 임의의 값을 주고 x*y 를 계산해준다 # 계산한 값은 리스트 인수로 반환 ② result = sum(answer)..

정형 데이터 마이닝

데이터 마이닝 : 통계학자와 데이터베이스 학자들이 사용하는 용어 : 거대한 양의 데이터 속에서 유용한 정보를 찾아내는 과정 : 숨겨진 규칙,패턴 등을 찾아내어 의사결정에 활용하는 것이 목적 통계분석과 데이터 마이닝의 차이 : 통계분석 > 가설,가정에 따른 분석 및 검증 : 데이터마이닝 > 가설,검정을 하지 않고 다양한 수리 알고리즘을 이용해 데이터로부터 의미있는 정보를 찾아내는 방법 대표적인 데이터 마이닝 사례 ① 마케팅 및 고객 서비스 : 고객 행동을 분석하고 예측하여 개별 고객에게 맞춤형 마케팅 전략을 구축,상품추천,이탈예측등 ② 금융분야 : 부정 거래 탐지, 고객 신용 위험 평가 ③ 의료 분야 : 질병 진단, 환자 특성 분석 ④ 생산 및 공급망 관리 : 생산 프로세스를 최적화하고 불량률을 줄임 ⑤ ..

ADsP 내용 정리 2024.04.11

2024-04-09

Today 1. ADsP 강의 2. SQL 코드카타 3. 파이썬 코드카타 Today I Learned SQL 리뷰를 가장 많이 작성한 회원의 리뷰를 조회 SELECT member_name, review_text, review_date FROM MEMBER_PROFILE p JOIN rest_review r ON p.member_id=r.member_id WHERE p.member_id = ( SELECT member_id, COUNT(review_id) FROM rest_review GROUP BY member_id ORDER BY 2 DESC LIMIT 1 ) 수월하게 where 절 서브쿼리 작성을 했다고 생각을 했는데 Operand should contain 1 column(s) 예~ 또다시 오류가 ..

TIL 2024.04.09

가운데 글자 가져오기 # 슬라이싱

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. s는 길이가 1 이상, 100이하인 스트링입니다. def solution(s): answer = '' if len(s) % 2 == 0: answer = s[len(s) // 2 - 1 : len(s) //2 + 1] else: answer = s[len(s) // 2] return answer ① if len(s) % 2 == 0: # s 의 길이가 짝수일때 ② answer = s[len(s) // 2 - 1 : len(s) //2 + 1] # 인덱스를 출력하기 위해 len(s)//2 이렇게 나눈 몫으로 인덱스의 값을 반환 중간 값을 구해주기 때문에 2로 나누어준다!! 5..

제일 작은 수 제거하기 # del , remove(), min()

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. def solution(arr): if len(arr)==1: del arr[0] arr.append(-1) elif len(arr)>=2: arr.remove(min(arr)) return arr ① if len(arr)==1: # arr의 길이가 1일 경우 (숫자가 1개만 있을 경우에는 -1 을 반환..

대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해서 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수(컬럼명: RECORDS) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 월을 기준으로 오름차순 정렬하고, 월이 같다면 자동차 ID를 기준으로 내림차순 정렬해주세요. 특정 월의 총 대여 횟수가 0인 경우에는 결과에서 제외해주세요. SELECT MONTH(start_date) MONTH , car_id , COUNT(*) RECORDS FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE (START_DATE between '2022-08-01'..

SQL 코드카타 2024.04.09

통계분석 - 시계열분석

시계열 분석 : 일정 시간 간격으로 기록된 자료들에 대하여 특성 파악하고 미래를 예측 * 시계열 자료 : 시간의 흐름에 따라서 관측된 자료 시계열 자료의 자기 상관성 : 인접한 자료들과 상호 연관성을 가진다 시계열 분석의 자료 : 정상성, 비정상성 * 정상성 : 평균이 일정할 것, 분산이 시점에 의존하지 않을 것 * 비정상성 : 자료의 대부분은 비정상 시계열 자료의 정상성 조건 ① 일정한 평균 ② 일정한 분산 ③ 시차에만 의존하는 공분산 정상 시계열의 특징 : 어떤 시점에서 평균과 분산 그리고 특정한 시차의 길이를 갖는 자기공분산을 측정하더라도 동일한 값을 갖는다 : 항상 그 평균값으로 회귀하려는 경향이 있으며, 평균값 주변에서의 변동은 대체로 일정한 폭을 갖는다 : 정상 시계열이 아닌 경우 특정 기간의..

ADsP 내용 정리 2024.04.09

통계분석 - 다변량 분석

다차원척도법(MDS) : 개체간의 근접성을 시각화 해놓은 그림 : 군집분석과 같이 개체들을 대상으로 변수들을 측정한 후에 개체들 사이의 유사성/비유사성을 측정하여 개체들을 2차원 공간상에 점으로 표현하는 방법 다차원 척도법 방법 : stress 값을 통해 적합여부를 판단 : 0에 가까울수록 좋은 것 * 뭉쳐져 있을 수록 유사하고 거리가 멀수록 성분이 다르다 다차원 척도법 종류 : 계량적 MDS - 구간척도,비율척도, 양적척도, 유클리드 거리행렬, cmdscale : 비계량적 MDS - 순서척도, 서열척도, isoMDS 주성분분석 : 여러 변수 중 서로 상관성이 높은 변수들의 선형 결합으로 새로운 변수를 만들어 기존 변수를 요약 및 축소하는 방법 : 통계적 분석을 하는 사전 기초 분석 : 새로운 변수로 생..

ADsP 내용 정리 2024.04.09