<jupyter_start><jupyter_text>======================================<jupyter_code>from konlpy.tag import Twitter  # 한국어 사용 가능 라이브러리 설치
twit=Twitter()
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt 
import seaborn as sns             # 그래프 화  라이브러리 설치
from matplotlib import font_manager, rc<jupyter_output><empty_output><jupyter_text>한글 글씨 폰드트가 저장되어 있는 경로 불러오기<jupyter_code>font_name = font_manager.FontProperties(fname="c:/Windows/Fonts/malgun.ttf").get_name()
rc('font', family=font_name)<jupyter_output><empty_output><jupyter_text>이제부터 시각화 할 컬럼을 생성해서, 기존에 있던 컬럼 값들을 수치화 시키자<jupyter_code>final_one['view_num_summary']=0    # 새로운 칼럼 생성하기
final_one<jupyter_output><empty_output><jupyter_text>조건에 맞는 컬럼값들을 숫자로 형상화, view_num 은 조회수를 뜻하며, 조건에 따라 50만 100만 그이상으로 분류<jupyter_code>for index in range(len(final_one)):
    if final_one["view_num"][index] < 500000:
        final_one['view_num_summary'][index]=0
    elif final_one["view_num"][index] < 1000000:
        final_one['view_num_summary'][index]=1
    else:
        final_one['view_num_summary'][index]=2
final_one['view_num_summary']    # 잘 분류가 되었는 지 확인하기 
final_one   # 한번더 체크, 인덱스3번은 5만 이상이니 서머리가 1인 걸 볼 수 있다.<jupyter_output><empty_output><jupyter_text>모든 데이터 들 중 학습용,테스트용 데이터 분리해주는 라이브러리 설치<jupyter_code>from sklearn.model_selection import train_test_split<jupyter_output><empty_output><jupyter_text>그래프의 X축과 Y축, 그리고 학습용,테스트용 할당해주기여기서 설정한건, 을 입력하여, 를 예측하는것.<jupyter_code>x_train, x_test, y_train, y_test  = train_test_split(final_one['title'],final_one["view_num_summary"])<jupyter_output><empty_output><jupyter_text>문장으로 된 것은 인식불가, 단어 단위로 분리하여 형태를 파악 해주기   문장요소 파악 함수만들기,  tagged =twitter.pos(text, stem=True)는 index[0]= 단어, index[1] 은 요소로 할당  ex> [index][0]='엄마', index[1]='Noun'<jupyter_code>def get_NounAndAdject(text):
    stems=[]
    tagged =twit.pos(text, stem=True)  
    for i in range(0, len(tagged)):
        if(tagged[i][1]=='Noun'or tagged[i][1]=='Adjective'):
            stems.append(tagged[i][0])   # 인덱스1(요소)가 Noun, Adjective일때 stem list에 해당 인덱스0(단어)를 추가해아
    return stems<jupyter_output><empty_output><jupyter_text>아래 부분은, 위에서 조건이 할당된 단어들이 수치화 되는 과정이다.<jupyter_code>from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer(min_df=2, tokenizer= get_NounAndAdject)

x_train_vector= vectorizer.fit_transform(x_train)
x_test_vector=vectorizer.transform(x_test)<jupyter_output><empty_output><jupyter_text>트리를 생성하자! FIT! PREDICT!  의사결정 나무를 불러오기 위해 심어주자.<jupyter_code>from sklearn.tree import DecisionTreeClassifier
df_train= DecisionTreeClassifier()
df_train = df_clf.fit(x_train_vector, y_train) # fit 은 훈련 명령어
df_predic = df_clf.predict(x_test_vector)       # predict 는 실전 
from sklearn.metrics import confusion_matrix
confusion_matrix(y_test, df_predic)     # 이부분은 Numpy의 부분으로,2차원으로 보여줌
from sklearn.metrics import accuracy_score

accuracy = accuracy_score(y_test, df_predic)
print(f'정확도 : {np.round(accuracy,5)}%')<jupyter_output>정확도 : 0.49333%
{'fraction_non_alphanumeric': 0.12188552188552189, 'fraction_numerical': 0.014814814814814815, 'mean_word_length': 6.3722084367245655, 'pattern_counts': {'":': 0, '<': 38, '<?xml version=': 0, '>': 37, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '9', 'dir': 'jupyter-structured-clean-dedup', 'id': '76743', 'license': 'BSD-3-Clause', 'n_tokens_mistral': 1526, 'n_tokens_neox': 1764, 'n_words': 238, 'path': 'Crawling/Decision_Tree_Practice_Based_on_Crawling_Youtube.ipynb', 'repo_name': 'jeewoolee-jasmine/TIL', 'size': '2970'}