pattern = re.compile('[^ A-Za-z0-9가-힣+]+')
            # 모든 특수 기호 찾기
            textData1 = pattern.findall(textData)
            print(textData1)
            # 모든 특수기호 제거
            textData1 = pattern.sub('', textData)
            print(textData1)
 
 
 
            # 대괄호와 그안의 내용 지우기
            regex = "\[.*\]|\s-\s.*"
            textData = re.sub(regex, '', textData )

 


개인 프로젝트중에 웹 스캘핑을 해서 프린트를 찍으니 알 수 없는 공백이 생겨서 이것을 여러 방식으로 해결해보고자 했지만 가장 효과적이었던 것은 정규식으로 프린트로 쉽게 볼 수 있는 문자열을 제외해서 프린트를 찍는 방법이었다

이 방법이 항상 먹힌다는 보장을 하기에는 조금 자신이없다

왜냐하면 print를 찍으면 출력에 제외되는 문자가 혹시나 있을수있다

나는 이방식으로 알수없는 특수기호 공백을 찾아내서 replace로 데이터에서 제거했다

 

중괄호, 소괄호에 적용하고싶을때 대괄호를 해당괄호로 변경해주면 사용할 수 있다

'코딩 공부 > PYTHON' 카테고리의 다른 글

파이썬 공부 로드맵 메모  (0) 2022.05.11
파이썬 - 변수사용  (0) 2022.04.18
파이썬 - 집합  (0) 2022.04.18
파이썬 - 딕셔너리  (0) 2022.04.15
파이썬 - 배열  (0) 2022.04.14


딥러닝(인공신경망) < 머신러닝 < 인공지능 



머신러닝 탐구생활 (입문용으로 좋음)
밑바닥부터 시작하는 머신러닝 <- 추천 책
핸즈온 머신러닝
케라스 창시자에게 배우는 딥러닝
딥러닝의 작동원리 두잇딥러닝입문


로드맵 추천
https://www.youtube.com/watch?v=WHn5My6dN7c

책추천 => https://tensorflow.blog/book-roadmap/
혼자 공부하는 머신러닝+딥러닝: 머신러닝과 딥러닝을 처음 입문하는 분, 수학 대신 그림과 친절한 설명으로 알고리즘을 이해하고 싶으신 분.

파이토치로 배우는 자연어 처리: 파이토치를 사용하여 다양한 자연어 처리 기술을 배우고 싶은 분. 파이토치와 딥러닝의 기본기부터 시퀀스 투 시퀀스 모델까지.
Do it! 딥러닝 입문: 딥러닝을 처음 배우려는 분, 밑바닥부터 신경망의 이론을 파이썬으로 직접 만들면서 배우고 싶은 분, 다른 딥러닝 도서들이 읽기 어려웠던 분.
구글 브레인 팀에게 배우는 딥러닝 with TensorFlow.js: 자바스크립트로 딥러닝의 전반적인 주제를 폭넓게 배우고 싶으신 분. 다양한 자바스크립트 예제를 바로 활용하고 싶은 분.

케라스 창시자에게 배우는 딥러닝: 딥러닝을 처음 배우는 분, 수학적 이론 보다는 활용에 관심이 많은 분.
딥러닝 일러스트레이티드: 딥러닝의 역사와 다양한 애플리케이션을 살펴 보며 텐서플로와 케라스를 사용한 딥러닝 모델 구현을 배우고 싶으신 분. 선형 회귀부터 강화 학습까지.

GAN 인 액션: 생성적 적대 신경망의 원리와 다양한 GAN 모델을 배우고 싶은 분, GAN 훈련의 어려움과 적대 샘플의 위험에 대해 알고 싶은 분.
미술관에 GAN 딥러닝: 생성 모델링에 대해 배우고 싶은 분, 변이형 오토인코더와 GAN 등을 사용해 글을 쓰거나 그림을 그리고 노래를 작곡하는 생성 모델 분야의 최신 기술을 알고 싶은 분.

핸즈온 머신러닝: 머신러닝과 딥러닝을 폭 넓게 배우려는 분, 사이킷런과 텐서플로를 모두 사용해 보고 싶은 분.
핸즈온 머신러닝 2: 머신러닝과 딥러닝을 폭 넓게 배우려는 분, 사이킷런은 물론 새롭게 바뀐 텐서플로 2와 케라스에 대해 깊게 공부하고 싶은 분.
머신 러닝 교과서: 머신러닝과 딥러닝을 폭 넓게 배우려는 분, 넘파이를 사용해 알고리즘을 처음부터 구현해보고 싶은 분, 사이킷런과 텐서플로를 모두 사용해 보고 싶은 분.
머신 러닝 교과서 3판: GAN과 강화 학습을 포함해 머신러닝과 딥러닝을 폭 넓게 배우려는 분, 넘파이를 사용해 알고리즘을 처음부터 구현해보고 사이킷런과 텐서플로를 사용해 다양한 알고리즘을 배우고 싶은 분.


머신러닝 파워드 애플리케이션: 실전 머신러닝 애플리케이션을 구축하는 방법을 배우고 싶은 분. 아이디어에서 데이터셋 수집, 모델 구축, 디버깅, 모니터링에 이르기까지 다양한 실전 지침 제공.


[개정2판] 파이썬 라이브러리를 활용한 머신러닝: 사이킷런을 사용하여 머신러닝의 다양한 주제를 폭넓게 탐색하고 싶은 분, 수학적 이론 보다는 활용에 관심이 많은 분.
파이썬을 활용한 머신러닝 쿡북: 사이킷런과 케라스의 활용 예제를 빠르게 참고하고 싶은 분, 이미지와 텍스트 처리의 다양한 사례를 배우고 싶은 분.
XGBoost와 사이킷런을 활용한 그레이디언트 부스팅: XGBoost를 포함하여 다양한 그레이디언트 부스팅 구현을 익히고 싶은 분.
텐서플로 첫걸음: 프로그래밍에 익숙하지 않은 분, 머신러닝/딥러닝을 공부한 적이 없는 분, 텐서플로에 대해 감을 얻고 싶은 분.





# 변수 사용

# 전역 변수
c = 1

def plus5(a, b):
    # 전역변수를 변경하겠다고 선언
    global c
    c = 5
    result = a + b + c
    return result

결과 = plus5(2, 5)

# 함수안의 변수를 지유롭게 사용하는 방법
def fn():
    a1 = 11 # 지역변수

    def fn2():
        # 지역변수사용
        nonlocal a1
        a1 = a1 + 5
        return a1

    # a2 = fn2()
    # return a2

    # 매개변수의 활용
    def fn3(num):
        a1 = num + 5
        return a1

    a3 = fn3(a1)
    return a3


결과2 = fn()
# 자료형 집합

집합1 = set([1,2,3,4,5]);
집합2 = set("안녕하세요 반갑습니다요");
집합2_1 = list(집합2);

집합3 = set("안녕하세요 처음뵙겠습니다");

# 교집합
교집합 = 집합2 & 집합3
교집합2 = 집합2.intersection(집합3)

# 합집합
합집합 = 집합2 | 집합3
합집합2 = 집합2.union(집합3)

# 차집합
차집합 = 집합2 - 집합3

# 값 추가
값추가 = 집합1.add(8)
값추가2 = 집합1.update([7,9])

# 특정 값 제거
값제거 = 집합1.remove(2)

'코딩 공부 > PYTHON' 카테고리의 다른 글

파이썬 공부 로드맵 메모  (0) 2022.05.11
파이썬 - 변수사용  (0) 2022.04.18
파이썬 - 딕셔너리  (0) 2022.04.15
파이썬 - 배열  (0) 2022.04.14
파이썬 - 문자열  (0) 2022.04.11
# 딕셔너리 (연관배열)

# 배열을 사용할때 배열 = [1,2,3,4] 를 생각해보면
# 배열에서 2라는 값을 꺼내 사용하고 싶다면 배열[1] 이렇게 사용하는 것을 떠올린다
# 지금 이러한 예가 단편적이고 배열의 수가 한눈에 보여서 쉽게 원하는 값을 꺼내쓸 수 있는데 만약
배열 = [[1,2,3,[4,5]],[6,7,8,[9,10]],...]
# 이러한 구조의 배열이 엄청 많아진다면 어떻게 원하는 데이터를 편하게 들고올지 생각해보자

# 디비에서 데이터를 불러와보니 이러한 배열 구조라면 난감하다
# 0번 인덱스 데이터의 0번은 아이디를 1번은 닉네임을 2번은 이름을 3번 인덱스에는 유저의 사진들을 담았다고 상상해보자

배열 = [["id1", "우리동네여포", "홍길동", ["img1.jpg", "img2.jpg"]], ...]
# 단순하게 닉네임이 필요해서 가져온다고 가정하면
# 1. 배열 전체를 체크한다 (사람이 수동으로)
# 2. 해당데이터의 인덱스 번호를 세어본다
배열닉네임값 = 배열[0][1]

# 이러한 모습을 지니게된다 그렇다면 데이터를 불러올때마다 배열을 확인하고 거기에서 불러오는 데이터를 확인해서 몇번 인덱스가 우리가 원하는 데이터인지 외우고 있어야 한다. 이러한 불편함을 해소해주는게 딕셔너리다

# 딕셔너리 생성
딕셔너리 = { "아이디": "id1", "닉네임":"우리동네여포", "이름":"홍길동", "이미지":{"이미지1":"img1.jpg", "이미지2":"img2.jpg", "3차원": {"3차원이미지1":"img3.jpg","3차원이미지2":"img4.jpg"}} }

# 딕셔너리 값 출력 (두가지 방법중 전자는 키값이 없을때 오류가 발생하지만, 후자의 경우에는 none으로 돌려준다)
딕셔너리결과 = 딕셔너리["이미지"]["이미지1"]
# 딕셔너리결과 = 딕셔너리["이미지"]["3차원"]["3차원이미지1"]

딕셔너리결과2 = 딕셔너리.get("이미지").get("이미지1")
# 값이 없는 경우 디폴트 값도 지정이 가능하다
딕셔너리결과2 = 딕셔너리.get("이미지").get("없는키", "디폴트")


# 키들을 추출 해보자 (1차원 키값만 추출)
키값 = 딕셔너리.keys()
# n차원 키값은 이렇게
키값2 = 딕셔너리["이미지"].keys()

# 값들을 추출
= 딕셔너리.values()

# 키와 값 동시 추출
동시추출 = 딕셔너리.items()

# 해당키 확인 (1차원만 가능하다)
키확인 = "이미지" in 딕셔너리
# n차원은 이렇게
키확인 = "3차원" in 딕셔너리["이미지"]

'코딩 공부 > PYTHON' 카테고리의 다른 글

파이썬 - 변수사용  (0) 2022.04.18
파이썬 - 집합  (0) 2022.04.18
파이썬 - 배열  (0) 2022.04.14
파이썬 - 문자열  (0) 2022.04.11
파이썬 - 기본  (0) 2022.04.11
# 리스트

# 리스트의 슬라이싱은 문자열과 동일

배열0 = [1, 2, 3, 4, 5]
배열결과0 = 배열0[0:2]

배열1 = [6, 2, 3, ['a', 'b', 'c'], 4, 5]
배열결과1_1 = 배열1[2:5]
배열결과1_2 = 배열1[3][:2]

# 배열 더하기
배열더하기결과 = 배열0 + 배열1

# 배열 반복
배열반복 = 배열0 * 2

# 배열 길이
배열길이 = len(배열1)

# 배열 삭제
# del 배열0[1]
# 값으로 검색해서 삭제
# 배열0.remove(4)
# 배열 비우기
# 배열0.clear()
# 슬라이스로 삭제가능
# del 배열0[:2]

# 배열 추가
배열0.append(1)

# 배열 정렬 (오름차순)
배열0.sort()

# 배열 정렬 (뒤집기 - 순서 반대)
배열0.reverse()

# 배열 위치 보기 (겹치는 수는 가장 처음 찾는 순)
배열위치 = 배열0.index(1)

# 배열 요소 카운트
배열카운트 = 배열0.count(1)

'코딩 공부 > PYTHON' 카테고리의 다른 글

파이썬 - 집합  (0) 2022.04.18
파이썬 - 딕셔너리  (0) 2022.04.15
파이썬 - 문자열  (0) 2022.04.11
파이썬 - 기본  (0) 2022.04.11
파이썬이란?  (0) 2022.04.10

+ Recent posts