*이 글을 읽기전에 작성자 개인의견이 있으니, 다른 블로그와 교차로 읽는것을 권장합니다.*
1. 캐글(kaggle)
구글에서 운영하는 전세계 AI개발자, 데이터 사이언티스트들이 데이터를 분석하고 토론할 수 있는 자료 등을 제공
데이터 분석 및 머신러닝, 딥러닝 대회를 개최
데이터셋, 파이썬 자료, R 자료 등을 제공
Kaggle: Your Machine Learning and Data Science Community
Kaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals.
www.kaggle.com
2. 데이콘(Dacon)
국내 최초 AI 해커톤 플랫폼
전문 인력 채용과 학습을 할 수 있는 여러가지 AI자료 등을 제공
데이터사이언티스트 AI 컴피티션
10만 AI 팀이 협업하는 데이터 사이언스 플랫폼. AI 경진대회와 대상 맞춤 온/오프라인 교육, 문제 기반 학습 서비스를 제공합니다.
dacon.io
3. AI허브
한국지능정보사회진흥원이 운영하는 AI통합 플랫폼
AI 기술 및 제품 서비스 개발에 필요한 AI인프라를 제공
AI-Hub
[한국어] 한국어 음성 #일상 대화 # 쇼핑 대화 # 정치 대화 # 경제 대화 # 취미 대화 # AI 비서 # 동시통역 # 감성형 대화 음성지능 서비스 조회수 53,325 관심등록 125 다운수 14,160
www.aihub.or.kr
4. 타이타닉 데이터
import pandas as pd
df = pd.read_csv('https://bit.ly/fc-ml-titanic')
df
- PassengerId: 승객 아이디
- Survived: 생존 여부(0:사망, 1:생존)
- Pclass: 좌석 등급
- Name: 이름
- Sex: 성별
- Age: 나이
- SibSp: 형제, 자매, 배우자 수
- Parch: 부모, 자식 수
- Ticket: 티켓 번호
- Fare: 요금
- Cabin: 선실
- Embarked: 탑승 항구
5. 데이터 전처리
데이터 정제 작업을 뜻함
필요없는 데이터를 삭제하고, null이 있는 행을 처리하고, 정규화/표준화 등의 많은 작업들을 포함
머신러닝, 딥러닝 실무에서 전처리가 차지하는 중요도는 50%이상이라고 봅니다.
5-1. 독립변수와 종속변수 나누기
# feature = ['Pclass', 'Sex', 'Age', 'Fare'] # 독립변수
# label = ['Survived'] # 종속변수
columns = ['Pclass', 'Sex', 'Age', 'Fare', 'Survived']
df[columns].head()
df['Survived'].head()
df['Survived'].value_counts()
5-2. 결측치 처리
df.info()
# 결측치 확인
df.isnull().sum()
df.isnull().mean()
df['Age'] = df['Age'].fillna(df['Age'].mean())
df['Age']
5-3. 라벨 인코딩(Label Encoding)
문자(Categorical)를 수치(Numerical)로 변환
df.info()
df['Sex'].value_counts()
# 남자는 1, 여자는 0으로 변환하는 함수
def convert_sex(data):
if data == 'male':
return 1
elif data == 'female':
return 0
df['Sex'] = df['Sex'].apply(convert_sex)
df.head()
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
df['Embarked'].value_counts() # null값은 제거
embarked = le.fit_transform(df['Embarked'])
embarked # nuLL : 3
le.classes_ # array(['C', 'Q', 'S', nan])
5-4. 원 핫 인코딩(One Hot Encoding)
독립적인 데이터는 별도의 컬럼으로 분리하고 각가 컬럼에 해당 값에만 1, 나머지는 0의 값을 갖게 하는 방법
df['Embarked_num'] = LabelEncoder().fit_transform(df['Embarked'])
df.head()
pd.get_dummies(df['Embarked_num'])
df = pd.get_dummies(df, columns=['Embarked'])
df.head()
df = df[columns]
df
df = pd.get_dummies(df, columns=['Pclass', 'Sex'])
df.head()
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(df.drop('Survived', axis=1), df['Survived'], test_size=0.2, random_state=2024)
X_train.shape, X_test.shape
y_train.shape, y_test.shape
X_train
'Python > 머신러닝(ML)' 카테고리의 다른 글
Python(21)- 의사결정나무(Decision Tree) (1) | 2024.06.18 |
---|---|
Python(20)- 선형회귀(Linear Regression) (0) | 2024.06.18 |
Python(18)- Iris Dataset (0) | 2024.06.11 |
Python(17)- Scikit learn (0) | 2024.06.11 |
python(16)- 머신러닝 (0) | 2024.06.11 |