목록Python (138)
군침이 싹 도는 코딩
표준편차와 평균값으로 구하는 표준화(Standardisation)와 최대값 최소값으로 구하는 정규화(Normalisation)가있다 앞서 숫자로 모두 변환한 X,y를 가지고 피쳐 스케일링을 해보자 X array([[1.0e+00, 0.0e+00, 0.0e+00, 4.4e+01, 7.2e+04], [0.0e+00, 0.0e+00, 1.0e+00, 2.7e+01, 4.8e+04], [0.0e+00, 1.0e+00, 0.0e+00, 3.0e+01, 5.4e+04], [0.0e+00, 0.0e+00, 1.0e+00, 3.8e+01, 6.1e+04], [1.0e+00, 0.0e+00, 0.0e+00, 3.5e+01, 5.8e+04], [1.0e+00, 0.0e+00, 0.0e+00, 4.8e+01, 7.9e+04..
머신러닝으로 학습 시키기 위해서는 방정식에 대입이 되어야 하는데 방정식은 수학식이므로 데이터를 모두 숫자로 변환하여하 한다 따라서 문자열이 있다면 그것을 레이블 인코딩 또는 원핫 인코딩으로 숫자로 변환시켜주어야 한다. X를 Country, Age, Salary y를 Purchased라고 할때 카테고리컬 데이터인 Country, Purchased 가 문자열이므로 이것을 숫자로 바꿔보겠다 # X를 대문자로 쓰는 이유는 X는 2차원 행렬이여야 하고 y는 1차원이여서이다 먼저 유니크한값으로 출력 후 정렬을 해준다 sorted(X['Country'].unique()) >>> ['France', 'Germany', 'Spain'] 이후 앞에서부터 0 , 1 , 2 순으로 바꿔준다 이것을 레이블 인코딩이라고 한다 f..
판다스에서 문자열을 데이트타임으로 바꿔주고 싶을때에는 datetime 을 사용하면 된다 date_list >>> ['2022-01-04', '2022-01-07', '2022-05-11', '2022-06-10', '2022-07-03'] pd.to_datetime(date_list) >>> DatetimeIndex(['2022-01-04', '2022-01-07', '2022-05-11', '2022-06-10', '2022-07-03'], dtype='datetime64[ns]', freq=None) # 데이트 리스트라는 문자열로 이루어진 리스트를 판다스 데이트타임으로 리스트 안에 문자열 전체를 데이트 타임으로 바꿔주었다 pd.date_range() 시작 날짜와 종료 날짜를 세팅하면 알아서 날짜를 채..
판다스의 문자열을 슬라이싱하기 위해서는 str을 사용하여야 한다. 그렇지 않으면 슬라이싱이 정상적으로 되지않는다. df[컬럼].str[:] 판다스의 시리즈를 데이터 프레임으로 만들때는 to_frame() 을 쓰면 된다 변수.to_frame()
csv 파일을 불러올때 데이터프레임 안에 콤마가 있다면 그것을 문자열로 인식해 차트를 만들때 문제가 발생한다 이것을 해결하기위해 불러올때 thousands=','를 사용한다 이것을 사용하면 데이터 프레임안에 천의 자리마다 들어있는 콤마를 빼줘서 숫자로 인식하게된다 df=pd.read_csv('../data/age.csv',encoding='cp949',thousands=',')
히트맵은 스케터로 시각화한 자료가 한군데 뭉쳐있다면 보기 힘드므로 이것의 밀도를 알수있게 해주는것이다. 이 데이터 프레임으로 히트맵을 만들어보자 plt.hist2d(data=df,x='displ',y='comb',cmin=0.5,cmap='viridis_r',bins=20) plt.colorbar() plt.title('배기량과 연비관계') plt.xlabel('Dsplacement (L)') plt.ylabel('연비 (mpg)') plt.savefig('차트1.png') plt.show() # plt.hist2d로 히트맵을 만들수있다 xy에 각 컬럼을 넣는다 cmap은 리버스로하면 데이터가 많을수록 진하게 적을수록 연하게 한다 cmin은 데이터가 없는 부분을 안보이게 만들었다 이것또한 히스토그램이므로..
스케터 플롯이란 두 컬럼간의 비례 반비례 관계없음을 시각적으로 표현해주는것이다. 이 데이터 프레임으로 스케터를 만들어보자 1. 배기량(displ)과 연비(comb)의 상관관계를 scatter로 분석하기 plt.scatter(data=df,x='displ',y='comb') plt.title('Displ Vs Comb') plt.xlabel('Displacement (L)') plt.ylabel('Combined Fuel Eff (mpg)') plt.show() # plt.scatter를 쓴 후 데이터에 데이터프레임이름 x와y에 각 컬럼의 이름을 넣어준다 plt.title은 제목을 붙일수있다 plt.xlabel은 x의 제목을 붙여준다 plt.ylabel은 y의 제목을 붙여준다 두 컬럼의 상관계수를 가져오는..
# 하나에 여러개의 plot을 그린다. plt.figure(figsize=(12,5)) # 그래프의 가로 세로 조절 plt.subplot(1,2,1) # 1행 2열 첫번째 차트 plt.title('speed hist. bins 10') plt.xlabel('speed') plt.ylabel('# of Characters') plt.hist(data=df,x='speed',rwidth=0.8) plt.subplot(1,2,2) # 1행 2열 두번째 차트 plt.title('speed hist. bins 30') plt.xlabel('speed') plt.ylabel('# of Characters') plt.hist(data=df,x='speed',rwidth=0.8,bins=30) plt.show() # ..