본문 바로가기

데이터

[머신러닝] train_test_split : 비율 설정 방법 - test_size 이전 글에서는 train_test_split() 함수를 이용하여 데이터를 train data와 test data로 나눌 때, 무작위로 나눌지 순차적으로 나눌지 설정하는 방법에 대해 살펴보았는데요, 이번에는 train data와 test data로 나눌 때 비율을 지정해주는 방법에 대해서 살펴보도록 하겠습니다. - train_test_split : 비율 설정 방법 train_test_split() 함수를 사용하여 데이터를 train data와 test data로 나눌 때, 기본값은 75 : 25 비율로 나누어지게 됩니다. 하지만, 데이터가 많이 없다면 학습할 데이터를 늘려주어야 하며, 데이터가 매우 많다면 오버피팅 문제를 방지하기 위해 학습할 데이터를 조금 줄여주는 게 좋을 수 있습니다. 따라서 각 상황에.. 더보기
[머신러닝] 사이킷런(Scikit-learn) - iris(붓꽃) 데이터 불러와 데이터프레임으로 저장하기 사이킷런(Scikit-learn) 라이브러리는 의사결정 트리, 분류, 회귀 등의 알고리즘에 사용하기 적합한 함수 및 데이터를 제공하는 라이브러리로, 이번 글에서는 사이킷런에서 제공하는 데이터를 불러와 데이터프레임 형식으로 보는 방법에 대해서 살펴보도록 하겠습니다. - 사이킷런 데이터 불러오기 사이킷런 라이브러리에는 다양한 데이터가 들어있는데요, 그중 대표적인 데이터인 iris(붓꽃) 데이터를 가져와보겠습니다. from sklearn import datasets iris_dataset = dataset.iris() 먼저, sklearn 에서 데이터가 들어있는 datasets 라이브러리를 import 해준 다음, dataset.load_iris() 을 통해 iris 데이터를 가져와 iris_dataset 이.. 더보기
[머신러닝] 사이킷런(Scikit-learn) - sklearn 데이터 불러오기 (보스턴 주택데이터) 사이킷런(Scikit-learn) 라이브러리는 의사결정 트리, 분류, 회귀 등의 알고리즘에 사용하기 적합한 함수 및 데이터를 제공하는 라이브러리로, 이번 글에서는 사이킷런에서 제공하는 데이터를 불러와 데이터프레임 형식으로 보는 방법에 대해서 살펴보도록 하겠습니다. - 사이킷런 데이터 불러오기 사이킷런 라이브러리에는 다양한 데이터가 들어있는데요, 그중 보스턴 주택 데이터를 가져와보겠습니다. from sklearn import datasets boston_dataset = dataset.load_boston() 먼저, sklearn 에서 데이터가 들어있는 datasets 라이브러리를 import 해준 다음, dataset.load_boston() 을 통해 보스턴 주택 데이터를 가져와 boston_datase.. 더보기
[웹크롤링] 두번씩 크롤링 되는 텍스트, 중복 제거하는 방법 - set() 적절한 태그를 찾아 크롤링을 했는데도, 동일한 텍스트가 두 번씩 추출되는 경우가 있을 수 있는데요, 이러한 경우는 속성 태그에 있는 텍스트가 함께 출력되었을 수 있습니다. 따라서 다시 적절한 태그와 속성값을 이용해 텍스트를 크롤링하는 것이 좋은데요, 이 방법 말고도 set() 함수를 이용하여 쉽게 해결할 수 있습니다. set() 함수는 리스트 안에서 중복된 데이터를 제거해주는 함수로, 만약 두 번씩 텍스트가 크롤링되어서 저장되었다면, set() 함수를 통해 중복된 데이터를 모두 제거할 수 있답니다. 먼저, 다음과 같이 텍스트를 크롤링해서 얻은 리스트가 있다고 가정해보겠습니다. list1 = ['사과', '사과', '딸기', '딸기', '바나나', '바나나', '수박', '수박', '포도', '포도'] 위.. 더보기
[데이터분석] 데이터프레임 : 특정 문자열 또는 데이터가 있는 행 출력하기 - contains() 데이터프레임에서 특정 문자열이나 다른 데이터가 있는 행만 따로 출력되어서 보이도록 하려면 어떻게 해야 할까요? 바로, 이를 도와주는 함수가 contains() 이라는 함수인데요, contains() 함수를 이용해서 특정 텍스트 또는 텍스트열이 있는 행만 출력할 수 있답니다. 아래의 코드를 보면서 자세히 설명하도록 하겠습니다. - contains() : 특정 문자 또는 문자열이 포함된 데이터 찾기 먼저, 아래와 같은 데이터프레임이 있다고 가정해보겠습니다. # itempricecount 0ice water10001 1milk20005 2ice coffee30002 3ade40001 4latte50003 5ice tea60002 만약 이 데이터프레임의 'item' 칼럼에서 'ice'라는 문자열이 포함되어 있는.. 더보기
[데이터분석] 데이터프레임 : 특정 칼럼(열)에 있는 데이터 출력하기 for문을 이용하면 데이터프레임에서 특정 칼럼(열)에 있는 데이터를 하나씩 출력할 수 있는데요, 먼저, 아래와 같은 데이터프레임(df1)이 있다고 가정해보겠습니다. # itempricecount 0water10001 1milk20005 2coffee30002 3ade40001 4juice50003 5tea60002 이 데이터프레임에서 만약 'item' 칼럼에 있는 데이터를 출력하고 싶다면 다음과 같이 코드를 작성하면 됩니다. for i in df1['item'] : print(i) water milk coffee ade juice tea 출력된 결과, 'item'에 있는 데이터가 모두 잘 출력되었음을 확인할 수 있습니다. 추가로, 만약 'item' 칼럼에 있는 데이터들을 하나의 리스트로 만들고 싶다면 아.. 더보기
[데이터분석] 데이터프레임 : 칼럼이 일치하는 데이터프레임에 다른 칼럼 붙여 넣기 - merge 만약 두 데이터프레임 df1, df2가 있을 때, 두 데이터프레임에서 특정 칼럼이 동일하고, 그 칼람에 들어있는 데이터가 일치한다면, df1에는 없고 df2에는 있는 칼럼을 df1에 붙여넣으려면 어떻게 해야 할까요? 바로, merge() 함수를 이용해서 변경이 가능한데요, 아래 코드를 보면서 설명하도록 하겠습니다. - merge() : 칼럼 비교 후 붙여 넣기 먼저, 아래와 같은 데이터프레임 df1과 df2가 있다고 가정해보겠습니다. # itempricecount 0water10001 1milk20005 2coffee30002 3ade40001 4juice50003 5tea60002 # itempricerating 0water10004.5 1milk20003.4 2americano 35005.3 3ade.. 더보기
[데이터분석] 데이터프레임 : 하나의 데이터 다른 값으로 바꾸기 (2) - iloc 이전 글에서는 loc를 사용해서 데이터프레임에서 하나의 데이터를 다른 값으로 바꾸는 방법에 대해서 살펴보았는데요, loc는 인덱스 이름을 이용해서 데이터를 변경하는 방법이었습니다. 이번에는 인덱스 번호를 이용하는 iloc를 사용해서 데이터를 변경하는 방법에 대해서 살펴보겠습니다 2. iloc[행번호][열번호] = '바꾸는 값' 먼저, 아래와 같은 데이터프레임이 있다고 가정해보겠습니다. itemcountprice 0coffee13000 1juice54000 2ade25000 3milk12000 4tea34000 5water21000 이 데이터프레임에서 'item'이 'juice'인 첫 번째 행에서 'count' 칼럼에 있는 데이터 '5'를 '3'으로 변경하고 싶다고 가정해보겠습니다. 그러기 위해선, 먼저 .. 더보기
[데이터분석] 데이터프레임 : 하나의 데이터 다른 값으로 바꾸기 (1) - loc 데이터프레임에서 하나의 데이터를 다른 값으로 바꾸는 방법은 여러 개가 있는데요, 그중 자주 사용되는 두 가지 방법에 대해서 설명드리도록 하겠습니다. 1. loc['index이름']['칼럼이름'] = '바꿀 값' 첫 번째 방법은 loc을 이용하여 데이터를 바꾸는 방법인데요, 먼저 아래와 같은 데이터프레임이 있다고 가정해보겠습니다. itemcountprice 0coffee13000 1juice54000 2ade25000 3milk12000 4tea34000 5water21000 이 데이터프레임에서 만약 'item'이 juice인 행에서 'count' 칼럼에 있는 데이터 '5'를 '3'으로 바꾸고 싶다면 어떻게 해야할까요? 우선 데이터를 바꾸기 전 'item' 칼럼을 인덱스로 설정해야 하는데요, 아래와 같이 .. 더보기
[데이터분석] 데이터프레임 : 한 칼럼(열)에서 특정 값과 일치하는 행 필터링 하기 데이터프레임에서 한 칼럼(열)에 특정 데이터와 일치하는 행을 찾고, 일치하는 행들만 따로 데이터프레임으로 나타내고 싶다면 어떻게 해야 할까요? 아래 코드를 보면서 살펴보도록 하겠습니다. - 한 칼럼(열)에서 특정 값과 일치하는 행 필터링 하기 먼저, 아래와 같은 데이터프레임이 있다고 가정해보겠습니다. itemcountpricerating 0coffee130004.5 1juice540003.0 2ade250004.0 3milk130002.5 4tea340003.0 5water230004.5 위 데이터를 살펴보면 항목(item)마다 'count', 'price', 'rating'에 대한 데이터가 있는데요, 만약 'price'칼럼에서 데이터가 '3000'인 행만 필터링해서 새로운 데이터프레임으로 만들고 싶다면.. 더보기