Python 및 Scikit Learn을 사용한 데이터 전처리 팁
Python, Scikit Learn을 사용한 1개 및 2개의 중요한 데이터 전처리 단계. 머신러닝, 데이터 분석 프로젝트를 시작할 수 있습니다.
데이터는 머신러닝의 혈액이지만 데이터의 양은 아닙니다. 따라서 기계 학습 모델 개발을 시작하기 전에 적절하고 최적의 데이터 전처리가 매우 중요합니다. 따라서 이 글에서는 Python과 Scikit Learn을 사용하여 중요한 데이터 전처리 단계 1개와 2개를 살펴보겠습니다. 이 글이 끝나면 실용적인 팁과 요령을 갖춘 기계 학습, 데이터 분석 프로젝트 작업을 시작할 수 있습니다.
목차: Python 및 Scikit Learn을 사용한 데이터 전처리 팁
- 질문을 공식화하라
- 데이터 소스의 중요성: 내부 및 외부 스크래핑
- 시작 전 데이터 정리
- 무료 스크래핑 API 및 데이터 정리를 위한 전체 Python 스크립트
- 데이터 과학 및 기계 학습 Courseresa 추천 과정
하나: 질문을 공식화하라
먼저, 머신러닝을 활용해야 하는 이유를 물어보는 것이 좋습니다. 이전에 만났던 대부분의 사람들은 머신러닝을 활용한 데이터 분석을 좋아한다고 말할 것입니다. 데이터 분석은 접근 방식일 뿐 목적은 아닙니다. 내 관점에서 볼 때 목적 측면에서 기본적으로 비즈니스 측면에는 세 가지 유형이 있습니다.
- 비즈니스 및 운영 성과를 향상시킬 수 있는 새롭고 최적화 가능한 요소를 찾아보세요.
- 기계가 내린 운영 결정을 통해 운영 작업을 자동화합니다.
- 사내 틈새 AI 모델 구축 및 개발
2: 데이터 소스의 중요성 – 내부 및 외부 스크래핑
이제 이 모델의 목적이 무엇인지 팀과 명확하게 일치시킬 수 있습니다. 그렇다면 데이터 발견과 수집이 다음으로 중요한 일입니다.
데이터 소스를 평가할 때 품질은 항상 데이터 세트를 기계 학습 모델 구축에 사용할 수 있는지 평가하는 가장 중요한 지표입니다. 머신러닝 과정을 오도하고 잘못된 방향으로 지시해 학습 결과를 왜곡할 수 있기 때문입니다.
품질의 정의에는 내 프로젝트 경험에서 참고할 수 있는 두 가지 기본 옵션이 있습니다. 이는 사내 데이터이며 스크랩 가능한 데이터입니다. 제3자로부터 데이터세트를 구매하려고 하지 마세요.
회사에 사내 데이터가 충분하지 않은 경우 데이터를 스크랩하는 것이 데이터를 수집하는 가장 좋은 방법 중 하나입니다. 그 데이터가 어디서 왔는지 인지하고, 구체적으로 필요한 데이터를 수집할 수 있기 때문이다. BuyfromLo와 같은 스크레이퍼 제공업체를 활용하거나 자체적으로 스크래핑 앱을 개발할 수 있습니다.
www.buyfromlo.com/app
3: Python을 사용하여 데이터 정리
데이터 세트와 데이터 원본 측면이 해결되면 이제 데이터를 정리하고 구조화하는 방법을 논의할 차례입니다. 데이터 또는 내부 데이터를 스크랩하더라도 Scikit 학습 선형 회귀와 같은 기계 학습 모델에 맞는 방식으로 형식이 지정되지 않을 수 있습니다. 다음은 데이터를 확인하고 정리하는 팁입니다.
1단계: 데이터세트를 DataFrame으로 전환
DataFrame 유형은 기계 학습에서 신체 영혼의 한 부분입니다. csv를 사용하여 데이터를 입력하거나 API를 사용하여 데이터 목록을 가져오더라도 다음은 코드 라인입니다.
Read CSV
import pandas as pd
dataset = pd.read_csv ( 'planprice3.csv' )
Data List
List = [1, 2, 3, 4]
Dataset = pd.DataFrame(List)
CSV 데이터 세트의 경우 헤더가 사용자가 설정한 헤더가 아닐 수도 있고 설정한 헤더가 두 번째 역할로 내려갈 수도 있습니다. 따라서 이를 해결하는 방법은 다음과 같습니다.
dataset = pd.read_csv ( 'planprice3.csv' )
dataset.columns = dataset.iloc [ 0 ]
dataset = dataset [ 1 :]
2단계: 데이터 세트에서 어떤 정보가 포함되는지 파악
pp_dataset.shape
(84359, 13)
이는 데이터 세트의 모양이 무엇인지 알려줍니다. 여기서 모양은 특성 또는 소위 변수(종속 변수와 독립 변수)의 수와 데이터 세트에 있는 인스턴스 수를 의미합니다.
print ( dataset.info ())
이는 데이터 세트에 대한 자세한 내용을 알려주는 매우 유용한 방법입니다.
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 84359 entries, 1 to 84359
Data columns (total 13 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Purchase Date 84359 non-null object
1 Campaign 84359 non-null object
2 Source Desc 84359 non-null object
3 Source Type 84359 non-null object
4 Country 84359 non-null object
5 Company Name 84358 non-null object
6 Amount ($) 84359 non-null object
7 Base Price ($) 84359 non-null object
8 Gender 84359 non-null object
9 Plan Type 84359 non-null object
10 Activity 84359 non-null object
11 Created By Name 84359 non-null object
12 Created by ID 84359 non-null object
dtypes: object(13)
memory usage: 8.4+ MB
데이터 세트가 모두 정수 데이터 유형인 경우 이 줄을 사용하여 숫자의 큰 그림을 볼 수도 있습니다.
dataset.describe ()
3단계: 값 누락 문제 해결
위에서 볼 수 있듯이 인스턴스 수가 동일하지 않을 수 있으며 일부 기능은 다른 기능보다 더 적은 인스턴스를 가질 수 있습니다. 이는 운동에 좋지 않기 때문에 일관성을 유지하는 방법은 다음과 같습니다.
dataset.dropna ( inplace= True )
4단계: 모든 데이터에 번호를 매깁니다.
머신러닝은 문자열을 읽을 수 없으며 정수와 숫자만 읽을 수 있습니다. 실제로 현실 세계에는 데이터 세트에 너무 많은 문자열이 포함되어 있습니다. 그래서 문자열을 숫자로 변환해야 합니다. 이를 수행하는 데 필요한 scikit 라이브러리와 코드는 다음과 같습니다.
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder ()
label = le.fit_transform ( dataset [ 'Country' ])
dataset [ 'Country1' ] = label
dataset.drop ( "Country" , axis= 1 , inplace= True )
둘 이상의 기능을 변환해야 하는 경우
dataset
[[ 'Campaign' , 'Source Desc' , 'Source Type' , 'Company Name' , 'Gender' , 'Plan Type' , 'Activity' ]] = dataset [[ 'Campaign' , 'Source Desc' , 'Source Type' , 'Company Name' , 'Gender' , 'Plan Type' , 'Activity' ]] .apply ( le.fit_transform )
5단계: 숫자를 정수 데이터 유형으로 변환
일부 값은 숫자처럼 보이지만 실제로는 문자열 데이터 형식일 수 있습니다. 이 경우 정수 데이터 유형으로 변환해야 합니다. 코드 샘플은 다음과 같습니다.
dataset [ 'Amount ($)' ] = dataset [ 'Amount ($)' ] .astype ( int )
무료 스크래핑 API 및 데이터 정리를 위한 전체 Python 스크립트
Python 및 Scikit Learn을 사용한 데이터 전처리 팁에 관심이 있다면, 'DS + 전체 스크립트 및 API 무료 토큰 스크랩'이라는 메시지를 추가하여 뉴스레터를 구독 하세요. . 최신 앱 스크립트가 활성화되면 스크립트를 보내드리겠습니다.
Python 및 Scikit Learn을 사용한 데이터 전처리 팁을 재미있게 읽어보시기 바랍니다. 그렇게 했다면 아래 나열된 일 중 하나를 수행하여 우리를 지원해 주세요. 이는 항상 우리 채널에 도움이 되기 때문입니다.
- PayPal( paypal.me/Easy2digital )을 통해 채널을 지원하고 기부하세요.
- 내 채널을 구독하고 Easy2Digital Youtube 채널 알림 벨을 켜십시오.
- 내 페이지 Easy2Digital Facebook 페이지를 팔로우하고 좋아요를 누르세요.
- 해시태그 #easy2digital을 사용하여 소셜 네트워크에 기사를 공유하세요.
- Easy2Digital 최신 기사, 비디오 및 할인 코드를 받으려면 주간 뉴스레터에 가입하세요.
- Patreon을 통해 월간 멤버십을 구독하여 독점적인 혜택을 누리세요( www.patreon.com/louisludigital )