可视化训练集与测试集数据分布(可直接运行)

直接附上代码,兄弟们修改这两行路径就可以

test = pd.read_csv('D:\wangyong\Wang\kaggle\year/test.csv')
train = pd.read_csv('D:\wangyong\Wang\kaggle\year/train.csv')

这是完整源码 

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
test = pd.read_csv('D:\wangyong\Wang\kaggle\year/test.csv')
train = pd.read_csv('D:\wangyong\Wang\kaggle\year/train.csv')

print(train.head())
print(train.describe())
print(test.describe())
key_train = train.keys()
key_test = test.keys()

print(key_train)
print(key_test)

for i in range(len(key_test)-1):
    train_data = []
    test_data = []

    for x in train[key_train[i+1]]:
        train_data.append(x)
    for x in test[key_test[i+1]]:
        test_data.append(x)
    plt.figure(figsize=(8,4),dpi = 150)
    sns.kdeplot(train_data,color = "Red",shade = True)
    ax = sns.kdeplot(test_data,color = "Blue",shade = True)

    ax.set_xlabel(key_train[i])
    ax.set_ylabel("values")
    ax.legend(["train","test"])
    plt.show()

 这个就是大致的一个效果,可以发现训练集与测试集的分布还是有一定差距的

这就通过可视化的方式观察训练集与测试集的分布

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这里提供一种基于 Python 和 Scikit-learn 的方法,可以使用神经网络模型划分训练集测试集,并对数据进行可视化处理。 首先,我们需要准备一些数据,这里以鸢尾花数据集为例: ```python from sklearn.datasets import load_iris iris = load_iris() X = iris.data y = iris.target ``` 接下来,我们可以使用 Scikit-learn 的 train_test_split 函数将数据集划分为训练集测试集: ```python from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) ``` 其中,test_size 表示测试集所占比例,random_state 表示随机数种子,用于使结果可重现。 接下来,我们可以使用神经网络模型对数据进行训练,这里以 Keras 库为例: ```python from keras.models import Sequential from keras.layers import Dense model = Sequential() model.add(Dense(10, input_dim=4, activation='relu')) model.add(Dense(3, activation='softmax')) model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) model.fit(X_train, y_train, epochs=100, batch_size=10) ``` 接着,我们可以使用模型对测试集进行预测,并计算准确率: ```python from sklearn.metrics import accuracy_score y_pred = model.predict(X_test) accuracy = accuracy_score(y_test, y_pred.argmax(axis=1)) print("Accuracy:", accuracy) ``` 最后,我们可以使用 Matplotlib 库对数据进行可视化处理,比如绘制数据的散点图: ```python import matplotlib.pyplot as plt plt.scatter(X[:, 0], X[:, 1], c=y) plt.xlabel('Sepal length') plt.ylabel('Sepal width') plt.show() ``` 完整代码如下: ```python from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score from keras.models import Sequential from keras.layers import Dense import matplotlib.pyplot as plt # load data iris = load_iris() X = iris.data y = iris.target # split data into train and test sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # define neural network model model = Sequential() model.add(Dense(10, input_dim=4, activation='relu')) model.add(Dense(3, activation='softmax')) model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) # train model model.fit(X_train, y_train, epochs=100, batch_size=10) # evaluate model on test set y_pred = model.predict(X_test) accuracy = accuracy_score(y_test, y_pred.argmax(axis=1)) print("Accuracy:", accuracy) # visualize data plt.scatter(X[:, 0], X[:, 1], c=y) plt.xlabel('Sepal length') plt.ylabel('Sepal width') plt.show() ``` 运行代码后,可以看到数据的散点图和模型的准确率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值