<jupyter_start><jupyter_text>Quiz 3. tips 데이터에서 팁을 많이 받으려면 어떤 데이터가 중요한지 인사이트를 찾아내세요- 정답은 없습니다. 자유롭게 분석해보세요. - size는 식사 인원인것 같네요.- 아래의 절차대로 Pandas를 이용하여 데이터를 분석해 보세요. (예시는 예시일 뿐입니다.)    - 가설설정 : 예) 주중보다 주말에 팁을 많이 줄것이다    - 분석과정설정 : 예) 주중 데이터와 주말데이터를 나눠 평균적 팁 금액의 데이터 프레임을 만든다.    - 결과확인 : 예) 주말과 주중데이터의 평균 팁에는 큰 차이가 없으므로 가설이 틀렸다. 그러므로 다시 가설설정!- 위의 가설을 여러개 세우셔서 어떤 데이터가 가장 팁에 대한 데이터에 영향을 많이 주는지 찾아보세요. (최소한 3개이상의 가설을 세워서 분석해보세요.)- 지금까지 배운내용안에서 분석해보세요.- 가설, 분석과정, 결과 확인에 대한 설명 주석을 달아주세요.- 적당한 그래프를 그려주시면 더 좋습니다.- 반별로 제가 판단해서 가장 잘하신 과제는 다른 분들께 공유하며 제가 스타벅스 커피 삽니다.^^<jupyter_code>import seaborn as sns
tips_raw = sns.load_dataset("tips")
tips = tips_raw.copy()
sns.distplot(tips.tip.values, kde = True, rug = True)
tips.tail()<jupyter_output><empty_output><jupyter_text>예측 모델 만들어 보기- 1. 성별 관리    - 남성 : 0    - 여성 : 1- 2. 흡연 여부 :    - 흡연자 : 0    - 비흡연자 : 1- 3. 요일 :    - 목요일 : 0    - 금요일 : 1    - 토요일 : 2    - 일요일 : 3- 4. 시간대 :     - 점심 : 0    - 저녁 : 1- 5. 식사인원 :     각 인원수 그대로<jupyter_code>sex = tips["sex"]
sex_ls = []
for i in sex : 
    if i == "Male" :
        sex_ls.append(0)
    else :
        sex_ls.append(1)
sex_series = pd.Series(sex_ls)

smoker = tips["smoker"]
smoker_ls = []
for i in smoker : 
    if i == "Yes" :
        smoker_ls.append(0)
    else :
        smoker_ls.append(1)
smoker_series = pd.Series(smoker_ls)
result = pd.DataFrame(columns = ["sex", "smoker"])
result["sex"] = sex_series
result["smoker"] = smoker_series
day = tips["day"]
day_ls = []
for i in day :
    if i == "Thur" :
        day_ls.append(0)
    elif i == "Fri" :
        day_ls.append(1)
    elif i == "Sat" :
        day_ls.append(2)
    elif i == "Sun" :
        day_ls.append(3)
day_series = pd.Series(day_ls)
time = tips["time"]
time_ls = []
for i in time : 
    if i == "Lunch" :
        time_ls.append(0)
    else :
        time_ls.append(1)
time_series = pd.Series(time_ls)
result = pd.DataFrame(columns = ["sex", "smoker", "day", "time"])
result["sex"] = sex_series
result["smoker"] = smoker_series
result["day"] = day_series
result["time"] = time_series
result["size"] = tips["size"]
result.tail()
left = tips.iloc[ : , 0]
last = tips.iloc[ : , 1]

right = result
new_tip = pd.concat([left, right], axis = 1)
new_tip.tail()

x = np.array(new_tip)

y = np.array(last)
print(x.shape, y.shape)
xinv = np.dot(np.linalg.inv(np.dot(x.T, x)), x.T)
np.dot(xinv, y)
x_tick = tips["size"]
y_tick = tips["tip"]
plt.bar(x_tick, y_tick)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.15381476948184414, 'fraction_numerical': 0.012239902080783354, 'mean_word_length': 2.83125, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '567857', 'license': 'MIT', 'n_tokens_mistral': 1427, 'n_tokens_neox': 1662, 'n_words': 288, 'path': 'programming/pandas/quiz_3_ver_2.ipynb', 'repo_name': 'KANG91/DSS_lecture_note', 'size': '2451'}