반응형

전체 글 461

[Sklearn] 파이썬 서포트 벡터 머신 분류기(SVM) - SVC 함수 사용법

이번 글에서는 대표적인 머신러닝을 이용한 분류기 중 하나인 서포트 벡터 머신(SVM)을 파이썬 사이킷런에서 구현하고 결과를 확인하는 과정을 간단히 살펴보도록 하겠습니다. 이 글에서는 사이킷런에서 제공하는 기본 데이터셋인 아이리스 꽃 분류 데이터셋을 활용하였습니다. 파이썬 사이킷런 서포트 벡터 머신 분류기 SVM 사전 작업 우선, 모듈을 임포트하고, 아이리스 꽃 분류 데이터셋을 가져오도록 하겠습니다. from sklearn.datasets import load_iris import pandas as pd import numpy as np # 데이터셋 로드 iris = load_iris() df = pd.DataFrame(data= np.c_[iris.data, iris.target] , columns= [..

Python/Sklearn 2021.11.22

[Pandas] 파이썬 판다스 Deep copy와 Shallow copy 비교(데이터 프레임 복사 copy 함수)

이번 포스팅에서는 파이썬 판다스에서 깊은 복사(Deep copy)와 얕은 복사(Shallow copy)의 차이에 대해서 알아보고, 판다스에서 데이터프레임 복사 시에 copy 함수를 사용해야 하는 이유에 대해서 말씀드려보려 합니다. 판다스 데이터프레임 얕은 복사(Shallow copy) 얕은 복사는 데이터를 지정하고 있는 주소까지 복사하여 복사된 객체를 변경했을 때, 원래 객체까지 같이 변경되는 복사를 의미합니다. 일단 간단한 데이터프레임을 하나 선언해볼까요? 이제 df_1 = df 형태로 그냥 단순 shallow copy를 진행해보고 데이터프레임 내 값을 1개 바꾼 뒤, 원래 객체 데이터프레임인 df의 값을 살펴보도록 하겠습니다. 맨 위의 값 한개를 loc함수를 이용하여 변경하였습니다. df_1의 값은 ..

Python/Pandas 2021.11.19

[Matplotlib] plt로 파이썬 3D (3차원) 그래프 그리는 방법

파이썬 matplotlib으로 그래프를 그리다보면, 가끔 3차원의 플롯이나 산점도 등을 그리고 싶을 때가 있을 것입니다. 이번 포스팅에서는 파이썬으로 3D 그래프를 그리는 아주 간단한 방법에 대해서 살펴보도록 하겠습니다. 파이썬 3D (3차원) plot 모듈 - Axes3D 파이썬에서 3차원의 그래프를 그리기 위해서는 Axes3D 모듈을 임포트 해주면 됩니다. 다음과 같이 해볼까요? import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D 다만 plt.plot 처럼 단순히 그리는 방법으로는 3D plot이 제대로 그려지지 않고요, 다음처럼 subplot에서 projection을 3d로 선언해주는 방식으로 그릴 수 있습니다. fig =..

Python/Matplotlib 2021.11.18

[Sklearn] 파이썬 랜덤 포레스트 모델 학습, 하이퍼파라미터 튜닝 - RandomForestClassifier

이번 포스팅에서는 파이썬에서 대표적인 머신러닝 분류기 중 하나인 랜덤 포레스트를 사이킷런에서 사용하는 방법에 대해서 살펴보도록 하겠습니다. Sklearn(사이킷런) 랜덤 포레스트 분류기 kaggle의 타이타닉 데이터셋을 대상으로 사용 예시를 보여드리도록 하겠습니다. 우선 다음 코드처럼 모듈을 임포트 한 뒤, train / test 데이터셋을 분리하도록 하겠습니다. train feature는 Pclass, SibSp, 성별을 사용하는 것으로 가정하겠습니다. 단, 이 모듈에서는 'male', 'female' 등의 텍스트를 feature로 인식할 수 없으므로, one-hot 인코딩을 진행해주도록 하겠습니다.(남성인지 아닌지를 1/0 혹은 True/False로 표현) 이제 위에서 정한 train feature를..

Python/Sklearn 2021.11.17

[Pandas] 파이썬 판다스 그룹화 하기 : groupby 함수

파이썬 판다스에서 데이터프레임을 원하는 열을 기준으로 그룹화하여 필요한 정보를 얻어낼 수 있는 groupby 함수의 사용법에 대해서 자세히 다루어보도록 하겠습니다. 판다스 그룹화 : Pandas groupby 함수 우선, 다음과 같은 데이터프레임이 df라는 변수에 저장되어 있다고 가정해보겠습니다. 이름, 학급, 성별, 국적, 점수 5개의 column으로 이루어진 간단한 데이터프레임입니다. 국적 column에는 일부 결측치도 있다고 가정해보겠습니다. groupby 사용법 1 : 그룹화 한 후 특정 column 대상 개수 세기, 평균 내기 첫 번째로, 학급을 기준으로 각 column의 유효 element 개수(결측치 제외한 값의 개수)를 세어보도록 하겠습니다. df.groupby('class').count(..

Python/Pandas 2021.11.16

Language Model (언어 모델) 요약, N-gram, RNN 개념 소개

시작하기전에 이 포스팅은 cs224n lecture 6의 내용을 바탕으로 작성되었음을 알린다. Language Model (언어 모델) 이란? 카카오톡 메시지, DM, 문자메시지 등을 보내다보면 문장 자동 완성 기능을 본 적이 있을 것이다. Language Model 이란 어렵게 생각할 필요 없이 현재까지의 텍스트를 바탕으로 다음 단어를 예측 하는 모델을 일컫는다고 생각하면 된다. 예를 들어, 내가 좋아하는 음식은 --- 이다. 같은 문장이 있다 할 때, ---에 치킨, 피자, 초밥, 삼겹살 같은 단어는 들어가기 적절하지만, ---에 컴퓨터, 지갑, 휴대폰, 책상 등의 단어는 들어가기 매우 어색할 것이다. 즉, 앞에 '내가 좋아하는 음식은' 이라는 맥락 뒤에 나올 단어들의 확률 값은 다를 것이고, 단어 ..

[Pytorch] 파이토치 텐서 변환, 선언하는 방법

이번 포스팅에서는 파이토치를 사용하기 위한 첫 단계로, 텐서를 선언하는 여러 방법에 대해서 살펴보도록 하겠습니다. 파이토치 텐서 변환 (list, array -> tensor) 우선 리스트를 텐서로 변환하는 방법부터 살펴보도록 하겠습니다. import torch list_ex = [1, 2, 3, 4.5] tensor_int = torch.IntTensor(list_ex) # integer tensor -> 1, 2, 3, 4 tensor_long = torch.LongTensor(list_ex) # long tensor -> 1, 2, 3, 4 (int보다 더 큰 범위 가능) tensor_float = torch.FloatTensor(list_ex) # float tensor -> 1.0, 2.0, 3..

Python/Pytorch 2021.11.14

파이썬 음성 모듈 gTTS (Python 말하기, 음성 출력, 음성 합성)

이번 포스팅에서는 파이썬에서 음성 변환, 출력, 합성 등을 할 수 있는 모듈인 Google Text to Speech(gTTS)에 대해서 다루어보도록 하겠습니다. 파이썬 음성 변환 모듈 gTTS 우선 gTTS 모듈을 설치해야 합니다. 다음 코드로 gTTS 모듈을 설치해주세요. !pip install gTTS gTTS로 텍스트 음성 변환 텍스트 -> 음성 변환을 진행하고 wav 파일로 저장해보겠습니다. 일단 첫 번째로 영어 음성 예시입니다. from gtts import gTTS eng_wav = gTTS('Hello World!') eng_wav.save('eng.wav') 위에서 작성한 eng.wav 파일을 파이썬 프로그램 내에서 재생하는 방법은 다음 코드를 참고하시면 됩니다. from IPython...

Python/Utils 2021.11.13

[Matplotlib] plt 선, 바 그래프 위에 숫자, 값 표시하는 방법

matplotlib으로 여러 형태의 그래프를 그리다보면 그래프 위에 값을 새기고 싶은 경우가 있을 것입니다. 이번 포스팅에서는 matplotlib에서 선 그래프 혹은 바 그래프 위에 해당 그래프의 값을 표시하는 방법을 말씀드리도록 하겠습니다. plt 바 그래프 값 표시하기 import matplotlib.pyplot as plt x = ['a', 'b', 'c', 'd'] y = [18.5, 13.3, 12.5, 14.2] bar = plt.bar(x, y, color = 'pink') plt.ylim(0, 22) # 숫자 넣는 부분 for rect in bar: height = rect.get_height() plt.text(rect.get_x() + rect.get_width()/2.0, height..

Python/Matplotlib 2021.11.12

[Pandas] 파이썬 데이터프레임 열, 행에 함수 적용 - apply 함수

파이썬에서 판다스를 이용하여 데이터프레임 작업을 하다보면 특정 column이나 row에 원하는 작업을 시키고 싶은 경우가 많을 것입니다. 이번 포스팅에서는 간단하지만 알아두면 굉장히 요긴한 데이터프레임 열, 행에 함수를 적용시킬 수 있는 pandas 내 apply 함수의 사용법에 대해서 간단히 다루어보도록 하겠습니다. apply 함수로 판다스 데이터프레임 열에 함수 적용 첫 번째로, apply 함수로 column에 함수를 적용하는 예시를 보여드리도록 하겠습니다. 예를 들어 다음과 같은 데이터프레임이 있다고 가정하겠습니다.(변수명 : score_df) name mid final assign 0 'abc' 95 97 100 1 'def' 80 92 95 2 'ghi' 85 58 98 3 'jkl' 70 84..

Python/Pandas 2021.11.11
반응형