# howork_scikit_learn.py
# 1. 数据准备
import pandas as pd
from sklearn.model_selection import train_test_split

data = pd.read_csv('dataset.csv')
X = data.drop('target', axis=1)  # 特征
y = data['target']                # 标签

# 2. 划分训练集和测试集
# X_train, X_test, y_train, y_test = train_test_split(
#     X, y, test_size=0.2, random_state=42
# )

y_binary = (y > y.mean()).astype(int)  # 根据均值分割

X_train, X_test, y_train, y_test = train_test_split(
    X, y_binary, test_size=0.2, random_state=42
)

# 3. 特征工程(标准化)
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

# 4. 选择模型并训练
from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train_scaled, y_train)

# 5. 预测与评估
from sklearn.metrics import accuracy_score

predictions = model.predict(X_test_scaled)
accuracy = accuracy_score(y_test, predictions)
print(f"模型准确率: {accuracy:.2f}")

# 6. 模型保存
import joblib
joblib.dump(model, 'trained_model.pkl')

运行结果:

(ai_env) $ python3 howork_scikit_learn.py
模型准确率: 0.91
(ai_env) $ 

更多推荐