전체 글 708

[빅데이터분석기사, adsp] KDD , crisp-dm, 빅데이터 분석방법론

KDD 1. 데이터셋 선택(selection) : 도메인 이해, 목표설정 2. 데이터 전처리(preprocessing) : 잡음, 이상치, 결측치 처리 3. 데이터 변환(transformation) : 변수선택 차원축소 4. 데이터마이닝(data mining) : 분석목적에 맞는 데이터마이닝기법 선택, 적절한 알고리즘 적용 5. 해석과 평가(interpretation, evaluation) : 일치성확인 및 평가 CRISP-DM 1. 업무이해 : 비즈니스 관점에서 프로젝트의 목적과 요구사항을 이해, 데이터 분석을 위한 문제정의 - 업무목적 파악, 상황파악, 목표설정, 계획수립 2. 데이터 이해 : 분석을 위한 데이터를 수집하고 데이터 속성을 이해, 인사이트 발견 - 초기데이터 수집, 데이터 기술 분석, ..

Data WareHouse

정의 ods를 통해 정제 및 통합된 데이터가 데이터 분석과 보고서 생성을 위해 적재되는 데이터 저장소 특징 1. 주제중심성 : end user도 이해쉬운 형태 2. 통합성 : 여러데이터 통합본 3. 영속성, 비휘발성 : 읽기전용, 삭제되지 않음 4. 시계열성 모델링 기법 1. 스타 스키마 - 조인스키마라고도 하며 가장 단순 - 사실 테이블 : 제 3정규형으로 모델링, 차원테이블 : 제 2정규형 - 장점 : 이해쉽고 쿼리작성 용이 - 단점 : 비정규화로 인한 중복 2. 스노우 플레이크 스키마 - 스타 스키마에서 차원테이블도 제 3 정규형으로 정규화한 형태 - 중복제거되어 적재시 시간 단축되나 복잡성 증가로 쿼리 난이도 상승 - 장점 : 중복제거, 적재시 시간 단축 - 단점 : 복잡성 증가, 조인 테이블 개..

검정 종류

1. t-검정 (1) 일표본 t-검정 정의 : 단일모집단에서 관심이 있는 연속형 변수의 평균값을 특정 기준값과 비교하고자 할 때 사용 ex) 과수원에서 생산되는 사과의 평균 무게가 200g이라고 할 때, 실제로 과수원에서 생산되는 전체 사과의 평균 무게가 200g인지 알고 싶은 경우 수행 - 정규분포를 따라야함 ​ (2) 대응표본 t-검정 정의: 단일모집단에 대해 두번의 처리를 가했을 때, 두 개의 처리에 따른 평균의 차이를 비교하고자 할 때. ex) 수면영양제 복용효과를 조사하기 위해 영양제 복용 전과 후의 평균 수면시간에 차이가 있는지 비교. - 정규분포를 따라야함 ​ (3) 독립표본 t-검정 정의 : 두개의 독립된 모집단의 평균을 비교 ex) 성별에 따른 출근시간에 차이를 확인. (독립변수:성별, ..

분석종류

1. 분류분석 (1) 나이브베이즈 (2) K-NN(최근접 이웃알고리즘) : 범주화된 데이터set에 새로운 데이터를 추가한 후 가장 근접한 k개의 데이터셋의 다수범주에 새로운 데이터도 편입시키기는것 - 데이터 내에 이상치가 존재하면 성능에 큰 영향을 받는다 (3) svm : 어떠한 분류기를 이용하여 마진이 가장 크게 데이터를 분류하는 방법 - 모델에 대한 해석이 어렵다 - 속도가 느리며 메모리할당 크다 ​ 2. 군집분석 (1) 재표본 추출 - k-fold : 데이터를 k개 집단으로 나눈 뒤 (k-1:1=학습:검증) 씩 총 k번에 걸쳐서 학습을 진행 - 붓스트랩 : 모집단에서 추출한 표본샘플에 대해사 다시 재표본을 여러번 추출하여 모델을 평가(랜덤 복원추출) (2) 군집화 기법 - 밀도기반 군집분석 : 어느..

판다스(pandas) 데이터프레임(dataframe) 관련함수

여기에 아래 링크에 다시 정리했습니다! sosoeasy.tistory.com/464 데이터 전처리 관련 함수 * 넘파이는 np, 판다스는 pd import numpy as np import pandas as pd 결측치 함수 설명 리턴값 비고 np.isnan(data) data값이 nana값이면 True를 반환 True or False sosoeasy.tistory.com/188 데이터변환 (data.. sosoeasy.tistory.com 0. 파일 불러오기 csv=pd.read_csv("NYPD_Complaint_Data_Current_YTD.csv") 1. 데이터 추가하기 df=pd.DataFrame(columns=["season","time","crime_code","street"]) # igno..

pandas dataFrame에서 nan값 찾기

* 2,3번 방법은 nan이아니면 오류가 나기 때문에 예외처리를 해주어야 한다. 따라서 1번방법을 사용하도록 한다. # 변수nan은 nan값. nan=csvTrain["Province_State"][0] 1. 자기자신과 비교하기 # nan이면 자기자신과 비교해도 False가 나온다 print(nan==nan) 더보기 False 2. numpy모듈의 .isnan()함수 import numpy as np print(np.isnan(nan)) 더보기 True 3. math모듈의 .isnan()함수 import math print(math.isnan(nan)) 더보기 True

[파이썬] numpy array 다루기

import numpy as np ''' --------------------------------------------------------------------- 1. 모양확인 (numpy.ndarray.shape) - 1차원부터 차례대로 개수를 확인 - 공통된 부분까지만 출력된다. --------------------------------------------------------------------- ''' x=np.array([[[1,4],[5,6]],[[1,2],[7,8]],[[4,1],[66,4]]]) print(x.shape) # (3,2,2) x=np.array([[[1,4],[5,6]],[[1,2],[7,8]],[[4,1],[66,4]],[2,7]]) print(x.shape) # (..

폴더내의 하위 파일 모두 불러오기 및 접근

하위파일 모두 불러오기 import os import pandas as pd folder="name_of_folder" #디렉토리 내에 폴더 subdir_names=os.listdir(folder) #subdir_names에 폴더내의 모든 파일이름이 들어간다 for file_name in subdir_names: csv=pd.read_csv(folder+"\\"+file_name) #하위 디렉토리 접근시 역슬러시(원화표시) 하위 파일(or 폴더)에 접근하기 # 폴더 data_path = '/gdrive/My Drive/folder' # 파일 file=os.path.join(data_path,"file") print(file) /gdrive/My Drive/folder/file

파일 불러오기 , 쓰기

1. 파일 읽어오기 (1) 내장 모듈 fileMatrix = [] with open("21.csv",'r') as file: for lineContent in file: fileMatrix.append(lineContent.strip('\n').split(",")) for lineContent in file: - file에 있는 한줄씩 lineContent에 저장 (문자열형식) ​ lineContent.strip('\n').split(",") - lineContent에 \n은 없앰 - split(",") : 리스트를 만들어서 ","를 기준으로 나누어서 한 index씩 넣음 fileMatrix = [] with open('data.csv','r',encoding='utf-8') as fileOpen: li..

데이터프레임 관련

1. 각각의 벡터를 만들고 합치는 방법 english > class class [1] 1 1 2 2 2. 바로 만드는 방법 df2_midterm df2_midterm df2_midterm english2 math2 class2 1 90 50 1 2 80 60 1 3 60 100 2 4 70 20 2 3. 데이터프레임의 속성 읽기 dataframe$col df=data.frame(var1=c(5,3,4), var2=c(2,6,1)) df$var1 > df=data.frame(var1=c(5,3,4), + var2=c(2,6,1)) > df$var1 [1] 5 3 4 4. 파생속성 만들기(속성추가하기) df=data.frame(var1=c(5,3,4), var2=c(2,6,1)) df$var_sum=df$v..

함수

1. 문자열 (1) pasted() 벡터형식 문자열 합치기 (파이썬의 "".join(list)와 비슷) str6 str6_pated str6_pated [1] "hello my world hi" ​ 2. 데이터 (1) head(), tail() 데이터에서 첫 6개, 마지막 6개 데이터 출력 # 앞부분을 출력, 6이 default, 10을 주면 상위 10개출력 head(exam,10) # 뒷부분을 출력, 6이 default tail(exam) > # 앞부분을 출력, 6이 default > head(exam,10) id class math english science 1 1 1 50 98 50 2 2 1 60 97 60 3 3 1 45 86 78 4 4 1 30 98 58 5 5 2 25 80 65 6 6 ..

패키지 사용방법

1. 패키지설치 : 하나의 프로젝트당 최초 한번만 설치하면 됨. (파이썬의 pip패키지설치와 비슷하다) ​ ​ (1) 코드를 통해 설치 install.package("패키지이름") (2) gui를 이용한 설치 (권장) 우측아래 package->install->packages칸에 원하는 패키지명 입력후 설치 ​ ​ 2. 패키지 불러오기 : R을 새로 실행할 때 마다 최초 한번 실시 (파이썬의 import와 비슷) library(패키지이름) library(dplyr) library(ggplot2) 3. 필요한 함수 사용 #library(dplyr) df_new

벡터 자료구조

1. C(a:b) (컴바인) # 1부터 5까지 저장 var=c(1:5) print(var) # index도 1부터 5까지 부여 var[0] # 값추가하기 var[6]=100 var #문자를 추가하면 전체 변수가 문자로 변함 var[7]="saeg" var[8]=TRUE var # 논리값(TRUE)를 넣으면 숫자 1로 들어감 var2=c(1:10) var2 var2[11]=TRUE var2 2. seq(a,b) (시퀀스) :파이썬의 range()와 똑같다. (단 seq는 마지막값을 포함함, ex) seq(1,3)=[1,2,3]) #-----------seq(a,b)-------------- var3=seq(1,10) var3 var4=seq(2,10,2) var4 #각각의 요소에 2를 넣음 var5=var..

csv,xlsx파일 읽고 쓰기

1. CSV * 용량이 작고, xlsx파일과 달리 MS가 깔려있지 않은 (macOS,linux)환경에서도 작동가능한 파일형식. # 별도의 패키지없이 R내장함수 사용 df_csv_exam df_csv_exam_novar df_csv_exam_novar V1 V2 V3 V4 V5 1 1 1 50 98 50 2 2 1 60 97 60 3 3 1 45 86 78 4 4 1 30 98 58 5 5 2 25 80 65 6 6 2 50 89 98 7 7 2 80 90 45 8 8 2 90 78 25 9 9 3 20 98 15 10 10 3 50 98 45 11 11 3 65 65 65 12 12 3 45 85 32 13 13 4 46 98 65 14 14 4 48 87 12 15 15 4 75 56 78 16 16 ..

함수에서 배열호출시 메모리참조, 벡터호출시 값참조

c++에선 함수에서 호출시 1. 배열은 메모리참조 2. 벡터는 값참조를 한다 ​ 1. 소스코드 #include #include #include #include #include #define max pow(2,31)-1 using namespace std; void vectorFuc(vector v) { for (int i = 0; i < 10; i++) { v[i] = i; } return; } void arrFuc(int *a) { for (int i = 0; i < 10; i++) { a[i] = i; } return; } int main() { vector v(10); int arr[10] = { 0, }; vectorFuc(v); //call by value arrFuc(arr); //call b..