반응형
[#1. 코드]
import numpy as np
import pandas as pd
from keras.models import Sequential
from keras.layers import Dense
from sklearn.model_selection import train_test_split
from sklearn.metrics import r2_score
#1. 데이터
path = './'
datasets = pd.read_csv(path + 'train.csv')
print(datasets.columns)
#print(datasets.head(7))
[출력결과]
[#2. 코드]
x = datasets[['id', 'date', 'bus_route_id', 'in_out', 'station_code', 'station_name',
'latitude', 'longitude', '6~7_ride', '7~8_ride', '8~9_ride',
'9~10_ride', '10~11_ride', '11~12_ride', '6~7_takeoff', '7~8_takeoff',
'8~9_takeoff', '9~10_takeoff', '10~11_takeoff', '11~12_takeoff',
'18~20_ride']]
y = datasets[['18~20_ride']]
print(x)
[출력결과]
[#3. 코드]
datasets['NAN'] = np.nan #NAN 값 바꿔주기
print(datasets) #출력
print(x)
[출력결과]
[#4. 코드] 과제1. NAN 값 바꿔주기
# NAN 처리하기
x = x.fillna(0) # 0으로 채우기
#x = x.fillna(method='ffill') #해당 컬럼의 바로 앞 데이터의 값으로 채우기
#x = x.fillna(method='bfill') #해당 컬럼의 바로 뒤 데이터의 값으로 채우기
#x = x.fillna(x.mean()[0]) # 0열 평균값으로 처리하기
print(x)
[출력결과]
[#5. 코드]
print(x.info()) # info() 컬럼명, null값, 데이터 타입 확인
[출력결과]
[#6. 코드] 과제2. Object 값 바꿔주기
# 문자를 숫자로 변경
from sklearn.preprocessing import LabelEncoder
ob_col = list(x.dtypes[x.dtypes=='object'].index) # object 컬럼 리스트 추출
for col in ob_col :
x[col] = LabelEncoder().fit_transform(x[col].values)
datasets[col]
[출력결과]
[#7. 코드] 과제3. HeatMap 띄우기
#상관계수 히트맵
import matplotlib.pyplot as plt
import seaborn as sns
x_train, x_test, y_train, y_test = train_test_split(
x, y, test_size = 0.2, shuffle=True, random_state=77
)
print(x_train.shape, y_train.shape)
print(x_test.shape, y_test.shape)
sns.set(font_scale = 1.2)
sns.set(rc = {'figure.figsize':(20, 15)})
sns.heatmap(data=datasets.corr(),
square = True,
annot = True,
cbar = True,
cmap = 'coolwarm'
)
plt.show()
[출력결과]
반응형