Notice
Recent Posts
Recent Comments
Link
160x600
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- SQL예제
- 정확도
- 딥러닝
- 데이터
- 데이터전처리
- 데이터 가공
- 크롤링(crawling)
- pythone
- sql
- 예측
- 훈련
- 데이터 분석
- HeidiSQL
- 머신러닝
- Oracle
- 해석
- keras
- pandas
- Database
- 회귀모델
- 데이터베이스
- python기초
- 시각화
- sklearn
- MariaDB
- tensorflow
- 데이터 수집
- DB
- python
- Deep Learning
Archives
- Today
- Total
코딩헤딩
[웹 크롤링(web crawling)] 영화데이터시각화 3 (원형 그래프) 본문
728x90
https://coding-heading.tistory.com/69
[크롤링(crawling)] 영화데이터수집
크롤링(crawling) 웹상에 존재하는 데이터들을 수집하는 작업 (프로그래밍으로 자동화) 웹 페이지의 html 코드를 가져와서, HTML/CSS 등을 필요한 데이터만 추출하는 기법 Open API(Rest API)를 제공하는 서
coding-heading.tistory.com
위 글부터 이어집니다.
### 시각화 라이브러리
import matplotlib.pyplot as plt
### 폰트 설정 라이브러리
from matplotlib import font_manager, rc
### 한글폰트 설정
plt.rc("font", family="Malgun Gothic")
### 마이너스 기호설정
plt.rcParams["axes.unicode_minus"] = False
* 글정, 부정, 기타에 대한 원형 그래프 시각화하기
* 비율이 가장 높은 경우 : pink색, 두 번째 : gold색, 세 번째 whitesmoke색으로 표현
* subplot 사용
fig, axs = plt.subplots(5,2, figsize=(15,25))
axs = axs.flatten()
### 빈도 비율별 색상 정의
colors =["pink", "gold", "whitesmoke"]
### 라벨정의
labels_dict = {0 : "부정(1~4점)", 1 : "긍정(8~10점)", 2 : "기타(5~7점)"}
### 긍정 / 부정에대한 원형 그래프 그리기
for title, ax in zip(avg_score.keys(), axs):
### 영화별 건수 필터링하기
num_reviews = len(df_new[df_new["title"] == title])
#print(f"num_reviews = {num_reviews}") #--------------------------------------------------------확인용
### label컬럼의 볌주별로 갯수 필터링하기
values = df_new[df_new["title"]==title]["label"].value_counts()
#print(f"values = {values}") #--------------------------------------------------------확인용
### 원형그래프에 표시할 라벨값 정의 하기
# - 영화별로 긍정 / 부정 / 기타 중에 하나라도 없으면 처리가 필요함
label_list = df_new[df_new["title"]==title]["label"].unique()
labels = []
for k in label_list:
### 영화별 실제 존재하는 긍정/부정/기타 라벨 정의하기
labels.append(labels_dict[k])
### 각 그래프 제목 넣기
ax.set_title(f"{title}({num_reviews}명)", fontsize=15)
### 원형(pie) 그래프 그리기
# - 원형그래프에 표시할 라벨 지정
# - 원형그래프에 표시할 값의 소숫점 자릿수 지정
# - 원형그래프 각 영역의 색상 지정
# - 그림자 효과 지정하기
# - 그래프의 시작위치를 12시 방향으로 돌리기
ax.pie(values, labels = labels, autopct = "%1.1f%%", colors = colors, shadow=True, startangle=90)
### 이미지 저장하기
plt.savefig("./img/긍정_부정 원형그래프 시각화")
plt.show()
* 최종 전처리된 데이터는 파일로 관리하기
* 파일명 df_new.csv, 인덱스는 포함하지 않기
* 저장 위치 : data 폴더
df_new.to_csv("./data/df_new.csv", index=False)
728x90
'크롤링(crawling) | 시각화' 카테고리의 다른 글
[웹 크롤링(web crawling)] 영화데이터시각화 5 워드클라우드(wordcloud) (0) | 2023.12.07 |
---|---|
[웹 크롤링(web crawling)] 영화데이터시각화 2 (점(분포) 그래프) (1) | 2023.12.04 |
[웹 크롤링(web crawling)] 영화데이터시각화 1(막대그래프) (0) | 2023.12.04 |
[웹 크롤링(web crawling)] 영화데이터수집 (1) | 2023.12.04 |