본문 바로가기

프로그래밍 공부/코드프레소 교육

[코드프레소XAI양재허브]AI/ML 기초교육 5일차 (1)

반응형

boston_house_data.xlsx
0.04MB
boston_house_target.xlsx
0.01MB

안녕하세요.

26년차 진로탐색꾼 조녁입니다!

 

1-4일차까지 파이썬 기본문법과 Pandas , numpy 에 대해 배웠었는데 해당내용은 지난 글들을 참고해주세요!

 

5일차부터는 지금까지 배웠던 기초들을 바탕으로 실제 예제에 적용해볼 예정입니다.

기초보다 좀 더 재밌는 내용들이니 기대해주세요~.

 

5일차 내용

1) 보스턴 집값 예측해보기

2)타이타닉호 생존자 예측해보기 

1. 보스턴 집값 예측해보기

코드를 한줄씩 따라가보면서 해보는 거 추천드려요! train data 와 target data는 첨부했습니다! 

복사하실 수 있도록 사진이 아닌 텍스트로 첨부합니다! (생색)

제가 적어놓은 순서대로 해보시고 모르는 거 있으시면 댓글에 질문 주세요. *저는 Colab으로 작성하였습니다.


#1. Import Libraries

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

from google.colab import files

 

#2. Read Dataset

##2-1. Feature Data

upload = files.upload() # boston_house_data파일 첨부파일 확인

boston_house_data_df = pd.read.excel('boston_house_data.xlsx',index_col=0)

print(boston_house_data_df.shape)

boston_house_data_df.head(10)

 

##2-2. Target Data

target_boston_house_data_df = pd.read.excel('boston_house_target.xlsx',index_col=0)

print(target_boston_house_data_df)

target_boston_house_data_df.head(10)

 

##2-3. Concat Feature & Target DF

total_boston_house_data_df = pd.concat([boston_house_data_df,target_boston_house_data_df],axis=1)

print(total_boston_house_data_df.shape)

total_boston_house_data_df.head(10)

total_boston_house_data_df.columns = ['CRIM','ZN','INDUS','CHAS','NOX','RM','AGE','DIS','RAD','TAX','PTRATIO','B','LSTAT','MEDV']

total_boston_house_data_df.info()

항목별 의미 첨부드립니다! 참고하세용

#3. Convert DataFrame to Numpy array

feature_array = np.array(boston_house_data_df)

target_array = np.array(target_boston_house_data_df)

print(feature_array.ndim)

print(feature_array.shape)

print(target_array.ndim)

print(target_array.shape)

 

#4. Split into Training & Test set

boston_X = feature_array[:,12:13----> 여기서 어떤 열값으로할지는 여러분들의 선택입니다!!!

print(boston_X)

boston_Y = target_array

print(boston_Y)

from sklearn import model_selection

x_train, x_test, y_train, y_test = model.selection.train_test_split(boston_X,boston_Y, test_size = 0.3, random_state_42)

print(x_train.shape)

print(x_test.shape)

print(y_train.shape)

print(y_test.shape)

 

#5. Create Model Object

from sklearn import linear_model

model = linear_model.LinearRegression()

 

#6. Train Model Object

model.fit(x_train,y_train)

print('Coefficiennt:',model.coef_)

print('Intercept:',model.intercept_)

print(f'y={model.coef_}x+{model.intercept_}')

 

#7. Test Model Object

model.predict(x_train)

boston_Y

 

##7-1. MSE with Pure Python

print('MSE(training data):',np.mean((model.predict(x_train) - y_train)**2))

 

##7-2. MSE with Sklearn

from sklearn.metrics import mean_squared_error

print('MSE(training data):',mean_squared_error(model.predict(x_train),y_train))

 

#8. Visualization

%matplotlib inlines

plt.figure(figsize=(18,10))

plt.scatter(x_test,y_test,color = 'BLACK')

plt.scatter(t_train,y_train,color = 'RED', s=1)

plt.plot(x_test,model.predict(x_test), color='Blue')

plt.grid()

plt.show()

최종 예측값


보스턴 집값문제는 데이터 마이닝에 있어서 가장 기본적인 예시 중 하나입니다!

저희는 오늘 머신러닝 패키지인 sklearn을 살짝 이용해봤는데,  선형회귀에 대한 수학적 지식이 없어도 그 값을 계산할 수 있었죠!!

 

제가 코드별로 설명을 넣지 않은 이유는, 코드를 치시다가 궁금한게 있으면 google에 해당 코드를 검색해보시면 설명이 나올거에요! 

그걸 한번 이용해보시기 바라는 마음에 설명을 생략했습니다!! (그냥 귀찮은거 아니지?)그럼에도 궁금한 게 있으시다면 댓글에 남겨주세욥!! 

 

읽어주셔서 감사합니다! 다들 즐거운 주말 보내세요~

반응형