본문 바로가기

반응형

코딩/Python

(75)
[코딩] 07-3 신경망 모델 훈련(f.혼자 공부하는 머신러닝 딥러닝) #데이터 및 준비 from tensorflow import keras from sklearn.model_selection import train_test_split (train_input, train_target), (test_input, test_target) = \ keras.datasets.fashion_mnist.load_data() train_scaled = train_input / 255.0 train_scaled, val_scaled, train_target, val_target = train_test_split( train_scaled, train_target, test_size=0.2, random_state=42) #모델 만드는 함수 정의 def model_fn(a_layer=None)..
[코딩] 트리 앙상블(랜덤포레스트, 그라디언트부스팅, 엑스트라트리, XG부스트, 라이트GBM) - 혼자 공부하는 머신러닝 딥러닝 목차 데이터 RandomForest ExtraTree Gredient Boosting Histogram based Gradient Boosting XGBoost LightGBM 데이터 import numpy as np import pandas as pd from sklearn.model_selection import train_test_split wine = pd.read_csv('https://bit.ly/wine_csv_data') data= wine[['alcohol', 'sugar', 'pH']].to_numpy() target = wine[['class']].to_numpy() train_input,test_input, train_target,test_target = \ train_test_sp..
[코딩] 결정트리(f.혼자 공부하는 머신러닝 딥러닝) ㅇ불순도(gini impurity) - 지니불순도 = 1-(음성클래스비율^2 + 양성클래스비율^2) - 어떤 노드의 두 클래스 비율이 1/2씩 차이가 나면 지니 불순도는 최악 - 반면, 노드에 하나의 클래스만 있다면 지니 불순도는 0이 됨. 즉, 순수노드 ㅇ 결정트리 모델은 부모 노드와 자식노드의 불순도 차이가 가능한 크도록 트리를 성장시킴 ㅇ 정보이득 : 부모와 자식 노드 사이의 불순도 DecisionTreeClassifier에서 criterion = 'entropy' 를 지정하여 엔트로피 불순도를 사용할 수 있음. 엔트로피 불순도 : -음성클래스비율 x log2(음성클래스비율) - 양성 클래스 비율 x log2(양성클래스비율) 데이터 및 train-test 나누기 #데이터 import pandas a..
[코딩] 이진분류,다중분류(f.혼자공부하는 머신러닝 딥러닝) 목차 1. 데이터 세팅 가. train,test 나누기 나. 정규화 2. k-최근접 훈련 가. 훈련 나. 예측 다. 확률 수치 구하기 3. 이진분류 가. 로지스틱회귀 훈련 나. 예측값(샘플5개) 및 확률 값 다. 계수확인(coef, intercept) 라. z값 및 확률값 4. 다중분류 가. 훈련 나. 예측값(샘플5개) 및 확률값 다. z값 및 확률값 라. 소프트맥스 계산 데이터 import pandas as pd import numpy as np fish = pd.read_csv('https://bit.ly/fish_csv_data') train,test 나누기 및 정규화 fish_input = fish[['Weight', 'Length', 'Diagonal', 'Height', 'Width']].to..
[코딩] Neighbors 도미와 빙어 전처리 후 구분(혼자 공부하는 머신러닝 딥러닝) 목차 1. 문제 및 데이터 2. 코드작성 3. 코드풀이(1)- 데이터 전처리 4. 코드풀이(2)- 데이터 전처리 후 5. 참고 column_stack(), concatenate() 문제 : length가 25, weight가 150인 물고기가 도미인지 빙어인지 구분 데이터(도미와 송어의 길이와 무게) #데이터 bream_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0, 35.0, 36.0, 36.0, 37.0, 38.5, 38.5, 39.5, 41.0, 41.0..
[파이썬] 혼자 공부하는 데이터 분석(06 데이터표현, 07 검증,예측) #1. top30_pubs의 선그래프 5개를 for문을 이용하여 그리기, x축 연도 1985~2025년도 설정, 객체지향 API fig, ax = plt.subplots(figsize = 8,6)) for pub in top30_pubs.index[:5]: line = ns_book9[ns_book9['출판사'] == pub] ax.plot(line['발행년도'], line['대출건수'], label = pub) ax.set_title('연도별 대출건수') ax.set_xlim(1985, 2025) fig.show() #2. 하나의 피겨에 2개의 막대그래프, 겹치지 않게('발행년도', '대출건수'열의 '황금가지', 비룡소' 데이터) fig, ax = plt.subplots(figsize = (8,6)) ..
[파이썬] 혼자 공부하는 데이터 분석(03-2 잘못된 데이터 수정하기) #1 ns_book4 정보확인 #2 ns_book4 누락된 개수 보기 #3 '도서권수'열의 0행을 nan으로 지정하고 확인 #4 다시 1로 바꾸고 '도서권수, 대출건수'를 int형으로 바꾸기 #5 ns_book4의 '부가기호'의 NaN을 '없음'문자열로 변환 #6 replace를 이용하여 nan을 '없음'으로 변경 #7 nan을 없음, 2021을 21로 변경 #8 '부가기호'열의 nan을 '없음'으로 변경 #9 2개 열('부가기호', '발행년도')을 2개 새로운 값으로 변환(nan을 없음, 2021을 21) #10 정규표현식을 이용하여 '발행년도'열의 2021을 21로 #11 '저자'열의 (지은이), (옮긴이) 삭제, #12 '발행년도'의 '1988'이 포함된 모든 문자열의 행을 찾고, #13 [2019..
웹스크래핑(교보문고 ISBN으로 쪽수 가져오기) 혼자 공부하는 데이터 분석 p.124 웹 스크레핑 import requests from bs4 import BeautifulSoup def get_page_cnt(isbn): url = 'http://www.yes24.com/product/search?domain=BOOK&query={}' r = requests.get(url.format(isbn)) soup = BeautifulSoup(r.text, 'html.parser') prd_info = soup.find('a',attrs = {'class':'gd_name'}) url = 'http://www.yes24.com' + prd_info['href'] r = requests.get(url) soup = BeautifulSoup(r.text, 'ht..

반응형