'분류 전체보기' 카테고리의 글 목록 (28 Page)
Data Analyst
300x250
300x250

분류 전체보기 366

Lv4 | 전처리 | Polynomial Features (1)

이전에는 연속형 데이터를 범주형 데이터로 변환 시키는 방법으로 변수를 추가헀다면, 요번에는 Polynomial Features라는 라이브러리에 대해 알아보도록 하겠다. Polynomial Features 라이브러리는 sklearn 에 내장되어 있는 라이브러리이다. Polynomial Features 라이브러리를 이용하면 현재 데이터를 다항식 형태로 변환 시킬 수 있다. 데이터에 x1, x2변수가 있다하면 PolynomialFeatures 라이브러리를 이용해 1. x1, x2, x1^2, x1*x2, x2^2로 간단하게 변환 시킬 수 있다. # 임의 데이터 생성 X = np.arrange(6).reshape(3,2) df = pd.DataFrame(X) df.columns = ['x_1','x_2'] po..

Lv4 | 전처리 | 연속형 변수 변환 (2)

연속형 변수를 범주형 변수로 변환 시키는 방법 중 2번째 방법에 대해 알아보겠다. 수치 범위 구간을 직접 지정해 레이블링 하기. 판다스의 cut() 함수로 레이블링 하기 지난 시간에는 직접 수치 범위를 지정해서 나눴다. 직접 수치 범위를 나눌 경우 조금 더 세밀하게 조정가능하다는 장점이 있지만, 여러 변수에 한번에 적용하기는 어렵고 각각의 변수에 맞는 범위를 지정하기에는 많은 시간이 소요될 것이다. 이번 시간에는 판다스의 cut() 함수를 이용해 손쉽게 연속형 변수를 범주형 변수로 변환 시켜보도록 하겠다. 사용 방법은 아래와 같다. train['변수명'] = pd.cut(train['변수명'], 나눌 범주의 갯수(정수형), labels=False) # train 데이터의 alcohol 변수를 구간이 5개..

Lv4 | 전처리 | 연속형 변수 변환 (1)

머신러닝 모델링을 하다 보면 제한된 변수로 성능을 끌어 올리는 데는 한계가 있다. 실제 데이콘 대회 우승자 코드를 살펴보면, 전처리와 모델링은 크게 차이가 없다. 우승자들과 그 외 사람들을 비교해보면, 크게 다음 두 가지에서 큰 차이를 보인다. 1. 어떻게 데이터를 증강시켰는지? 2. 어떤 파생 변수를 추가하였는지 ? 특히 정형 데이터의 경우 데이터 증강은 제한적입니다. 그래서 더욱더 효율적인 파생 변수를 추가하는 것이 중요하다. 오늘은 가장 간단하게 파생 변수를 추가할 수 있는 방법인 연속형 변수를 범주형 변수로 변환시켜보겠다. 연속형 변수를 범주형 변수로 변환 시키는 방법은 여러가지가 있겠지만, 크게 2가지에 대해서 알아보도록 하겠다. 1. 수치 범위 구간을 직접 지정해 레이블링 하기. 2. 판다스의..

머신러닝 데이터 분석 2회차

UNIT 2-1 정형 데이터와 비정형 데이터 정형 데이터 데이터 베이스의 정해진 규칙에 맞게 구조화된 형태(스키마)로 구성된 데이터 머신러닝이 자주 사용 비정형 데이터 정해진 규칙 없이 다양한 형태로 구성된 데이터 딥러닝이 자주 사용 반정형 데이터 정형 데이터와 비정형 데이터가 완벽히 분리되지않는 형태의 데이터 로그 파일 데이터 웨어하우스와 데이터 레이크 데이터 웨어하우스 - 여러 시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 통합해서 관리하는 데이터 베이스 - 하나의 웨어하우스에서 주제별로 데이터 마트를 생성( 필요한것들만 뽑는다) 데이터 레이크 - 원래의 형식으로 대량 저장하여, 정형, 비정형, 반정형 데이터를 모두 적재 - Hadoop, spark 등 다양한 빅데이터 기술 요소를 포함 SU..

머신러닝 데이터 분석 1회차

Unit 1-1 기존의 프로그래밍과 머신러닝 프로그래밍의 차이점 - 프로그래밍 컴퓨터의 프로그램을 작성하는 일. 일반적으로 프로그램의 작성 방법의 결정, 코딩(coding), 에러 수정 등의 작업 모두를 가리키지만 코딩만을 가리킬때도 있다. 명시적 프로그래밍 - 규칙 기반으로 모든 사항을 프로그래밍 하는 것 머신러닝 프로그래밍 - 어떤 데이터로부터 학습을 하여, 학습된 형태로 동작하도록 프로그래밍 하는 것 - 머신러닝|딥러닝|데이터 사이언스 - 통계학 vs 머신러닝 통계학 데이터에 대한 분포 가정에 의존한다. 이론적 솔루션을 제공한다. 해석 가능성이 중요하다. 머신러닝 사람의 두뇌보다 수많은 연산을 의존한다. 이론보다 유연성을 강조한다. 해석 가능성보다 예측력을 우선시한다. - 대표적인 머신러닝 문제 U..

Lv4 | 전처리 | 다중공선성 해결 - PCA (3)

실습 순서는 다음과 같습니다. 1. iris 데이터 로딩 2. x축: sepal length y축: sepal width하여 품종 데이터 분포 시각화 3. PCA를 이용해 차원 축소 후 변환된 데이터 셋을 2차원 상에서 시각화 #setosa는 빨간색, versicolor는 노란색, virginica는 파란색 color = ['r','y','b'] # setosa의 target 값은 0, versicolor는 1, virginica는 2. # 각 target 별로 다른 색으로 scatter plot for i,c in enumerate(color): x_axis_data = df[df['target'] == i]['sepal_length'] y_axis_data = df[df['target'] == i][..

Lv4 | 전처리 | 다중공선성 해결 - PCA (2)

차원 축소 기법 중 가장 대표적인 기법인 PCA는 여러 변수간에 존재하는 상관관계를 이용해 이를 대표하는 주성분을 추출해 차원을 축소하는 기법이다. PCA는 기존 데이터의 정보 유실 최소화를 위해 가장 높은 분산을 가지는 데이터 축을 찾아 해당 축으로 차원을 축소한다. 키와 몸무게 2개의 피처를 가지고 있는 데이터 셋이 다음과 같이 구성되어 있다고 가정한다. 이 2개의 피처를 한개의 주성분을 가진 데이터 셋으로 차원축소하는 과정은 다음과 같다. PCA는 제일 먼저 가장 큰 데이터 변동성을 기반으로 첫 번째 벡터 축을 생성하고, 두 번째 축을 이 벡터 축에 직각이 되는 벡터(직교 벡터)를 축으로 한다. 세 번째 축은 다시 두 번째 축과 직각이 되는 벡터를 설정하는 방식으로 축을 생성한다. 이렇게 생성된 벡..

Lv4 | 전처리 | 다중공선성 해결 - PCA (1)

이전 시간에 말했듯이, 다중공선성을 해결하는 방법은 크게 세가지가 있다. 1. 변수 정규화 2. 변수 제거 3. PCA(주성분 분석) 변수 정규화 방법은 수치형 데이터들을 Min-Max scaling 이나 Z-Score scaling 등의 기법으로 정규화 시켜주는 방법이고, 변수 제거 방법은 변수의 VIF(분산팽창요인) 계수가 10이상인 변수를 제거하는 방법이였다. 마지막 세번째 방법은 PCA를 통한 해결 방법이다. PCA를 이해하기 위해서 먼저 차원축소의 개념을 이해해야한다. 차원 축소란? 차원 축소는 많은 피처로 구성된 다차원 데이터 셋의 차원을 축소해 새로운 차원의 데이터 셋을 생성하는 것이다. 일반적으로 차원이 증가할수록 데이터 포인트 간의 거리가 기하급수적으로 멀어지게 되고, 희소(sparse)..

Lv4 | 전처리 | 다중공선성 해결 | 변수 제거

다중공선성 해결 이전 시간에 다중공선성을 해결하는 3가지 방법에 대하여 알려드렸고, 그 중 첫번째 방법이 ㄴ변수 정규화에 대해 실습해보았다. 이번 시간에는 두번쨰 방법인 VIF 기준 10이상의 변수들을 제거해 보도록 하겠다. # train 데이터의 VIF 계수 출력 vif =pd.DataFrame() vif["VIF Factor"] = [variance_inflation_factor(train.values,i) for i in range(train.shape[1])] vif['features'] = train.columns vif # 종속변수인 quality를 제외 한 vif 10이상 변수 제거 new_train = train.drop(['alcohol','fixed acidity','total sulf..

카테고리 없음 2021.09.03
300x250
300x250