。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

[네이버클라우드] 클라우드 기반의 개발자 과정 7기/AI

[4-3] 판다스... 찍

quarrrter 2023. 5. 11. 21:49

판다스로 파일 끌고옴

 

금지된 보스턴

import numpy as np
import pandas as pd									#pandas 파일 가져오는 거 
from keras.models import Sequential
from keras.layers import Dense
from sklearn.model_selection import train_test_split
from sklearn.metrics import r2_score

#[[train & test data]]
#1. 데이터
path ='./_data/'
x_train = pd.read_csv(path + 'train-data.csv')
y_train = pd.read_csv(path + 'train-target.csv')
x_test = pd.read_csv(path + 'test-data.csv')
y_test = pd.read_csv(path + 'test-target.csv')

print(x_train.columns)									#컬럼수 확인 
print(y_train.columns)
print(x_train.head(7))

'''
Index(['crim', 'zn', 'indus', 'chas', 'nox', 'rm', 'age', 'dis', 'rad', 'tax',
       'ptratio', 'lstat'],
      dtype='object')
Index(['medv'], dtype='object')
      crim    zn  indus  chas    nox     rm   age     dis  rad  tax  ptratio  \
0  0.00632  18.0   2.31     0  0.538  6.575  65.2  4.0900    1  296     15.3   
1  0.02731   0.0   7.07     0  0.469  6.421  78.9  4.9671    2  242     17.8   
2  0.03237   0.0   2.18     0  0.458  6.998  45.8  6.0622    3  222     18.7   
3  0.06905   0.0   2.18     0  0.458  7.147  54.2  6.0622    3  222     18.7   
4  0.08829  12.5   7.87     0  0.524  6.012  66.6  5.5605    5  311     15.2   
5  0.22489  12.5   7.87     0  0.524  6.377  94.3  6.3467    5  311     15.2   
6  0.11747  12.5   7.87     0  0.524  6.009  82.9  6.2267    5  311     15.2   

   lstat  
0   4.98  
1   9.14  
2   2.94  
3   5.33  
4  12.43  
5  20.45  
6  13.27  
'''


#[[full data]]
#1. 데이터
path ='./_data/'
datasets = pd.read_csv(path + 'Boston_house.csv')


print(datasets.columns)
print(datasets.head(7))

'''
Index(['AGE', 'B', 'RM', 'CRIM', 'DIS', 'INDUS', 'LSTAT', 'NOX', 'PTRATIO',
       'RAD', 'ZN', 'TAX', 'CHAS', 'Target'],
      dtype='object')
    AGE       B     RM     CRIM     DIS  INDUS  LSTAT    NOX  PTRATIO  RAD  \
0  65.2  396.90  6.575  0.00632  4.0900   2.31   4.98  0.538     15.3    1   
1  78.9  396.90  6.421  0.02731  4.9671   7.07   9.14  0.469     17.8    2   
2  61.1  392.83  7.185  0.02729  4.9671   7.07   4.03  0.469     17.8    2   
3  45.8  394.63  6.998  0.03237  6.0622   2.18   2.94  0.458     18.7    3   
4  54.2  396.90  7.147  0.06905  6.0622   2.18   5.33  0.458     18.7    3   
5  58.7  394.12  6.430  0.02985  6.0622   2.18   5.21  0.458     18.7    3   
6  66.6  395.60  6.012  0.08829  5.5605   7.87  12.43  0.524     15.2    5   

     ZN  TAX  CHAS  Target  
0  18.0  296     0    24.0  
1   0.0  242     0    21.6  
2   0.0  242     0    34.7  
3   0.0  222     0    33.4  
4   0.0  222     0    36.2  
5   0.0  222     0    28.7  
6  12.5  311     0    22.9  
'''

x = datasets[['AGE', 'B', 'RM', 'CRIM', 'DIS', 'INDUS', 'LSTAT', 'NOX', 'PTRATIO',
       'RAD', 'ZN', 'TAX', 'CHAS']]
y = datasets[['Target']]

print(x.shape, y.shape) #(506, 13) (506, 1)

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)   #(404, 13) (404, 1)
print(x_test.shape, y_test.shape)     # (102, 13) (102, 1)

 

 

plt 상관계수 힛맵~

이제 plt는 파렛트가 아니고 그래프 그리기 

#### 상관계수 히트맵 ( 시각화해서 볼 수 있음)
import matplotlib.pyplot as plt
import seaborn as sns

sns.set(font_scale = 1.2)
sns.set(rc = {"figure.figsize":(9,6)})
sns.heatmap(data=datasets.corr(), #상관관계 corr :cor relation 
            square=True,
            annot=True,
            cbar = True,
           )
plt.show()

plt 뽑아서 회귀분석에서는 높은거 지워주면 성능이 좋아짐

1기준으로(자기 자신) 위의 데이터만 보던지 아래만 보던지