언어/[python]

[data classification] whiskey classification 첫 번째 난관1 - csv2arff

dayeonsheep 2023. 5. 12. 02:24

[하게 된 이유]

데이터 사이언스개론 수업을 듣다가 위스키 분석 예시가 나오는데

내가 좋아하는 맛과 비슷한 위스키를 추천해주는 예시였음

이건 해봐야겠다. 내가 좋아하는 위스키랑 비슷한 거 찾아보면 얼마나 좋겠니

 

그래서 우선 weka tool 을 이용하면 편하지 않을까? 하는 맘에 weka로 시작~

 

우선

단계 1. whiskey dataset 찾기

arff 파일은 안나와서 csv 파일을 찾음

1) https://github.com/makispl/Machine-Learning-Whiskey-Dataset/blob/main/whiskey_data.csv

근데 이 data의 문제가 있긴함

이 file에서 분류를 해놓은 건 'name', 'category', 'rating', 'alcohol', 'age', 'price', 'description' 이었는데

맛에 대한 건 description에 줄글로만 써있는거임

난 이 맛을 기준으로 분류를 해야되는데...

 

그래서 생각한 방안 > description에서 같은 word가 들어간 것끼리 분류를 해서 정리를 해볼까?

nose, body, palate, finish 정도 각 values로 분류를 해봐도 좋을 것 같긴 한데...

 

2) https://www.kaggle.com/datasets/koki25ando/scotch-whisky-dataset?resource=download

두 번째로 찾은 dataset

이건 맛이 잘 분류되어 있긴한데, scotch whiskey 만 있고 종류가 적음

그리고 년도수로 안나눠져 있음

 

3) https://whiskyanalysis.com/index.php/database/

아아 이 데이터도 애매한 것이햐...

 

우선 첫 파일로 실행해보자

 

단계 2. weka에 올리기

>>>>>난관봉착<<<<<

이게 웬~ 날벼락이셔 안된다는거임

이런 오류가 뜬다. Reason에서 index3만 오류가 나오는 게 아니라 

index 6 도 out of bounds 라고 뜰 때도 있는거임

그래서 오류를 찾아봤는데 이건 그냥 csv 파일은 저 index명령이 안 통한대나...

 

이걸 해결할 방법

1. weka version을 downgrade 하기

2. csv를 arff로 바꾸기

(https://stackoverflow.com/questions/24397281/weka-array-index-out-of-bounds-exception-with-csv-files)

 

1번이 간단해 보이지만 2번을 택한 나.

 

2번을 수행할 방법 

1. python

https://stackoverflow.com/questions/72100807/csv-to-arff-function-on-python

이거 예시를 파이썬에서 따라해봤는데

이건 어디(어떤 함수 뒤)에 어떤 걸(파일명, 파일 위치 등) 넣어야 하는지 정확히 모르겠어서

방법 2로 넘어감

 

2. 터미널

이걸 참고함

https://pypi.org/project/csv2arff/

yangdayeon@yangdayeon-ui-MacBookPro ~ % pip install csv2arff

터미널에서 이 명령어를 쳐서 csv2arff 다운받음

그리고 input에 csv 파일명을 쳐서 해줬는데

not found래...

 

근데 line 써져있는게 어째 다 numpy 그거 파일에서 오류가 나는 것 같은데 이건 해결을 어찌해야할까

 

우선 첫 시도는 이러했다. 위스키 분류를 해내는 그날까지 파이팅~

 

 


▷이미 분석을 예쁘게 해놓은 참고 문서

 

https://towardsdatascience.com/machine-learning-on-the-rocks-f49f75219c02

 

Machine Learning ‘on the rocks’ 🥃

Whiskey Dataset ~ K-Means Clustering, Logistic Regression & EDA

towardsdatascience.com

https://rstudio-pubs-static.s3.amazonaws.com/720380_bff7fecaf56542429ca0d0f682958f7b.html

 

Scotch Whisky Dataset

r library(fpc) library(NbClust) nb <- NbClust(whisky, distance = "euclidean", min.nc = 2, max.nc = 12, method = "kmeans", index = "all")

rstudio-pubs-static.s3.amazonaws.com

https://rpubs.com/reyeshdz09/720380

 

RPubs - Scotch Whisky Dataset

 

rpubs.com