목록분류 전체보기 (184)
영국 척척석사 유학생 일기장👩🏻🎓
1) GROUP BY데이터의 하위 세트 내에서 데이터를 집계하는데 사용 가능위의 schema에서는 다른 계정, 다른 지역 또는 다른 영업 담당자에 대한 그룹화aggregator 내에 있지 않은 SELECT 문의 모든 열은 GROUP BY 열에 있어야 함GROUP BY 는 항상 WHERE 과 ORDER BY 사이에 있음ORDER BY는 스프레드시트 소프트웨어에서 SORT처럼 작동오류발생 코드 예GROUP BY로 바르게 고친 예 2) 연습문제가장 먼저 주문한 account(이름)는? 해결책에는 주문의 account name과 date가 있어야 합니다.각 계정의 총 판매액을 usd로 찾습니다. usd 및 회사 name의 각 회사 주문에 대한 총 매출이라는 두 개의 열을 포함해야 합니다. 어떤 channel을 ..
1) MIN, MAX각 열의 최솟값, 최댓값숫자가 아닌 열에도 사용 가능 (알파벳에서 가장 낮은(높은) 숫자, 가장 빠른(늦은) 날짜)2) AVG데이터의 평균 (열의 모든값의 합계)/(열의 값의 수)분자와 분모 모두에서 NULL값을 무시NULL을 0으로 계산하려면 SUM및 COUNT를 사용해야 함3) 연습문제가장 먼저 주문한 것은 언제입니까? 날짜만 반환하면 됩니다.SELECT MIN(occurred_at)FROM orders;집계 함수를 사용하지 않고 질문 1과 동일한 쿼리를 수행해 보십시오.SELECT occurred_atFROM ordersORDER BY occurred_atLIMIT 1;가장 최근(최신) web_event는 언제 발생했습니까?SELECT MAX(occurred_at)FROM web..
이 글에서는 지난 글에서 저장한 폴더 안에 있는 영화 평론 텍스트파일을 읽어보겠습니다 파이썬의 glob라이브러리를 사용해서 각 파일을 한 줄씩 읽어들여서 파일의 제목, URL, 본문을 추출하고 Pandas DataFrame에 저장해보겠습니다. (데이터분석) 파이썬의 requests 라이브러리 이용하여 파일 다운로드하기requests 라이브러리로 파일 다운로드하기1) requrests 와 os 불러오기 2) 다운로드한 파일을 저장할 디렉터리 만들기os.path.exist : 파일 경로가 존재하는지 확인if not : 존재하지 않을 때만 디렉터리 만life-of-nomad.tistory.com 지난 글에서 저장한 디렉터리를 먼저 보겠습니다.각 txt 파일을 더블 클릭해서 열어보면 아래와 같습니다.첫번째 줄..
requests 라이브러리로 파일 다운로드하기1) requrests 와 os 불러오기 2) 다운로드한 파일을 저장할 디렉터리 만들기os.path.exist : 파일 경로가 존재하는지 확인if not : 존재하지 않을 때만 디렉터리 만들기 3) url 리스트 만들기 4) requestsrequests.get(url)로 HTTP GET 요청 생성하기raise_for_statur 함수 : GET 요청에 오류가 발생했을 때 예외가 발생하도록 설정하기os.path.join : 콘텐츠를 다운로드할 파일 경로 구성하기 (folder_name과 url결합해서 이름으로 지정 위의 예시에서는 /로 구분된 것중 끝에서 첫번째 요소니깐 ebert_review_2017/1-the-wizard-of-oz-1939-film.tx..
zipfile 이용하기zipfile.ZipFile을 통해 ZipFile 클래스에 엑세스해서 zipfile 라이브러리로부터 zip파일을 읽고 쓸 수 있게 합니다."r"을 지정하여 tiny_csv_zip이라는 이름의 zip파일을 읽기모드에서 열고 zip_ref라는 파일 객체를 생성합니다.extractall 함수를 사용해서 zip파일 내의 모든 파일을 tiny_csv라는 이름의 새 폴더로 추출합니다.pandas 이용해서 tiny_csv폴더에서 csv파일을 읽어서 DataFrame 으로 반환합니다.문제점pandas가 세미콜론(;)을 제대로 처리하지 못합니다. (pandas는 기본적으로 쉼표로 값을 구분하기 때문)테스트 결과가 없는 것이 존재합니다. No Test Taken => 누락값은 NA로 나타내는게 적합합..
1) NULLNULL은 0과 다릅니다, 데이터가 존재하지 않는 셀입니다.WHERE 절에서 NULL을 식별할 때 IS NULL 또는 IS NOT NULL 을 씁니다. (NULL은 SQL에서 값으로 간주되지 않기 때문에 =를 사용하지 않습니다)NULL은 LEFT 또는 RIGHT JOIN을 수행할 때 자주 발생합니다. LEFT JOIN의 왼쪽 테이블에 있는 일부 행이 오른쪽 테이블의 행과 일치하지 않으면 해당 행은 결과에 일부 NULL값을 포함합니다.NULL은 단순히 데이터베이스의 데이터가 누락된 경우에도 발생합니다.SELECT *FROM accountsWHERE primary_poc IS NOT NULL; 2) COUNTCOUNT는 NULL 값이 있는 행을 고려하지 않습니다.누락된 데이터가 있는 행을 빠르게..
1) JOIN : 한 번에 둘 이상의 테이블에서 데이터를 가져올 수 있도록 함JOIN 문을 추가하면 ON 문도 추가됨SELECT orders.*, accounts.* #테이블 이름은 항상 마침표 앞/ 열은 항상 마침표 뒤FROM ordersJOIN accountsON orders.account_id = accounts_id;SELECT orders.standard_qty, orders.gloss_qty, orders.poster_qty, accounts.website, accounts.primary_pocFROM ordersJOIN accountsON orders.account_id = accounts.id;SELECT *FROM web_eventsJOIN accountsON web_events.acco..
1) SELECT & FROMSELECT : 데이터를 받을 열FROM : 열을 선택하려는 테이블 지정테이블의 모든 열에 있는 데이터를 제공받으려면 * 사용SELECT *FROM orders2) LIMITLIMIT : 테이블의 처음 몇 행만 보고 싶을 때 유용전체 데이터 불러오는 것 보다 속도 훨씬 빠름항상 쿼리의 맨 마지막 부분SELECT *FROM ordersLIMIT 10; (처음 10개의 행만 표시) 3) ORDER BY모든 열의 데이터를 사용하여 결과를 정렬SELECT, FROM 뒤 LIMIT 앞기본값은 오름차순/ ORDER BY 뒤에 DESC 추가 시 내림차순 정렬SELECT *FROM ordersORDER BY occurred_atLIMIT 1000;한 번에 두 개 이상의 열을 정렬 가능/ 맨..
선형 회귀를 사용해서 내용 기반 추천을 해 봅시다. 가장 먼저 선형 회귀에서는 데이터를 수학적으로 어떻게 표현하는지 봅시다. 먼저 아래 데이터를 실제로 사용할 떄는 영화 이름이나 속성 이름을 쓰지 않았는데, 구별을 하기 위해 몇 번째 데이터와 속성인지를 자연수로 표시해보겠습니다. 가장 기본적으로 입력 변수들, 위의 경우 영화 속성들은 x라는 문자로 나타내고, 목표 변수, 즉 유저 평점은 y라는 문자로 나타냅니다. 1. 입력 변수 각 영화에서 속성은 액션, 로맨스, 코미디, 감동 총 4개 입니다. 첫 번째 입력 변수인 액션 정도를 나타내기 위해 x_1, 로맨스 정도를 나타내기 위해 x_2, 나머지도 마찬가지로 x_3, x_4로 나타냅니다. 입력 변수의 개수는 n이라는 문자로 표현하는데 지금은 총 4개의 입..
1. 데이터 셋 저번 글에서 사용한 데이터에다가 중요도라는 열을 추가하겠습니다. 에다 부스트는 전에 있는 스텀프들이 틀리게 예측한 데이터들을 조금 더 잘 맞추려고 하는 알고리즘입니다. 그렇기 때문에 스텀프를 만들 때 전에 예측에 실패했던 데이터들을 조금 더 중요하게 취급을 해야 합니다. 이걸 수치화하고 보기 편하게 열로 추가시켜주는 것입니다. 처음에는 틀리게 예측한 데이터가 없으니까 모든 데이터의 중요도를 같게 설정합니다. 7개의 데이터가 있으니까 각각 1/7씩 입니다. 중요도의 합은 항상 1로 유지시켜 줍니다. 2. 첫 스텀프 만들기 첫 스텀프는 전에 만든 스텀프가 없기 때문에 결정 트리를 만들 때랑 똑같이 root 노드를 고릅니다. 일단 각 질문들의 지니 불순도를 계산합니다. 지니 불순도가 가장 낮은..