반응형 파이썬39 서킷런 sklearn으로 수치형 데이터 전처리 [스케일링 - 표준화, 로버스트, MinMax, 정규화] 스케일링이란?¶ *사이킷런(sklearn) 라이브러리의 preprocessing 모듈을 사용한다. 데이터의 스케일:scale을 맞추는 데이터 전처리 작업이다. 각 컬럼들마다 값들의 범위가 상이한 점이 데이터를 보며 흔히 나타나는데, 특히 거리기반 알고리즘의 경우에는 이러한 스케일 문제가 안 좋은 결과를 초래할 수 있다. 예를 들어 최솟값 11.03과 최댓값 14.75에서의 1과 최솟값 79와 최댓값 162라는 범위 안에서의 1은 완전히 다른 영향을 미칠 수 있다. 이 데이터들을 그대로 사용할 경우 왜곡된 예측을 할 수 있기 때문에 해결하기 위해서는 인위적으로 각 컬럼이 비슷한 범위를 가지도록 만드는 작업이 필요하다. 스케일링에는 표준화 스케일링, 로버스트 스케일링, 최소-최대 스케일링, 정규화 스케일링이.. 파이썬/머신러닝 2022. 11. 16. 판다스 데이터 전처리 - 데이터프레임 함수매핑: apply(), applymap(), lambda 함수 매핑 데이터프레임에 함수를 매핑하여 데이터를 집계하는 그룹 연산, 데이터프레임을 합치거나 다양한 형태로 구조를 변경할 수 있다. 함수 매핑은 시리즈 또는 데이터프레임의 개별 원소를 특정 함수에 1:1 대응 시키는 과정이다. 1. 개별 원소에 함수 매핑¶ ① 시리즈 원소에 함수 매핑 - apply함수¶ Series객체.apply(매핑함수) 인자로 전달하는 매핑 함수에 시리즈의 모든 원소를 하나씩 입력하고 함수의 리턴값을 돌려받는 함수이다. 시리즈 원소의 개수만큼 리턴값을 받아서 같은 크기의 시리즈 객체로 반환해준다. In [31]: # 라이브러리 불러오기 import seaborn as sns #타이타닉 데이터셋에서 age, fare 2개 열을 선택하여 데이터프레임화 titanic = sns.load.. 파이썬/Pandas 2022. 11. 15. 머신러닝 데이터 학습 유형 - 지도학습 / 비지도학습 데이터와 학습 유형 머신러닝은 2차원 표 형태의 데이터가 필요하다. (해결하려는 문제에 따라 예외가 있다.) 이 게시글에서는 지도 학습으로 분류 그리고 비지도로 군집화 모델을 썼다. 먼저 목적에 따라서 지도 학습을 회귀 문제와 분류 문제로 구분할 수 있다. 회귀 문제는 예측 결괏값이 연속성을 지니는 경우이다. 실수형으로 결과를 표현한다. 예를 들면 매출액 예측, 부동산 가격 예측, 거래량 예측을 들 수 있다. 분류 문제는 예측 결괏값이 비연속적인 경우이다. 예와 아니오 처럼 답변을 얻게 된다. 이때 얻을 수 있는 분류 종류를 클래스라고 부른다. 클래스가 2개뿐일 때 이진분류라고 한다. 머신러닝에서 얻고자 하는 결괏값을 목적값 또는 타깃값이라 한다. 회귀 : 연속된 값을 측정하는 문제를 회귀라고 한다. 중.. 파이썬/머신러닝 2022. 11. 15. 판다스 데이터 표준화, 자료형 변환, 더미변수 데이터 표준화¶ 데이터셋은 여러 곳에서 수집한 자료들은 단위 선택, 대소문자 구분, 약칭 활용 등 여러 가지 원인에 의해 다양한 형태로 표현된다. 서로 다른 단위가 섞여 있거나, 같은 대상을 다른 형식으로 표현들도 많다. 동일한 대상을 표현하는 방법에 차이가 있으면, 분석의 정확도는 현저히 낮아지기 때문에 데이터 포맷을 일관성 있게 표준화 하는 작업이 중요하다. 1. 단위 환산¶ 같은 데이터셋 안에서 서로 다른 측정 단위를 사용한다면, 전체 데이터의 일관성 측면에서 문제가 발생하게 된다. 따라서 측정 단위를 동일하게 맞출 필요가 있다. UCI 자동차 연비 데이터셋 불러오기¶ mpg : 영미권에서 사용하는 갤런당 마일, 단위로 연비를 표시하고 있다. 한국에서는 리터당 킬로미터를 사용하기 때문에 변경해본다... 파이썬/Pandas 2022. 11. 13. 판다스 pandas - 중복된 데이처 처리 및 삭제: duplicated(), duplicates() 중복 데이터처리 데이터프레임에서 각 행은 분석 대상이 갖고 있는 모든 속성(변수)에 대한 관측값(레코드)을 뜻한다. 하나의 데이터셋에서 동일한 곽측값이 2개 이상 중복되는 경우 중복 데이터를 찾아서 삭제해야한다. 동일한 대상이 중복으로 존재하는 것이므로 분석 결과를 왜곡하기 때문이다. 1. 중복 데이터 확인 - duplicated() 동일한 관측값이 중복되는지 여부, 즉 행의 레코드가 중복되는지 여부를 확인하기 위해 duplicated() 메소드를 이용한다. 전에 나온 행들과 비교하여 중복되는 행이면 True가 나오고, 처음 나오는 행이라면 False를 반환해준다. In [1]: # 판다스 불러오기 import pandas as pd In [2]: # 중복 데이터를 갖는 데이터프레임 만들기 df = pd.. 파이썬/Pandas 2022. 11. 12. 판다스 pandas 데이터 전처리 - 누락데이터(NaN) 처리 데이터 전처리 - 누락데이터 처리 수집한 데이터를 분석에 적합하도록 사전 처리(Preprocessing) 일반적으로 유효한 데이터 값이 존재하니 않는 누락 데이터를 NaN(Not a Number)으로 표시한다. 데이터프레임에는 원소 데이터 값이 종종 누락되는 경우가 있다. 데이터를 파일로 입력할 때 빠트리거나 파일 형식을 변환하는 과정에서 데이터가 소실되는 것이 주요 원인이다. 데이터 품질을 높이기 위해서는 누락 데이터, 중복 데이터 등 오류를 수정하고 분석 목적에 맞게 변형하는 과정이 중요하다. 머신러닝 등 데이터 분석의 정확도는 분석 데이터의 품질에 의해 좌우된다. 분석 모형에 데이터를 입력하기 전에 반드시 누락데이터를 제거하거나 다른 적절한 값으로 대체하는 과정이 필요하다. 누락 데이터가 많아지면 .. 파이썬/Pandas 2022. 11. 12. 판다스 pandas - 통계함수 (평균,최대,최소,중간,표준편차,상관계수) 판다스 통계함수 DataFrame에 통계함수들을 적용하기 위해 UCI 머신러닝 저장소에서 제공하는 자동차 연비(auto mpg) 데이터셋 을 불러온다. In [2]: import pandas as pd # read_csv() 함수로 df 생성 df = pd.read_csv('auto-mpg.csv', header = None) # 앞에서 5줄만 출력 df.head() Out[2]: 0 1 2 3 4 5 6 7 8 0 18.0 8 307.0 130.0 3504.0 12.0 70 1 chevrolet chevelle malibu 1 15.0 8 350.0 165.0 3693.0 11.5 70 1 buick skylark 320 2 18.0 8 318.0 150.0 3436.0 11.0 70 1 plymout.. 파이썬/Pandas 2022. 11. 11. 판다스 Pandas 데이터프레임 구조 - 미리보기, 살펴보기 데이터프레임의 구조 데이터프레임은 파이썬 클래스로 만들어진다. 데이터프레임 클래스에는 데이터프레임의 크기, 데이터 구성 항목, 자료형, 통계 수치 등 여러 정보를 확인할 수 있는 속성과 메소드가 포함된다. 1. 데이터 내용 미리보기 - head(), tail() 메소드 head()와 tail() 메소드를 통해 데이터 프레임의 앞부분(head)과 뒷부분(tail) 일부 내용을 출력할 수 있다. 데이터셋의 내용과 구조를 대략적으로 살펴볼 수 있고, 필요한 정보를 확인하여 분석 방향을 정할 수 있다. 이 메소드는 너무 많은 데이터의 행들이 있어서 한번에 보기 어려울 때 사용하기에 좋다. [서식] 앞부분 미리보기 : DataFrame 객체.head(n) 뒷부분 미리보기 : DataFrame 객체.tail(n) .. 파이썬/Pandas 2022. 11. 10. 판다스 Pandas - 데이터 입출력하기(csv, excel) 판다스 데이터 입출력 판다스는 다양한 형태의 외부 파일을 읽어와서 데이터프레임으로 변환하는 함수를 제공한다. 어떤 파일이든 판다스 객체인 데이터 프레임으로 변환되고, 변환 된 후 판다스의 모든 함수와 기능을 자유롭게 사용할 수 있다. In [1]: # 판다스 라이브러리 임포트 import pandas as pd reader pd.read_csv pd.read_excel pd.read_html pd.read_json pd.read_clipboard pd.read_sql . . . writer pd.to_csv pd.to_excel pd.to_html pd.to_json pd.to_clipboard pd.to_sql . . . 1. CSV파일 데이터 값들을 쉼표로 구분하고 있다는 의미로 CSV : comma.. 파이썬/Pandas 2022. 11. 10. 머신러닝은? 머신러닝은 주어진 문제, 과제, 환경에 따라 컴퓨터 스스로 문제를 해결하려고 학습한 예측 결과를 활용하는 것이다. 문제 해결 자체는 물론 문제 해결을 하는 구조 전체를 뜻한다. 학문적 정의에서 벗어나 머신러닝이란 기계 스스로 데이터를 학습하여 서로 다른 변수간의 관계를 찾아 나가는 과정이라 정의할 수 있다. 머신러닝 유형 지도학습 - supervised learning - 알고리즘 분성모형 : 회귀분석, 분류 - 특징 : 정답을 알고 있는 상태에서 학습, 모형 평가 방법이 다양한 편 - 정답 데이터를 다른 데이터와 함께 컴퓨터 알고리즘에 입력하는 방식이다. 비지도 학습 - unsupervised learning - 알고리즘 분성모형 : 군집 분석 - 특징 : 정답이 없는 상태에서 서로 비슷한 데이터를 찾.. 파이썬/머신러닝 2022. 11. 9. 판다스 자료구조 정리 - 시리즈 / 데이터프레임 생성 및 수정 판다스 자료구조 분석을 위해 다양한 소스로부터 수집하는 데이터는 형태나 속성이 매우 다양하다. 특히 서로 다른 형식을 갖는 여러 종류의 데이터를 컴퓨터가 이해할 수 있도록 동일한 형식을 갖는 구조로 통합할 필요가 있다. 판다스는 시리즈와 데이터프레임이라는 구조화된 데이터 형식을 제공하고, 파이썬 클래스로 만들어지는데 서로 다른 종류의 데이터를 한곳에 담는 그릇이 된다. 시리즈와 데이터프레임의 차이점 시리즈 : 1차원 배열 데이터프레임 : 2차원 배얼 판다스를 사용하는 1차적인 목적은 서로 다른 여러 가지의 유형들을 공통된 포맷으로 정리하는 것이다. 행과 열로 이루어진 2차원 구조의 데이터프레임은 데이터 분석 실무에서 자주 사용된다. *판다스의 구성은? 판다스는 라이브러리는 여러 종류의 클래스(class).. 파이썬/Pandas 2022. 11. 4. 파이썬 Pandas - DataFrame 클래스 객체 생성 및 수정 DataFrame 클래스 DataFrame 객체 생성하기 Pandas의 DataFrame 클래스는 테이블 형태로 된 2차원 자료구조이다. DataFrame은 여러 개의 열과 행으로 구성되며, 각 열은 서로 다른 데이터 형(Type)을 가질 수 있다. DataFrame 객체를 생성하는 방법은 다양한데, 딕셔너리의 값으로 리스트를 사용하는 방법이 가장 많이 사용된다. In [1]: import pandas as pd data = {'이름' : ['홍지수','안지영','김성수','최예린'], '아이디' : ['jisuhong', 'jyahn', 'sukim', 'yrchoi'], '비밀번호' : ['1234', '1234', '1234', '1234']} frame = pd.DataFrame(data) pri.. 파이썬/Pandas 2022. 11. 2. 이전 1 2 3 4 다음 반응형