pyhton機械学習sklearn-心臓病を予測する方法を教えます


処理する

1.データのインポート、クリーニング、分割

2.sklearnを介してデータモデルを取得します

3.予測を開始します(ここでは、回帰と決定木を使用して予測を行います)

準備

データ

心臓病データのダウンロード

ガイドパッケージ

```
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier

ここでは、データ操作を容易にするために、主にsklearnパッケージとnumpyを使用します

データ操作

サンプルデータの結果データを準備する

最後の列は結果です。さまざまな身体データから結果を分離する必要があります

#删除最后一列  样本数据
features=heart_df.drop(columns=["target"])
#保存标签 结果数据
target=heart_df["target"]

分割トレーニングセット

トレーニングセットの比率は3:1、つまり学習データの75%と予測データの25%です。また、サンプルを収集するための特別な関数がsklearnにあります。

#切分训练集
X_train,X_test,Y_train,Y_test=train_test_split(features,target,test_size=0.25)

トレーニングデータ

ロジスティック回帰

def test_logistic(*data):
    X_train, X_test, Y_train, Y_test=data
    clf=LogisticRegression()#逻辑回归
    clf.fit(X_test,Y_test)#梯度下降,递归
    print("学习模型预测成绩:{:.4f}".format(clf.score(X_train,Y_train)))
    print("实际模型预测成绩:{:.4f}".format(clf.score(X_test, Y_test)))

デシジョンツリー

def test_decision_tree(*data):
    X_train, X_test, Y_train, Y_test = data
    clf=DecisionTreeClassifier(max_depth=3,criterion="entropy")
    clf.fit(X_train,Y_train)
    print("学习模型决策树预测成绩:{:.4f}".format(clf.score(X_train, Y_train)))
    print("实际模型决策树预测成绩:{:.4f}".format(clf.score(X_test, Y_test)))
    # decision_tree_pre=clf.predict(X_test)
    # print("decision_tree:",decision_tree_pre)
    # print("true lbel:",Y_test)
    return clf

結果

これで予測は完了です。結果を見てみましょう。

image.png

デシジョンツリーの結果を出力できます

a4af3f1e4516c2e2506c6edd8dbec6e.jpg

要約する

この操作の後、まとめてみましょう。最初に、データの値とその機能を分離し、次にtrain_test_splitを使用して値を取得し、次にclf関数を直接使用して学習し、スコアを取得します。私たちの結果について

おすすめ

転載: blog.csdn.net/weixin_52521533/article/details/123802186