CoolFace
Apppublic

js77777/jsspace

sourceHugging Faceupdated 7mo agoView on Hugging Face
0likes
app.py57 linesDownload Raw Back to root
1import gradio as gr2import numpy as np3import pandas as pd4from sklearn.pipeline import Pipeline5from sklearn.preprocessing import StandardScaler6from sklearn.ensemble import RandomForestClassifier7 8df = pd.read_csv("All_Pokemon.csv")9 10features = ['HP', 'Att', 'Def', 'Spa', 'Spd', 'Spe']11X = df[features].values12y = df['Legendary'].astype(int).values13 14model = Pipeline([15    ("scaler", StandardScaler()),16    ("clf", RandomForestClassifier(n_estimators=100, random_state=42))17])18model.fit(X, y)19 20def predict(hp, att, def_, spa, spd, spe):21    x = np.array([[hp, att, def_, spa, spd, spe]], dtype=float)22    proba = model.predict_proba(x)[0]23    pred = int(np.argmax(proba))24    label = "⭐ 전설의 포켓몬!" if pred == 1 else "일반 포켓몬"25    prob_dict = {26        "일반 포켓몬": float(proba[0]),27        "전설의 포켓몬": float(proba[1])28    }29    return label, prob_dict30 31demo = gr.Interface(32    fn=predict,33    inputs=[34        gr.Number(label="HP", value=45),35        gr.Number(label="Attack", value=49),36        gr.Number(label="Defense", value=49),37        gr.Number(label="Sp. Attack", value=65),38        gr.Number(label="Sp. Defense", value=65),39        gr.Number(label="Speed", value=45),40    ],41    outputs=[42        gr.Label(label="예측 결과"),43        gr.JSON(label="확률"),44    ],45    title="포켓몬 전설 여부 예측기 🔥",46    description="6가지 스탯을 입력하면 전설의 포켓몬인지 예측합니다!\n테스트: 뮤츠 (HP:106, Att:110, Def:90, SpA:154, SpD:90, Spe:130)"47)48 49if __name__ == "__main__":50    demo.launch()51 52 53requirements.txt54 55scikit-learn56numpy57pandas