summ의 블로그

머신러닝 기초 본문

머신러닝

머신러닝 기초

summ._ 2024. 9. 27. 01:00

240926 

머신러닝 기초 - 지도학습

 

데이터 불러오기 → 전처리 모델링 시각화 

df = pd.read_csv(path)

 

df EDA

  • 데이터 확인 - shape, info(), describe(), corr()
  • 불필요한 열 제거 
  • nan null 값 처리 필수 확인 방법:  isna().sum() isnull().sum() 
  • 제거 혹은 채우기 

- 평균으로 채우기 fillna(df[''].mean, inplace=True)

- 최빈값으로 채우기 fillna(df[''].mode()[0], inplace=True)

- 바로 앞/뒤 값으로 채우기 fillna(method='ffill' 'bfill')

- 보간법으로 채우기 : 선형, 다중 interpolate(method='linear' 'polynomial')

  • 필요에 따라 원핫인코딩, 라벨인코딩

- 원핫인코딩: 범주당 하나의 열을 만들어서 해당 값을 가지면 1 아니면 0으로 표현 

  - 다중공선성: 독립변수 간 상관관계 존재 --> 모델링 값에 영향 

pd.get_dummies(df, columns, columns= , drop_first=True)

drop_first=True 하면 다중공선성 낮아짐. 첫 번째 범주 삭제 

 

 - 라벨인코딩: 범주를 숫자로 할당 

 

df modeling

사용 데이터: titanic data

  • data에 맞는 모델링 방법 할당: 회귀, 분류 
  • df train, test, val 

train_test_split(x, y, test_size= , random_state= )

  • model = LinearRegression() 
  • model.fit(x_train, y_train) 모델 적합하는 과정
  • y_pred = model.predict(x_test) 테스트용 x값으로 y예측
  • 실제값과 예측값 평가 mae 사용 mean_absolute_error(y_test, y_pred)
  • 시각화

 

 

path = 'https://raw.githubusercontent.com/Jangrae/csv/master/airquality_simple.csv'
data = pd.read_csv(path)

x = data.drop(columns={'Ozone'})
y = data[['Ozone']]

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=1)
model = LinearRegression()
model.fit(x_train, y_train)
y_pred = model.predict(x_test)
mean_absolute_error(y_test, y_pred)

 

'머신러닝' 카테고리의 다른 글

머신러닝 기초 (3)  (1) 2024.10.02
머신러닝 기초 (2)  (0) 2024.09.27
[ml] 간단한 정리 (3)  (0) 2024.07.10
[ml] 간단한 정리 (2)  (0) 2024.07.10
[ml] 간단한 정리 (1)  (0) 2024.07.10