분류 전체보기339 object 로 된 숫자를 수치(정수)형으로 바꾸기 object 로 된 숫자를 수치(정수)형으로 바꾸기 1. 함수 정의 def str_to_int(string): if type(string) == str: string = string.replace(',', '') return int(string) else: return string 2. 함수 적용 train['price'] = train['price'].apply(str_to_int) 2023. 8. 31. One-Hot Encoding(원-핫 인코딩) One-Hot Encoding : 예제 코드와 함께 간단히 리뷰 1. 원 핫 인코딩 시행 from sklearn.preprocessing import OneHotEncoder ohe = OneHotEncoder() train_encoded = ohe.fit_transform(train[['Position']]).toarray() test_encoded = ohe.fit_transform(test[['Position']]).toarray() print(train_encoded) OneHotEncoder() 객체를 생성 : ohe fit_transform() 메서드를 사용하여 학습 & 인코딩 수행 ▶︎ train 데이터프레임의 Position 피처(feature)를 입력으로 넣음 ▶︎ 단, OneHotEnc.. 2023. 8. 31. 시각화 준비용 코드 (한글폰트 설정 & 경고 무시) import warnings # 1 warnings.simplefilter(action='ignore', category=FutureWarning) import matplotlib.pyplot as plt # 2 import matplotlib.font_manager as fm # 3 fe = fm.FontEntry(fname = 'NotoSansKR-Regular.otf', name = 'NotoSansKR') # 4 fm.fontManager.ttflist.insert(0, fe) # 5 plt.rc('font', family='NotoSansKR') # 6 warnings 모듈(module)을 임포트(import)하고, 경고 메시지를 무시하기 위한 필터를 설정 FutureWarning이라는 특정 경.. 2023. 8. 30. [앙상블] XGBoost 개념과 사이킷런 래퍼 예제 부스팅이란? 순차적으로 모델의 정확도를 높이는 방법 전체 학습데이터에서 일부를 선택하여 하위 데이터 세트와 이를 학습할 첫 번째 모델을 만듦 첫 번째 모델이 잘 학습하지 못한 부분을 반영해서 두 번째 데이터 세트와 모델을 만들고, 이 과정을 반복하여 점진적으로 모델 정확도를 높임 XGBoost(Extreme Gradient Boosting)란? 이러한 부스팅 기법을 이용하여 구현한 알고리즘은 Gradient Boost 가 대표적 이 알고리즘을 병렬 학습이 지원되도록 구현한 것이 XGBoost (학습시간 단축을 위함) GBM에 기반하고 있지만, GBM의 단점인 느린 수행 시간 및 과적합 규제 부재 등의 문제를 해결함 병렬 CPU 환경에서 병렬 학습이 가능해 기존 GBM보다 학습을 빠르게 완료 XGBoost.. 2023. 8. 30. 랜덤 포레스트 모델 검증 시각화 ▶︎ 랜덤 포레스트 모델의 실제값(y_valid)과 예측값(predict)의 차이 를 그래프로 시각화 ▶︎ 시각화 코드 평가지표 함수 만들기 : RMSE from sklearn.metrics import mean_squared_error def rmse(real, pred): return mean_squared_error(real, pred)**0.5 RMSE = rmse(y_valid, predict) RMSE 시각화 라이브러리 임포트 한글폰트 설정 RMSE : 앞의 함수에서 만든 RMSE 불러오기 그래프 그리기 # 시각화를 위한 라이브러리 import matplotlib.pyplot as plt import matplotlib.font_manager as fm # 한글 폰트를 사용하기 위한 코드 fe.. 2023. 8. 30. [pandas 응용실습] 강남구 주차 현황 시각화 공공데이터 시각화 연습용 🔎 데이터 전처리 라이브러리 import import requests import pandas as pd import warnings warnings.filterwarnings('ignore') 데이터 가져오기 df = pd.read_csv("./accessibility_data/seoul_parkinglot.csv") df.head() 주요 컬럼 데이터 타입 변경 & 주차장 확보율을 소수점 아래 2번째 자리까지 df2 = df2.astype({'자동차등록대수 (대)':'int', '주차면수 (면수)':'int', '주차장확보율 (%)':'float'}) df2['주차장확보율 (%)'] = round(df2['주차장확보율 (%)'], 2) df2.head() 🔎 데이터 시각화 자.. 2023. 8. 28. [pandas 응용실습] 행정동별 지하철 총 승차 승객수 / 시간별 시각화 최종 결과물 API 데이터 불러오기 공공데이터 포털의 API는 1000페이지씩 데이터를 따로 가져올 수 있다. 반복문을 사용하여 1000페이지 단위로 url을 수정하며 데이터를 가져온다 requests.get(url) 로 Json 데이터 가져오기 json 데이터에서 필요한 부분만 get data.get('가져올 키값1', { }).get('가져올 키값2', [ ]) { } 와 [ ] 는 데이터 형태에 따라 일치하는 것을 기입 get 한 값을 Item에 저장 반복문 종료를 위해, item 이 없으면 break 되도록 함 item을 dataframe으로 변환하고, 변환된 df를 data_frames 리스트에 저장 최종적으로 data_frames에 들어있는 데이터프레임을 concat concat한 최종 데이터.. 2023. 8. 28. [gca() 함수] 그래프에 패치(타원, 사각형 등) 그리기 gca() 함수 그래프로 시각화하다보면, 이상치로 의심되는 부분을 표시하거나 경향성을 선이나, 사각형, 원(타원) 등으로 표시하고 싶다. 그때 사용하는 것이 gca() 함수이다 현재 활성화된 Figure에 대응하는 Axes 객체를 반환 : "gca"는 "get current axes"의 약어 예제 상황과 코드 버스 운행 거리가 1000이하이면서 운행 시간이 1000이상일 때 운행 거리에 비례하여 운행 시간이 증가하지 않는 것을 확인함 따라서 직사각형으로 이 구간을 표시함으로써 해당 구간이 이상치인지 조금 더 명확하게 확인할 예정 plt.gca().add_patch() : 현재 그래프에 새로운 패치(patch)를 추가 패치는 그래프에 도형을 그리는 데 사용됨 patches.Rectangle()은 사각형 패.. 2023. 8. 24. [folium 라이브러리] 위도 경도 정보를 활용한 지도 그리기 folium 포리움(folium) 라이브러리는 leaflet.js(자바스크립트 라이브러리) 기반으로 만들어진 Python 지도 시각화 라이브러리이다 포리움 라이브러리의 Map() 함수를 이용하면 간단하게 지도 객체를 만들 수 있다 함수 구성 location : 지도의 중심 [위도, 경도] 좌표 zoom_start : 처음 지도의 확대 비율 조절 (최대 18) width, height : 너비, 높이 # 기본 좌표 설정 m = folium.Map(location=[위도, 경도], zoom_start=17, width=750, height=500) 지도 위, 동그라미 표시 location: 동그라미를 표시할 위도/경도 좌표 radius : 동그라미 크기 tooltip: 표기할 툴팁 지정 (마우스 오버 시 표.. 2023. 8. 24. 이전 1 ··· 20 21 22 23 24 25 26 ··· 38 다음 728x90