유비온 마케팅 빅데이터 분석 9일차
# 아침 조회
1) chatGPT 생태계 구성
2) AI에 대한 정부 규제 : AI 생성 기사의 오류, AI 교육 콘텐츠의 저작권(원작자 미동의) 문제에 대한 소송
New outlets demand new rules for AI training data
3) 중국과 미국의 테크 전쟁(AI, 양자컴퓨팅 등)을 주목해야 함
# R 복습
- 통계
평균 차이 검정 : t검정, 카이제곱 검정 - 비모수 검정 윌콕슨, 맨 휘트니,
선형회귀분석 전에 상관관계분석을 해야하는 이유 : 독립변수와 종속변수 간의 상관관계 간의 선형 관계가 입증되어야 선형회귀분석을 시행하는 의미가 있음. 회귀분석 후에 상관관계 분석을 하는 이유는 독립변수들간의 다중공선성을 확인하기 위함.
카이제곱검정 : 범주형 데이터(변수)들 간의 연관성(독립성) 검정, 카테고리간의 분포 차이 검정
로지스틱회귀분석 : 시그모이드함수, 종속변수가 범주형(0또는 1)
F값의 p값을 먼저 확인하는 이유 : 통계검정의 유효성부터 확인해야 함
- 빅데이터
데이터 구조 확인 > 전처리 > 분할(createDataPartition) > trainset의 X와 Y로 f(x) 학습 > testset의 X로 Y의 예측값 추출 > testset의 Y와 비교(혼동행렬 등)하여 가장 유효한 모델 선택 > varimp 변수 중요도(Variable Importance) 변수 중요도를 통해 중요한 변수를 구별하고 그에 따라 모델 개선이나 변수 선택 (예 : 이탈여부에 큰 영향을 미친 종속 변수를 선별하여 통제)
# 정보
https://mode.com/sql-tutorial/introduction-to-sql/
SQL for Data Analysis: Tutorial Introduction - Mode
This tutorial is designed for people who want to answer questions with data. For many, SQL is the "meat and potatoes" of data analysis—it's used for accessing, cleaning, and analyzing data that's stored in databases. It's very easy to learn, yet it's emp
mode.com
SQL 공부에 유용한 사이트
SQL은 DBA/데이터엔지니어의 영역이라고 생각해서 특별히 많이 가르치지는 않을 거라고 하셨다
wrtn
모두를 위한 AI 포털 뤼튼. AI 채팅부터 이미지 생성, 나만의 AI 제작까지, 언제 어디서나 생성형 AI와 함께하세요.
wrtn.ai
GPT 4.0을 무료로 이용가능한 AI 사이트
속도가 좀 느리다는 단점이 있지만 오픈 AI로 해결 안 되는 문제는 도전해볼 만도
# 데이터베이스 개념정리
DB
데이터를 모아놓은 것, 저장한 데이터 집합
DBMS
데이터베이스 관리 프로그램 (입력, 수정, 삭제)
SQL : 데이터베이스에서 데이터 조작, 정의를 위해 사용하는 언어
데이터 입력/조회/수정/삭제 가능
테이블 , 스키마(테이블의 하위단어) 제작 가능.
- DDL : 데이터 정의 언어
명령어_CREATE, ALTER(수정), DROP(삭제), TRUNCATE 등
- DML : 데이터 조작 언어
명령어_SELECT(검색), INSERT(입력), UPDATE(수정), DELETE(삭제) 등
*마케터들은 SELECT문을 주로 활용.
- DCL : 데이터 제어 언어
명령어_GRANT, REVOKE, COMMIT, ROLLBACK 등
# 개념 정리_SQL
SELECT 컬럼명
FROM 테이블명
WHERE 조건1 AND(OR) 조건2;
# WHERE (NAME LIKE '김%' AND AGE >= 20)
OR (NAME LIKE '박%' AND AGE <= 25)
ORDER BY 컬럼명 DESC; #오름차순(ASC), 내림차순 (DESC)
LIMIT 20(갯수) OFFSET 10(시작지점) #10번째부터 20개
1) varchar #문자열
name = '홍길동'
name like '%김%' # % : 어떤 문자(종류, 갯수 상관 없음)든 대체 # 김을 포함하는 모든 이름
2) int #숫자
age = 20 # 20살인 사람만 검색
age != 20 # 20살이 아닌 사람 검색
(=) not (age = 20)
age >= 10 # 10살 이상인 사람 검색
age >= 10 and age <= 20 #10~20살인 사람 검색
(=) 10 <= age <= 20
컬럼명 IS NULL # NULL인 데이터 검색
컬럼명 IS NOT NULL # NULL이 아닌 데이터 검색
(=) NOT (컬럼명 IS NULL)
# 코딩실습_SQL
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
그리고 갑자기 코딩문제를 품...
말로만 듣던 프로그래머스를 내가?
가슴이 웅장해진다
Lv.1 문제 : 아픈 동물 찾기
SELECT ANIMAL_ID, NAME # 동물의 ID, 이름 컬럼
FROM ANIMAL_INS # ANIMALS_INS 테이블
WHERE INTAKE_CONDITION = 'Sick' # 조건절 : 'Sick' 상태 (대소문자 맞춰주기)
ORDER BY ANIMAL_ID # ID 순으로 정렬
Lv.1 문제 : 어린 동물 찾기
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE not INTAKE_CONDITION = 'Aged'# 조건절(방법1) : '나이든' 강아지가 아님
# WHERE INTAKE_CONDITION != 'Aged' # 조건절(방법2)
ORDER BY ANIMAL_ID
Lv.1 문제 : 이름이 있는 동물 찾기
SELECT ANIMAL_ID
FROM ANIMAL_INS
# WHERE NAME IS NOT NULL
WHERE NOT NAME IS NULL
ORDER BY ANIMAL_ID
Lv.1 문제 : 상위 N개 레코드
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME # 오래된 날짜 순(오름차순)이므로 생략
LIMIT 1 # OFFSET 0